Skip to main content

Easysnapshot

Goals

  • Many Archives: Store in many archives at once.
  • Emergent Complexity: Small implementation surface with reasonable usage requirements.

Client

Clients gather and send information to archive endpoints.

Commands

  • All commands accept --help / -h.
  • All commands accept --verbose / -v.
  • ev archive register <archive:URL> [user:ID]: Claim a specific User ID on the given archive. User ID is random if omitted.
  • ev archive unregister <archive:URL> <user:ID>: Requests the archive to forget this User ID.
  • ev archive login <archive:URL> <user:ID> [workspace:PATH]: Sets this combination of Archive URL + User ID as active for this workspace.
  • ev archive logout <archive:URL> <user:ID> [workspace:PATH]: Sets this combination of Archive URL + User ID as unactive for this workspace.
  • ev save <--note <note:TEXT> | -n <note:TEXT> [workspace:PATH]: Save the workspace's current state as a new Snapshot, with the note when provided.
  • ev list [workspace:PATH]: List the Workspace's Snapshots. Also showing notes where set.
  • ev clone <source:PATH> <target:PATH> [--snapshot <snapshot:ID> | -s <snapshot:ID>]: Clone the source Workspace to the target path, which may not exist yet. Clone the current workspace state if omitted.
  • ev forget {--snapshot <snapshot:ID> | -v <snapshot:ID> | --all | -a} [workspace:PATH]: Forget the specified snapshot(s) for the given Workspace.

Archive

Clients recieve and save information from clients through their URL.

Types

Five distinct types, forming one chain from workspace to content:

Type Contents
user Metadata about the user account
workspace An array of snapshot hashes
snapshot A manifest hash and an optional note
manifest An array of reference hashes
reference A relative file path and a content hash
content Raw byte data

Endpoints

  • HEAD /type/<type:ID>: Check whether the Type ID already exists.
  • GET /type/<type:ID>: Returns an object with the Type's data.
  • PUT /type/<type:ID>: Sets the object with the Type's data.
  • DELETE /type/<type:ID>: Forget the given Type ID.

Invariants

  • All in workspace configuration, will be done under ./ev in the workspace root.
  • Archive URL + User ID login configurations are unique per workspace.

Release files for evserver 0.4.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 evserver 0.4.0
File Size Uploaded
evserver-0.4.0.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for evserver 0.4.0
File Interpreter ABI Platform
evserver-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / evserver-0.4.0.tar.gz

Download URL evserver-0.4.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
db90f7fa911d46507657061952dcfead8316f4fcf59f1db7c2b38f622a79a3c8
BLAKE2b-256 checksum
How to use checksums
e44c2722226a169e625dc813bb123ab13654751f2112500a291706aecd5893c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / evserver-0.4.0-py3-none-any.whl

Download URL evserver-0.4.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08448b40ea90355cf361e0bfac8f23c04cef667447ef28857c576d5a339897cd
BLAKE2b-256 checksum
How to use checksums
079f80bb9d66244ef90238837663f7f4a43745b84fef94226b506eaa9da19440
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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