Metadata-Version: 2.4
Name: disk_objectstore
Version: 1.5.0
Summary: An implementation of an efficient object store that writes directly on disk.
Keywords: object store,repository,file store,key-value store
Author: Giovanni Pizzi, Chris Sewell, Sebastiaan P. Huber
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
License-File: LICENSE.txt
Requires-Dist: click~=8.1
Requires-Dist: sqlalchemy>=1.4.22
Requires-Dist: pre-commit>3.0 ; extra == "dev"
Requires-Dist: pytest~=8.4 ; extra == "dev"
Requires-Dist: pytest-benchmark~=5.2 ; extra == "dev"
Requires-Dist: pytest-cov~=7.0 ; extra == "dev"
Requires-Dist: jinja2<3.1 ; extra == "docs"
Requires-Dist: myst-parser~=1.0 ; extra == "docs"
Requires-Dist: sphinx~=5.0.2 ; extra == "docs"
Requires-Dist: sphinx-book-theme~=1.1.3 ; extra == "docs"
Requires-Dist: sphinx-panels~=0.4.1 ; extra == "docs"
Requires-Dist: sphinxext-rediraffe~=0.2.7 ; extra == "docs"
Requires-Dist: memory-profiler ; extra == "examples"
Requires-Dist: profilehooks ; extra == "examples"
Requires-Dist: psutil ; extra == "examples"
Requires-Dist: pywin32 ; extra == "examples" and (platform_system == "Windows")
Requires-Dist: h5py ; extra == "optionaltests"
Requires-Dist: numpy ; extra == "optionaltests"
Requires-Dist: tqdm ; extra == "progressbar"
Project-URL: Source, https://github.com/aiidateam/disk-objectstore
Provides-Extra: dev
Provides-Extra: docs
Provides-Extra: examples
Provides-Extra: optionaltests
Provides-Extra: progressbar

# disk-objectstore

An implementation of an efficient key-value store that writes directly on disk
and does not require a server running.

|                |                                                                                              |
| -------------- | -------------------------------------------------------------------------------------------- |
| Latest release | [![PyPI version][pypi-badge]][pypi-link] [![PyPI pyversions][pypi-pyversions]][pypi-link]    |
| Build status   | [![Build Status][build-badge]][build-link] [![Coverage Status][codecov-badge]][codecov-link] |
| Getting help   | [![Docs status][rtd-badge]][rtd-link]                                                        |
| Performance    | [Benchmarks][bench-link]                                                                     |

## Goal

The goal of this project is to have a very efficient implementation of an "object store"
that works directly on a disk folder, does not require a server to run, and addresses
a number of performance issues, discussed also below.

This project targets objects that range from very few bytes up to tens of GB each, with
performance tuned to support tens of millions of objects or more.

This project originated from the requirements needed by an efficient repository
implementation in [AiiDA](http://www.aiida.net) (note, however, that this
package is completely independent of AiiDA).

## How to install

To install, just run:

```
pip install disk-objectstore
```

This will also install a simple `dostore` command line utility together with the library itself.

## Documentation

For instructions on how to use it, some quick start guide, and more detailed information
on the design of the library and its performance, you can check [the documentation](https://disk-objectstore.readthedocs.io/).

[bench-link]: https://aiidateam.github.io/disk-objectstore/dev/bench/
[build-badge]: https://github.com/aiidateam/disk-objectstore/workflows/Continuous%20integration/badge.svg
[build-link]: https://github.com/aiidateam/disk-objectstore/actions
[codecov-badge]: https://codecov.io/gh/aiidateam/disk-objectstore/branch/main/graph/badge.svg
[codecov-link]: https://codecov.io/gh/aiidateam/disk-objectstore
[pypi-badge]: https://badge.fury.io/py/disk-objectstore.svg
[pypi-link]: https://pypi.python.org/pypi/disk-objectstore
[pypi-pyversions]: https://img.shields.io/badge/Supported%20platforms-windows%20%7c%20macos%20%7c%20linux-1f425f.svg
[rtd-badge]: https://readthedocs.org/projects/disk-objectstore/badge
[rtd-link]: http://disk-objectstore.readthedocs.io/

