Giter VIP home page Giter VIP logo

hiena's Introduction

Cosmos and Hiena {#mainpage}

Travis CI Status

Update

October 2022: This is now a python library used by Laydbug.io. Dev continues in a private repo.

Description

Cosmos is an extensible, distributed file system which aggregates file systems (or portions of) from any number of devices into a single file system.

Extensibility:

  • Pluggable file accessors
  • Pluggable file analyzers
  • Pluggable file transformers
  • Pluggable syncronization manager
  • Pluggable pathwalk function

Distributed:

  • Configurable storage flows between hosts
  • Intermittent and high-latency syncronization tolerance
  • Modules are virtualized among all hosts, and run native on capable hosts or within virtual machines.

Availability:

The database can be built into a project, accessed via a network service or exported as a file system via FUSE (or similar framework.)

Any instances of the database intercommunicate to create a distributed filespace.

Pluggable Hierarchical Analyzer: Hiena

With Hiena, a mapper module maps one or more levels of hierarchy within a seekable data source, which in turn can be mapped by other modules. The result is a file tree accessable via regular file paths.

Mapper modules are defined by parser grammars and are compiled via dispatch from Hiena to a compiler such as Bison or Antler.

Cascading Configuration Directories

Cosmos provides automatic cascading of configuration directories such that a child directory inherits and overrides configurations within the parent directory.

A user has the advantage of automatic cascading merely by placing config files into the directory.

Cosmos is configured via the cascading directory from its file system root. So file system behavior can be modified on an abitrary subdirectory level.

Useful modifications include distributed host memberships, storage flows and the ability to change the configuration directory name.

DEVELOPMENT NEWS

2019-04-14 Currently designing mobile app and shared library. Nothing works yet.

2017-03-25 ./util/byterange FILENAME STARTBYTE ENDBYTE extracts a byte range from a file.

hiena's People

Contributors

element0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.