Requmancer
Requmancer is a powerful Python library and command-line tool that analyzes your Python project and generates a comprehensive requirements file. It automatically detects imported packages, determines their versions, and creates either a pip-compatible requirements.txt or a Poetry-style pyproject.toml section.
With Requmancer, managing your project's dependencies becomes a breeze, ensuring reproducibility and easier setup for other developers.
Features
- Automatically detects third-party imports in your Python project.
- Determines the installed versions of the imported packages.
- Generates a
requirements.txtfile for pip or apyproject.tomlsection for Poetry. - Handles both absolute and relative imports.
- Excludes standard library modules from the requirements file.
Installation
You can install Requmancer using pip:
pip install requmancer
Usage
Requmancer can be used both as a command-line tool and as a Python library.
Command-Line Usage
To generate a requirements.txt file for your project, navigate to the root directory of your project and run:
requmancer .
You can specify the output file name and format using the -o and -f options:
requmancer . -o requirements.txt -f pip
requmancer . -o pyproject.toml -f poetry
Python Library Usage
You can also use Requmancer as a Python library in your own scripts:
from requmancer.main import RequirementsGenerator
generator = RequirementsGenerator(directory='path/to/your/project', output_file='requirements.txt', format='pip')
generator.generate()
Example
Suppose you have a Python project with the following structure:
my_project/
├── main.py
├── module/
│ └── submodule.py
└── requirements.txt
And the main.py file contains:
import requests
import numpy as np
Running requmancer . in the my_project directory will generate a requirements.txt file with the following content:
requests==2.25.1
numpy==1.19.5
Development
To contribute to Requmancer, follow these steps:
- Clone the repository:
git clone https://github.com/ParisNeo/requmancer.git
cd requmancer
- Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install the development dependencies:
pip install -r requirements_dev.txt
- Run the tests:
pytest
License
Requmancer is licensed under the MIT License. See the LICENSE file for more information.
Author
Requmancer is developed and maintained by ParisNeo.
Acknowledgements
Special thanks to the open-source community for providing the tools and libraries that made this project possible.
Metadata
Release files for requmancer 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| requmancer-0.1.0.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| requmancer-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / requmancer-0.1.0.tar.gz
| Download URL | requmancer-0.1.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88fad994c340878d04f33c4aa35b8fea531a1c43f87294ed382f5571c8a5c74a
|
|
BLAKE2b-256 checksum How to use checksums |
6ac87499aca6ec0256d6cd06a30a42c66c2af0eff544953ba5ebf3db8ebc61d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|
Release files / requmancer-0.1.0-py3-none-any.whl
| Download URL | requmancer-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f5cc4fe8b364d12415f6b473322f6921dea50053c4928850654c6e3ff0cc2bb2
|
|
BLAKE2b-256 checksum How to use checksums |
5990fd4fc2d6f52fae892ac2b1d8498b66060537ae2c6a301295ee660da7d417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.8
|