# reqtracker
**Intelligent Python dependency tracking and requirements.txt generation**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
reqtracker automatically detects and manages Python dependencies in your projects using static analysis, dynamic tracking, or hybrid approaches. Unlike traditional tools like `pip freeze`, reqtracker focuses on generating accurate `requirements.txt` files based on *actual project usage*.
---
## โจ Features
- **๐ Smart Dependency Detection**: Analyzes your code to find actually used packages
- **โก Multiple Analysis Modes**: Static (AST), Dynamic (runtime), or Hybrid (both)
- **๐ฏ Accurate Package Mapping**: Maps imports like `cv2` to `opencv-python`
- **๐ฆ Flexible Output**: Multiple version strategies and output formats
- **๐ ๏ธ Zero Configuration**: Works out of the box with sensible defaults
- **โ๏ธ Highly Configurable**: Customize analysis via config files or API
- **๐ CLI & Library**: Use as command-line tool or Python library
- **๐งช Well-Tested**: 204 comprehensive tests with >95% coverage
---
## ๐ฆ Installation
Install reqtracker using pip:
```bash
pip install reqtracker
```
---
## ๐ Quick Start
### Command Line Usage
```bash
# Analyze current directory and generate requirements.txt
reqtracker analyze
# Track dependencies in specific paths
reqtracker track ./src ./app
# Generate with exact versions
reqtracker generate --version-strategy exact
# Use static analysis only
reqtracker analyze --mode static --output deps.txt
```
### Python Library Usage
```python
import reqtracker
# Simple usage - analyze current directory
packages = reqtracker.track()
print(packages) # {"requests", "numpy", "pandas"}
# Generate requirements.txt
reqtracker.generate()
# Complete workflow
reqtracker.analyze() # Track dependencies and generate requirements.txt
```
---
## ๐งช Testing
The project includes comprehensive testing with 204 tests:
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=src/reqtracker --cov-report=html
# Run integration tests only
pytest tests/integration -v
```
### Test Categories
- **Unit Tests**: Core functionality testing
- **Integration Tests**: Real project scenarios
- **Performance Tests**: Benchmarking different project sizes
- **Cross-Platform Tests**: Compatibility across operating systems
---
## ๐ Documentation
- [Getting Started](https://github.com/oleksii-shcherbak/reqtracker#getting-started) - Overview and quick start guide
- [API Documentation](https://github.com/oleksii-shcherbak/reqtracker/tree/main/docs/api) - Complete API reference for all modules
- [Configuration Guide](https://github.com/oleksii-shcherbak/reqtracker/blob/main/docs/guides/configuration.md) - All configuration options
- [Examples](https://github.com/oleksii-shcherbak/reqtracker/tree/main/examples) - Real-world usage examples and tutorials
---
## ๐ค Contributing
I welcome contributions! Please see [CONTRIBUTING.md](https://github.com/oleksii-shcherbak/reqtracker/blob/main/CONTRIBUTING.md) for guidelines.
---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/oleksii-shcherbak/reqtracker/blob/main/LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "reqtracker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "dependencies, requirements, tracking, automation, development, pip, packaging, dependency-management, static-analysis, ast",
"author": null,
"author_email": "Oleksii Shcherbak <oleksii_shcherbak@icloud.com>",
"download_url": "https://files.pythonhosted.org/packages/bb/a1/e2edb055531d5dc8fb57021da48282dd4997cb010fca3be3f7ef74456be0/reqtracker-1.0.3.tar.gz",
"platform": null,
"description": "# reqtracker\n\n**Intelligent Python dependency tracking and requirements.txt generation**\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/psf/black)\n\nreqtracker automatically detects and manages Python dependencies in your projects using static analysis, dynamic tracking, or hybrid approaches. Unlike traditional tools like `pip freeze`, reqtracker focuses on generating accurate `requirements.txt` files based on *actual project usage*.\n\n---\n\n## \u2728 Features\n\n- **\ud83d\udd0d Smart Dependency Detection**: Analyzes your code to find actually used packages\n- **\u26a1 Multiple Analysis Modes**: Static (AST), Dynamic (runtime), or Hybrid (both)\n- **\ud83c\udfaf Accurate Package Mapping**: Maps imports like `cv2` to `opencv-python`\n- **\ud83d\udce6 Flexible Output**: Multiple version strategies and output formats\n- **\ud83d\udee0\ufe0f Zero Configuration**: Works out of the box with sensible defaults\n- **\u2699\ufe0f Highly Configurable**: Customize analysis via config files or API\n- **\ud83d\ude80 CLI & Library**: Use as command-line tool or Python library\n- **\ud83e\uddea Well-Tested**: 204 comprehensive tests with >95% coverage\n\n---\n\n## \ud83d\udce6 Installation\n\nInstall reqtracker using pip:\n\n```bash\npip install reqtracker\n```\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### Command Line Usage\n\n```bash\n# Analyze current directory and generate requirements.txt\nreqtracker analyze\n\n# Track dependencies in specific paths\nreqtracker track ./src ./app\n\n# Generate with exact versions\nreqtracker generate --version-strategy exact\n\n# Use static analysis only\nreqtracker analyze --mode static --output deps.txt\n```\n\n### Python Library Usage\n\n```python\nimport reqtracker\n\n# Simple usage - analyze current directory\npackages = reqtracker.track()\nprint(packages) # {\"requests\", \"numpy\", \"pandas\"}\n\n# Generate requirements.txt\nreqtracker.generate()\n\n# Complete workflow\nreqtracker.analyze() # Track dependencies and generate requirements.txt\n```\n\n---\n\n## \ud83e\uddea Testing\n\nThe project includes comprehensive testing with 204 tests:\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov=src/reqtracker --cov-report=html\n\n# Run integration tests only\npytest tests/integration -v\n```\n\n### Test Categories\n- **Unit Tests**: Core functionality testing\n- **Integration Tests**: Real project scenarios\n- **Performance Tests**: Benchmarking different project sizes\n- **Cross-Platform Tests**: Compatibility across operating systems\n\n---\n\n## \ud83d\udcda Documentation\n\n- [Getting Started](https://github.com/oleksii-shcherbak/reqtracker#getting-started) - Overview and quick start guide\n- [API Documentation](https://github.com/oleksii-shcherbak/reqtracker/tree/main/docs/api) - Complete API reference for all modules\n- [Configuration Guide](https://github.com/oleksii-shcherbak/reqtracker/blob/main/docs/guides/configuration.md) - All configuration options\n- [Examples](https://github.com/oleksii-shcherbak/reqtracker/tree/main/examples) - Real-world usage examples and tutorials\n\n\n---\n\n## \ud83e\udd1d Contributing\n\nI welcome contributions! Please see [CONTRIBUTING.md](https://github.com/oleksii-shcherbak/reqtracker/blob/main/CONTRIBUTING.md) for guidelines.\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/oleksii-shcherbak/reqtracker/blob/main/LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Intelligent Python dependency tracking and requirements.txt generation",
"version": "1.0.3",
"project_urls": {
"Changelog": "https://github.com/oleksii-shcherbak/reqtracker/releases",
"Documentation": "https://github.com/oleksii-shcherbak/reqtracker#readme",
"Homepage": "https://github.com/oleksii-shcherbak/reqtracker",
"Issues": "https://github.com/oleksii-shcherbak/reqtracker/issues",
"Repository": "https://github.com/oleksii-shcherbak/reqtracker"
},
"split_keywords": [
"dependencies",
" requirements",
" tracking",
" automation",
" development",
" pip",
" packaging",
" dependency-management",
" static-analysis",
" ast"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6bd2d6be5e23fc61c398a7d72f9987e98cb4777bf00de79c48bfe5caff56aaca",
"md5": "17f98b84ab446093cc4c7c8c9baee258",
"sha256": "ef512896cf9d909c30b4cb71711cfe0317a544257d7406b7f8eb3b5182d0c8fb"
},
"downloads": -1,
"filename": "reqtracker-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "17f98b84ab446093cc4c7c8c9baee258",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 22220,
"upload_time": "2025-07-28T21:52:50",
"upload_time_iso_8601": "2025-07-28T21:52:50.132042Z",
"url": "https://files.pythonhosted.org/packages/6b/d2/d6be5e23fc61c398a7d72f9987e98cb4777bf00de79c48bfe5caff56aaca/reqtracker-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bba1e2edb055531d5dc8fb57021da48282dd4997cb010fca3be3f7ef74456be0",
"md5": "2ed27e63fa3eb7f2a530b4c399f8a3c3",
"sha256": "50abed2aab5100568498a73fea7f8a3ee5ea8f877d1a83f4ee043a15899237bb"
},
"downloads": -1,
"filename": "reqtracker-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "2ed27e63fa3eb7f2a530b4c399f8a3c3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 34451,
"upload_time": "2025-07-28T21:52:51",
"upload_time_iso_8601": "2025-07-28T21:52:51.561556Z",
"url": "https://files.pythonhosted.org/packages/bb/a1/e2edb055531d5dc8fb57021da48282dd4997cb010fca3be3f7ef74456be0/reqtracker-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-28 21:52:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "oleksii-shcherbak",
"github_project": "reqtracker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "reqtracker"
}