Skip to main content

pydeno

A JS sandbox for AI agents

pydeno = python + deno: a Python-embeddable JavaScript sandbox built on deno_core and V8.

Run untrusted, LLM-generated JavaScript safely in Python — real V8, real isolation, real tool-calling.


Publish PyPI License Docs

Documentation · Examples · Issues

Retain one Runtime per session. A warm Runtime does a complete host tool call — JS calls a bound Python function, the op crosses the boundary, a value comes back — in ~13.4 µs, and ~3.8 µs for a bare eval. That is the fast path, and it is the one that supports tool calling. Measured with Criterion and pytest-benchmark — proven, not claimed: see BENCHMARKS.md.

What this is

Agent frameworks and tool-execution runtimes increasingly need to run JavaScript the model itself wrote — a code-generation step, a small data transform, a "call this JS snippet to compute the answer" tool. That code is untrusted by construction. pydeno embeds a real V8 isolate per runtime (via Rust/PyO3) so that code runs with no filesystem, no network, and no ambient Node.js APIs by default, with heap and wall-clock limits you set, and a real way to kill it if it doesn't stop on its own.

It is not a general "embed any JS anywhere" library and not a JS interpreter reimplemented in Python — it's V8, the same engine behind Chrome and Node.js, so the JS your model writes actually behaves like JS.

import pydeno

pydeno.bind_function("add", lambda a, b: a + b)
print(pydeno.eval("add(2, 3)"))  # 5

Why it's different

  • Real V8, not a toy interpreter. Every language quirk, every standard library method, every performance characteristic your model expects from "JavaScript" is the real thing.

  • Cross-thread termination that actually works. A watchdog thread calling .terminate() on a runaway while(true){} used to panic instead of stopping the code (pyo3_runtime.PanicException: Runtime is unsendable, but sent to another thread) — a real bug in the upstream design that meant a stuck agent tool call couldn't be killed from outside. TerminationHandle fixes this: it exposes only the Send + Sync part of V8's isolate handle, so a watchdog on a separate thread can interrupt execution safely. See upstream-divergence.md for the full root cause and proof; tests/test_termination_handle.py is the regression test.

    As of 0.2.0 this works on every shape of stuck script, not just runaway loops. terminate() used to be a no-op against a runtime parked on a pending promise — V8 only acts on a termination when it next enters JavaScript, and new Promise(() => {}) never does, so it was unkillable. The dispatcher now reads the termination flag between polls, killing all such shapes in ~1.7 ms, while while(true){} still dies the cheap way at ~0.12 ms and a killed runtime keeps its bound functions. See BENCHMARKS.md and tests/test_parked_termination.py.

  • A host-callback bridge for tool-calling from JS. bind_function/ bind_object let the sandboxed JS call back into Python — the primitive an agent needs when the model's JS wants to invoke a real tool, not just compute a value. ToolBridge builds the product shape on top: hand it a dict of callables and get a call budget, fail-closed name checking, and JS-catchable typed errors, instead of hand-rolling all three.

  • Tool errors JS can branch on. A Python exception raised inside a bound tool reaches JavaScript as a real Error whose name is the exception's class name, so the model's JS can tell "bad arguments" from "rate limited" from "tool not found" with a plain catch (e) { if (e.name === ...) } — rather than string-matching one flattened TypeError. The same name/message shape a JS exception already carries into Python, so the two directions are symmetric.

  • console.log you can actually read. Sandboxed console.* output can be routed back to a Python callback with RuntimeConfig(on_console=...), receiving structured (level, args) — the single most common thing you want when showing a model what its own script printed. Composes with enable_console rather than replacing it.

Get Started

pip install pydeno  # or uv pip install pydeno

Requires Python 3.10+ on macOS or Linux. pydeno is experimental — expect breaking changes between versions.

Quickstart: sandboxed eval, tool-calling, and a timeout

import asyncio

from pydeno import Runtime, RuntimeConfig

# Cap memory; the runtime terminates itself if JS tries to exceed it.
config = RuntimeConfig(max_heap_size=10 * 1024 * 1024)  # 10 MB


async def main():
    with Runtime(config) as runtime:
        # The tool-calling primitive: expose a Python function to the sandboxed JS.
        def get_weather(city: str) -> str:
            return f"72F and sunny in {city}"

        runtime.bind_function("getWeather", get_weather)

        # Model-generated JS calling back into your tool.
        result = runtime.eval("getWeather('Zurich')")
        print(result)  # "72F and sunny in Zurich"

        # Enforce a wall-clock timeout on code that might not terminate.
        try:
            await runtime.eval_async("while (true) {}", timeout=2.0)
        except Exception as exc:
            print(f"killed a runaway eval after 2s: {exc}")


asyncio.run(main())

Running an untrusted sync eval() you can't await? Grab a TerminationHandle before the call and .terminate() it from a watchdog thread — see tests/test_termination_handle.py for the exact pattern (and the bug it fixed, in docs/contributing/upstream-divergence.md).

Many tools, one budget

When the model gets more than one tool, ToolBridge gives you the whole surface — budget, name checking, typed errors — in one object:

from pydeno import Runtime, ToolBridge

bridge = ToolBridge(
    {"get_weather": get_weather, "send_email": send_email},
    max_calls=50,  # total tool calls this agent turn may make
)

with Runtime() as runtime:
    bridge.attach(runtime)
    runtime.eval("tools.get_weather('Zurich')")

The call that exceeds max_calls never reaches your Python function — JS gets a catchable ToolBudgetError.

Integrations

  • FastMCP tool bridge - expose FastMCP tools to sandboxed JS via bind_function and an in-process fastmcp.Client
  • pydantic-ai "code mode" agent - an agent tool where the model submits one JS batch script instead of many separate tool calls, run safely with a timeout
  • ToolBridge - hand a sandbox several Python tools with a total call budget, typed errors the model's JS can branch on, and console.log routed back to Python
  • Vendored npm libraries - run real npm document-generation libraries (pptxgenjs, pdf-lib) from their browser bundles inside the sandbox; see the guide for what makes a library a good candidate
  • Arrow IPC dataframes - move 100k+ row tables into the sandbox as Arrow IPC bytes instead of JSON objects (5 ms vs 253 ms, and it works at the default 10 MB serialization limit that rejects the JSON payload); see the guide

Documentation

  • Quick Start
  • Concepts: runtimes, type conversion, resource controls
  • Guides: binding functions, module loading, snapshots
  • Use cases: AI agent sandboxes, workflow runners, plugin systems
  • API reference
  • Agent skill: an Agent Skills SKILL.md that teaches coding agents (Claude Code and others) to use pydeno correctly. Copy skills/pydeno/ into your agent's skills directory, e.g. .claude/skills/
  • Benchmarks — measured, reproducible numbers, including the pooling comparison above

Metadata

Release files for pydeno 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydeno 0.4.5
File Size Uploaded
pydeno-0.4.5.tar.gz 743.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pydeno 0.4.5
File
pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pydeno-0.4.5-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pydeno-0.4.5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pydeno-0.4.5-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pydeno-0.4.5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pydeno-0.4.5-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pydeno-0.4.5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pydeno-0.4.5-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
pydeno-0.4.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pydeno-0.4.5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pydeno-0.4.5-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.5-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details

Total release size: 432.2 MB

Release files / pydeno-0.4.5.tar.gz

Download URL pydeno-0.4.5.tar.gz
Size 743.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b6ab2d7a2de8a2c65be382d452bdeb56006d4547eca3a4b35a478c887bb6fab0
BLAKE2b-256 checksum
How to use checksums
d92323c231ab447faf801cea727b9bbd3349156c67a9f7671dfb8772725b1792
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
9297b5fd97fb0e2e87d7ecc7fc6ea4fae5c4d805cb6c6982259bcf9cb699ca97
BLAKE2b-256 checksum
How to use checksums
1b84a1970723a37b7ceec03daa64975a8548e58a76d096a72107ea43d63db9f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Size 18.8 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
ee1b7dacc3d965de7c13d38fa88aa666bdc3c3081d2ac1ea7482be6a53b75261
BLAKE2b-256 checksum
How to use checksums
2f7e18b3e198a652763f942a7854a2d840915b5426428d68e946d91fa9550276
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9299c72e8b1f825992dc407a0b1a238c520ee38aee0a129954a10bbd96820f6c
BLAKE2b-256 checksum
How to use checksums
d118792414f337cc6614cba104bf2c8c8e6e6e3089cc99bae76923e8e70f9181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 18.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d47e1d44a096d045f0cc82f159339804adf9e6932c0c12ba18fe1fefac84c713
BLAKE2b-256 checksum
How to use checksums
ae82392bdf5ddf704d1f487eacaacdd22f886926803bcff65cc329d733948a2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314-win_amd64.whl

Download URL pydeno-0.4.5-cp314-cp314-win_amd64.whl
Size 18.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f21214406d1fa961b666f7317d30e452acc417092c67470038ff89e24333e31f
BLAKE2b-256 checksum
How to use checksums
ded20fa17b805b9a361bc779a40064515e6d92f59bde6a51074ae930797c5034
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp314-cp314-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2d6b5e5615aad7dd8b3bfdc22fd439e84d6e95e7b9dc551e79aeb27e8154c2b6
BLAKE2b-256 checksum
How to use checksums
e61abf0188e9557fcd735b452d130df6cc93db932f4c7ef921519ac09525954b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp314-cp314-manylinux_2_28_aarch64.whl
Size 18.9 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d8adc006103d34147d8fd70cea0168b79a40f870a4fd23d71aa2242d578ca8ad
BLAKE2b-256 checksum
How to use checksums
0a45eaa3c6cf17b79468233e8b801f84dab7be833f71c8995dc8036cd95c7414
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp314-cp314-macosx_11_0_arm64.whl

Download URL pydeno-0.4.5-cp314-cp314-macosx_11_0_arm64.whl
Size 17.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92b2e6afb7cc1186010d95860319b1309054e98845f6816fe5f23c92fa9c8979
BLAKE2b-256 checksum
How to use checksums
093263c3ccd91d48b95777ea61bd78693e148f4d034496619474316de09783b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp313-cp313-win_amd64.whl

Download URL pydeno-0.4.5-cp313-cp313-win_amd64.whl
Size 18.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
52aabd0276fb9bd8622937ecd0da9300ea9c0f501df032ab8e0011a495b24d88
BLAKE2b-256 checksum
How to use checksums
ba0cbb2348ce62857b1418ae0d9dac7f93bf756438a9e3400abe3494fc3d4560
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp313-cp313-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e5ed72ef30463496510e8fe75cfd46d8105fe967dc67d17265eff8a6c12ee255
BLAKE2b-256 checksum
How to use checksums
f6e51e69dcb157e3b7958920a9fd6a1137d815b56ea4bed3b3fd9cbda2af358a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp313-cp313-manylinux_2_28_aarch64.whl
Size 18.9 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
efa5782bb4604aac589ef951c6727cabc37ca3685ebe78797d31fa8c39ae2bfa
BLAKE2b-256 checksum
How to use checksums
f5cfb9e4a170f0a3c1097a9ce583c85072575302344931f48daee1075b76d0b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp313-cp313-macosx_11_0_arm64.whl

Download URL pydeno-0.4.5-cp313-cp313-macosx_11_0_arm64.whl
Size 17.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a4ea4d1f3813853801305ceaa25e3e833da69b584c5950c584955dbe7d033910
BLAKE2b-256 checksum
How to use checksums
f5de683bb36625397e572d95eb43403a3931221db0f67dafedafff17443c6bdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp312-cp312-win_amd64.whl

Download URL pydeno-0.4.5-cp312-cp312-win_amd64.whl
Size 18.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
12b0f0cf0b91f0292991497eab582db2958408f49040d48f56adc0592f7d153d
BLAKE2b-256 checksum
How to use checksums
be37256ed2858e01224c762cbd1b1ee6b7d1d016943a0478128ad8c04be86937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp312-cp312-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
87418c733f397ce1da7cba8256f2fef9a86e33348a37f05a5ae5c5cfdf701d64
BLAKE2b-256 checksum
How to use checksums
c5576b74181a191ee6f84fb3929ca78439d274b28f8850f59ab7deda6475fe34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp312-cp312-manylinux_2_28_aarch64.whl
Size 18.9 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8882686bb043435de13b62774d2acac74d498cfb4462f5543ad93c88d9ca8584
BLAKE2b-256 checksum
How to use checksums
7d6ea93987cda38c643cf382e76d48cbe9be19df44826d2f928e9849d7f2dd65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp312-cp312-macosx_11_0_arm64.whl

Download URL pydeno-0.4.5-cp312-cp312-macosx_11_0_arm64.whl
Size 17.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5278f679aab2b22f20f16cb168f7b1cb7fc5e8ffefb41cf50752e296f299b74e
BLAKE2b-256 checksum
How to use checksums
7455def1b03a1146a3c1b87420cd7cfb07ea94439735f06f739769357c5b4882
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp311-cp311-win_amd64.whl

Download URL pydeno-0.4.5-cp311-cp311-win_amd64.whl
Size 18.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
429c794b9e440180e62b6556e99fe798712cbeaa829e92dd3e8bcd1010a7655d
BLAKE2b-256 checksum
How to use checksums
0d807bb13b0bb035c6d486c116a3545109dc4dffeabc8fe86fcd86034119d366
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp311-cp311-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
881f630da29ce0f20e250b84f864773fe706f0f7c851c376dcfed60883250417
BLAKE2b-256 checksum
How to use checksums
d7617659df043a242e3707b7bbf824c3ce8ca90d7cc3d5b89c1c7f81c8801d99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp311-cp311-manylinux_2_28_aarch64.whl
Size 18.9 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a4aa0e9632dd686b4ffab25b27b4b0717e8666583c69d01b0221f9e4f1762cae
BLAKE2b-256 checksum
How to use checksums
32e62b8e1746059936254a83b3bfc3ec856e3ace59e9f4e1d593e2af87a60f84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL pydeno-0.4.5-cp311-cp311-macosx_11_0_arm64.whl
Size 17.4 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
859328e05bdfe30c9c3ecd896aa02af4262be615bc548387e57969777f5d6f41
BLAKE2b-256 checksum
How to use checksums
521e6fd613459d726dc7e276ee41264c7954d9e3309e9e99be4e0c669e59d739
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp310-cp310-win_amd64.whl

Download URL pydeno-0.4.5-cp310-cp310-win_amd64.whl
Size 18.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
036e830d9abcc60b0018c451d5b8e96000b937a5bdca2b41f20fd529ca978d79
BLAKE2b-256 checksum
How to use checksums
7aab328f648f157fc6cd338ae5970ae2abf80610b3838475f2ae233b50a402ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL pydeno-0.4.5-cp310-cp310-manylinux_2_28_x86_64.whl
Size 19.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5d632b6d5847032d36e47893f4bb867db25a8a6f57700bfda61cc263f371461f
BLAKE2b-256 checksum
How to use checksums
cd6b961b4a37519569fecfa8bf24dd2fd6a1fc93b8bfc91893d8992b6c8ef3fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / pydeno-0.4.5-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL pydeno-0.4.5-cp310-cp310-manylinux_2_28_aarch64.whl
Size 18.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2448aa56d897c8b4e4d7a6a54cc93499843242427333c1e2b769499406f3a5b6
BLAKE2b-256 checksum
How to use checksums
183e3f625b2c105b597eca4e288d62179233e6126bca21447467cb40458efc0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.5 This release

24 release files

0.4.4

17 release files

0.4.3

17 release files

0.4.2

17 release files

0.4.1

17 release files

0.4.0

17 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