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.1.tar.gz (131.2 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.1-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nightshift_sdk-0.3.1.tar.gz
  • Upload date:
  • Size: 131.2 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.1.tar.gz
Algorithm Hash digest
SHA256 0a65b0a43e271a384f5455ac45b1243febf604770de1c03fbc45ff05bad98fd0
MD5 4944f635253f9c55ac2d4252f3142f3f
BLAKE2b-256 8e9d036b746578e1c73eb47a3380e0160331889060128004c0f2e2c86c77647a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nightshift_sdk-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 40.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0848728891db04a3bce169d50fc0e1cf781adfeae9fffea24dc1eb20ffdcbb8d
MD5 9f2246aceb4599eecfc7174767b0a6b0
BLAKE2b-256 2de4fe55d13ef44559fdfe0cff38a0c4f13869c242a2315537d90d91d76dde69

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