Metadata-Version: 2.1
Name: lfss
Version: 0.5.0
Summary: Lightweight file storage service
Home-page: https://github.com/MenxLi/lfss
Author: li, mengxun
Author-email: limengxun45@outlook.com
Requires-Python: >=3.9
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: aiofiles (==23.*)
Requires-Dist: aiosqlite (==0.*)
Requires-Dist: fastapi (==0.*)
Requires-Dist: mimesniff (==1.*)
Project-URL: Repository, https://github.com/MenxLi/lfss
Description-Content-Type: text/markdown

# Lightweight File Storage Service (LFSS)
[![PyPI](https://img.shields.io/pypi/v/lfss)](https://pypi.org/project/lfss/)

A lightweight file/object storage service!

Usage: 
```sh
pip install lfss
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: 
```sh
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.  
Authentication is done via `Authorization` header with the value `Bearer <token>`, or through the `token` query parameter.  
You can refer to `frontend` as an application example, and `frontend/api.js` or `lfss.client.api.py` for the API usage.

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](./docs/Permission.md) for more details on the permission system.
