Metadata-Version: 2.4
Name: putfs
Version: 0.0.2
Summary: Efficient HTTP blob storage over local filesystem
License-Expression: Apache-2.0
License-File: LICENSE
Author: Simon Wörpel
Author-email: simon.woerpel@pm.me
Requires-Python: >=3.13,<4
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: client
Requires-Dist: anyio (>=4.13.0,<5.0.0)
Requires-Dist: anystore (>=1.1.7,<2.0.0) ; extra == "client"
Requires-Dist: granian (>=2.7.4,<3.0.0)
Requires-Dist: starlette (>=1.0.0,<2.0.0)
Requires-Dist: uvloop (>=0.22.1,<0.23.0)
Project-URL: Homepage, https://putf.sh
Project-URL: Issues, https://github.com/dataresearchcenter/putfs/issues
Project-URL: Repository, https://github.com/dataresearchcenter/putfs
Description-Content-Type: text/markdown

# PutFS

Just a `PUT` and `DELETE` API over a plain directory hierarchy with zero opinions.

Wired together with optimized Nginx and a well-tuned filesystem, these few lines of async Python [outperform MinIO](https://putf.sh/benchmarks/) and related systems at scale. And we didn't even port to Rust.

## Why?

MinIO became [AIStor](https://min.io) and sunsetted open source. [Ceph](https://ceph.io), [SeaweedFS](https://github.com/seaweedfs/seaweedfs), [Garage](https://garagehq.deuxfleurs.fr) – each solve a different problem than *"I have a server, I need to store files over HTTP."*

**PutFS** delegates everything to battle-tested tools: [nginx](https://nginx.org) for file serving and auth, [ZFS](https://openzfs.org) for erasure coding and caching, [zrepl](https://zrepl.github.io)/[rsync](https://rsync.samba.org) for replication.

If **PutFS** disappears tomorrow, we can still `ls -la` our data.

## Docs

[**putf.sh**](https://putf.sh)

- [Quickstart](https://putf.sh/quickstart/)
- [MinIO migration](https://putf.sh/minio-migration/)
- [Benchmarks](https://putf.sh/benchmarks/)
- [Reference](https://putf.sh/reference/model/) – auth, replication, encryption, versioning, scaling, ...
- [Tuning](https://putf.sh/tuning/nginx/) – nginx, granian, ZFS

## License

Apache 2.0.

