Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snapshot_cli-1.0.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snapshot_cli-1.0.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

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

Hashes for snapshot_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3d24f4ecc83b1a9b6174a2e3e888d03b1b0389e59733b6407a6524c92afe84c7
MD5 be5ad538f3011330fb7c5c3749bc4b6d
BLAKE2b-256 ce4f9a9e152865302b7072c24cc5857a16a89e38a665a0e2db24622778d016f3

See more details on using hashes here.

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

Hashes for snapshot_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba5d76bd1f7481e3eca98a0348b6275d23ed5979a637873906d5b1deaf1b1599
MD5 09d7a40e15e40a60344102348b945307
BLAKE2b-256 5b573a7e7ae21c4402c966c3ee6068e1eea31e9b092ecd5c606bbf2e0718b81f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page