Skip to main content

A tool to update all your projects requirements

Project description

.. image:: https://pyup.io/static/images/logo.png
:target: https://pyup.io

|

.. image:: https://pyup.io/repos/github/pyupio/pyup/shield.svg
:target: https://pyup.io/repos/github/pyupio/pyup/
:alt: Updates

.. image:: https://img.shields.io/pypi/v/pyupio.svg
:target: https://pypi.python.org/pypi/pyupio

.. image:: https://travis-ci.org/pyupio/pyup.svg?branch=master
:target: https://travis-ci.org/pyupio/pyup

.. image:: https://readthedocs.org/projects/pyup/badge/?version=latest
:target: https://readthedocs.org/projects/pyup/?badge=latest
:alt: Documentation Status


.. image:: https://codecov.io/github/pyupio/pyup/coverage.svg?branch=master
:target: https://codecov.io/github/pyupio/pyup?branch=master

A tool to update all your project's requirement files with a single command directly on github.

.. image:: https://github.com/pyupio/pyup/blob/master/demo.gif

About
-----

Pyup is the open source version of the online service that is running behind pyup.io. The online
service comes with a user interface to manage all your project dependencies at a single place and a
lot of additional features. It's currently in closed beta. If you are interested to try it out,
make sure to request an invite at https://pyup.io


Installation
------------

To install pyup, run::

$ pip install pyupio

Obtain Token
------------

In order to communicate with the github API, you need to create an oauth token for your account:

* Log in to your github account
* Click on settings -> Personal access tokens
* Click on Generate new token
* Make sure to check 'repo' and click on Generate token

Run your first Update
---------------------

Run::

$ pyup --repo=username/repo --user-token=<YOUR_TOKEN> --initial


This will check all your requirement files and search for new package versions. If there are
updates available, pyup will create a new branch on your repository and create a new commit for
every single update. Once all files are up to date, pyup will create a single pull request containing
all commits.

Once your repository is up to date and the initial update is merged in, remove the `--initial`
flag and run::

$ pyup --repo=username/repo --user-token=<YOUR_TOKEN>

This will create a new branch and a pull request for every single update. Run a cronjob or a scheduled task somewhere
that auto-updates your repository once in a while (e.g. every day) to stay on latest.

Filtering
---------

You may don't want to update all your requirements to latest, completely ignore
some of them or exclude whole files. That's what filters are for.

To exclude a whole file, add this to the first line::

# pyup: ignore file


To ignore a package, append the `# pyup: ignore` filter::

flask # pyup: ignore


If you want to use e.g. the long term support version of Django, which is 1.8 currently, without
updating to the latest version 1.9, just add this filter::

Django # pyup: >=1.8,<1.9

This tells pyup to use a version that is greater or equal to `1.8` but smaller than `1.9`.

If you are a user of requires.io and you are using the `rq.filter` directive in your files: Pyup
supports that, too.




History
-------

0.5.0 (2016-10-21)
------------------
* The bot now parses requirement extras correctly
* Made the config parser more robust
* Fixed a possible endless loop on conflicting PRs
* Added schedules to the config parser
* Now using PyGithub again

0.4.0 (2016-8-30)
-----------------
* Added a new feature: The bot can now add a label to pull requests.

0.3.0 (2016-7-28)
-----------------

* Fixed a bug where a race condition occurred when committing too fast.
* Various parser enhancements
* Empty commits are now filtered out automatically
* The bot now supports custom branches and custom index servers
* Stale pull requests will now be closed automatically
* Switched to setuptools new Requirement implementation
* Enhanced logging
* A lot of smaller bugfixes

0.2.0 (2016-1-7)
----------------

* Added advanced filtering options

0.1.4 (2015-12-30)
------------------

* Fixed a bug with the github provider when committing too fast.
* Requirement content replace function had a bug where not always the right requirement
was replaced

0.1.3 (2015-12-27)
------------------

* PyGithub should be installed as a specific dependency to keep things sane and simple until the
changes on upstream are merged.

0.1.2 (2015-12-27)
------------------

* Use development version of pygithub.

0.1.1 (2015-12-27)
------------------

* Fixed minor packing issue.

0.1 (2015-12-27)
----------------

* (silent) release on PyPI.

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

pyupio-0.5.0.tar.gz (52.2 kB view details)

Uploaded Source

Built Distribution

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

pyupio-0.5.0-py2.py3-none-any.whl (22.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyupio-0.5.0.tar.gz.

File metadata

  • Download URL: pyupio-0.5.0.tar.gz
  • Upload date:
  • Size: 52.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyupio-0.5.0.tar.gz
Algorithm Hash digest
SHA256 446edd33fd33a7ebe448fb5c7f64ae38bcce4daf30b0cf105f0a0ff71d0773d9
MD5 14d926bc616cbe621b6022672c016504
BLAKE2b-256 2d89f403a0ec10684460ec7f70d6a9f70d0760e51897b177165c811e7871e851

See more details on using hashes here.

File details

Details for the file pyupio-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyupio-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 40c1950bde8a8874a869e22b458ce082dcdf5e21ee877387fe3511098b33e288
MD5 837f1c68f3a520017cfeb71b406e0f12
BLAKE2b-256 e70f90cd2ccdf756e0826160e075096346b44c2d45ae086078f5e8a0b898d18a

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