Skip to content

Commit

Permalink
Merge pull request #89 from scossu/revert-86-refactor_dstructs
Browse files Browse the repository at this point in the history
Revert "Refactor dstructs"
  • Loading branch information
scossu committed Mar 29, 2019
2 parents b4dfa0e + 42b5250 commit 8127757
Show file tree
Hide file tree
Showing 93 changed files with 83,836 additions and 5,731 deletions.
25 changes: 4 additions & 21 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -106,25 +106,8 @@ venv.bak/
# Pytest
.pytest_cache/

# Default Lakesuperior data directories
lakesuperior/data/ldprs_store
lakesuperior/data/ldpnr_store

# Cython business.
/cython_debug
/lakesuperior/store/*.c
/lakesuperior/store/*.html
/lakesuperior/store/ldp_rs/*.c
/lakesuperior/store/ldp_rs/*.html
/lakesuperior/model/*.c
/lakesuperior/model/*/*.html
/lakesuperior/model/*/*.c
/lakesuperior/model/*.html
/lakesuperior/util/*.c
/lakesuperior/util/*.html
# Default LAKEsuperior data directories
/data
#/lakesuperior/store/base_lmdb_store.c
#/lakesuperior/store/ldp_rs/lmdb_triplestore.c
!ext/lib

# Vim CTags file.
tags

!.keep
12 changes: 0 additions & 12 deletions .gitmodules

This file was deleted.

3 changes: 0 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,11 @@ language: python
matrix:
include:
- python: 3.6
dist: xenial
sudo: true
- python: 3.7
dist: xenial
sudo: true

install:
- pip install Cython==0.29.6 cymem
- pip install -e .
script:
- python setup.py test
Expand Down
14 changes: 2 additions & 12 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
include README.rst
include LICENSE
include bin/*
include ext/lmdb/libraries/liblmdb/mdb.c
include ext/lmdb/libraries/liblmdb/lmdb.h
include ext/lmdb/libraries/liblmdb/midl.c
include ext/lmdb/libraries/liblmdb/midl.h
include ext/collections-c/src/*.c
include ext/collections-c/src/include/*.h
include ext/tpl/src/tpl.c
include ext/tpl/src/tpl.h
include ext/spookyhash/src/*.c
include ext/spookyhash/src/*.h

include fcrepo
graft ext
graft lakesuperior/data/bootstrap
graft lakesuperior/endpoints/templates
graft lakesuperior/etc.defaults
45 changes: 22 additions & 23 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,44 +3,43 @@ 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 <http://fedorarepository.org>`__ implementation.

Lakesuperior is an alternative `Fedora Repository
<http://fedorarepository.org>`__ implementation. Fedora is a mature repository
software system historically adopted by major cultural heritage institutions
which extends the `Linked Data Platform <https://www.w3.org/TR/ldp-primer/>`__
protocol.
Fedora is a mature repository software system historically adopted by
major cultural heritage institutions. It exposes an
`LDP <https://www.w3.org/TR/ldp-primer/>`__ endpoint to manage
any type of binary files and their metadata in Linked Data format.

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

Lakesuperior aims at being a reliable and efficient Fedora 4 implementation.
Lakesuperior aims at being an uncomplicated, 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.
- **Ease of management:** Tools to perform 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 <fcrepo4_deltas>`_) Drop-in replacement for Fedora4
- Very stable persistence layer based on
`LMDB <https://symas.com/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.
- Drop-in replacement for Fedora4
- Very stable persistence layer based on
`LMDB <https://symas.com/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
- Multi-modal access: HTTP (REST), command line interface and native Python
API.
- Fits in a pocket: you can carry 50M triples in an 8Gb memory stick.

Installation & Documentation
----------------------------
Expand All @@ -51,7 +50,7 @@ With Docker::
cd lakesuperior
docker-compose up

With pip (requires a C compiler to be installed)::
With pip (assuming you are familiar with it)::

pip install lakesuperior

Expand Down
2 changes: 1 addition & 1 deletion docker/docker_entrypoint
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ coilmq &
if [ ! -d /data/ldpnr_store ] && [ ! -d /data/ldprs_store ]; then
echo yes | lsup-admin bootstrap
fi
exec fcrepo
exec ./fcrepo
2 changes: 1 addition & 1 deletion docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The Lakesuperior API modules of most interest for a client are:
- :mod:`lakesupeiror.api.query`
- :mod:`lakesuperior.api.admin`

:mod:`lakesuperior.model.ldp.ldpr` is used to manipulate resources.
:mod:`lakesuperior.model.ldpr` is used to manipulate resources.

The full API docs are listed below.

Expand Down
8 changes: 4 additions & 4 deletions docs/apidoc/lakesuperior.model.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,31 @@ Submodules
lakesuperior\.model\.ldp\_factory module
----------------------------------------

.. automodule:: lakesuperior.model.ldp.ldp_factory
.. automodule:: lakesuperior.model.ldp_factory
:members:
:undoc-members:
:show-inheritance:

lakesuperior\.model\.ldp\_nr module
-----------------------------------

.. automodule:: lakesuperior.model.ldp.ldp_nr
.. automodule:: lakesuperior.model.ldp_nr
:members:
:undoc-members:
:show-inheritance:

lakesuperior\.model\.ldp\_rs module
-----------------------------------

.. automodule:: lakesuperior.model.ldp.ldp_rs
.. automodule:: lakesuperior.model.ldp_rs
:members:
:undoc-members:
:show-inheritance:

lakesuperior\.model\.ldpr module
--------------------------------

.. automodule:: lakesuperior.model.ldp.ldpr
.. automodule:: lakesuperior.model.ldpr
:members:
:undoc-members:
:show-inheritance:
Expand Down
4 changes: 4 additions & 0 deletions docs/cli.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ available in Windows. Windows users should look for alternative WSGI servers
to run the single-threaded service (``lsup-server``) over multiple processes
and/or threads.

**Note:** This is the only command line tool that is not added to the ``PATH``
environment variable in Unix systems (beecause it is not cross-platform). It
must be invoked by using its full path.

``lsup-admin``
--------------

Expand Down
19 changes: 4 additions & 15 deletions docs/fcrepo4_deltas.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ clients will use it.
Not yet implemented (but in the plans)
--------------------------------------

- Various headers handling (partial)
- AuthN and WebAC-based authZ
- Fixity check
- Blank nodes (at least partly working, but untested)
- Multiple byte ranges for the ``Range`` request header
- Various headers handling (partial)
- AuthN/Z
- Fixity check
- Blank nodes

Potentially breaking changes
----------------------------
Expand Down Expand Up @@ -63,16 +62,6 @@ regardless of whether the tombstone exists or not.
Lakesuperior will return ``405`` only if the tombstone actually exists,
``404`` otherwise.

``Limit`` Header
~~~~~~~~~~~~~~~~

Lakesuperior does not support the ``Limit`` header which in FCREPO can be used
to limit the number of "child" resources displayed for a container graph. Since
this seems to have a mostly cosmetic function in FCREPO to compensate for
performance limitations (displaying a page with many thousands of children in
the UI can take minutes), and since Lakesuperior already offers options in the
``Prefer`` header to not return any children, this option is not implemented.

Web UI
~~~~~~

Expand Down
8 changes: 0 additions & 8 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,6 @@
Release Notes
=============

1.0 Alpha 19 HOTFIX
-------------------

*October 10, 2018*

A hotfix release was necessary to adjust settings for the source to build
correctly on Read The Docs and Docker Hub, and to package correctly on PyPI.

1.0 Alpha 18
------------

Expand Down
99 changes: 0 additions & 99 deletions docs/structures.rst

This file was deleted.

1 change: 0 additions & 1 deletion ext/collections-c
Submodule collections-c deleted from 719fd8

0 comments on commit 8127757

Please sign in to comment.