A package for implementing various Python packaging standards
Project description
A package for installing fully-specified Python packages.
Package contents
mousbender.simple – Parsers for the simple repository API
Goals for this project
The goal is to provide a package which could install all dependencies as frozen by a tool like pip-tools via an API (or put another way, what is required to install pip w/o using pip itself?). This avoids relying on pip’s CLI to do installations but instead provide a programmatic API. It also helps discover any holes in specifications and/or packages for providing full support for Python package installation based on standards.
The steps to installing a package
Check if package is already installed (spec / importlib-metadata)
Check local wheel cache (? / ?; how pip does it)
Choose appropriate file from PyPI/index
Process the list of files (simple repository API / mousebender.simple)
Calculate best-fitting wheel (spec / packaging.tags)
Download the wheel
Cache the wheel locally (? / ?)
Install the wheel
Install the files (spec / distlib.wheel)
Record the installation (spec / ?)
Things pip does that the above outline doesn’t
Parse a frozen requirements.txt file
Install from an sdist
Install dependencies (i.e. read dependencies from wheel, solve dependency graph)
Networking (everything is sans-I/O to allow the user to use whatever networking approach they want)
Where does the name come from?
The customer from Monty Python’s cheese shop sketch is named “Mr. Mousebender”. And in case you don’t know, the original name of PyPI was the Cheeseshop after the Monty Python sketch.
— .. image::https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mousebender-1.0.0.tar.gz
.
File metadata
- Download URL: mousebender-1.0.0.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c1d5d0f4f96423aecc9f5fff73b01b4be7ccc27ce03d8d96cd45c894a74d6ea |
|
MD5 | 7be9de107cf72a74cc5cf229ab25698a |
|
BLAKE2b-256 | 82c2faa6aa61ea2a1b26b6f2426a460a48df42ad847f88b4bac0e1e940506bfb |
Provenance
File details
Details for the file mousebender-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: mousebender-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 409f6b4888424fdcc2f6508d3d80a30b1d998fa65ee8e69103e574a070004cc7 |
|
MD5 | 4ba3efb02af8bc2695dc58b4d838069b |
|
BLAKE2b-256 | bf6c6557fd9567bc7db40c84e95e7d1b23831a3d20036c6f951c894479b64f6e |