Skip to main content

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.gz packages while respecting .gitignore patterns.
  • 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 Publisher and Downloader classes 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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pkg_plus_plus-0.0.1-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

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

Hashes for pkg_plus_plus-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3727294f57c8f48d1c8d382e3dac85745f259ae4fd5e86b8740fe6a215de61ca
MD5 31a063c4afca676043889194dbae3543
BLAKE2b-256 e44fd439c327121d842d31b607e4a738ea5e4ceebf1abec9dd6c114f4db524ea

See more details on using hashes here.

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

Hashes for pkg_plus_plus-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfd9b473b20f417d29ca969681e08422dda315a1f99c92c0ea11f1d4b7eeb76e
MD5 e9e49de5eb6d01d1ab62e970530f2fe9
BLAKE2b-256 567f300bfd1008d6644ab7f677b73e6e5043c9a927f291b876cb52860541a682

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page