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.0.tar.gz
(12.4 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.0.tar.gz.
File metadata
- Download URL: pkg_plus_plus-0.0.0.tar.gz
- Upload date:
- Size: 12.4 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 |
2175b582ab07c7f233a017bd5eb956311338b62702e27b98d9aef6f9d237705d
|
|
| MD5 |
c187b0b6cc7a3670d84547ba73edb96c
|
|
| BLAKE2b-256 |
7e5287717f87c76d2fdffbb26f79fc585f16b502249c150d1ec1c48224a03884
|
File details
Details for the file pkg_plus_plus-0.0.0-py3-none-any.whl.
File metadata
- Download URL: pkg_plus_plus-0.0.0-py3-none-any.whl
- Upload date:
- Size: 16.0 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 |
d494219585be1935ea3679799ed8cb350dd1bbf8437113c13bd0d6f2957bcf25
|
|
| MD5 |
5f9198ce2fa013609d3393f7593ada0d
|
|
| BLAKE2b-256 |
73a0ac90c005d29046da5ddda2a380ee8557ceeee2d143d1acc5c69b5ed8e4ef
|