{"id":13448248,"url":"https://github.com/achillesrasquinha/pipupgrade","last_synced_at":"2025-05-14T07:08:26.682Z","repository":{"id":37484087,"uuid":"146659164","full_name":"achillesrasquinha/pipupgrade","owner":"achillesrasquinha","description":" 🗽 Like yarn outdated/upgrade, but for pip. Upgrade all your pip packages and automate your Python Dependency Management.","archived":false,"fork":false,"pushed_at":"2024-12-17T05:23:46.000Z","size":2735310,"stargazers_count":594,"open_issues_count":59,"forks_count":28,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-15T03:44:06.613Z","etag":null,"topics":["cli","command-line","package-manager","pip","pypi","python","update","upgrade","version"],"latest_commit_sha":null,"homepage":"https://git.io/pipupgrade","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/achillesrasquinha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-08-29T21:13:12.000Z","updated_at":"2025-04-06T04:29:50.000Z","dependencies_parsed_at":"2025-04-15T01:04:34.876Z","dependency_job_id":null,"html_url":"https://github.com/achillesrasquinha/pipupgrade","commit_stats":{"total_commits":2000,"total_committers":11,"mean_commits":181.8181818181818,"dds":0.2935,"last_synced_commit":"aacaa320c18ebe86637d4747b0ac1ff3e338fa49"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achillesrasquinha%2Fpipupgrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achillesrasquinha%2Fpipupgrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achillesrasquinha%2Fpipupgrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/achillesrasquinha%2Fpipupgrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/achillesrasquinha","download_url":"https://codeload.github.com/achillesrasquinha/pipupgrade/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092776,"owners_count":22013290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","package-manager","pip","pypi","python","update","upgrade","version"],"created_at":"2024-07-31T05:01:39.968Z","updated_at":"2025-05-14T07:08:26.660Z","avatar_url":"https://github.com/achillesrasquinha.png","language":"Python","funding_links":["https://paypal.me/achillesrasquinha"],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/assets/meme.jpg\"\u003e\n  \u003ch1\u003e\n    pipupgrade\n  \u003c/h1\u003e\n  \u003ch4\u003eThe missing command for \u003ccode\u003epip\u003c/code\u003e\u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href='https://github.com/achillesrasquinha/pipupgrade/actions?query=workflow:\"Continuous Integration\"'\u003e\n    \u003cimg src=\"https://img.shields.io/github/workflow/status/achillesrasquinha/pipupgrade/Continuous Integration?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://coveralls.io/github/achillesrasquinha/pipupgrade\"\u003e\n    \u003cimg src=\"https://img.shields.io/coveralls/github/achillesrasquinha/pipupgrade.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/pipupgrade/\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/v/pipupgrade.svg?style=flat-square\"\u003e\n\t\u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/pipupgrade/\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/l/pipupgrade.svg?style=flat-square\"\u003e\n\t\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/pipupgrade/\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/pypi/pyversions/pipupgrade.svg?style=flat-square\"\u003e\n\t\u003c/a\u003e\n  \u003ca href=\"https://hub.docker.com/r/achillesrasquinha/pipupgrade\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/docker/cloud/build/achillesrasquinha/pipupgrade.svg?style=flat-square\u0026logo=docker\"\u003e\n\t\u003c/a\u003e\n  \u003ca href=\"https://git.io/boilpy\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/made%20with-boilpy-red.svg?style=flat-square\"\u003e\n  \u003c/a\u003e\n\t\u003ca href=\"https://saythanks.io/to/achillesrasquinha\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/Say%20Thanks-🦉-1EAEDB.svg?style=flat-square\"\u003e\n\t\u003c/a\u003e\n\t\u003ca href=\"https://paypal.me/achillesrasquinha\"\u003e\n\t\t\u003cimg src=\"https://img.shields.io/badge/donate-💵-f44336.svg?style=flat-square\"\u003e\n\t\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/assets/demo.gif\"\u003e\n\u003c/div\u003e\n\n### Table of Contents\n* [Features](#Features)\n* [Quick Start](#quick-start)\n* [Usage](#usage)\n  * [Basic Usage](#basic-usage)\n  * [Docker](#docker)\n  * [Environment Variables](docs/source/envvar.md)\n* [FAQ](FAQ.md)\n* [License](#license)\n\n### Features\n* Updates system packages and local packages.\n* Discovers packages present within multiple Python Environments.\n* Updates packages mentioned within a `requirements.txt` file (Also pins up-to-date versions if mentioned).\n* Smart `requirements.txt` detector.\n* [Pipfile](https://github.com/pypa/pipenv) support.\n* Detects semantic version to avoid updates that break changes. **Also ensures to avoid\n child dependencies that break changes.**\n* [View Dependency Graph.](FAQ.md/#how-do-i-view-a-dependency-graph)\n* Parallel updates (blazingly fast).\n* Python 2.7+ and Python 3.4+ compatible. Also pip 9+, pip 10+, pip 18+ and [pip 19.0.1+](https://github.com/pypa/pip/issues/6158) compatible.\n* Automate your Dependencies by installing `pipupgrade` in your CI workflow.\n* Zero Dependencies!\n\n### Quick Start\n\n```shell\n$ pip install pipupgrade\n```\n\nCheck out [installation](docs/source/install.rst) for more details.\n\n### Usage\n\n#### Basic Usage\n\n* [**`pipupgrade`**](https://git.io/pipupgrade)\n\n    *Upgrades all the packages across all detected pip environments.*\n\n* [**`pipupgrade --self`**](https://git.io/pipupgrade)\n\n    *Upgrades `pipupgrade`.*\n\n* [**`pipupgrade --format {table,tree,json,yaml}`**](https://git.io/pipupgrade)\n\n    *Display packages in the format (defaults to `table`)*\n\n* [**`pipupgrade --pip-path PIP_PATH`**](https://git.io/pipupgrade)\n\n    *Upgrades all the packages within the defined pip environment.*\n\n* [**`pipupgrade --check`**](https://git.io/pipupgrade)\n\n    *Checks and pretty prints outdated packages (Does not perform upgrades).*\n\n* [**`pipupgrade --upgrade-type {major,minor,patch}`**](https://git.io/pipupgrade)\n\n    *Upgrades packages only of the upgrade type (defaults to minor and patch).*\n\n* [**`pipupgrade --latest`**](https://git.io/pipupgrade)\n\n    *WARNING: Upgrades all packages (including the ones that break change).*\n\n* [**`pipupgrade --all`**](https://git.io/pipupgrade)\n\n    *List all packages.*\n\n* [**`pipupgrade --interactive`**](https://git.io/pipupgrade)\n\n    *Prompts confirmation dialog for each package to be upgraded.*\n\n* [**`pipupgrade --requirements REQUIREMENTS`**](https://git.io/pipupgrade)\n\n    *Upgrades the requirements file (if required).*\n\n* [**`pipupgrade --pipfile PIPFILE`**](https://git.io/pipupgrade)\n\n    *Upgrades the Pipfile and Pipfile.lock file (if required).*\n\n* [**`pipupgrade --project PROJECT`**](https://git.io/pipupgrade)\n\n    *Upgrades all the requirements file and/or Pipfile/Pipfile.lock within a project directory.*\n\nThat's basically it! Run the help for more details...\n\n```\n$ pipupgrade --help\nusage: pipupgrade [--pip-path PIP_PATH] [-y] [-c]\n                  [--upgrade-type {major,minor,patch} [{major,minor,patch} ...]]\n                  [-l] [-f {table,tree,json,yaml}] [-a] [--pip] [-s]\n                  [-r REQUIREMENTS] [--pipfile PIPFILE] [-i] [-p PROJECT]\n                  [--git-username GIT_USERNAME] [--git-email GIT_EMAIL]\n                  [--pull-request] [--github-access-token GITHUB_ACCESS_TOKEN]\n                  [--github-reponame GITHUB_REPONAME]\n                  [--github-username GITHUB_USERNAME]\n                  [--target-branch TARGET_BRANCH] [-j JOBS] [-u]\n                  [--no-included-requirements] [--no-cache] [-o OUTPUT]\n                  [--ignore-error] [--force] [--no-color] [-V] [-v] [-h]\n                  [packages [packages ...]]\n\npipupgrade (v VERSION)\n\nUPGRADE ALL THE PIP PACKAGES!\n\npositional arguments:\n  packages              Packages to Upgrade. (default: None)\n\noptional arguments:\n  --ignore IGNORE       Ignore packages to upgrade. (default: None)\n  --pip-path PIP_PATH   Path to pip executable to be used. (default: None)\n  -y, --yes             Confirm for all dialogs. (default: 0)\n  -c, --check           Perform a dry-run, avoid updating packages. (default:\n                        0)\n  --upgrade-type {major,minor,patch} [{major,minor,patch} ...]\n                        Upgrade Type (default: ['minor', 'patch'])\n  -l, --latest          Update all packages to latest. (default: 0)\n  -f {table,tree,json,yaml}, --format {table,tree,json,yaml}\n                        Display packages format. (default: table)\n  -a, --all             List all packages. (default: 0)\n  --pip                 Update pip. (default: 0)\n  -s, --self            Update pipupgrade. (default: False)\n  -r REQUIREMENTS, --requirements REQUIREMENTS\n                        Path(s) to requirements.txt file. (default: None)\n  --pipfile PIPFILE     Path(s) to Pipfile (default: None)\n  -i, --interactive     Interactive Mode. (default: 0)\n  -p PROJECT, --project PROJECT\n                        Path(s) to Project (default: None)\n  --git-username GIT_USERNAME\n                        Git Username (default: None)\n  --git-email GIT_EMAIL\n                        Git Email (default: None)\n  --pull-request        Perform a Pull Request. (default: False)\n  --github-access-token GITHUB_ACCESS_TOKEN\n                        GitHub Access Token (default: None)\n  --github-reponame GITHUB_REPONAME\n                        Target GitHub Repository Name (default: None)\n  --github-username GITHUB_USERNAME\n                        Target GitHub Username (default: None)\n  --target-branch TARGET_BRANCH\n                        Target Branch (default: master)\n  -j JOBS, --jobs JOBS  Number of Jobs to be used. (default: 4)\n  -u, --user            Install to the Python user install directory for\n                        environment variables and user configuration.\n                        (default: 0)\n  --no-included-requirements\n                        Avoid updating included requirements. (default: 0)\n  --no-cache            Avoid fetching latest updates from PyPI server.\n                        (default: 0)\n  -o OUTPUT, --output OUTPUT\n                        Print Output to File. (default: None)\n  --ignore-error        Ignore Error in case of upgrade failure. (default: 0)\n  --force               Force search for files within a project. (default: 0)\n  --no-color            Avoid colored output. (default: 0)\n  -V, --verbose         Display verbose output. (default: False)\n  -v, --version         Show pipupgrade's version number and exit.\n  -h, --help            Show this help message and exit.\n```\n\n### Docker\n\nUsing `pipupgrade`'s Docker Image to generate a Pull Request can be done as follows:\n\n```\n$ docker run \\\n    -e \"PIPUPGRADE_GIT_USERNAME=\u003cYOUR_GIT_USERNAME\u003e\" \\\n    -e \"PIPUPGRADE_GIT_EMAIL=\u003cYOUR_GIT_EMAIL\u003e\" \\\n    -e \"PIPUPGRADE_GITHUB_REPONAME=\u003cYOUR_GIT_REPONAME\u003e\" \\\n    -e \"PIPUPGRADE_GITHUB_USERNAME=\u003cYOUR_GIT_USERNAME\u003e\" \\\n    --rm \\\n    -it \\\n    -v $(pwd):/path/to/project \\\n      achillesrasquinha/pipupgrade \\\n        --project /path/to/project \\\n        --pull-request \\\n        --force \\\n        --yes \\\n        --verbose\n```\n\n### Similar Packages\n\n`pipupgrade` attempts to provide an all-in-one solution as compared to the following packages:\n\n* [pur](https://github.com/alanhamlett/pip-update-requirements)\n* [pip_upgrade_outdated](https://github.com/defjaf/pip_upgrade_outdated)\n* [pipdate](https://github.com/nschloe/pipdate)\n* [pip-review](https://github.com/jgonggrijp/pip-review)\n* [pip-upgrader](https://github.com/simion/pip-upgrader)\n* [pipdeptree](https://github.com/naiquevin/pipdeptree)\n\n### Known Issues\n\n* [I'm stuck at \"Checking...\" forever.](https://github.com/achillesrasquinha/pipupgrade/issues/30)\n\n### License\n\nThis repository has been released under the [MIT License](LICENSE).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Made with ❤️ using \u003ca href=\"https://git.io/boilpy\"\u003eboilpy\u003c/a\u003e.\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fachillesrasquinha%2Fpipupgrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fachillesrasquinha%2Fpipupgrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fachillesrasquinha%2Fpipupgrade/lists"}