A full-stack Python package management system featuring a local build engine, a Flask-based registry server, and a client-side SDK for publishing and downloading.
- Build Engine: Create
.tar.gzpackages while respecting.gitignorepatterns. - Registry Server: A Flask API with a SQLite backend to manage package metadata and storage.
- Secure Storage: Automatic filename sanitization and secure file serving.
- Client SDKs: Easy-to-use
PublisherandDownloaderclasses for automation.
pip install -r requirements.txtpython -m pkg_server.appfrom pkg_bulid import Builder
from pkg_bulid.publish import Publisher
builder = Builder("my_pkg")
archive = builder.build()
publisher = Publisher(base_url="http://localhost:5000") # Replace it with the url for the server.
publisher.sendtoserver("my_pkg", "1.0.0", archive) # Replace it with your package.from pkg_down import Downloader
downloader = Downloader(base_url="http://localhost:5000") # Replace it with the url for the server.
downloader.download("my_pkg", "1.0.0") # Replace it with your package.- Architecture Guide - Deep dive into logic and data flow.
- Quick Start Guide - Detailed usage examples.
- Change Log - History of features and fixes.
MIT