Skip to main content

A package for implementing various Python packaging standards

Project description

A package for installing fully-specified Python packages.

Package contents

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

PyPA specifications

  1. Check if package is already installed (spec / importlib-metadata)

  2. Check local wheel cache (? / ?; how pip does it)

  3. Choose appropriate file from PyPI/index

    1. Process the list of files (simple repository API / mousebender.simple)

    2. Calculate best-fitting wheel (spec / packaging.tags)

  4. Download the wheel

  5. Cache the wheel locally (? / ?)

  6. Install the wheel

    1. Install the files (spec / distlib.wheel)

    2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mousebender-1.0.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

mousebender-1.0.0-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

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

Hashes for mousebender-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8c1d5d0f4f96423aecc9f5fff73b01b4be7ccc27ce03d8d96cd45c894a74d6ea
MD5 7be9de107cf72a74cc5cf229ab25698a
BLAKE2b-256 82c2faa6aa61ea2a1b26b6f2426a460a48df42ad847f88b4bac0e1e940506bfb

See more details on using hashes here.

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

Hashes for mousebender-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 409f6b4888424fdcc2f6508d3d80a30b1d998fa65ee8e69103e574a070004cc7
MD5 4ba3efb02af8bc2695dc58b4d838069b
BLAKE2b-256 bf6c6557fd9567bc7db40c84e95e7d1b23831a3d20036c6f951c894479b64f6e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page