Skip to main content

Nightshift — autonomous agent orchestrator with Firecracker VMs

Project description

Nightshift

Autonomous agent orchestrator with Firecracker VM isolation.

Nightshift runs AI agents in isolated Firecracker microVMs on bare-metal infrastructure. Each agent gets its own VM with a dedicated filesystem, network, and resource limits — so agents can execute code, edit files, and make network calls without affecting the host or each other.

Installation

uv add nightshift-sdk

or

pip install nightshift-sdk

Quick Start

Define an agent with NightshiftApp and AgentConfig:

from nightshift import NightshiftApp, AgentConfig
from claude_agent_sdk import query, ClaudeAgentOptions

app = NightshiftApp()

@app.agent(
    AgentConfig(
        workspace="./my-project",
        vcpu_count=2,
        mem_size_mib=2048,
        timeout_seconds=1800,
    )
)
async def code_reviewer(prompt: str):
    async for message in query(
        prompt=prompt,
        options=ClaudeAgentOptions(
            cwd="/workspace",
            allowed_tools=["Read", "Glob", "Grep"],
            model="claude-sonnet-4-6",
        ),
    ):
        yield message

Deploy to a Nightshift platform:

nightshift login --url https://api.nightshift.sh
nightshift deploy agent.py
nightshift run code_reviewer --prompt "Review the auth module for security issues"

Or run locally on a machine with Firecracker:

nightshift run code_reviewer agent.py --prompt "Review the auth module"

AgentConfig

Parameter Default Description
workspace "" Host directory to mount into the VM at /workspace
vcpu_count 2 Number of vCPUs allocated to the VM
mem_size_mib 2048 Memory in MiB allocated to the VM
timeout_seconds 1800 Maximum agent execution time (30 min default)
forward_env [] Environment variables to forward from host
env {} Static environment variables set in the VM

Documentation

Full documentation at docs.nightshift.sh.

License

Apache 2.0 — see LICENSE.

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

nightshift_sdk-0.3.0.tar.gz (116.5 kB view details)

Uploaded Source

Built Distribution

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

nightshift_sdk-0.3.0-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

Details for the file nightshift_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: nightshift_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 116.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nightshift_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e6a323c829a2f74803428a970dc942e93c16954fef093631359c7dd338059ef7
MD5 ba93a49e64619ea202e95c682392baae
BLAKE2b-256 3f6b944529ed1e1e0738aefbf1e27d803959f98a19db4f8819254a7bc93745b6

See more details on using hashes here.

File details

Details for the file nightshift_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: nightshift_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for nightshift_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc2dfb55b60c304ae4a363a36fdcc77caff597386dd0d02f841fd2a954a1fa6e
MD5 ef1447c64287b99c9a48d1d5b885aa6a
BLAKE2b-256 f7628d431ecb242be7b5ce1a3e9ba94ca399b6d8bb6bc24863d389b176cf717b

See more details on using hashes here.

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