# EASY PIP INSTALL
`easypipinstall` installs Python packages similarly to NPM in NodeJS. It automatically maintains the `requirements.txt`, `prod-requirements.txt` and `setup.cfg` files. It also easily uninstalls all the dependencies from those files. It uses an opinionated pattern where:
- Only two types of dependencies exist: `prod` and `dev`.
- All dependencies are listed under `requirements.txt`.
- By default, dependencies are listed in both `requirements.txt` and `prod-requirements.txt`.
- Dependencies are not listed under `prod-requirements.txt` when the `-D` option (development mode) is used.
- The `setup.cfg` file is updated as follows:
- By default, the dependency is listed without its version under the `install_requires` property of the `[options]` section.
- When the `-D` option is used, the dependency is listed without its version under the `dev` property of the `[options.extras_require]` section.
To install:
```
pip install easypipinstall
```
This will add two new CLI utilities: `easyi` (install) and `easyu` (uninstall).
Examples:
```
easyi numpy
```
This installs `numpy` (via `pip install`) then automatically updates the following files:
- `setup.cfg` (WARNING: this file must already exists):
```
[options]
install_requires =
numpy
```
- `requirements.txt` and `prod-requirements.txt`
```
easyi flake8 black -D
```
This installs `flake8` and `black` (via `pip install`) and then automatically updates the following files:
- `setup.cfg` (WARNING: this file must already exist):
```
[options.extras_require]
dev =
black
flake8
```
- `requirements.txt` only, as those dependencies are installed for development purposes only.
```
easyu flake8
```
This uninstalls `flake8` as well as all its dependencies. Those dependencies are uninstalled only if other project dependencies do not use them. The `setup.cfg` and `requirements.txt` are automatically updated.
Raw data
{
"_id": null,
"home_page": "https://github.com/nicolasdao/easypipinstall",
"name": "easypipinstall",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "pip,install,uninstall",
"author": "Nicolas Dao",
"author_email": "nicolas.dao@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/02/d4/67d704990ac3b857384f32ae1702097af0ab1c8fda7e51199d1ccf0a4011/easypipinstall-0.1.6.tar.gz",
"platform": null,
"description": "# EASY PIP INSTALL\n\n`easypipinstall` installs Python packages similarly to NPM in NodeJS. It automatically maintains the `requirements.txt`, `prod-requirements.txt` and `setup.cfg` files. It also easily uninstalls all the dependencies from those files. It uses an opinionated pattern where:\n- Only two types of dependencies exist: `prod` and `dev`.\n- All dependencies are listed under `requirements.txt`.\n- By default, dependencies are listed in both `requirements.txt` and `prod-requirements.txt`.\n- Dependencies are not listed under `prod-requirements.txt` when the `-D` option (development mode) is used. \n- The `setup.cfg` file is updated as follows:\n\t- By default, the dependency is listed without its version under the `install_requires` property of the `[options]` section.\n\t- When the `-D` option is used, the dependency is listed without its version under the `dev` property of the `[options.extras_require]` section.\n\nTo install:\n```\npip install easypipinstall\n```\n\nThis will add two new CLI utilities: `easyi` (install) and `easyu` (uninstall).\n\nExamples:\n```\neasyi numpy\n```\n\nThis installs `numpy` (via `pip install`) then automatically updates the following files:\n- `setup.cfg` (WARNING: this file must already exists):\n\t```\n\t[options]\n\tinstall_requires = \n\t\tnumpy\n\t```\n- `requirements.txt` and `prod-requirements.txt`\n\n```\neasyi flake8 black -D\n```\n\nThis installs `flake8` and `black` (via `pip install`) and then automatically updates the following files:\n- `setup.cfg` (WARNING: this file must already exist):\n\t```\n\t[options.extras_require]\n\tdev = \n\t\tblack\n\t\tflake8\n\t```\n- `requirements.txt` only, as those dependencies are installed for development purposes only.\n\n```\neasyu flake8\n```\n\nThis uninstalls `flake8` as well as all its dependencies. Those dependencies are uninstalled only if other project dependencies do not use them. The `setup.cfg` and `requirements.txt` are automatically updated.\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "easypipinstall installs Python packages similarly to NPM in NodeJS. It automatically maintains the `requirements.txt`, `prod-requirements.txt` and `setup.cfg` files. It also easily uninstalls all the dependencies from those files.",
"version": "0.1.6",
"split_keywords": [
"pip",
"install",
"uninstall"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "15cf83308801302b253e9710f3d5b3c830d37eb4634a3eaef0e4ed8860c6bda1",
"md5": "dd20dc7c5067c8f598ba019681125f18",
"sha256": "3f6c4afb47bff76cf8bf7a4cbd3f13213ac3ae464e0470cf12dda7521a86c64c"
},
"downloads": -1,
"filename": "easypipinstall-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dd20dc7c5067c8f598ba019681125f18",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 6536,
"upload_time": "2023-02-14T15:29:19",
"upload_time_iso_8601": "2023-02-14T15:29:19.884429Z",
"url": "https://files.pythonhosted.org/packages/15/cf/83308801302b253e9710f3d5b3c830d37eb4634a3eaef0e4ed8860c6bda1/easypipinstall-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "02d467d704990ac3b857384f32ae1702097af0ab1c8fda7e51199d1ccf0a4011",
"md5": "6ca8fb31bd20e0fa091a565275ef77e5",
"sha256": "e5daeb52ad03950fc351c84cba18d7731fb79ff2e2faadb00d1b40a4adb83d0c"
},
"downloads": -1,
"filename": "easypipinstall-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "6ca8fb31bd20e0fa091a565275ef77e5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 6149,
"upload_time": "2023-02-14T15:29:23",
"upload_time_iso_8601": "2023-02-14T15:29:23.267469Z",
"url": "https://files.pythonhosted.org/packages/02/d4/67d704990ac3b857384f32ae1702097af0ab1c8fda7e51199d1ccf0a4011/easypipinstall-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-14 15:29:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "nicolasdao",
"github_project": "easypipinstall",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "black",
"specs": [
[
"==",
"23.1.0"
]
]
},
{
"name": "bleach",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "build",
"specs": [
[
"==",
"0.10.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2022.12.7"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.0.1"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.3"
]
]
},
{
"name": "docutils",
"specs": [
[
"==",
"0.19"
]
]
},
{
"name": "flake8",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.4"
]
]
},
{
"name": "importlib-metadata",
"specs": [
[
"==",
"6.0.0"
]
]
},
{
"name": "jaraco.classes",
"specs": [
[
"==",
"3.2.3"
]
]
},
{
"name": "keyring",
"specs": [
[
"==",
"23.13.1"
]
]
},
{
"name": "markdown-it-py",
"specs": [
[
"==",
"2.1.0"
]
]
},
{
"name": "mccabe",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "mdurl",
"specs": [
[
"==",
"0.1.2"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"9.0.0"
]
]
},
{
"name": "mypy-extensions",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"23.0"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.11.0"
]
]
},
{
"name": "pkginfo",
"specs": [
[
"==",
"1.9.6"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"3.0.0"
]
]
},
{
"name": "pycodestyle",
"specs": [
[
"==",
"2.10.0"
]
]
},
{
"name": "pyflakes",
"specs": [
[
"==",
"3.0.1"
]
]
},
{
"name": "Pygments",
"specs": [
[
"==",
"2.14.0"
]
]
},
{
"name": "pyproject_hooks",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "readme-renderer",
"specs": [
[
"==",
"37.3"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.28.2"
]
]
},
{
"name": "requests-toolbelt",
"specs": [
[
"==",
"0.10.1"
]
]
},
{
"name": "rfc3986",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
"==",
"13.3.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "tomli",
"specs": [
[
"==",
"2.0.1"
]
]
},
{
"name": "twine",
"specs": [
[
"==",
"4.0.2"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.4.0"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"1.26.14"
]
]
},
{
"name": "webencodings",
"specs": [
[
"==",
"0.5.1"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.13.0"
]
]
}
],
"lcname": "easypipinstall"
}