Skip to main content

Intelligent Python dependency tracking and requirements.txt generation

Project description

reqtracker

Intelligent Python dependency tracking and requirements.txt generation

Python 3.8+ License: MIT Code style: 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:

pip install reqtracker

🚀 Quick Start

Command Line Usage

# 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

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:

# 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


🤝 Contributing

I welcome contributions! Please see CONTRIBUTING.md for guidelines.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reqtracker-1.0.4.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reqtracker-1.0.4-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file reqtracker-1.0.4.tar.gz.

File metadata

  • Download URL: reqtracker-1.0.4.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for reqtracker-1.0.4.tar.gz
Algorithm Hash digest
SHA256 7f80c6fea93600b0c9df8473d86ecb5625e6aa75b742dfc7ee99ad4d2686d4bc
MD5 ae2c8d076eba3d4740d81b20219fed39
BLAKE2b-256 bd8ecc76408b27a07d9b43961a69de1c23a9ac7cdb4616a3350401a5bfd4d7d5

See more details on using hashes here.

File details

Details for the file reqtracker-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: reqtracker-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for reqtracker-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ea6fa3d142f10d12d201eff14f6c3dbfc876a065cc7c0c15109ffba37c6d3b1b
MD5 cb7f90a35dca56b70829a7f17744a2bf
BLAKE2b-256 e9c16834c6e12003c41448ccebd5b4c9264ec5101665134fb3e56a4881c334bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page