added some docs to the README
This commit is contained in:
parent
4b5d0356db
commit
52220bffbd
46
README.rst
46
README.rst
|
@ -0,0 +1,46 @@
|
||||||
|
Bunker -- An encrypted data store for Python
|
||||||
|
********************************************
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
Basic Design
|
||||||
|
============
|
||||||
|
|
||||||
|
``bunker`` is based on the excessive use of ``tarfile`` and
|
||||||
|
AES encryption. ``bunker`` stores its data in bunker-files
|
||||||
|
which are tar archives containing both some meta data
|
||||||
|
(currently unencrypted, is on the TODO list) and encrypted
|
||||||
|
files containing the actual data.
|
||||||
|
|
||||||
|
Basic API
|
||||||
|
=========
|
||||||
|
|
||||||
|
The main class used for accessing data stored in the bunker
|
||||||
|
file is the class ``bunker.bunker.Bunker``. It can be used
|
||||||
|
to create new bunkers and open existing bunkers. Both is
|
||||||
|
done using the classmethod
|
||||||
|
``bunker.bunker.Bunker.open(path)``. One can then add new
|
||||||
|
components (like a `Key Value Store`_) using the method
|
||||||
|
``add_component`` that will return an open component of
|
||||||
|
a given type. Using the method ``get_component`` one can
|
||||||
|
open an existing component.
|
||||||
|
|
||||||
|
The components bring various methods to modify the data,
|
||||||
|
changes are written to the bunker by using either the method
|
||||||
|
``component.write_back`` or ``component.close`` the latter
|
||||||
|
will also bring the component in a state where it cannot be
|
||||||
|
used anymore (and delete all sensitive data).
|
||||||
|
|
||||||
|
``bunker.bunker.Bunker`` can also be used as a context. All
|
||||||
|
open components will be closed automatically when the
|
||||||
|
context is left, ensuring that no sensitive data is left on
|
||||||
|
the disk/in memory.
|
||||||
|
|
||||||
|
Supported Data Stores
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Key Value Stores
|
||||||
|
----------------
|
||||||
|
|
||||||
|
One can store data in key value stores. Those are based on
|
||||||
|
``ljson.slapdash`` tables and work with several data types.
|
Loading…
Reference in New Issue
Block a user