Metadata-Version: 2.1
Name: summarize-requirements
Version: 0.0.1
Summary: Annotate your requirements.txt file with a short summary of each package.
Home-page: https://github.com/zeke/summarize-python-requirements
Author: Zeke Sikelianos
Author-email: zeke@sikelianos.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/markdown
Requires-Dist: requests (==2.26.0)
Requires-Dist: requirements-parser (==0.2.0)
Provides-Extra: dev
Requires-Dist: check-manifest (>=0.47) ; extra == 'dev'
Requires-Dist: pytest (>=3.7) ; extra == 'dev'

# Summarize Requirements 🐍 📜

Annotate your Python `requirements.txt` file with a short summary of each package.

This tool:

- takes a Python `requirements.txt` file as input
- fetches the summary of each package from the PyPi registry
- outputs an equivalent requirements list with added comments summarizing each package

It can be used as a Python module or a command line script.

## Example

Before:

```
black==21.9b0
gunicorn==20.1.0
pytz==2021.3
requests==2.26.0
rope==0.20.1
whitenoise==5.3.0
```

After:

```
black==21.9b0                            # The uncompromising code formatter.
gunicorn==20.1.0                         # WSGI HTTP Server for UNIX
pytz==2021.3                             # World timezone definitions, modern and historical
requests==2.26.0                         # Python HTTP for Humans.
rope==0.20.1                             # a python refactoring library...
whitenoise==5.3.0                        # Radically simplified static file serving for WSGI applications
```

## Installation

Note: This is not a published package yet. For now:

```sh
git clone https://github.com/zeke/summarize-requirements
cd summarize-requirements
```

## Command Line Usage

The CLI reads a requirements file as input and prints summarized results as output. It does not overwrite the existing file.

If you run the command with no arguments, it'll look for `requirements.txt` in the current directory:

```sh
python index.py
```

Or you can specify a different file:

```sh
python index.py ~/path/to/your/requirements.txt > new-requirements.txt
```

## Programmatic Usage

```py
from summarize import summarize

for line in summarize('requirements.txt'):
    print(line)
```


