Flumes-fuse is a tool that utilises Fuse (Filesystem in Userspace) to generate and mount filesystems out of databases created by flumes tool. The purpose is to provide uncomplicated access to data via basic terminal commands.
- Tree mode: representation of each database file entry and its properties in tree-style hierarchy
- Search mode: database representation facilitating search by file entry property
- Direct content access: read media content directly from the filesystem
We depend upon libfuse supported platforms which are the following
- Linux
- BSD (partial)
For a successful and complete installation we recommend you to use poetry package manager.
- Install poetry
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -
Make sure you are on the root path of the project repository before running the following commands.
- Install project dependencies
poetry install
Mount the corresponding flumes database by running
flumes-fuse -s <MOUNT DIR> -o uri=sqlite:///(<RELATIVE PATH TO DB> OR /<ABSOLUTE PATH TO DB>) -f
Note that directory should exist, otherwise the command will throw an error. -f
calls the process in foreground mode.
You can navigate over flumes
files and read the fields and relationships
You can navigate over flumes
files by generating queries in the filesystem through paths
The project is based in poetry
dependency management and packaging system.
- Install development pre-commit hooks
poetry run pre-commit install
- Update package dependencies in poetry.lock
The following command simply updates poetry.lock with the latest versions of the dependencies
poetry update --lock
If you also want poetry to install the latest versions in your local environment
poetry update
To generate a new release you must update the version number. The following files will need to be updated:
- init file
- tests/test_flumes_fuse.py
- pyproject.toml
Once it is merged, tagging must be done in order to distribute the new version correctly.
git tag -a <version> -m "Release <version>"
git push origin --tags
All tests are located in the tests
folder. The framework used is pytest.
- Run all tests with poetry
poetry run pytest
See LICENSE.LGPL
for more information.