What is bandersnatch?
mainbandersnatch is a PyPI mirror client that implements PEP 381. It uses the PEP 691 Simple API to fetch package serial metadata and the PyPI JSON API to retrieve shasums and release file paths. It then manages the layout of these package files on a POSIX file system.
Key technical characteristics:
- Asyncio-based: The core logic is built on
asyncio(primarily usingaiohttp). - PEP 691 Support: Supports both HTML and JSON Simple Index formats.
- Normalization: It stores PEP 503 normalized package names for the
/simpleAPI and stores JSON in normalized package name paths.