Store/Recover python objects sequencially.
Multiple writer/reader binary log. Each writer can append messages to the log and the readers can read them sequencially. Each reader is independent.
binlog depends on lmdb.
You can now finish the installation with:
$ pip install binlog
Follow the instructions in the Installation section except for the last one.
Clone this package and install the package in develop mode.
$ git clone -b develop https://github.com/nilp0inter/binlog $ cd binlog $ pip install -e .
To finish, install the development dependencies:
$ pip install -r requirements/tox.txt
Now you are ready for run some tests!
- Implementation of per-process connection manager to reuse connections when used concurrently.
- Preventing the user to picklelize connections.
- Preventing the user to use a closed connection.
- Preventing the user to use the library in a multithreading environment.
- Stopping the Connection class from opening and closing the lmdb environment on every single operation.
- Return True on recursive_ack if at least one reader success on the ack.
- Rebuild from scratch now using LMDB instead of BerkeleyDB.
- Get rid of the UNIX socket server.
- Better reader semantics.
- Django-like model definitions.
- Transparent serialization using pickle.
- What 1.1.0 says…
- Do not store a new row in server mode when the socket is opened and closed without any data.
- Better server stopping method.
- Removed the serialization method. Now the clients must provide their own.
- UNIX socket server.
- New backend using Berkeley’s Concurrent Data Storage (CDS).
- Specialized Reader and Writer for each backend (TDS or CDS).
- Skip opening errors when databases are deleted in the status method. Issue #4
- Skip register values not present in the logindex. Issue #5
- Using transaction in order to not lock the writer on deletions. Issue #6.
- Reader, Writer and Queue classes.
- Initial commit.