Metadata-Version: 2.1
Name: reqsnap
Version: 1.0.0
Summary: Python Requirements Snapshot Tool - Lock exact versions of main libraries
Home-page: https://github.com/Ahmed2797/PyPI-Package---Requirements-snapshot-
Author: Ahmed2797
Author-email: Ahmed2797 <tanvirahmed754575@gmail.com>
License: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: importlib-metadata>=4.0.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: toml>=0.10.0
Requires-Dist: packaging>=21.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"

# PyPI-Package---Requirements-snapshot-

    conda create -n reqsnap python=3.8

    conda activate reqsnap

    conda deactivate

    deactivate  # Linux/Mac

    pip install -r requirements.txt 

## 🧠 High-Level Workflow

requirements.txt

↓
read only main libraries

↓
detect installed versions

↓
create requirements.lock

## reqsnap

reqsnap is a simple Python tool that locks exact installed versions of only the main libraries listed in `requirements.txt`.

## Why reqsnap?

- Avoid version mismatch errors
- No dependency noise
- Beginner friendly
- No pip freeze

## Installation

    pip install reqsnap

    # Basic lock generation
    reqsnap lock

    # Check without locking
    reqsnap check

    # Compare with previous lock
    reqsnap diff

    # Validate requirements file
    reqsnap validate

## Traditional lock format (default)

    reqsnap lock --format lock

    # JSON format
    reqsnap lock --format json

    # YAML format
    reqsnap lock --format yaml

    # TOML format
    reqsnap lock --format toml

## Use different requirements file

    reqsnap lock --file requirements-dev.txt

## Custom output file

    reqsnap lock --output locked-requirements.json

### This will generate

    requirements.lock

## Example

### $ reqsnap lock

    🔒 ReqSnap - Generating lock file
    📄 Source: requirements.txt
    📁 Format: lock
    ----------------------------------------
    🔍 Checking 4 packages...

    ✅ Lock file saved to: requirements.lock
    📊 Summary:
    📦 Total packages: 4
    ✓ Installed & locked: 4

    🎉 Done! Use 'reqsnap check' to verify installations.

### requirements.lock

    # Generated by ReqSnap
    # Date: 2025-12-31T14:59:08.870747
    # Python: 3.8.20
    # Source: requirements.txt

    importlib-metadata==8.5.0
    packaging==25.0
    pyyaml==6.0.3
    toml==0.10.2
