doeff-vm
The Rust virtual machine that runs doeff programs.
This README is for Python developers who use doeff and want to know what doeff-vm does. After reading it you can tell whether you need to import it directly, install it, and use its low-level program nodes.
What it does
doeff-vm is a Python extension module written in Rust (PyO3). It executes doeff programs:
- it keeps the stack of installed handlers,
- it sends each performed effect to the innermost handler that accepts it,
- it resumes the program through one-shot continuations (a continuation
kcan be resumed at most once).
The scheduler behind doeff's concurrency effects (Spawn, Gather, …) also runs on
it.
Most users never import doeff_vm directly. doeff.run(...) drives this VM, and
pip install doeff installs it for you.
How one effect is handled:
run(program)
│
▼
doeff-vm steps through the program
│ the program performs an effect
▼
innermost handler in scope ──Resume(k, value)──► the program continues with `value`
│ Pass(effect, k)
▼
next handler outward … ──(no handler left)──► UnhandledEffect is raised
Installation
pip install doeff # recommended: installs doeff-vm together with the Python API
pip install doeff-vm # the VM alone
Requires Python 3.11 or newer. If pip finds no prebuilt wheel for your platform, it
builds from the source distribution, which needs a Rust toolchain (cargo).
Minimal example
@do functions and handler installers build a tree of program nodes, and the VM
evaluates that tree. You can also build the tree by hand with the node classes that
doeff_vm exports:
from dataclasses import dataclass
import doeff_vm
from doeff import do, run
@dataclass(frozen=True)
class Double(doeff_vm.EffectBase):
n: int
@do
def double_handler(effect, k):
if isinstance(effect, Double):
return (yield doeff_vm.Resume(k, effect.n * 2))
yield doeff_vm.Pass(effect, k) # not ours: hand it to the next handler outward
# The tree that `@do` code and handler installers normally build for you.
program = doeff_vm.WithHandler(double_handler, doeff_vm.Perform(Double(21)))
print(run(program)) # 42
What it exports
| Name | What it is |
|---|---|
EffectBase |
Base class of every effect |
Pure, Perform, WithHandler, Apply, Expand, Call |
Program nodes: a value, performing an effect, installing a handler, calls |
Resume, Transfer, ResumeThrow, TransferThrow, Pass |
What a handler does with a continuation k: resume it, throw an exception into it, or pass the effect outward |
K |
A one-shot continuation |
Ok, Err |
Result values (for example the answer of Try) |
UnhandledEffect |
Raised when no handler in scope accepts an effect |
PyVM |
The VM object itself (PyVM().run(program)); doeff.run is the supported entry point |
Type stubs ship with the package (py.typed).
How it fits with the other doeff packages
doeff is published as five core packages. pip install doeff installs all of them.
| Package | Role |
|---|---|
| doeff | The Python API: @do, handler installers, run, the doeff CLI |
| doeff-vm | This package: the Rust VM that executes programs |
| doeff-core-effects | The standard effects and their handlers (state, reader, writer, concurrency, HTTP, SQL, files, processes, …) |
| doeff-hy | Macros for writing doeff code in Hy, a Lisp that compiles to Python |
| doeff-hy-pytest | pytest plugin for tests written with doeff-hy |
Arrows point from a package to a package it depends on:
doeff ──► doeff-vm
│
└─────► doeff-core-effects ──► doeff-hy ──► doeff-hy-pytest
doeff-hy also depends on doeff and doeff-core-effects, so the five packages are released together with matching versions.
The VM core is the Rust crate
doeff-vm-core.
It is compiled into this extension and is not published separately.
Developing
Build and test from a clone of the repository:
git clone https://github.com/proboscis/doeff
cd doeff
make sync # builds the extension into the uv environment
uv run pytest packages/doeff-vm/tests
make sync rebuilds the extension whenever the Rust sources change. Do not run
maturin develop directly; the build goes through tools/doeff_cargo_backend.py.
Dispatch micro-benchmarks live in packages/doeff-vm-core/benches/ (see the
root README).
License
MIT. See LICENSE.
Metadata
Release files for doeff-vm 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| doeff_vm-0.5.0.tar.gz | 186.6 kB | Details |
Built distributions (wheels)
Total release size: 16.8 MB
Release files / doeff_vm-0.5.0.tar.gz
| Download URL | doeff_vm-0.5.0.tar.gz |
|---|---|
| Size | 186.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c038c03750dfdaf4d7a46d148803b8de981606e12f2232e9d34e350111f62e0
|
|
BLAKE2b-256 checksum How to use checksums |
19091a49677b811d620d43d178239da690459b5af50182e87291eacc0ae87e1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314t-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 571.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ed5bed060150941c9eed9dd482313d1f68eecfde60fdd5b379667931fe353ea9
|
|
BLAKE2b-256 checksum How to use checksums |
b16933a685510de88b0589818ea1d8203b5eac55ac8961e35d93d7f4366fbfd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 623.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
cd6397bef7730a84089679ad9e8b6e16f0e310ff503d4a5909e84db64cea3791
|
|
BLAKE2b-256 checksum How to use checksums |
0423776426bdd01c0028a17ce91175668787db4ada6583f43ab5d980176ee68f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 592.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
6e0e53cf1e6162d1e777b9f6de6d1ab17373fb86fef68bc3df2cec4e26703d3e
|
|
BLAKE2b-256 checksum How to use checksums |
c0018f5427892f9d28b315832bf8ab8d647cdc4fa628da5babcad90aa4df5811
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 563.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4b0b507c5d9769f09ba866d426d9a58f937e59e3c086e9e6bbaa6a723084d9d3
|
|
BLAKE2b-256 checksum How to use checksums |
765e08df41fa0ef24edc493b1721f2dcb13ac1a6374153b03aca82b07c946333
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314t-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 605.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
b82b380078d8a4b3febb1820609b8325896b184c2c6b626dced14317b29cb871
|
|
BLAKE2b-256 checksum How to use checksums |
c20c92d93569f49811ee5058f86980974729c29d1995d73b271ff624ffc648f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 573.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b478d041e0a82b14d6c103813547153da3ae3d3855bd3dfe8f04796cacef4614
|
|
BLAKE2b-256 checksum How to use checksums |
243ffae13e48c63de3de69919c235cfa09dcd39cef03f31528020b6808aeccc7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 629.9 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
746375f3c0873d01a959abd063a6b41c9f8f7eed5352039220e01d9e85108753
|
|
BLAKE2b-256 checksum How to use checksums |
0b5e8ab01f01c9c5cc8a5975584abe374ed022ba560ab6ca4a67ecd6ca1f7e26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 601.1 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
697b1f62c234d1fb04d2e40eb284254c8dea77d44d953ffa54247df331d0a266
|
|
BLAKE2b-256 checksum How to use checksums |
4fc067eb2d75a3b9a40dca50858595d584afcb266a47cf0123cc48046a346ef5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 569.5 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2e07dfd55239377372cdd2a02d30ad8d1410f3a4775c86ef7fd3cfa075571039
|
|
BLAKE2b-256 checksum How to use checksums |
dff3e26a04ecc953eea3b7ab5ce4b205e0f334114eaa893e155907374f1d935c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 609.4 kB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
b7480f46fa4cff07654d54d0918902acbcc72fa3c30357c0a54e6c0d87f6136e
|
|
BLAKE2b-256 checksum How to use checksums |
b94f5f5a80f262ea01d5872416772669a9f1536bbb3828fb8461edf9e151db9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313t-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313t-win_amd64.whl |
|---|---|
| Size | 571.3 kB |
| Tags | CPython 3.13 CPython 3.13 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a43382c0e1fe1fef704e3254b616f428518feb0267617f2d4ba849f04daace56
|
|
BLAKE2b-256 checksum How to use checksums |
3ff28b9f4f675996b401b3f564f1b804aa37f2f5fa17d689499c53e25930bcd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313t-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313t-macosx_11_0_arm64.whl |
|---|---|
| Size | 562.8 kB |
| Tags | CPython 3.13 CPython 3.13 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7e60332fb8f13a90d4b05d760dd5441db2d45c578f28d0d6029c25d6c14d1c99
|
|
BLAKE2b-256 checksum How to use checksums |
122e32ad4628c2338d09f8ee09c8b70c88b87296172acc444367b3cfdc31baf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313t-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 604.2 kB |
| Tags | CPython 3.13 CPython 3.13 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
fc4cfc5a2173aba20c7655e2004e6667750c3e069c86a7892d32a08e3d07469a
|
|
BLAKE2b-256 checksum How to use checksums |
bcd39fde920abdc4e30391c822d723efa0a6c6c5d252e375ba3c2f29adc686aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 572.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
dfa2cc76b5130eab5300aa56bcdeedb6b96800d45867003f7bd975885dc367b6
|
|
BLAKE2b-256 checksum How to use checksums |
a884c42b567b2fba99446c9657409a5dd49447367f1be6c791a2e196f5784f16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 629.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8400f709f7dde54ce5190aa8e1bede3a0c97024f6db037756e5330668ae9f191
|
|
BLAKE2b-256 checksum How to use checksums |
771f72041682989964c4d7acb163fd44d79ea1ff721243d2e14b76a5017a440e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 600.3 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
659eb5a4973eed8e4a5294990c9f1eba17c174d0d1038e203a3402fe8bae1476
|
|
BLAKE2b-256 checksum How to use checksums |
e9081061c21673003c6315f9b55bf430129f8af9b5a5e661caeda872456e9d0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 568.9 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
31459299fd2cf2ed41ae340c794eef7ab8c6e10c404f7b9212832018445bf3af
|
|
BLAKE2b-256 checksum How to use checksums |
a4d64c745e302f8163cc1d0a1719bc3db7fb8425f155d370bba82efb9e70994f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 609.4 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a3ee15e282e031fad1cd9bafe262e33def1b59d7fd58ec4a9960412ff74656c6
|
|
BLAKE2b-256 checksum How to use checksums |
5014c296cb0dd4f30cb9ef16f450e2a1984890ae9bc66d3d491ac98f4c07f487
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp312-cp312-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 573.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2a34678a3995bd2e2914ae947abd92884b8cd3e43166c38b64ed6cb1aaaf0a1a
|
|
BLAKE2b-256 checksum How to use checksums |
6a07a56a953bbabae03848bce2777116e35dc402e21b09ff14888d77140898b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 630.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b68d77f4acd913a2f764cf69aad5c373544f6f20b66aac927a3babfb2806628b
|
|
BLAKE2b-256 checksum How to use checksums |
ad06c35899f5fb59f22b6f18806e8b723a87cf3caf29004a9d717554962e8609
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | doeff_vm-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 601.6 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
ee36cdcb7ab5901741c3c2100f612d61cdbc1834391935d8e473561e85e6580a
|
|
BLAKE2b-256 checksum How to use checksums |
8183d33a5e95dc44699d4c88c169ec4da8336c2c77f42144f179042662233332
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 569.8 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a909fe055946ac42ef42f606e336441a9a1595622dc1c7080186f6c16242099e
|
|
BLAKE2b-256 checksum How to use checksums |
992631546aec8eef242add96baad294dfb962f1cc7fda59bf2a16d06f1dfca90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 610.1 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c1c26ec6fe8c5907f637b68edf04495b37097858bce05796f47a5809ee1616b
|
|
BLAKE2b-256 checksum How to use checksums |
8acaf25935333125b8a471f901be77e2f94d8d338249d12912c9a699390072a5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp311-cp311-win_amd64.whl
| Download URL | doeff_vm-0.5.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 564.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
28ecf4655bb52fa16e4aa251c7eae7fab2ea721978ad78aecbb61bfcd3c3ab9e
|
|
BLAKE2b-256 checksum How to use checksums |
742ce91e1992f6b6d05b0392e1699c2282d980badd73b435d8bff52ac8e254e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 618.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5cee1d4c9257784c8b3ce3513b027f7550226890fe5fc03ef2627acc6dc5368f
|
|
BLAKE2b-256 checksum How to use checksums |
ad3d5bdb469ca1a841d103ea7573692cb6816b226744abe3540fb07faabfd7ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | doeff_vm-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 591.3 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
ba11073a0cd715b3d7df6533b67758b44b8f7d4dfbf8951e9ea909a9087c046b
|
|
BLAKE2b-256 checksum How to use checksums |
550ded4c876086890160b3c8c32e4e8fb885de5d14bff9a2a36a1bace2e9b700
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | doeff_vm-0.5.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 565.9 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b05201cf5321fe1f846fdda3628fde62976b03561c7f345308466823d4542dbe
|
|
BLAKE2b-256 checksum How to use checksums |
d595b61ad9ce619b0f24d184b1113b2c22d98eb59514b62dbead2ee2f16a55f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / doeff_vm-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | doeff_vm-0.5.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 607.2 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7185580330a577c1bb295211e7d2972b402241292906e0a973066d7f49ef1a09
|
|
BLAKE2b-256 checksum How to use checksums |
52148d80c323bf7654c11260dbafb900a505640b8b264a68eb2616b5417da975
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|