🔧 Requirements Resolver
Effortlessly merge and resolve Python dependencies from two
requirements.txtfiles via a sleek GUI or CLI tool.
🔍 Overview
Requirements Resolver is a production‑ready Python package that:
- Parses two separate
requirements.txtfiles - Fetches all available versions from PyPI
- Computes the latest set of compatible versions satisfying both files
- Caches results locally for lightning‑fast subsequent runs
- Validates the merged set in an ephemeral virtual environment
- Delivers both a polished GUI (Tkinter) and a powerful CLI
Ideal for open‑source projects, CI/CD pipelines, and large‑scale Python deployments.
🚀 Installation
Ensure you have Python 3.8+ installed. On Debian/Ubuntu, install Tkinter for GUI support:
sudo apt-get update
sudo apt-get install python3-tk
Then install via pip:
pip install requirements-resolver
Or grab the latest source:
git clone https://github.com/ruslanmv/requirements-resolver.git
cd requirements-resolver
pip install .
🎬 Quickstart
GUI Mode
requirements-resolver
- Browse… to select your two
requirements.txtfiles. - Click Resolve Dependencies.
- Watch progress logs and find your
requirements.merged.txtupon success.
CLI Mode
requirements-resolver -f reqs/prod.txt reqs/dev.txt
-
Specify output:
requirements-resolver -f reqs/prod.txt reqs/dev.txt -o requirements.final.txt
🛠 Features
- Dual Interfaces: Tkinter‐based GUI + rich CLI
- PyPI Integration: Real‑time version lookup
- Local Caching: Minimizes API calls for repeat runs
- Automated Testing: Leverages
venvto verify installability - Configurable: Override cache directory, HTTP timeouts, log levels
🧑💻 Development
git clone https://github.com/ruslanmv.com/requirements-resolver.git
cd requirements-resolver
make setup # Installs dev dependencies
make run # Launches GUI in development mode
make lint # Checks code style (flake8)
make test # Runs unit tests
See CONTRIBUTING.md for guidelines.
📄 Documentation
Full user guide, API reference, and examples are on Read the Docs: https://requirements-resolver.readthedocs.io
❤️ Contributing & Support
Please ⭐ the repo, file issues, and submit PRs! For questions or feature requests, open an issue or join our Slack channel.
📜 License
Distributed under the MIT License. © 2025 ruslanmv.com
Release files for requirements-resolver 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| requirements_resolver-0.1.1.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| requirements_resolver-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / requirements_resolver-0.1.1.tar.gz
| Download URL | requirements_resolver-0.1.1.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49f04008301bf9b37be572a813aa9ef1172d7e18a9aca4940f4dfa51be6169a1
|
|
BLAKE2b-256 checksum How to use checksums |
1f817cc4fd1ef62c271b24bde134d5bfc0d62fda3d4b8e3c13e567fd12a36479
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2025.
Transparency logRelease files / requirements_resolver-0.1.1-py3-none-any.whl
| Download URL | requirements_resolver-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fda23c3716b39016cb00fc1d2dcc03c5a97e1f4c33f810d257575ef9a16c8e62
|
|
BLAKE2b-256 checksum How to use checksums |
2f6549791b2b4fb277df599eba7886c1a57aab56b660e12b49eef28c7d1d4efc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2025.
Transparency log