reqtracker


Namereqtracker JSON
Version 1.0.3 PyPI version JSON
download
home_pageNone
SummaryIntelligent Python dependency tracking and requirements.txt generation
upload_time2025-07-28 21:52:51
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords dependencies requirements tracking automation development pip packaging dependency-management static-analysis ast
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # reqtracker

**Intelligent Python dependency tracking and requirements.txt generation**

[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](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[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](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"
}
        
Elapsed time: 0.96276s