An interactive pip requirements upgrader. It also updates the version in your requirements.txt file.
Project description
pip-upgrader
=========
.. image:: https://travis-ci.org/simion/pip-upgrader.svg?branch=master
:target: https://travis-ci.org/simion/pip-upgrader
.. image:: https://coveralls.io/repos/github/simion/pip-upgrader/badge.svg?branch=master
:target: https://coveralls.io/github/simion/pip-upgrader?branch=master
An interactive pip requirements upgrader. Because upgrading requirements, package by package, is a pain in the ass.
It also updates the version in your requirements.txt file.
Purpose
-------
This cli tools helps you interactively(or not) upgrade packages from requirements file,
and also **update the pinned version from requirements file(s)**.
If no requirements are given, the command **attempts to detect the requirements file(s)** in the current directory.
Quick preview:
.. image:: https://raw.githubusercontent.com/simion/pip-upgrader/master/demo.gif
Installation
------------
::
pip install pip-upgrader
**Note:** this packages installs the following requirements: :code:`'docopt', 'packaging', 'requests', 'terminaltables', 'colorclass'`
To avoid installing all these dependencies in your project, you can install :code:`pip-upgrader` in your system, rather than your virtualenv.
If you install it in your system, and need to upgrade it, run :code:`pip install -U pip-upgrader`
Usage
-----
**Activate your virtualenv** (important, because it will also install the new versions of upgraded packages in current virtualenv)
**CD into your project.**
Then:
::
$ pip-upgrade
Arguments:
::
requirements_file(s) The requirement FILE, or WILDCARD PATH to multiple files. (positional arguments)
--prerelease Include prerelease versions for upgrade, when querying pypi repositories.
-p <package> Pre-choose which packages tp upgrade. Skips any prompt.
--dry-run Simulates the upgrade, but does not execute the actual upgrade.
--skip-package-installation Only upgrade the version in requirements files, don't install the new package.
--skip-virtualenv-check Disable virtualenv check. Allows installing the new packages outside the virtualenv.
--use-default-index Skip searching for custom index-url in pip configuration file(s).
Examples:
::
pip-upgrade # auto discovers requirements file. Prompts for selecting upgrades
pip-upgrade requirements.txt
pip-upgrade requirements/dev.txt requirements/production.txt
# skip prompt and manually choose some/all packages for upgrade
pip-upgrade requirements.txt -p django -p celery
pip-upgrade requirements.txt -p all
# include pre-release versions
pip-upgrade --prerelease
To use ``pip-upgrader`` on install requirements located in a ``setup.py`` file,
try this:
.. code-block:: sh
./setup.py egg_info
pip-upgrade $(./setup.py --name | tr -- - _)*.egg-info/requires.txt
This will display any versions that can be upgraded, and helps you to manually maintain the ``install_requires`` in ``setup.py``.
Final notes
-----------
If you encounter any bugs, please open an issue and it will be magically resolved :)
**Frequently asked questions**
- **Will you support for Pipfile/pipenv?** There's no need for that. You can do `pipenv lock -r > requirements.txt` and check for updates. It depends if you have frozen the versions in Pipfile or not. If they are "*", just run `pipenv lock` and latest versions will be fetched and locked in Pipfile.lock
Have fun! :)
Contributing
------------
Clone the repository, create a virtualenv, then run:
::
pip install -e .[test]
py.test
This command will :
- run tests
- print coverage report
- print pep8 errors
For detailed coverage report, after *py.test* run
::
coverage html && open htmlcov/index.html
**Testing against all python version**
Make sure you have python 2.7, 3.5, 3.6 installed (maybe use pyenv). Then:
::
pip install tox
tox
=========
.. image:: https://travis-ci.org/simion/pip-upgrader.svg?branch=master
:target: https://travis-ci.org/simion/pip-upgrader
.. image:: https://coveralls.io/repos/github/simion/pip-upgrader/badge.svg?branch=master
:target: https://coveralls.io/github/simion/pip-upgrader?branch=master
An interactive pip requirements upgrader. Because upgrading requirements, package by package, is a pain in the ass.
It also updates the version in your requirements.txt file.
Purpose
-------
This cli tools helps you interactively(or not) upgrade packages from requirements file,
and also **update the pinned version from requirements file(s)**.
If no requirements are given, the command **attempts to detect the requirements file(s)** in the current directory.
Quick preview:
.. image:: https://raw.githubusercontent.com/simion/pip-upgrader/master/demo.gif
Installation
------------
::
pip install pip-upgrader
**Note:** this packages installs the following requirements: :code:`'docopt', 'packaging', 'requests', 'terminaltables', 'colorclass'`
To avoid installing all these dependencies in your project, you can install :code:`pip-upgrader` in your system, rather than your virtualenv.
If you install it in your system, and need to upgrade it, run :code:`pip install -U pip-upgrader`
Usage
-----
**Activate your virtualenv** (important, because it will also install the new versions of upgraded packages in current virtualenv)
**CD into your project.**
Then:
::
$ pip-upgrade
Arguments:
::
requirements_file(s) The requirement FILE, or WILDCARD PATH to multiple files. (positional arguments)
--prerelease Include prerelease versions for upgrade, when querying pypi repositories.
-p <package> Pre-choose which packages tp upgrade. Skips any prompt.
--dry-run Simulates the upgrade, but does not execute the actual upgrade.
--skip-package-installation Only upgrade the version in requirements files, don't install the new package.
--skip-virtualenv-check Disable virtualenv check. Allows installing the new packages outside the virtualenv.
--use-default-index Skip searching for custom index-url in pip configuration file(s).
Examples:
::
pip-upgrade # auto discovers requirements file. Prompts for selecting upgrades
pip-upgrade requirements.txt
pip-upgrade requirements/dev.txt requirements/production.txt
# skip prompt and manually choose some/all packages for upgrade
pip-upgrade requirements.txt -p django -p celery
pip-upgrade requirements.txt -p all
# include pre-release versions
pip-upgrade --prerelease
To use ``pip-upgrader`` on install requirements located in a ``setup.py`` file,
try this:
.. code-block:: sh
./setup.py egg_info
pip-upgrade $(./setup.py --name | tr -- - _)*.egg-info/requires.txt
This will display any versions that can be upgraded, and helps you to manually maintain the ``install_requires`` in ``setup.py``.
Final notes
-----------
If you encounter any bugs, please open an issue and it will be magically resolved :)
**Frequently asked questions**
- **Will you support for Pipfile/pipenv?** There's no need for that. You can do `pipenv lock -r > requirements.txt` and check for updates. It depends if you have frozen the versions in Pipfile or not. If they are "*", just run `pipenv lock` and latest versions will be fetched and locked in Pipfile.lock
Have fun! :)
Contributing
------------
Clone the repository, create a virtualenv, then run:
::
pip install -e .[test]
py.test
This command will :
- run tests
- print coverage report
- print pep8 errors
For detailed coverage report, after *py.test* run
::
coverage html && open htmlcov/index.html
**Testing against all python version**
Make sure you have python 2.7, 3.5, 3.6 installed (maybe use pyenv). Then:
::
pip install tox
tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pip_upgrader-1.4.12.tar.gz
(5.8 MB
view hashes)
Built Distribution
Close
Hashes for pip_upgrader-1.4.12-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d18e9e7df22bd15ddea6066d29dae6bbb641ecfd27870060f261c7f33a81893 |
|
MD5 | f126a551394e4b81ce5cdf60f4ebe377 |
|
BLAKE2b-256 | 04d43e352e069759e830a43b5725ce35f9515bd2549ada55a63633f4fd68bc48 |