A lightweight project snapshot & versioning tool for developers.
Project description
Snapshot
Snapshot is a lightweight code snapshotting tool that allows you to save and restore your entire project at any point in time.
Think of it as a simpler alternative to Git when you just want quick save points without branches, commits, remotes, or repositories.
Features
- Save snapshots of your entire project
- Restore previous snapshots at any time
- Ignore files and directories using
.snapignore - View snapshot history
- View detailed snapshot information
- Clean restore mode for exact project restoration
- Rich terminal interface
Installation
From PyPI
pip install snapshot-cli
From source (development)
git clone https://github.com/Sparkleeop/snapshot.git
cd snapshot
pip install -e .
This installs the snap command globally in your environment.
Usage
Initialize Snapshot in your project root:
snap init
Create a snapshot:
snap save "before authentication rewrite"
List all snapshots, you can also find here:
snap list
View information about a snapshot:
snap info <snap id>
Restore a snapshot:
snap restore <snap id>
Perform a clean restore (removes existing project files before restoring):
snap restore <snap id> --clean
Perform a restore to the latest snap:
snap restorelatest <--clean>
Delete a snapshot:
snap del <snap id>
Get the overall project statistics:
snap stats
.snapignore
Use a .snapignore file in your project root to exclude files and directories from snapshots.
Example:
.env
venv
__pycache__
node_modules
Publishing to PyPI
Build and publish:
pip install build twine
python -m build
twine upload dist/*
Roadmap
- Compare snapshots (
snap diff <id1> <id2>) - Snapshot export/import
- Automatic snapshots
- Head snapshot
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
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
File details
Details for the file snapshot_cli-1.0.0.tar.gz.
File metadata
- Download URL: snapshot_cli-1.0.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d24f4ecc83b1a9b6174a2e3e888d03b1b0389e59733b6407a6524c92afe84c7
|
|
| MD5 |
be5ad538f3011330fb7c5c3749bc4b6d
|
|
| BLAKE2b-256 |
ce4f9a9e152865302b7072c24cc5857a16a89e38a665a0e2db24622778d016f3
|
File details
Details for the file snapshot_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: snapshot_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba5d76bd1f7481e3eca98a0348b6275d23ed5979a637873906d5b1deaf1b1599
|
|
| MD5 |
09d7a40e15e40a60344102348b945307
|
|
| BLAKE2b-256 |
5b573a7e7ae21c4402c966c3ee6068e1eea31e9b092ecd5c606bbf2e0718b81f
|