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.3.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.3.0
File Size Uploaded
evserver-0.3.0.tar.gz 4.0 kB Details

Built distribution (wheel)

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

Total release size: 9.2 kB

Release files / evserver-0.3.0.tar.gz

Download URL evserver-0.3.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6f8f767f18e27fa3141db928f20b4ff7b4e1a11daece65d7800094d3b70da1aa
BLAKE2b-256 checksum
How to use checksums
de6821f64e6de9f417fb3182aee5cbbdfe29bb8babc095e3f9a6ab7b59ebc302
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.3.0-py3-none-any.whl

Download URL evserver-0.3.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c134cd1424ac4319aece452ab437a2fd631319cab576e7dbba5d1c87328eb6ee
BLAKE2b-256 checksum
How to use checksums
9eff305eafcfe62163e5d557e737161d389343ce37066b12f7c95930ec21e469
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

0.4.0

2 release files

0.3.1

2 release files

This release

0.3.0 This release

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