[![CI - build](https://img.shields.io/github/actions/workflow/status/tkarabela/requirements-wayback-machine/main.yml?branch=master)](https://github.com/tkarabela/requirements-wayback-machine/actions)
[![CI - coverage](https://img.shields.io/codecov/c/github/tkarabela/requirements-wayback-machine)](https://app.codecov.io/github/tkarabela/requirements-wayback-machine)
![MyPy checked](http://www.mypy-lang.org/static/mypy_badge.svg)
![PyPI - Version](https://img.shields.io/pypi/v/requirements-wayback-machine.svg?style=flat-square)
![PyPI - Status](https://img.shields.io/pypi/status/requirements-wayback-machine.svg?style=flat-square)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/requirements-wayback-machine.svg?style=flat-square)
![License](https://img.shields.io/pypi/l/requirements-wayback-machine.svg?style=flat-square)
# Requirements.txt Wayback Machine 🚂🕒️
_Note: This is script is not developed nor endorsed by the
[Python Packaging Authority (PyPA)](https://www.pypa.io/en/latest/)
or other official Python body._
If you're struggling to get correct Python dependencies for an older project,
__requirements_wayback_machine__ is a script that gets you from this `requirements.txt`:
```
torch
torchvision
imageio
```
to this:
```
# requirements_wayback_machine: reference date 2021-02-03
# requirements_wayback_machine: torch<=1.7.1
torch
# requirements_wayback_machine: torchvision<=0.8.2
torchvision
# requirements_wayback_machine: imageio<=2.9.0
imageio
```
## Installation
```sh
$ pip install requirements-wayback-machine
```
## Usage
```sh
$ requirements_wayback_machine -r <path_to_requirements.txt> -d <YYYY-MM-DD>
```
This will print annotated `requirements.txt` to console, including upper bound
specifiers that approximate dependency resolution at given date
(for each requirement line, we print the last version of that dependency
released by given date that also satisfies specifiers already present
in the input requirement line, if any).
For more information and options, run `requirements_wayback_machine -h`.
Example:
```sh
$ requirements_wayback_machine -r requirements.txt -d 2021-02-03
# requirements_wayback_machine: reference date 2021-02-03
# requirements_wayback_machine: torch<=1.7.1
torch
# requirements_wayback_machine: torchvision<=0.8.2
torchvision
# requirements_wayback_machine: imageio<=2.9.0
imageio
```
## License
MIT - see [LICENSE.txt](./LICENSE.txt).
Raw data
{
"_id": null,
"home_page": "https://github.com/tkarabela/requirements-wayback-machine",
"name": "requirements-wayback-machine",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "",
"keywords": "",
"author": "Tomas Karabela",
"author_email": "tkarabela@seznam.cz",
"download_url": "https://files.pythonhosted.org/packages/36/46/b6aa212a9cabb43cc560d5a6f67eb71d44a2685b4ece9aa00d950e97703a/requirements-wayback-machine-0.1.1.tar.gz",
"platform": null,
"description": "[![CI - build](https://img.shields.io/github/actions/workflow/status/tkarabela/requirements-wayback-machine/main.yml?branch=master)](https://github.com/tkarabela/requirements-wayback-machine/actions)\n[![CI - coverage](https://img.shields.io/codecov/c/github/tkarabela/requirements-wayback-machine)](https://app.codecov.io/github/tkarabela/requirements-wayback-machine)\n![MyPy checked](http://www.mypy-lang.org/static/mypy_badge.svg)\n![PyPI - Version](https://img.shields.io/pypi/v/requirements-wayback-machine.svg?style=flat-square)\n![PyPI - Status](https://img.shields.io/pypi/status/requirements-wayback-machine.svg?style=flat-square)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/requirements-wayback-machine.svg?style=flat-square)\n![License](https://img.shields.io/pypi/l/requirements-wayback-machine.svg?style=flat-square)\n\n# Requirements.txt Wayback Machine \ud83d\ude82\ud83d\udd52\ufe0f\n\n_Note: This is script is not developed nor endorsed by the\n[Python Packaging Authority (PyPA)](https://www.pypa.io/en/latest/)\nor other official Python body._\n\nIf you're struggling to get correct Python dependencies for an older project,\n__requirements_wayback_machine__ is a script that gets you from this `requirements.txt`:\n\n```\ntorch\ntorchvision\nimageio\n```\n\nto this:\n\n```\n# requirements_wayback_machine: reference date 2021-02-03\n# requirements_wayback_machine: torch<=1.7.1\ntorch\n# requirements_wayback_machine: torchvision<=0.8.2\ntorchvision\n# requirements_wayback_machine: imageio<=2.9.0\nimageio\n```\n\n## Installation\n\n```sh\n$ pip install requirements-wayback-machine\n```\n\n## Usage\n\n```sh\n$ requirements_wayback_machine -r <path_to_requirements.txt> -d <YYYY-MM-DD>\n```\n\nThis will print annotated `requirements.txt` to console, including upper bound\nspecifiers that approximate dependency resolution at given date\n(for each requirement line, we print the last version of that dependency\nreleased by given date that also satisfies specifiers already present\nin the input requirement line, if any).\n\nFor more information and options, run `requirements_wayback_machine -h`.\n\nExample:\n\n```sh\n$ requirements_wayback_machine -r requirements.txt -d 2021-02-03\n\n# requirements_wayback_machine: reference date 2021-02-03\n# requirements_wayback_machine: torch<=1.7.1\ntorch\n# requirements_wayback_machine: torchvision<=0.8.2\ntorchvision\n# requirements_wayback_machine: imageio<=2.9.0\nimageio\n```\n\n## License\n\nMIT - see [LICENSE.txt](./LICENSE.txt).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Wayback machine for pip requirements.txt",
"version": "0.1.1",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "af1e1349f57a01c4759baab6a5a0476ac00c3d6a18f9705ddcb27f721dc7eacd",
"md5": "4c24076bcff2ac4a9ec785dcbb6beba7",
"sha256": "5897cde29971d5e59b444df93db8c36f542e84d2def06874b4b9d91702e5def3"
},
"downloads": -1,
"filename": "requirements_wayback_machine-0.1.1-py3-none-any.whl",
"has_sig": true,
"md5_digest": "4c24076bcff2ac4a9ec785dcbb6beba7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 6584,
"upload_time": "2023-03-19T23:05:33",
"upload_time_iso_8601": "2023-03-19T23:05:33.053913Z",
"url": "https://files.pythonhosted.org/packages/af/1e/1349f57a01c4759baab6a5a0476ac00c3d6a18f9705ddcb27f721dc7eacd/requirements_wayback_machine-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3646b6aa212a9cabb43cc560d5a6f67eb71d44a2685b4ece9aa00d950e97703a",
"md5": "d1a2f3668bddc01b68bdc61c67d785f6",
"sha256": "ac02525a66ec9ab2be37bda50be484b48f0cb55fbf5061cdb5f194da82313b3a"
},
"downloads": -1,
"filename": "requirements-wayback-machine-0.1.1.tar.gz",
"has_sig": true,
"md5_digest": "d1a2f3668bddc01b68bdc61c67d785f6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 6354,
"upload_time": "2023-03-19T23:05:35",
"upload_time_iso_8601": "2023-03-19T23:05:35.721870Z",
"url": "https://files.pythonhosted.org/packages/36/46/b6aa212a9cabb43cc560d5a6f67eb71d44a2685b4ece9aa00d950e97703a/requirements-wayback-machine-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-19 23:05:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "tkarabela",
"github_project": "requirements-wayback-machine",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "requirements-wayback-machine"
}