Skip to main content

Deno for Python

PyPI version PyPI downloads License

The easiest way to install and use Deno — the modern JavaScript and TypeScript runtime — in your Python projects.

What is Deno?

Deno is a secure runtime for JavaScript and TypeScript that's built on V8, Rust, and Tokio. It features:

  • 🔒 Secure by default - No file, network, or environment access unless explicitly enabled
  • 🚀 TypeScript support - Built-in TypeScript compiler, no configuration needed
  • 📦 Modern module system - Native ES modules with URL imports
  • 🛠️ Built-in tooling - Includes formatter, linter, test runner, bundler, and more
  • 🌐 Web standard APIs - Compatible with browser APIs like fetch, WebSocket, and Web Workers
  • High performance - V8 engine with Rust-powered I/O

Installation

Using pip

pip install deno

Using uv (recommended)

uv add deno

Using poetry

poetry add deno

Usage

Command Line

Run Deno directly using uvx or pipx:

# Check version
uvx deno --version

# Run a script
uvx deno run https://examples.deno.land/hello-world.ts

# Start a REPL
uvx deno

With pipx:

pipx run deno --version

After installing with pip, the deno command is available in your PATH:

deno run --allow-net server.ts

Python API

Use the Python API to integrate Deno into your Python applications:

import deno
import subprocess

# Get the path to the Deno executable
deno_bin = deno.find_deno_bin()

# Run a Deno script from Python
result = subprocess.run(
    [deno_bin, "run", "--allow-net", "script.ts"],
    capture_output=True,
    text=True
)

print(result.stdout)

Example: Running TypeScript from Python

import deno
import subprocess
import tempfile
import os

# Create a temporary TypeScript file
ts_code = """
console.log("Hello from Deno!");
const data = { message: "TypeScript works!" };
console.log(JSON.stringify(data));
"""

with tempfile.NamedTemporaryFile(mode='w', suffix='.ts', delete=False) as f:
    f.write(ts_code)
    ts_file = f.name

try:
    # Execute with Deno
    result = subprocess.run(
        [deno.find_deno_bin(), "run", ts_file],
        capture_output=True,
        text=True
    )
    print(result.stdout)
finally:
    os.unlink(ts_file)

Platform Support

This package provides official Deno binaries for:

Platform Architectures
🍎 macOS x86_64 (Intel), arm64 (Apple Silicon)
🐧 Linux x86_64 (amd64), arm64 (aarch64)
🪟 Windows x86_64 (64-bit)

The appropriate binary for your platform is automatically downloaded and installed.

Common Use Cases

Running Deno Scripts in Python Projects

Integrate JavaScript/TypeScript functionality into your Python applications:

import deno
import subprocess

def run_deno_script(script_path: str, *args):
    """Execute a Deno script with arguments."""
    result = subprocess.run(
        [deno.find_deno_bin(), "run", "--allow-all", script_path, *args],
        capture_output=True,
        text=True
    )
    return result.stdout

output = run_deno_script("./scripts/process-data.ts", "input.json")

Using Deno as a Task Runner

Add Deno scripts to your Python project for tasks like:

  • Frontend asset building
  • API mocking
  • Data processing with TypeScript
  • Testing web APIs

CI/CD Integration

Install Deno in your CI/CD pipelines:

# GitHub Actions example
- name: Install Deno via pip
  run: pip install deno

- name: Run Deno tests
  run: deno test --allow-all

Why Use deno via PyPI?

  • Easy integration - Install Deno alongside Python dependencies
  • Version pinning - Lock Deno versions in requirements.txt or pyproject.toml
  • No manual downloads - Automatic binary management
  • Cross-platform - Works seamlessly across development and production environments
  • Python API - Programmatic access to Deno from Python code

Version Compatibility

The version of this package corresponds to the Deno version it distributes. For example:

  • deno==2.1.0 includes Deno v2.1.0
  • deno==2.0.0 includes Deno v2.0.0

Check the Deno releases for version details.

Resources

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

This repository redistributes official Deno binaries under the MIT license to make them easily installable via pip, uv, poetry, and other Python package managers.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deno-2.9.5.tar.gz (8.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

deno-2.9.5-py3-none-win_amd64.whl (41.6 MB view details)

Uploaded Python 3Windows x86-64

deno-2.9.5-py3-none-manylinux_2_27_x86_64.whl (41.6 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64

deno-2.9.5-py3-none-manylinux_2_27_aarch64.whl (39.9 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARM64

deno-2.9.5-py3-none-macosx_11_0_arm64.whl (38.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

deno-2.9.5-py3-none-macosx_10_12_x86_64.whl (42.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file deno-2.9.5.tar.gz.

File metadata

  • Download URL: deno-2.9.5.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deno-2.9.5.tar.gz
Algorithm Hash digest
SHA256 2f9681d7d2118a5e92e18915d1d88a6966fd6173ba4a8fb772f04080057e5a6a
MD5 c84dc00a5bcbcd08a47f582b54c1c33c
BLAKE2b-256 262706ad530f3be68dafdfae57457c534d5bb014cd6da58c2bd0f5b28f9ab8fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5.tar.gz:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deno-2.9.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: deno-2.9.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 41.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deno-2.9.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 570d4ee6f1ddb16d14848d36dac6cd2f586d8a0c94cf9c3e6b5da130da2597d5
MD5 c500af74de0eda6ae1335022d77a6bf0
BLAKE2b-256 7e0b3ca6468ec928d817ce6ef062ddfa11e71a3c68035c3401057d7cb33845f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5-py3-none-win_amd64.whl:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deno-2.9.5-py3-none-manylinux_2_27_x86_64.whl.

File metadata

  • Download URL: deno-2.9.5-py3-none-manylinux_2_27_x86_64.whl
  • Upload date:
  • Size: 41.6 MB
  • Tags: Python 3, manylinux: glibc 2.27+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deno-2.9.5-py3-none-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 e5aec0419739fd0359663a78765d4feda19d1d0b60a682d25add9b78e19f95b4
MD5 a8d7a7a13b3ddd279c691f30853ebae3
BLAKE2b-256 6054c6e0fb4b5e96dd7611bc75c8137046d7436666bd2e278f686e36d6a805af

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5-py3-none-manylinux_2_27_x86_64.whl:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deno-2.9.5-py3-none-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for deno-2.9.5-py3-none-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 bccec0965917b6daa323f9ce6ad8e884e0854506b0cdaec9de41bdac7620109a
MD5 82ec87daccc65fd7c8c33bf7eae93615
BLAKE2b-256 a4b45d462bc738b2172043a470ab97d7b6f3e7a287fa1916065e777e034ef1b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5-py3-none-manylinux_2_27_aarch64.whl:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deno-2.9.5-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: deno-2.9.5-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 38.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deno-2.9.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 696dffb666d6336a3527857b2f9b665db33b07883bb6adc3595dbb3b78748cf1
MD5 83c395f4986a16f34684812abe422b9a
BLAKE2b-256 ce3ad60dac70124d045dfc6f01bbd181e2865904ecca5710b2d319869ff59727

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deno-2.9.5-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: deno-2.9.5-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 42.4 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deno-2.9.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d321f54f82cb535904a108afd970c1c3e1db23716db1ab0cda5e0ca993dbf824
MD5 4ab7b4ff4033b789d5490dc718a384ea
BLAKE2b-256 a8991a1ff9e40e82d857b426a86d2159e3560000c2f98edb0f63170256582067

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.9.5-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on denoland/deno_pypi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page