feat: add local PyPI repository support #50
Reference in New Issue
Block a user
Delete Branch "benvin/local-pypi"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Test plan
uv build→ upload → verify simple index HTML →uv pip installfrom local repoUpload Python wheels and sdists to local PyPI repos. The simple index (PEP 503) is computed on-demand from stored files. - Upload validates .whl/.tar.gz/.zip filenames, parses and normalizes package names per PEP 503, stores under {package}/{filename} - GET /api/v1/local/{name}/simple/ serves root index listing all packages - GET /api/v1/local/{name}/simple/{pkg}/ serves per-package file listing with sha256 hashes for integrity verification - Files are downloadable at /api/v1/local/{name}/{package}/{filename} - Overwrites rejected with 409 Tested e2e: uv build wheel → upload → uv pip install from local repo