A simple package manager.
Project description
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
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
pkg_plus_plus-0.0.1.tar.gz
(14.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pkg_plus_plus-0.0.1.tar.gz.
File metadata
- Download URL: pkg_plus_plus-0.0.1.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3727294f57c8f48d1c8d382e3dac85745f259ae4fd5e86b8740fe6a215de61ca
|
|
| MD5 |
31a063c4afca676043889194dbae3543
|
|
| BLAKE2b-256 |
e44fd439c327121d842d31b607e4a738ea5e4ceebf1abec9dd6c114f4db524ea
|
File details
Details for the file pkg_plus_plus-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pkg_plus_plus-0.0.1-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfd9b473b20f417d29ca969681e08422dda315a1f99c92c0ea11f1d4b7eeb76e
|
|
| MD5 |
e9e49de5eb6d01d1ab62e970530f2fe9
|
|
| BLAKE2b-256 |
567f300bfd1008d6644ab7f677b73e6e5043c9a927f291b876cb52860541a682
|