# Pip Freeze
Tool to produce better formatted pip freeze.
Instead of a flat list of requirements, this indents requirements which are dependencies and those that are primary installs. Dependencies shared by multiple packages are commented out.
This format can be re-read by the typical `pip install -r requirements.txt` and requires not adjustment to other code.
## Installation
`pip install pipfreeze`
## Basic Usage
`pipfreeze > requirements.txt`
## Motivation
Typical `pip freeze` flattens all requirements, regardless of the dependency structure.
``` bash
cycler==0.10.0
kiwisolver==1.3.1
matplotlib==3.3.4
numpy==1.20.1
pandas==1.2.2
Pillow==8.1.0
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2021.1
six==1.15.0
```
This `pipfreeze` command produces output that is valid requirements.txt but is nested
``` bash
matplotlib==3.3.4
cycler==0.10.0
six==1.15.0
kiwisolver==1.3.1
numpy==1.20.1
Pillow==8.1.0
pyparsing==2.4.7
python-dateutil==2.8.1
# six==1.15.0
pandas==1.2.2
# numpy==1.20.1
# python-dateutil==2.8.1
# six==1.15.0
pytz==2021.1
```
## Contributing
Local development is controlled through docker. `docker-compose.yml` contains
different python environment containers to test this code out in.
`make test` will run the docker tests.
Makefile contains commands for development.
Raw data
{
"_id": null,
"home_page": "https://github.com/earthastronaut/pipfreeze",
"name": "pipfreeze",
"maintainer": "",
"docs_url": null,
"requires_python": ">=2.7",
"maintainer_email": "",
"keywords": "",
"author": "Dylan Gregersen",
"author_email": "an.email0101@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/46/78/52486627790cf615e8247d6ff2c95b4c93d7333d277d389a06f67dea3979/pipfreeze-2.0.3.tar.gz",
"platform": "",
"description": "# Pip Freeze\n\nTool to produce better formatted pip freeze.\n\nInstead of a flat list of requirements, this indents requirements which are dependencies and those that are primary installs. Dependencies shared by multiple packages are commented out. \n\nThis format can be re-read by the typical `pip install -r requirements.txt` and requires not adjustment to other code. \n\n## Installation\n\n`pip install pipfreeze`\n\n## Basic Usage\n\n`pipfreeze > requirements.txt`\n\n## Motivation\n\nTypical `pip freeze` flattens all requirements, regardless of the dependency structure. \n\n``` bash\ncycler==0.10.0\nkiwisolver==1.3.1\nmatplotlib==3.3.4\nnumpy==1.20.1\npandas==1.2.2\nPillow==8.1.0\npyparsing==2.4.7\npython-dateutil==2.8.1\npytz==2021.1\nsix==1.15.0\n```\n\nThis `pipfreeze` command produces output that is valid requirements.txt but is nested\n\n``` bash\nmatplotlib==3.3.4\n cycler==0.10.0\n six==1.15.0\n kiwisolver==1.3.1\n numpy==1.20.1\n Pillow==8.1.0\n pyparsing==2.4.7\n python-dateutil==2.8.1\n # six==1.15.0\npandas==1.2.2\n # numpy==1.20.1\n # python-dateutil==2.8.1\n # six==1.15.0\n pytz==2021.1\n```\n\n## Contributing\n\nLocal development is controlled through docker. `docker-compose.yml` contains\ndifferent python environment containers to test this code out in.\n\n`make test` will run the docker tests.\n\nMakefile contains commands for development.\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Tool to produce better formatted pip freeze.",
"version": "2.0.3",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fb91a5b3052d169ac91dc76fa99633b84495b9ff3c5e9df1eab52febc75c6ea0",
"md5": "0bb5f3918345742b22dd63c7686c4cfc",
"sha256": "63c2587490f762fa12bc4e4734af3e384759468a5660a4a049843d7889d28366"
},
"downloads": -1,
"filename": "pipfreeze-2.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0bb5f3918345742b22dd63c7686c4cfc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=2.7",
"size": 6517,
"upload_time": "2021-03-02T10:07:19",
"upload_time_iso_8601": "2021-03-02T10:07:19.452038Z",
"url": "https://files.pythonhosted.org/packages/fb/91/a5b3052d169ac91dc76fa99633b84495b9ff3c5e9df1eab52febc75c6ea0/pipfreeze-2.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "467852486627790cf615e8247d6ff2c95b4c93d7333d277d389a06f67dea3979",
"md5": "13c63ea079eabcc1c02b8e3e974c201d",
"sha256": "5f9512751d6c1446faae165bef22c2d523736d8105ac2e7d81cf7bb61fcb4a76"
},
"downloads": -1,
"filename": "pipfreeze-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "13c63ea079eabcc1c02b8e3e974c201d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7",
"size": 6402,
"upload_time": "2021-03-02T10:07:20",
"upload_time_iso_8601": "2021-03-02T10:07:20.443397Z",
"url": "https://files.pythonhosted.org/packages/46/78/52486627790cf615e8247d6ff2c95b4c93d7333d277d389a06f67dea3979/pipfreeze-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-03-02 10:07:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "earthastronaut",
"github_project": "pipfreeze",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pipfreeze"
}