aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 796c1982b19d78f5ffa3e67f29fa04d2e83ef851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

# 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.


## Installation

You can install BSFS via pip:

    $ pip install --extra-index-url https://pip.bsfs.io bsfs


## Development

Set up a virtual environment:

    $ virtualenv env
    $ source env/bin/activate

Install bsfs as editable from the git repository:

    $ git clone https://git.bsfs.io/bsfs.git
    $ cd bsfs
    $ pip install -e .

If you want to develop (*dev*), run the tests (*test*), edit the 
documentation (*doc*), or build a distributable (*build*),
install bsfs with the respective extras:

    $ pip install -e .[dev,doc,build,test]

Or, you can manually install the following packages besides BSFS:

    $ pip install coverage mypy pylint
    $ pip install sphinx sphinx-copybutton furo
    $ pip install build

To ensure code style discipline, run the following commands:

    $ coverage run ; coverage html ; xdg-open .htmlcov/index.html
    $ pylint bsfs
    $ mypy

To build the package, do:

    $ python -m build

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