Python Requirements Snapshot Tool - Lock exact versions of main libraries
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
reqsnap-1.0.0.tar.gz
(14.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
reqsnap-1.0.0-py3-none-any.whl
(16.2 kB
view details)
File details
Details for the file reqsnap-1.0.0.tar.gz.
File metadata
- Download URL: reqsnap-1.0.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34c8d06f78aa27a073781af1129bdfbd01675ce6529a6af988ee94e03aee1553
|
|
| MD5 |
ebd50223f2a47d42a688d37a1cd2000b
|
|
| BLAKE2b-256 |
dba800fe4b8469dc9376fd08c89e5bf0f75585e98d75846c2044f7677a624a67
|
File details
Details for the file reqsnap-1.0.0-py3-none-any.whl.
File metadata
- Download URL: reqsnap-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
703832f8402cd2aaff9de84e68a747a858e731c7efa635f7c70307517a0165cf
|
|
| MD5 |
76e8ea0b89717670d6409b88c1365fdd
|
|
| BLAKE2b-256 |
3f6d361705359309a9989a722986680d586a9403b571178b1a28f7e8b03fedfd
|