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

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.4
File Size Uploaded
pydeno-0.4.4.tar.gz 743.4 kB Details

Built distributions (wheels)

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

Total release size: 300.3 MB

Release files / pydeno-0.4.4.tar.gz

Download URL pydeno-0.4.4.tar.gz
Size 743.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3b8cb82be81d1c19ffedcaab929646e7a58ce80d46d9452684f3ef5b60cb1228
BLAKE2b-256 checksum
How to use checksums
e9afc5c5e84cfd306d5dd0d007f9a9e8ea6b03399785d597cba442b9fdc70970
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
0c674cefb9fcbedb49f26fa38f5c6a1cbe996611565ba98685fc52f8a60a3327
BLAKE2b-256 checksum
How to use checksums
efb1f32cd7028266388af3f97fa0cfa4f718d90a097bac9cb233d025c67c498f
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
28464810b58287dddf67c06c616ac13ea804d6833869b8475d773271f65ca545
BLAKE2b-256 checksum
How to use checksums
b1a34f75a6ea9efdf53b8cfe5f8cf6e75d81dccd72ef8f6a8ba6f57629c3fbf6
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-cp314-cp314-win_amd64.whl
Size 18.7 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
91dbdaeb51c862094773b1f1ef29b6e46b92866060ad9ab51a5d5063086b57b7
BLAKE2b-256 checksum
How to use checksums
c926dd391af0c70349d242b80c578370586f9a6712f777a580b7c5ceaa2e96a6
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
8b540901d47fd222e7e1f809233e223bc13a6a8158089484e5bec7d834cda9fc
BLAKE2b-256 checksum
How to use checksums
03e263942d14c92afc61b82c75ea01155f945f4304e7890565995a56f5caa010
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
304abeb3ef1496c6f2879d39dddce4a9d600e1b809730448cd738e4486459e0b
BLAKE2b-256 checksum
How to use checksums
51f3fbf80cefcd4506d42839e54d3ee588eb47352c24b75a6e01a01e5e3714c8
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-cp313-cp313-win_amd64.whl
Size 18.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
1141689dde813708dc2821bbe733d78e757aba08fd348ddf0939a33abfba0ad9
BLAKE2b-256 checksum
How to use checksums
3611b132fded4e14dd25b47976747b2039de7087154865a95c7874994f0b8c4b
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
ecfbb214f8806db1e0d3630be4968b087c91f5994fd20bf5408844fa99e59576
BLAKE2b-256 checksum
How to use checksums
67b2c26fe121fb9e046d42714b8d74545aa9a93114139009d055de84f3ef0006
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
e5c1c998a2226faff42d464b6e92fb67f4d738d6d6078ceb01d01ecfc86be375
BLAKE2b-256 checksum
How to use checksums
d564289d626b80362eccf6061c66d267696441cdd1d61a96cff1adf55d59aafc
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-cp312-cp312-win_amd64.whl
Size 18.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
12fec94fadbea781be2cd77a6243688ee8020e085eb281f7e417128ef2c6452d
BLAKE2b-256 checksum
How to use checksums
c5b5a6bcf5f05700917e340d25b6827c55e8ffcb27c33fa850b630b9e452c07a
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
88bc2a8684b90bdcc6733c9748d7b2182154dfcb10f05533d44c7a3609f0d708
BLAKE2b-256 checksum
How to use checksums
53b45f85659b1afb56d4388b07b699bd9acdbca30c14e02e4b350f2a94a94140
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
110a6b215964a0f2bdf25aef86e250cb08d53631944d2fb94e6bb9ce4c618492
BLAKE2b-256 checksum
How to use checksums
4b26d2c0920a903e81dc09c57a0b6c9b954ed7ad927455b7482f754a042fe6ae
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-cp311-cp311-win_amd64.whl
Size 18.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
80109d2fdc11ecd49770b499f8ce7dc5f08da39603a44887294169fe5eb43d5a
BLAKE2b-256 checksum
How to use checksums
cc3e8ee54dd4da7dd5e2b99ead8bd46d412734f628afece42a2613c5aa79f9b5
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
d18b93b2d40bb4a5bbaaba88c9e94cb685ed593f5b16352d6b01232063f4db7d
BLAKE2b-256 checksum
How to use checksums
9aeebb8474662080184aceeb89aa62faf699c97fce9e4d70b31c2e0d0436bb84
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
30765e2a2e729b7ea22a0dfe6296945fa2bfe20aaea9acc9dade858383470a54
BLAKE2b-256 checksum
How to use checksums
11e16168855ad65ff0ef3cd08bf7ef32d71c9b230be6888ea3a9530cb5e16979
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-cp310-cp310-win_amd64.whl
Size 18.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9c8ed76a0272f714bc29380ea6f73604795f8f07d256fe3b84b7a910b7d691b8
BLAKE2b-256 checksum
How to use checksums
36af9abcb7b3ceb4a701fedb71caf06d23c2eeaa6c28bb6a345d7cd6d1321f39
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 28, 2026.

Transparency log

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

Download URL pydeno-0.4.4-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
6f71e155eb1a7e8cb4b223921edf5fc35996cdb9aa24531214b1775fc55d8e47
BLAKE2b-256 checksum
How to use checksums
32dddcc1b6bd1da13efed975457f4d2cee001884b241e4be306de8515b517155
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 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.5

24 release files

This release

0.4.4 This release

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