Skip to main content

Lite file storage service

Project description

Lite File Storage Service (LFSS)

PyPI PyPI - Downloads

My experiment on a lightweight and high-performance file/object storage service...

Highlights:

  • User storage limit and multi-level access control.
  • Pagination and sorted file listing for vast number of files.
  • Support range requests, so you can stream large files / resume download.
  • User-friendly web panel for management.
  • WebDAV compatible (NOTE).

It stores small files and metadata in sqlite, large files in the filesystem.
Tested on 2 million files, and it is still fast.

Usage:

pip install "lfss[all]"
lfss-user add <username> <password>
lfss-serve

By default, the data will be stored in .storage_data. You can change storage directory using the LFSS_DATA environment variable.

There is a simple frontend at http://localhost:8000/.panel/.

Frontend Screenshot

The API usage is simple, just GET, PUT, DELETE to the /<username>/file/url path.
The authentication can be acheived through one of the following methods:

  1. Authorization header with the value Bearer sha256(<username>:<password>).
  2. token query parameter with the value sha256(<username>:<password>).
  3. HTTP Basic Authentication with the username and password (If WebDAV is enabled).

You can refer to frontend as an application example, lfss/api/connector.py for more APIs.

More information can be found in the documentation.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

lfss-0.18.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

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

lfss-0.18.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file lfss-0.18.0.tar.gz.

File metadata

  • Download URL: lfss-0.18.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.5

File hashes

Hashes for lfss-0.18.0.tar.gz
Algorithm Hash digest
SHA256 55ccf9dd7521b8d7724aad508eff7ffea315a7af741ee066901db999e3a4d59d
MD5 9a00721e3d48b0b529b86c7110856d1a
BLAKE2b-256 859dc63c38d0684e8e5c3cd251b4cf35cee0786701e7ad1335534783b2f61df4

See more details on using hashes here.

File details

Details for the file lfss-0.18.0-py3-none-any.whl.

File metadata

  • Download URL: lfss-0.18.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.5

File hashes

Hashes for lfss-0.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98ba43aa2402a8d10490fe63f6c5d0ce2d8c4bcddcb58e2994077f67834ffd6c
MD5 e80deaddf151e5c7f3c20d383020b705
BLAKE2b-256 d938a4e8593af9baaa8020c43741d8537c52ce8bd95f1270271b42ea3b60fd2d

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