Skip to main content

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.txt file for pip or a pyproject.toml section 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:

  1. Clone the repository:
git clone https://github.com/ParisNeo/requmancer.git
cd requmancer
  1. Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  1. Install the development dependencies:
pip install -r requirements_dev.txt
  1. 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)

Source distribution for requmancer 0.1.0
File Size Uploaded
requmancer-0.1.0.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for requmancer 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page