Skip to main content

A dynamic tool for upgrading pip requirements that seamlessly synchronizes the version changes within your requirements.txt file.

Project description

pip-ascent

A versatile tool for effortlessly updating pip requirements while keeping your requirements.txt file in sync with the latest package versions. No more tedious manual package-by-package upgrades; this tool handles it for you and updates your requirements.txt file accordingly.

Purpose

This command-line tool allows you to interactively (or non-interactively) upgrade packages from your requirements file. It also enables you to update the pinned version in your requirements file(s). If no requirements are specified, the tool will attempt to detect the requirements file(s) in the current directory.

Installation

pip install pip-ascent

Note: This package installs the following dependencies: 'docopt', 'packaging', 'requests', 'terminaltables', 'colorclass'. To avoid installing these dependencies in your project, you can install pip-ascent in your system rather than your virtual environment. If you install it in your system and need to upgrade it, run pip install -U pip-ascent.

Usage

pip-ascent [<requirements_file>] ... [--prerelease] [-pk=<package>...] [--dry-run] [--check-greater-equal] [--skip-virtualenv-check] [--skip-package-installation] [--use-default-index]

Activate your virtual environment (important because it will also install the new versions of upgraded packages in the current virtual environment).

Change directory into your project. Then:

$ pip-ascent

Arguments:

  • requirements_file: Specifies the requirement file or uses a wildcard path to multiple files.
  • --prerelease: Includes prerelease versions for upgrades when querying PyPI repositories.
  • -pk <package>: Pre-selects packages for an upgrade, bypassing any prompts. You can also utilize regular expressions to filter packages for upgrading.
  • --dry-run: Simulates the upgrade but does not perform the actual upgrade.
  • --check-greater-equal: Also checks packages with minimum version pinning (package>=version).
  • --skip-package-installation: Upgrades the version in requirement files only; it does not install the new package.
  • --skip-virtualenv-check: Disables virtual environment check, permitting the installation of new packages outside the virtual environment.
  • --use-default-index: Skips searching for a custom index URL in pip configuration file(s).

Examples:

  • pip-ascent: Automatically discovers the requirements file.

  • pip-ascent requirements.txt

  • pip-ascent requirements/dev.txt requirements/production.txt

  • pip-ascent requirements.txt -pk django -pk celery

  • pip-ascent requirements.txt -pk all

  • pip-ascent requirements.txt --dry-run: Runs everything as a simulation (does not perform the actual upgrade)

💖 Like this project?

Leave a ⭐ if you find this project cool.

Share with the world

👨‍💻 Author

Abdulazeez Sherif

Twitter

🍁 License

MIT

Note: This package is just starting out feel free to make contributions.

(back to top)

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_ascent-0.1.2.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

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

pip_ascent-0.1.2-py2.py3-none-any.whl (23.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pip_ascent-0.1.2.tar.gz.

File metadata

  • Download URL: pip_ascent-0.1.2.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for pip_ascent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b6b0397f161d1f21f9f6b8cd9c084850dc276cca6526ae00d9f23e2bd3813418
MD5 d7e52758625a4cf13a95f699f3d142c8
BLAKE2b-256 fa81badcc4e60b2c81ec6fbf8a5a7dc7619f08ad96aa64b554a1ec35d9c42b6b

See more details on using hashes here.

File details

Details for the file pip_ascent-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pip_ascent-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for pip_ascent-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 643df52c31ee6dc94015a1827cef02a65a5815da0fe8f250ce5c6233aaef9cff
MD5 08d73a1506e0a389ab674346320a6e8d
BLAKE2b-256 7b5bd6e5c5bfb2a6e7fa513d7834616ea9e5d87b0e5d1b0a0848f1766af6e2de

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