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.2.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.2.0
File Size Uploaded
evserver-0.2.0.tar.gz 4.0 kB Details

Built distribution (wheel)

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

Total release size: 9.1 kB

Release files / evserver-0.2.0.tar.gz

Download URL evserver-0.2.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
51b36cc9e90cbd536792fa2ba139f468d6258d0136c54eadcd6e0443c3103c11
BLAKE2b-256 checksum
How to use checksums
b14a861d6cac2b51a0ac3b36dbfac290a9d5b73deacab023c301a8bca0ca50d5
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.2.0-py3-none-any.whl

Download URL evserver-0.2.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
361968f87b0178419f2cec9c375f254a1cf06fdac618ec7d86f935beea969a21
BLAKE2b-256 checksum
How to use checksums
b91e021d99ca17d77c7cf5d577350bb450612e68c6901f8c3f7309e751e7af8d
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

0.3.0

2 release files

This release

0.2.0 This release

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