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
Metadata
Release files for snapshot-cli 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| snapshot_cli-1.0.0.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| snapshot_cli-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.0 kB
Release files / snapshot_cli-1.0.0.tar.gz
| Download URL | snapshot_cli-1.0.0.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d24f4ecc83b1a9b6174a2e3e888d03b1b0389e59733b6407a6524c92afe84c7
|
|
BLAKE2b-256 checksum How to use checksums |
ce4f9a9e152865302b7072c24cc5857a16a89e38a665a0e2db24622778d016f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|
Release files / snapshot_cli-1.0.0-py3-none-any.whl
| Download URL | snapshot_cli-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba5d76bd1f7481e3eca98a0348b6275d23ed5979a637873906d5b1deaf1b1599
|
|
BLAKE2b-256 checksum How to use checksums |
5b573a7e7ae21c4402c966c3ee6068e1eea31e9b092ecd5c606bbf2e0718b81f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.13
|