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.2.0.tar.gz (114.8 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.2.0-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nightshift_sdk-0.2.0.tar.gz
  • Upload date:
  • Size: 114.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 2385a90c6c6c60dd79ce55d47e5be5239d0111aed83fab95d15ee97a4a58f0bc
MD5 bfe3b68d8f3a5f79ca134ef73d6ac687
BLAKE2b-256 01f20a62c79df63674437ac2252afeb42bee3ada52ee9ad28f99be7b7089bcb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nightshift_sdk-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.5 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8e55f92fcfa72d9dd1be4aebdb1c3939ac857b1bc5069726cec6138d8e13a9f
MD5 0c58585f559788d8cae3ce31420037d7
BLAKE2b-256 20344ec66034a2daa5411cca9dec37dfdd66b8147b678a9802f1cbe9d60471f6

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