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.0.tar.gz (12.4 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.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for pkg_plus_plus-0.0.0.tar.gz
Algorithm Hash digest
SHA256 2175b582ab07c7f233a017bd5eb956311338b62702e27b98d9aef6f9d237705d
MD5 c187b0b6cc7a3670d84547ba73edb96c
BLAKE2b-256 7e5287717f87c76d2fdffbb26f79fc585f16b502249c150d1ec1c48224a03884

See more details on using hashes here.

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

Hashes for pkg_plus_plus-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d494219585be1935ea3679799ed8cb350dd1bbf8437113c13bd0d6f2957bcf25
MD5 5f9198ce2fa013609d3393f7593ada0d
BLAKE2b-256 73a0ac90c005d29046da5ddda2a380ee8557ceeee2d143d1acc5c69b5ed8e4ef

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