Skip to main content

Tool that generates a userspace filesystem off of a flumes created database

Project description

Flumes-fuse

Generate a filesystem from a database created by flumes

Maintenance Code style: black Pull requests Contributors License


Table of Contents

About the project

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.

Features

  • 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

Getting started

Supported platforms

We depend upon libfuse supported platforms which are the following

  • Linux
  • BSD (partial)

System requirements

Installation

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

Usage

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.

Tree Mode

You can navigate over flumes files and read the fields and relationships Tree mode example

Search Mode

You can navigate over flumes files by generating queries in the filesystem through paths Search mode example

Development

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

New releases

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.

Tagging

git tag -a <version> -m "Release <version>"
git push origin --tags

Testing

All tests are located in the tests folder. The framework used is pytest.

  • Run all tests with poetry
poetry run pytest

License

See LICENSE.LGPL for more information.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flumes-fuse-0.1.2.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flumes_fuse-0.1.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

Details for the file flumes-fuse-0.1.2.tar.gz.

File metadata

  • Download URL: flumes-fuse-0.1.2.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.5 Linux/5.4.0-126-generic

File hashes

Hashes for flumes-fuse-0.1.2.tar.gz
Algorithm Hash digest
SHA256 02e12b117504a452755203b8eaf9526a13400c706dab11ed035eb5b7b7364404
MD5 6a6aec8a7d9b492e1105cccbaab3d61c
BLAKE2b-256 4cead17cadf5a019d1fa4fb04e5d2b3fde8d14df50d6c4567d04c84b88604625

See more details on using hashes here.

File details

Details for the file flumes_fuse-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: flumes_fuse-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.5 Linux/5.4.0-126-generic

File hashes

Hashes for flumes_fuse-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 69136bc45821fcc5f55a7b890fe7a59a0f213e7c90cb832c046799162542ddc5
MD5 94ce2bb938205e0a18246ce799a7a366
BLAKE2b-256 3d74f6b5a7b6c50eb2d0312190992bd917c9c16ae82d01dfc6670801faa183b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page