diff options
author | Matthias Baumgartner <dev@igsor.net> | 2023-03-02 14:57:49 +0100 |
---|---|---|
committer | Matthias Baumgartner <dev@igsor.net> | 2023-03-02 14:58:46 +0100 |
commit | 48fd909f502d25cbe7ef7732c44734f593c6e022 (patch) | |
tree | 53305ab8d5c4546e08381a9a2999e3919b0d5d47 | |
parent | 36d07cc6e0ec0f53001bfc5045437a374ebb895f (diff) | |
download | bsfs-48fd909f502d25cbe7ef7732c44734f593c6e022.tar.gz bsfs-48fd909f502d25cbe7ef7732c44734f593c6e022.tar.bz2 bsfs-48fd909f502d25cbe7ef7732c44734f593c6e022.zip |
README, CHANGELOG, and minor style fixes
-rw-r--r-- | .pylintrc | 13 | ||||
-rw-r--r-- | CHANGELOG.md | 28 | ||||
-rw-r--r-- | README.md | 64 | ||||
-rw-r--r-- | bsfs/apps/__init__.py | 2 |
4 files changed, 72 insertions, 35 deletions
@@ -144,6 +144,19 @@ allow-wildcard-with-all=no logging-format-style=old +[MESSAGES CONTROL] + +# disable similarities check +disable=raw-checker-failed, + bad-inline-option, + locally-disabled, + file-ignored, + suppressed-message, + useless-suppression, + deprecated-pragma, + use-symbolic-message-instead, + duplicate-code + [MISCELLANEOUS] diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29..fb66c1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,28 @@ + +# Changelog + +## 0.23.03 (Initial release) + +### Added + +- File graph protocol + - Graph access and navigation + - Syntactic sugar + - Fetch result shortcuts +- Filter and Fetch Queries + - Syntax trees + - Validation + - Matching +- Infrastructure to Open a storage +- Storage schema +- Backend + - Basic interface + - Sparql triple store: Manage triples via rdflib and sparql. +- Access controls + - Basic interface + - NullAC: A dummy access control mechanism. +- Essential utilities + - URI + - uuid + - namespaces + @@ -1,57 +1,53 @@ -The Black Star File System -========================== +# The Black Star File System +The Black Star File System (BSFS) is a semantic file system, meaning that it organizes files +by association, and can record files, their metadata and content in a structured manner. -### Developer tools setup -#### Test coverage (coverage) +## Installation -Resources: -* https://coverage.readthedocs.io/en/6.5.0/index.html -* https://nedbatchelder.com/blog/200710/flaws_in_coverage_measurement.html +You can install BSFS via pip: -Commands: -$ pip install coverage -$ coverage run ; coverage html ; xdg-open .htmlcov/index.html + $ pip install --extra-index-url https://pip.bsfs.io bsfs +## Development -#### Static code analysis (pylint) +Set up a virtual environment: -Resources: -* https://github.com/PyCQA/pylint -* https://pylint.org/ -* https://pylint.pycqa.org/en/latest/user_guide/messages/messages_overview.html#messages-overview + $ virtualenv env + $ source env/bin/activate -Commands: -$ pip install pylint -$ pylint bsfs +Install bsfs as editable from the git repository: + $ git clone https://git.bsfs.io/bsfs.git + $ cd bsfs + $ pip install -e . +Install the following additional packages besides bsfs: -#### Type analysis (mypy) + $ pip install coverage mypy pylint + $ pip install sphinx sphinx-copybutton furo + $ pip install build -Resources: -* https://github.com/python/mypy -* https://mypy.readthedocs.io/en/stable/ +To ensure code style discipline, run the following commands: -Commands: -$ pip install mypy -$ mypy + $ coverage run ; coverage html ; xdg-open .htmlcov/index.html + $ pylint bsfs + $ mypy +To build the package, do: + $ python -m build -#### Documentation (sphinx) - -Resources: -* -* - -Commands: -$ pip install ... -$ +To run only the tests (without coverage), run the following command from the **test folder**: + $ python -m unittest +To build the documentation, run the following commands from the **doc folder**: + $ sphinx-apidoc -f -o source/api ../bsfs/ --module-first -d 1 --separate + $ make html + $ xdg-open build/html/index.html diff --git a/bsfs/apps/__init__.py b/bsfs/apps/__init__.py index 3dec9ad..a85d5db 100644 --- a/bsfs/apps/__init__.py +++ b/bsfs/apps/__init__.py @@ -37,7 +37,7 @@ def main(argv=None): parser = argparse.ArgumentParser(description=main.__doc__, prog='bsfs') # version parser.add_argument('--version', action='version', - version='%(prog)s version {}.{}.{}'.format(*bsfs.version_info)) + version='%(prog)s version {}.{}.{}'.format(*bsfs.version_info)) # pylint: disable=C0209 # application selection parser.add_argument('app', choices=apps.keys(), help='Select the application to run.') |