Skip to main content

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)

Source distribution for snapshot-cli 1.0.0
File Size Uploaded
snapshot_cli-1.0.0.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snapshot-cli 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page