Giter Club home page Giter Club logo

Jubako

What is Jubako ?

Jūbako is the traditional lunch box used in Japan to store Bentos. It is a small box that stores food in small compartments.

Jubako is a container format to store things in organized manner. It is composed of packs that can be composed as needed.

It is container format extensible to fulfill specific need. As any container format it allow to store content in the container. It has some specificity :

  • Content can be compressed or not. Decide whether the content is compressed or not is made at content level.
  • Direct access. You don't need to decompress the whole archive on the file system or in memory to access a content.
  • Content is accessed using one or several entries stored in indexes.
  • The metadata (stored in the entries) are not defined. Each use case can (and must) specify which metadata to store.
  • Each entry can point to one content (basic use case) but it is not necessary. An entry can point to several contents or none.
  • The content can come in different variants. For example, images can be in low and high resolution.
  • Jubako can be incremental. It is possible to create archive containing only the difference between an existing archive and the content you want to store. (To implement)
  • Content can be put in different packs inside a container. Packs may be missing or reused in another Jubako container.

What Jubako is not ?

Jubako is not a file format.

As xml, Jubako is a format describing how to store content and how it is structured. It doesn't specify what is stored and the hierarchy between those content.

The classical usage Jubako is to be used as base structure for a real life container.

Using Jubako

Jubako library is the low level library to read and write Jubako container. Jubako format is somehow a metaformat, each user (vendor) of Jubako has to specify its own format based on Jubako.

So, the classic use case is to create a library on top of jubako to wrap jubako structure and provide high level implementation.

You can have a look to arx which is file archive based on Jubako or waj to store website.

Specification

You can find the specification and other documentation in the spec directory.

Jubako's Projects

arx icon arx

Store files and directory in an archive. Like tar, but faster and with direct random access.

arx_test_dir icon arx_test_dir

A rust crate generating a random but determiste fs content. To test arx.

fuser icon fuser

Filesystem in Userspace (FUSE) for Rust

jubako icon jubako

The reference implementation of Jubako

prezpack icon prezpack

Waj and Arx formats merged together to provide both local static website and sources as files. Perfect for html presentation !

waj icon waj

Web Archive Jubako : Store a static web site in an Jubako archive.

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.