Skip to main content

Python redistribution of Deno binaries

Project description

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.

Project details


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.7.3.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.7.3-py3-none-win_amd64.whl (48.4 MB view details)

Uploaded Python 3Windows x86-64

deno-2.7.3-py3-none-manylinux_2_27_x86_64.whl (49.0 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ x86-64

deno-2.7.3-py3-none-manylinux_2_27_aarch64.whl (47.0 MB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARM64

deno-2.7.3-py3-none-macosx_11_0_arm64.whl (43.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

deno-2.7.3-py3-none-macosx_10_12_x86_64.whl (46.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for deno-2.7.3.tar.gz
Algorithm Hash digest
SHA256 6139f59472e443dbd8562215553e38f05c54ecc8ebb23636e4fdf06d3eba9e3c
MD5 6d4fefb8bfffaa9c7fa0c2ae506cf301
BLAKE2b-256 48eb80d9f330304421ad32b4150af294e5de5de99227cda5ab1d35cacdd15ff4

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3.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.7.3-py3-none-win_amd64.whl.

File metadata

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

File hashes

Hashes for deno-2.7.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6e7a8422b42baf54eaccf6e9122acb7297f544ab737247ace1a85d4dd0f01575
MD5 7c640728b8a871a1a756a24402b33ecb
BLAKE2b-256 517a7117ae776b5e37c63b1431bbfb91ef35a2726a3a6de2c4d071443612ee15

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3-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.7.3-py3-none-manylinux_2_27_x86_64.whl.

File metadata

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

File hashes

Hashes for deno-2.7.3-py3-none-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 12add2ee0b267ca4a932d8f896df6a518ba58abaa02dec33553fe01907b48109
MD5 85860b4b60ea2154bbba109d87cef625
BLAKE2b-256 6205a30811914c84b20c6543c92122c9625b6b7e09727cb4ca7dfe60f4e381f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3-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.7.3-py3-none-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for deno-2.7.3-py3-none-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 90edf84fb60a55f2b47245e46fb7275553b1069add08d757eb9319e3fc1b5c6d
MD5 b196e4934a706a9ac136ee83fb2b56a1
BLAKE2b-256 6918ef6999ebf9649d75bc4c38d8a783ca54d09f98445cb62835d565a8e70ae7

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3-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.7.3-py3-none-macosx_11_0_arm64.whl.

File metadata

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

File hashes

Hashes for deno-2.7.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 511dfa4c33d01330ab867815f18f62580bb4212880be6d9b3c4c04713d22bdc4
MD5 f78f8745b6d78e4d38ec072d2a065b19
BLAKE2b-256 b2a1b8360e73a97c0490d58294eb8d600fdcadfdc2be999df3a62555473217b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3-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.7.3-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for deno-2.7.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a2700e0d8cb2fb9a792b0b55dd75984432dd3bda4abafab52602475c7d48afa
MD5 bc3ff4548a51739670af6c14449a42a2
BLAKE2b-256 caab8196d474f9a70e5838c06c89679a41fcb10ff63020ba98e0171726c8a2e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for deno-2.7.3-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 Pingdom Monitoring Sentry Error logging StatusPage Status page