Skip to main content

Add your description here

Project description

Pip Time Machine

A simple Python server that forwards requests to PyPI's Simple API, filters results based on a specific point in time, and returns the response.

Primary purpose is for testing pip, but may be useful for reliably installing the same packages from a given date.

Features

  • Filters package files by a specified datetime
  • Powered by PEP 691 and PEP 700 to quickly filter packages after the given time
  • Can point to any simple index that supports PEP 691 and PEP 700, not just PyPI

Installation

I reccomend install pip-timemachine as a tool, e.g.

Using uv:

uv tool install pip-timemachine

Or using pipx:

pipx install pip-timemachine

After installing simply run the server:

pip-timemachine 2023-10-18T12:00:00

And then point pip (or any other installer) to use this server as an index:

pip install requests --index http://127.0.0.1:8040

Usage

CLI Options

 Usage: pip-timemachine [OPTIONS] MOMENT:[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]
 
 Arguments:
   moment      MOMENT:[%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]  [default: None] [required]
 
 Options : 
   --index        TEXT     [default: https://pypi.org/simple]
   --port         INTEGER  [default: 8040]
   --help                  Help

To Dos

  • Support clients (e.g. pip) that do not support PEP 691 or PEP 700

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

pip_timemachine-0.1.0.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_timemachine-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file pip_timemachine-0.1.0.tar.gz.

File metadata

  • Download URL: pip_timemachine-0.1.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.24

File hashes

Hashes for pip_timemachine-0.1.0.tar.gz
Algorithm Hash digest
SHA256 15b179190d1be8f6b5862ef638a7e6b39dedb8ab5d5d3154948e2026f8078edf
MD5 2d5f3571724a9b6d4b2ba473b08f467a
BLAKE2b-256 0c883be7db5782b8b9a081f58733d707f4cba913d0b1c29c9c797725d1d5ba39

See more details on using hashes here.

File details

Details for the file pip_timemachine-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pip_timemachine-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90dc05662786ca64fbc585b01e15d17c989df6aaf293dd089c073480886d6f40
MD5 25d06e0121660de7feff6ca9ebdd15ac
BLAKE2b-256 2faa7251c77e9e9efc328a57080e468d03531175a8a8a672e5879bdb70c233ae

See more details on using hashes here.

Supported by

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