Skip to main content

🔧 Requirements Resolver

Effortlessly merge and resolve Python dependencies from two requirements.txt files via a sleek GUI or CLI tool.

PyPI Version Python 3.8+ License: MIT Build Status Coverage Status Read the Docs

🔍 Overview

Requirements Resolver is a production‑ready Python package that:

  • Parses two separate requirements.txt files
  • 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
  1. Browse… to select your two requirements.txt files.
  2. Click Resolve Dependencies.
  3. Watch progress logs and find your requirements.merged.txt upon 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 venv to 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)

Source distribution for requirements-resolver 0.1.1
File Size Uploaded
requirements_resolver-0.1.1.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for requirements-resolver 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page