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 on GitHub.

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

About
-----

This repo contains the bot that is running at 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.

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 `email` 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.


Pyup also has experimental support for Gitlab. Generate a personal access token
from your profile settings (eg. https://gitlab.com/profile/personal_access_tokens),
then run pyup from the cli::

# gitlab.com:
$ pyup --repo=username/repo --user-token=<YOUR_TOKEN>

# other:
$ pyup --repo=username/repo --user-token=<YOUR_TOKEN>@https://your.gitlab/




History
-------

0.8.0 (2017-7-20)
-----------------
# Todo: finish docs and add link.
* This release adds support for insecure packages and pull requests with attached changelogs.


0.7.0 (2017-7-13)
-----------------

* Fixed a bug on the CLI that prevented hashed requirements to be parsed correctly
* Switched to the new dparse library, adding experimental support for tox and conda files.
* Added support for GitHubs new collaborator invitation system.
* The bot now correctly parses requirement files that begin with a whitespace.
* Fixed a bug with requirement files that had special characters in the filepath.
* Overall improvements with hashed requirement files. Almost all flavors should now be parsed
correctly
* Added support for Gitlab, thanks a lot to @samdroid-apps
* Added support for compatible releases

0.6.0 (2017-2-1)
----------------

* Fixed the CLI, it should be working again
* Now supports GitHub Integrations (experimental)
* Added new config: PR prefixes, branch prefixes
* Fixed an error not correclty formatting whitespace
* Added support for hashed requirement files
* The bot is now able to write config files to the repo
* Support for environment markers in requirements has been added
* It's now possible to have finer grained control over what's being updated.

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.8.0.tar.gz (61.5 kB view hashes)

Uploaded Source

Built Distribution

pyupio-0.8.0-py2.py3-none-any.whl (28.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page