Package Downloader & Registry
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.
Features
- 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.
Installation
pip install -r requirements.txt
Quick Start
1. Start the Registry Server
python -m pkg_server.app
2. Build and Publish a Package
from 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.
3. Search and Download
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.
Documentation
- Architecture Guide - Deep dive into logic and data flow.
- Quick Start Guide - Detailed usage examples.
- Change Log - History of features and fixes.
License
MIT
Metadata
Release files for pkg-plus-plus 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pkg_plus_plus-0.0.1.tar.gz | 14.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pkg_plus_plus-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.5 kB
Release files / pkg_plus_plus-0.0.1.tar.gz
| Download URL | pkg_plus_plus-0.0.1.tar.gz |
|---|---|
| Size | 14.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3727294f57c8f48d1c8d382e3dac85745f259ae4fd5e86b8740fe6a215de61ca
|
|
BLAKE2b-256 checksum How to use checksums |
e44fd439c327121d842d31b607e4a738ea5e4ceebf1abec9dd6c114f4db524ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pkg_plus_plus-0.0.1-py3-none-any.whl
| Download URL | pkg_plus_plus-0.0.1-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfd9b473b20f417d29ca969681e08422dda315a1f99c92c0ea11f1d4b7eeb76e
|
|
BLAKE2b-256 checksum How to use checksums |
567f300bfd1008d6644ab7f677b73e6e5043c9a927f291b876cb52860541a682
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|