Legacy Lakesuperior code.

Stefano Cossu a5e18b0206 Add cymem to requirements_rtd. %!s(int64=5) %!d(string=hai) anos
.github 89b405fe54 Add release notes template. %!s(int64=6) %!d(string=hai) anos
bin 58416002a7 Include fcrepo in distributable scripts. %!s(int64=5) %!d(string=hai) anos
docker a5bd7ff9a3 Update Docker config files. %!s(int64=5) %!d(string=hai) anos
docs 20b3617a49 Add acknowledgements. %!s(int64=5) %!d(string=hai) anos
ext d5f89c59fd "Simplify" _lookup() and _lookup_1bound(). %!s(int64=5) %!d(string=hai) anos
lakesuperior 0f3335e76b Merge release branch updates except for C modules. %!s(int64=5) %!d(string=hai) anos
sandbox 11b18a0ae1 Allow opening a RW transaction inside a RO one. %!s(int64=5) %!d(string=hai) anos
tests ca5e49ed47 Type DB labels. %!s(int64=5) %!d(string=hai) anos
.gitignore 22af6a8ed9 Ignore HTML files generated by Cython annotate and LMDB data files. %!s(int64=5) %!d(string=hai) anos
.gitmodules bdfe4bd145 Implement callback iterations; move all callback functions to separate module. %!s(int64=5) %!d(string=hai) anos
.travis.yml 8d9b863ac9 Merge branch 'master' into development %!s(int64=5) %!d(string=hai) anos
Dockerfile ff27a160d0 Docker tweaks. %!s(int64=5) %!d(string=hai) anos
LICENSE 2fdc1b902e Initial commit: some boilerplate borrowed from Combine, basic folder structure and documentation. %!s(int64=6) %!d(string=hai) anos
MANIFEST.in 4dfa237567 Stuck because of opaque structures. %!s(int64=5) %!d(string=hai) anos
README.rst 64d0436182 WIP [ci skip] %!s(int64=5) %!d(string=hai) anos
code_of_conduct.md 84e744b073 Doc update. %!s(int64=6) %!d(string=hai) anos
conftest.py acca1a1a53 Cython (#77) %!s(int64=5) %!d(string=hai) anos
docker-compose.yml 82d8112911 Add reference to automated build (#28) %!s(int64=6) %!d(string=hai) anos
lmdbtest.py acca1a1a53 Cython (#77) %!s(int64=5) %!d(string=hai) anos
pytest.ini b628f01866 ETags (fixes #75) %!s(int64=5) %!d(string=hai) anos
readthedocs.yml e05f6f41c0 Support for Python 3.6 in readthedocs. %!s(int64=5) %!d(string=hai) anos
requirements.txt b73053368d Prepare for alpha9 %!s(int64=6) %!d(string=hai) anos
requirements_dev.txt ff27a160d0 Docker tweaks. %!s(int64=5) %!d(string=hai) anos
requirements_rtd.txt a5e18b0206 Add cymem to requirements_rtd. %!s(int64=5) %!d(string=hai) anos
setup.cfg f0248dee52 Package software. %!s(int64=6) %!d(string=hai) anos
setup.py 0f3335e76b Merge release branch updates except for C modules. %!s(int64=5) %!d(string=hai) anos
valgrind-python.supp acca1a1a53 Cython (#77) %!s(int64=5) %!d(string=hai) anos

README.rst

Lakesuperior
============

|build status| |docs| |pypi| |codecov|

Lakesuperior is a Linked Data repository software. It is capable of storing and
managing large volumes of files and their metadata regardless of their
format, size, ethnicity, gender identity or expression.

Lakesuperior is an alternative `Fedora Repository
`__ implementation. Fedora is a mature repository
software system historically adopted by major cultural heritage institutions
which extends the `Linked Data Platform `__
protocol.

Guiding Principles
------------------

Lakesuperior aims at being a reliable and efficient Fedora 4 implementation.

Its main goals are:

- **Reliability:** Based on solid technologies with stability in mind.
- **Efficiency:** Small memory and CPU footprint, high scalability.
- **Ease of management:** Tools to perform migration, monitoring and
maintenance included.
- **Simplicity of design:** Straight-forward architecture, robustness
over features.

Key features
------------

- Stores binary files and RDF metadata in one repository.
- Multi-modal access: REST/LDP, command line and native Python API.
- (`almost `_) Drop-in replacement for Fedora4
- Very stable persistence layer based on
`LMDB `__ and filesystem. Fully
ACID-compliant writes guarantee consistency of data.
- Term-based search and SPARQL Query API + UI
- No performance penalty for storing many resources under the same
container, or having one resource link to many URIs
- Extensible provenance metadata tracking
- Fits in a pocket: you can carry 50M triples in an 8Gb memory stick.

Installation & Documentation
----------------------------

With Docker::

git clone https://github.com/scossu/lakesuperior.git
cd lakesuperior
docker-compose up

With pip (requires a C compiler to be installed)::

pip install lakesuperior

The full, current documentation is maintained in `Read The Docs
`__. Please refer to that for more info,
including installation instructions.

.. |build status| image:: http://img.shields.io/travis/scossu/lakesuperior/master.svg?style=flat
:alt: Build Status
:target: https://travis-ci.org/username/repo

.. |docs| image:: https://readthedocs.org/projects/lakesuperior/badge/
:alt: Documentation Status
:target: https://lakesuperior.readthedocs.io/en/latest/?badge=latest

.. |pypi| image:: https://badge.fury.io/py/lakesuperior.svg
:alt: PyPI Package
:target: https://badge.fury.io/py/lakesuperior

.. |codecov| image:: https://codecov.io/gh/scossu/lakesuperior/branch/master/graph/badge.svg
:alt: Code coverage
:target: https://codecov.io/gh/scossu/lakesuperior