Claude Code for local devices: chat with self-hosted models, run agent tools, and manage context safely - all without an internet connection.
Project description
OpenJet
Claude Code for local LLMs
The easiest and fastest way to get a local coding agent running.
OpenJet sets up the local model backend for your hardware and gives you a Claude-Code-style coding agent that can read files, edit code, and run commands fully on your own machine.
If you are new to local LLMs, OpenJet is the fastest way to get started without spending hours figuring out models, runtimes, and config.
If you have already tried local LLMs and got frustrated piecing together a model backend, a frontend, and an actual coding agent, OpenJet removes that setup tax.
OpenJet is built for people looking for a Claude Code alternative, easy local LLM setup, or a self-hosted local coding agent.
This is the PyPI package for OpenJet. Install it with:
pip install open-jet
The package installs:
- CLI + chat TUI — interactive local agent work in the terminal
- Python SDK — embed sessions, profile hardware, and automate workflows
- Benchmarking tools — measure prompt and generation performance on your hardware
Quick Start
pip install open-jet
openjet setup
openjet
openjet setup detects your hardware, picks a model that fits your RAM, downloads it, and gets everything running. Already have a .gguf? It finds that too.
Recommended hardware: Apple silicon with 24GB+ unified memory, or a GPU with 14GB+ VRAM.
CLI
The primary entrypoint is the openjet command:
openjet # start interactive session
openjet benchmark --sweep # run a hardware benchmark sweep
The CLI is a full terminal agent that can:
- Read and edit your code — search files, apply edits, write new ones
- Run shell commands — with explicit approval before execution
- Resume sessions — close the terminal and pick up where you left off
- Work on constrained hardware — automatic context condensing and model unload/reload around heavy tasks
- Connect to devices — cameras, microphones, GPIO, and remote devices for edge and embedded workflows
- Connect MCP tools — optional trusted MCP servers are exposed through the normal OpenJet tool registry
Python SDK
Use openjet.sdk to embed the same runtime in your own Python application.
from openjet.sdk import OpenJetSession, recommend_hardware_config
Session API
Run agent sessions programmatically:
import asyncio
from openjet.sdk import OpenJetSession
async def main() -> None:
session = await OpenJetSession.create()
try:
result = await session.run("Summarize the current README")
print(result.text)
finally:
await session.close()
asyncio.run(main())
The session API exposes:
OpenJetSession.create(...)— create a sessionsession.run(...)— run a prompt and get the resultsession.stream(...)— stream events as they arrivesession.set_airgapped(...)— toggle air-gapped modesession.add_turn_context(...)/session.clear_turn_context(...)— manage turn contextcreate_agent(...)— construct an agent instance
Hardware Recommendation API
Get model and runtime recommendations for your hardware:
from openjet.sdk import recommend_hardware_config
result = recommend_hardware_config(
{
"total_ram_gb": 16,
"gpu": "cuda",
"vram_mb": 24576,
"label": "RTX 4090 box",
}
)
print(result.model.label)
print(result.model.target_path)
print(result.llama.device)
print(result.llama.gpu_layers)
print(result.llama.context_window_tokens)
Typed input is also supported:
from openjet.sdk import HardwareRecommendationInput, recommend_hardware_config
result = recommend_hardware_config(
HardwareRecommendationInput(
total_ram_gb=8.0,
gpu="cpu",
hardware_profile="other",
hardware_override="desktop_8",
)
)
SDK Surface
The supported public SDK surface:
from openjet.sdk import (
HardwareRecommendation,
HardwareRecommendationInput,
OpenJetSession,
RecommendedLlamaConfig,
RecommendedModel,
SDKEvent,
SDKEventKind,
SDKResponse,
ToolResult,
create_agent,
recommend_hardware_config,
)
Package Contents
This wheel includes the full OpenJet package:
openjet.sdk— Python integrations- CLI entrypoint
openjet(installed asopen-jeton PyPI) - Benchmark entrypoints via
openjet benchmark - The local/session runtime shared by the SDK and CLI
Repository
License
OpenJet core is licensed under Apache-2.0.
This package covers the permissive core SDK and CLI. Future hosted, team, or enterprise offerings may be licensed separately.
External contributions are accepted under the contributor terms in the repository's CONTRIBUTING.md and CLA.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file open_jet-0.4.26-py3-none-any.whl.
File metadata
- Download URL: open_jet-0.4.26-py3-none-any.whl
- Upload date:
- Size: 308.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73f7e562daec38b3b71d72c2b58f9b1c302780bc10290ddf782423ada277d0b7
|
|
| MD5 |
49920a59066a84153e2884ef251f6a71
|
|
| BLAKE2b-256 |
634dbb992ca68bd8c2c5779b4a717daaa43a92978ef0a7f80983e73e4f0132f2
|