Skip to main content

EasyVersion

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.1

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.1
File Size Uploaded
evserver-0.3.1.tar.gz 4.1 kB Details

Built distribution (wheel)

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

Total release size: 9.2 kB

Release files / evserver-0.3.1.tar.gz

Download URL evserver-0.3.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
940f99aa92615088204229b10f1b07d19a0b905b6ea8987d114d49555c5577a5
BLAKE2b-256 checksum
How to use checksums
b03ac348f1c877bc3e3274604c2fe75866a4d7418bc785c54ee8d77f382d953b
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.1-py3-none-any.whl

Download URL evserver-0.3.1-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3746cd8af1b2fd6fbb9d94fb4597f0bf91e1da6bb9c76210cc5992a187fb6c4
BLAKE2b-256 checksum
How to use checksums
d7a0aa5eee39d850fe9013976578d4588cc586f52a74705f1add2f6d39abf7f5
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

This release

0.3.1 This release

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