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

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.2
File Size Uploaded
pydeno-0.4.2.tar.gz 740.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pydeno 0.4.2
File
pydeno-0.4.2-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.2-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.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pydeno-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pydeno-0.4.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pydeno-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pydeno-0.4.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pydeno-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pydeno-0.4.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pydeno-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pydeno-0.4.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pydeno-0.4.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pydeno-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details

Total release size: 328.2 MB

Release files / pydeno-0.4.2.tar.gz

Download URL pydeno-0.4.2.tar.gz
Size 740.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dd59824bb58e4d4a4f172eca86dbf2b19374caaa35045d8f2579451a28e4c833
BLAKE2b-256 checksum
How to use checksums
e1fa6924220082ef73870a219ea502e6518b5e88b60637a0aec9cd1844cda6c0
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags Linux glibc 2.28+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
82ace94d5fd28e1da1f94521a29aad612e9509d67a5757c01d275c9cf8d5081b
BLAKE2b-256 checksum
How to use checksums
722cb1f04ef21db68da6b54faee5f04520e144e44dfaa0791ff8c1adc1ec806e
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
74564c6a9179446d28cd0f148aa3f489dc0822d215bb2b99c7bf26f57c5c7519
BLAKE2b-256 checksum
How to use checksums
ccf14eb45729f1a2169ac7e52fec7a09cf3f86a85379fb25625e92733736745e
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp314-cp314-win_amd64.whl
Size 18.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a13c5c0a82beb2b696b7f4aaaf1962a41a43f11b090dbf7a3ffc24b0372c708a
BLAKE2b-256 checksum
How to use checksums
8900691d617e1388c6aa5df7305097d286e7f0e60753627203e0aa2d9219a9e9
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1a94a734e83ea6ef50551c1053e23350ea33d35e2423ae21f56db9a797f6fbd0
BLAKE2b-256 checksum
How to use checksums
1d71c978139762d86d790d4a76f015bfa3621c093316bfe48a3b33f0913a574f
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
Size 19.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
39eb73507554f8cb88ade3edf65e1bb257ca12b3ac25b713c71f58aad68fc93c
BLAKE2b-256 checksum
How to use checksums
48d0d176a94cc68e471c73c090123e494167fe04e7547cac9fd13379a2b50308
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp313-cp313-win_amd64.whl
Size 18.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
52b20982f03f0c174e9da3444f3d8a23244f5821d2d9532bbeab4ccfd8da9264
BLAKE2b-256 checksum
How to use checksums
0b8625f922a692fcbc42bc06e7c9d389c6bbb6d82d144e31c1604f94733b3398
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
91a10a4e222a503515d40240be3bd549a0615a887e13f6d9ffea191f893b8342
BLAKE2b-256 checksum
How to use checksums
4632a4d33f5d9d1761af89bfb9b6512b7ca37c9a6882be790172c63b602d4291
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
Size 19.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
538d35b1ab3803bf839ab96be85c569def2c632e04ad73ef3f0a2d75efcc20a8
BLAKE2b-256 checksum
How to use checksums
abf9f354ec6564a878d869480d145afbeb5d49c29e6272d5322db62aa0c3c591
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp312-cp312-win_amd64.whl
Size 18.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
12eec431762a3bc1b480098a5b61c19b92b3ca4194cad83db32e37a6bdcab47d
BLAKE2b-256 checksum
How to use checksums
5f5a2611b58338ef16339af6df1cb7f645bd314a83fbc73147c0355f485aea6d
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ff8a1dad0931ab75eeee65ee449ff2d4458f6d0500630f4943535a3166c838ce
BLAKE2b-256 checksum
How to use checksums
c3b9bdb224d4f89ee47a84790d3f37bdda3810e49add094fa6a90e741683adf5
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
Size 19.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
906513887a34c64c64c6bafef154eb1dcea1770aecdc501b1125696733c75e0b
BLAKE2b-256 checksum
How to use checksums
175f8962796cb095ac0e855ecb6e277e087f04b0a432f22e1d8ae16854401522
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp311-cp311-win_amd64.whl
Size 18.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b32791979ffb70f4dfa77977253e03a703afe1f782d43181f9c2811520fa9d67
BLAKE2b-256 checksum
How to use checksums
a6b5290136e2f8cf9609daa41a669139bf30030cda71def3ac6c448579034d15
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
71f718dd377a3077b6d3f7804f64e63d25761ee6e220112babf331d133fe4e0b
BLAKE2b-256 checksum
How to use checksums
c1029abbbf0ddc709a3ad151f49968f8961fcd52d410a2798177536099ee7a8a
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
Size 19.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
efe2e15e9aa218254ff82d52ba826d72500695b8820eab7b6516d454c542e09b
BLAKE2b-256 checksum
How to use checksums
c8c4939ef9dc19b0e89a5e81a73ea3322a122d3976cd93d82c569cf366aa9404
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp310-cp310-win_amd64.whl
Size 18.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
66e2e68f73e641b6d27a5b0dae09f53cbe452d294c44a6e0d37bae1eb547ca91
BLAKE2b-256 checksum
How to use checksums
a9cea6af0063b4bd881ff0beb79e175ef940e7554041916644faf7481ab85262
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 24, 2026.

Transparency log

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

Download URL pydeno-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl
Size 21.9 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
28631ce7bda419e489c8d2b91e0b94ad9825ae00b8931438e6cc0cb9cc2343e9
BLAKE2b-256 checksum
How to use checksums
8940ecb94b00478e1bd1e1882dd36007093d2477ae878a12653794182ef3de7c
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 24, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.5

24 release files

0.4.4

17 release files

0.4.3

17 release files

This release

0.4.2 This release

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