Skip to main content

Lite file storage service

Reason this release was yanked:

change config name

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 access control.
  • Pagination and sorted file listing for vast number of files.
  • High performance: high concurrency, near-native speed on stress tests.
  • Support range requests, so you can stream large files / resume download.
  • 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.

I provide a simple client to interact with the service:

lfss-panel --open

Or, you can start a web server at /frontend and open index.html in your browser.

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.

By default, the service exposes all files to the public for GET requests, but file-listing is restricted to the user's own files.
Please refer to docs/Permission.md for more details on the permission system.

More can be found in the docs directory.

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.14.0.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

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

lfss-0.14.0-py3-none-any.whl (70.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: lfss-0.14.0.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for lfss-0.14.0.tar.gz
Algorithm Hash digest
SHA256 a3b6cd38d0b61a91f0493fbd59ee7be5d93b35f913f9859fe410d6ffbd66813e
MD5 50ebe07b616992dc3f14d40dd87b20bd
BLAKE2b-256 253dcad23b0001f7b868938d134631a828945fe7e46a090e0bf2ca2b8875c64e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: lfss-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 70.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for lfss-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2d3ef3a6c8e8d7f74980e7730ee96c8d5c50d3cbdcd3a538c68fa804ca5c6d9
MD5 6aeb1263755ed5ba93d41e1d301efc0d
BLAKE2b-256 6ccd158f75c33b26a20e8a8dadfaac1e63e4a4e0451b12b0ba37467fbe0e776a

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