PyPI (Python Package Index) Support - Research & Planning
Status: 📋 Research Phase
Priority: ⭐⭐⭐ High (Python ist überall)
Use Case
Air-Gapped Python Development:
- Python-Entwicklung in isolierten Netzwerken
- Machine Learning / Data Science oft Air-Gapped (sensitive data)
- CI/CD Pipelines brauchen lokale PyPI-Mirror
- Reproduzierbare Builds mit gefrorenen Dependencies
Existing Tools (bekannt)
bandersnatch (Official PyPI Mirror)
devpi
PyPI Format (bekannt)
Simple API (PEP 503):
https://pypi.org/simple/
├── index.html # Liste aller Packages
├── requests/
│ └── index.html # Versions-Liste
└── numpy/
└── index.html
Package Format:
.whl (Wheel) - Binary distribution
.tar.gz / .zip - Source distribution
- SHA256 Checksums in HTML
JSON API:
https://pypi.org/pypi/{package}/json
- Detailed Metadata
Research Tasks
Questions
- Wie groß ist ein Full PyPI Mirror? (TB-Range?)
- Wheels sind plattform-spezifisch (linux_x86_64, macosx, win_amd64) - Filter?
- Nur Wheels? Oder auch Source Distributions?
- requirements.txt als Filter-Input?
Synergies mit Chantal
- ✅ Content-addressed Storage wiederverwendbar
- ✅ Snapshot-System wiederverwendbar
- ✅ SHA256 Checksums (perfekt für Pool)
- ✅ Simple API = einfache Metadaten
Estimated Complexity
⭐⭐ Low-Medium (ähnlich wie Helm, einfaches Format)
Estimated Effort: 2-3 weeks
Next Steps:
- Deep-dive Recherche zu bandersnatch
- PEP 503 Spec lesen
- Test-Mirror mit bandersnatch aufsetzen
- Design-Proposal erstellen
PyPI (Python Package Index) Support - Research & Planning
Status: 📋 Research Phase
Priority: ⭐⭐⭐ High (Python ist überall)
Use Case
Air-Gapped Python Development:
Existing Tools (bekannt)
bandersnatch (Official PyPI Mirror)
devpi
PyPI Format (bekannt)
Simple API (PEP 503):
Package Format:
.whl(Wheel) - Binary distribution.tar.gz/.zip- Source distributionJSON API:
https://pypi.org/pypi/{package}/jsonResearch Tasks
Questions
Synergies mit Chantal
Estimated Complexity
⭐⭐ Low-Medium (ähnlich wie Helm, einfaches Format)
Estimated Effort: 2-3 weeks
Next Steps: