The easiest way to install and use Deno — the modern JavaScript and TypeScript runtime — in your Python projects.
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, andWeb Workers - ⚡ High performance - V8 engine with Rust-powered I/O
pip install denouv add denopoetry add denoRun 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 denoWith pipx:
pipx run deno --versionAfter installing with pip, the deno command is available in your PATH:
deno run --allow-net server.tsUse 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)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)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.
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")Add Deno scripts to your Python project for tasks like:
- Frontend asset building
- API mocking
- Data processing with TypeScript
- Testing web APIs
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- ✅ Easy integration - Install Deno alongside Python dependencies
- ✅ Version pinning - Lock Deno versions in
requirements.txtorpyproject.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
The version of this package corresponds to the Deno version it distributes. For example:
deno==2.1.0includes Deno v2.1.0deno==2.0.0includes Deno v2.0.0
Check the Deno releases for version details.
- 📚 Deno Documentation
- 🌐 Deno Website
- 💬 Deno Discord
- 📦 PyPI Package
- 🐙 GitHub Repository
- 🦕 Deno on GitHub
Contributions are welcome! Please feel free to submit a Pull Request.
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.