# Nodus documentation > Nodus is an AI compute platform. You describe work as declarative resources (Jobs, Sandboxes, Functions, Agents, TrainingJobs) and Nodus runs it on the cheapest capacity that will finish it on time, with checkpoints, recovery and exact prepaid billing. Use this index to select a page, then fetch its Markdown URL. The source URL in each page identifies the human-readable documentation. ## Start here - [Choose a compute feature](https://nodus-platform-site.pages.dev/docs/source/guides/choose-compute.md): Jobs, Workspaces, Sandboxes, Functions, Agents and inference. - [First job](https://nodus-platform-site.pages.dev/docs/source/getting-started.md): Install, sign in, run, observe and retrieve outputs. - [Connect an agent](https://nodus-platform-site.pages.dev/connect.md): Reuse existing MCP setup and verify with a read-only request. - [Page manifest](https://nodus-platform-site.pages.dev/docs/pages.json): Titles, descriptions, status, source URLs and bundle URLs without page bodies. - [HTTP API](https://nodus-platform-site.pages.dev/docs/openapi.json): Exact v1 request and response schemas. - [Beta HTTP API](https://nodus-platform-site.pages.dev/docs/openapi-v1beta1.json): Exact v1beta1 schemas. ## Focused bundles - [Start with Nodus](https://nodus-platform-site.pages.dev/docs/bundles/start.md): Install, sign in, run a first job and connect a coding agent. - [Run code](https://nodus-platform-site.pages.dev/docs/bundles/compute.md): Jobs, interactive development, sandboxes and remote Python. - [Models and agents](https://nodus-platform-site.pages.dev/docs/bundles/models.md): Hosted inference, durable agents and model training (Beta). - [Data and recovery](https://nodus-platform-site.pages.dev/docs/bundles/data.md): Images, volumes, outputs, secrets and checkpoint recovery. - [Billing and limits](https://nodus-platform-site.pages.dev/docs/bundles/billing.md): Prepaid credits, usage, budgets and what happens when funds run out. ## Get started - [Get started](https://nodus-platform-site.pages.dev/docs/source/getting-started.md): Install the Nodus CLI, sign in, run a command on a GPU, follow it, get its results and see exactly what it cost. - [Install the CLI](https://nodus-platform-site.pages.dev/docs/source/getting-started/install.md): Install the nodus CLI on macOS, Linux or Windows, verify the download, turn on shell completion and sign in. - [Nodus for kubectl users](https://nodus-platform-site.pages.dev/docs/source/getting-started/kubectl-users.md): How Nodus maps onto the Kubernetes API model, which kubectl verbs nodus supports, and how to point kubectl itself at Nodus. - [Nodus for Modal users](https://nodus-platform-site.pages.dev/docs/source/getting-started/modal-users.md): Move a Modal app to Nodus. The Python SDK keeps Modal's names wherever the concept matches, so most code changes by one import. - [Run your own code](https://nodus-platform-site.pages.dev/docs/source/getting-started/quickstart.md): Run a training script from your own directory on a GPU with nodus run, follow it, download its output and read what it cost. ## Guides - [Find a guide](https://nodus-platform-site.pages.dev/docs/source/guides.md): Choose a task, then read the guide you need. Start with running code and add storage, integrations, or billing as needed. - [API keys and scopes](https://nodus-platform-site.pages.dev/docs/source/guides/access/api-keys-and-scopes.md): Create API keys for scripts and CI, limit what they can do with scopes and projects, and revoke them. - [Connected agents](https://nodus-platform-site.pages.dev/docs/source/guides/access/connected-agents.md): See and disconnect the MCP clients you let act on Nodus for you. - [Device login](https://nodus-platform-site.pages.dev/docs/source/guides/access/device-login.md): Sign the CLI in on a machine without a browser, or from CI with an existing key. - [Members and roles](https://nodus-platform-site.pages.dev/docs/source/guides/access/members-and-roles.md): Invite people to your org, choose their role, and remove members safely. - [Account security](https://nodus-platform-site.pages.dev/docs/source/guides/access/mfa.md): Sign in and control access with organization roles and scoped credentials. - [Projects](https://nodus-platform-site.pages.dev/docs/source/guides/access/projects.md): Group work inside an org with projects, and restrict members and keys to some of them. - [Quotas](https://nodus-platform-site.pages.dev/docs/source/guides/access/quotas.md): See the limits on your org, what counts against them, and how to raise them. - [Service accounts](https://nodus-platform-site.pages.dev/docs/source/guides/access/service-accounts.md): Give CI and code running on Nodus an identity that belongs to the project, not to a person. - [Sign up and create your org](https://nodus-platform-site.pages.dev/docs/source/guides/access/sign-up-and-orgs.md): Create an account, create or join an organization, and switch between the orgs you belong to. - [SSH keys](https://nodus-platform-site.pages.dev/docs/source/guides/access/ssh-keys.md): Add the public keys you use to open a shell in a Workspace. - [Agents (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/agents.md): Run an agent on Claude in its own sandbox, send it follow-up prompts, and pay for the model from your credits. - [Ask Nodus (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/assistant.md): Ask the console assistant why a Job failed, what it cost, or to draft a manifest. It cites the docs, and changes only after you confirm. - [Usage and billing](https://nodus-platform-site.pages.dev/docs/source/guides/billing.md): Add credits, redeem a code, cap spending with Budgets, and see exactly what every run cost. - [Add a card before running work](https://nodus-platform-site.pages.dev/docs/source/guides/billing/add-a-card.md): Save a payment method without buying credits. - [Auto-recharge](https://nodus-platform-site.pages.dev/docs/source/guides/billing/auto-recharge.md): Top up automatically from a saved card when your balance falls below a threshold, so running work never stops for money. - [Budgets and spending caps](https://nodus-platform-site.pages.dev/docs/source/guides/billing/budgets.md): Put an enforced limit on what an org, a project or a labelled group of work can spend, and cap any single run. - [Buy credits](https://nodus-platform-site.pages.dev/docs/source/guides/billing/buy-credits.md): Add prepaid credits with a card through Stripe Checkout from the console, the CLI or the API, and add the $20 Indra plan. - [Credits](https://nodus-platform-site.pages.dev/docs/source/guides/billing/credits.md): The starter credit, credit grants, the order credits are spent in, and when they expire. - [Partner offers](https://nodus-platform-site.pages.dev/docs/source/guides/billing/partner-offers.md): Apply an eligible partner offer and understand promotional matching. - [Promo codes](https://nodus-platform-site.pages.dev/docs/source/guides/billing/promo-codes.md): Redeem a promo code for credit, and what each redemption error means. - [Receipts and invoices](https://nodus-platform-site.pages.dev/docs/source/guides/billing/receipts.md): Find the receipt and invoice for every top-up and plan payment, change where receipts are sent, and manage your card and billing details. - [Refunds](https://nodus-platform-site.pages.dev/docs/source/guides/billing/refunds.md): How to get unspent purchased credit back to your card, and what can be refunded. - [Usage and costs](https://nodus-platform-site.pages.dev/docs/source/guides/billing/usage-and-costs.md): See what each run cost, split by project, label, meter and segment, and export usage as CSV. - [What you pay for](https://nodus-platform-site.pages.dev/docs/source/guides/billing/what-you-pay-for.md): Every kind of time and cost, who pays for it, and the usage segment it appears under. - [When money runs out](https://nodus-platform-site.pages.dev/docs/source/guides/billing/when-money-runs-out.md): How Nodus warns you, stops work gracefully and resumes it when credits, a raised Budget or a raised cap return. - [Checkpoints](https://nodus-platform-site.pages.dev/docs/source/guides/checkpoints.md): Keep a Job's progress through suspends, stops and lost capacity by saving it to the state directory, and answer checkpoint requests so every save is consistent. - [Which Nodus compute feature should I use?](https://nodus-platform-site.pages.dev/docs/source/guides/choose-compute.md): Compare Jobs, Workspaces, Sandboxes and Functions. Choose the right way to run code, call models, run agents or train a model on Nodus. - [Connections](https://nodus-platform-site.pages.dev/docs/source/guides/connections.md): Connect databases, S3 buckets, Weights & Biases and GitHub once, verified, and use them from Jobs, Sandboxes, imports and outputs. - [Use the console](https://nodus-platform-site.pages.dev/docs/source/guides/console.md): Sign in, find your work, follow it live and copy the matching CLI command from any page. - [Environments](https://nodus-platform-site.pages.dev/docs/source/guides/environments.md): Task sets with graders for reinforcement learning and evaluation, from the Nodus catalog or your own image. - [Functions](https://nodus-platform-site.pages.dev/docs/source/guides/functions.md): Run Python functions on Nodus workers, deploy them as an App that stays up, and look them up from anywhere. - [What is billed while warm](https://nodus-platform-site.pages.dev/docs/source/guides/functions/billing.md): How Function workers are billed when they run calls, when they wait, and when they scale to zero. - [Call a Function](https://nodus-platform-site.pages.dev/docs/source/guides/functions/calls.md): Run one call, start calls without waiting, or map a Function over thousands of inputs, and read what comes back. - [Scaling and warm workers](https://nodus-platform-site.pages.dev/docs/source/guides/functions/scaling.md): Set how many workers a Function keeps, how long an idle one stays, and how many calls each runs at once. - [Choose GPUs and check availability](https://nodus-platform-site.pages.dev/docs/source/guides/gpus.md): See which accelerators are available right now, what they cost, and how to ask for exactly the hardware your run needs. - [Images](https://nodus-platform-site.pages.dev/docs/source/guides/images.md): Run on the catalog images, build your own from a few steps or a Dockerfile, and use private registries. - [Inference (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/inference.md): Call hosted models through an OpenAI-compatible API, route with Indra, and pay per token. - [Jobs](https://nodus-platform-site.pages.dev/docs/source/guides/jobs.md): Run a command to completion on a GPU or CPU, watch it, and download what it wrote. - [Logs and metrics](https://nodus-platform-site.pages.dev/docs/source/guides/logs.md): Follow a Job's output live, read it back after the capacity is gone, and watch GPU, CPU and memory use with nodus top. - [MCP](https://nodus-platform-site.pages.dev/docs/source/guides/mcp.md): Let Claude Code, Cursor, Codex and other agents use Nodus through one MCP server, with confirmation before anything is created. - [Migrate from Nodus Compute 0.x](https://nodus-platform-site.pages.dev/docs/source/guides/migrate-from-0x.md): What moves to the new Nodus automatically, what you recreate, and how the CLI, SDK, agents and billing change. - [Multi-node training (Beta) (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/multi-node.md): Run one training job across several machines with torchrun, Ray or your own launcher, and understand what it costs to assemble them. - [Notifications](https://nodus-platform-site.pages.dev/docs/source/guides/notifications.md): Which emails Nodus sends, who receives them, how often, and how to switch off the optional ones. - [Outputs](https://nodus-platform-site.pages.dev/docs/source/guides/outputs.md): Collect files from a Job, download them with a verified checksum, and load results into Postgres. - [Pipelines](https://nodus-platform-site.pages.dev/docs/source/guides/pipelines.md): Chain Jobs into stages that pass outputs along, run in parallel where they can, and share one spending cap. - [Run jobs on your own machines](https://nodus-platform-site.pages.dev/docs/source/guides/pools.md): Enroll your hosts into a pool, route jobs to them first, forecast demand and automate routine actions. - [Connect your cloud accounts](https://nodus-platform-site.pages.dev/docs/source/guides/pools/cloud-accounts.md): Give Nodus read-only access to AWS or GCP to list GPU instances and spend, enroll instances into pools and revoke access at any time. - [Python SDK](https://nodus-platform-site.pages.dev/docs/source/guides/python.md): Install the nodus-compute package, sign in, and run your first Function, Sandbox and Job from Python. - [Agents (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/python/agents.md): Define an agent on Claude from Python, submit runs, run many in parallel, and read each run's answer and steps. - [The resource API](https://nodus-platform-site.pages.dev/docs/source/guides/python/api.md): Read, watch, apply and patch any Nodus kind from Python with nodus.api, the generic client under the SDK. - [Functions and classes](https://nodus-platform-site.pages.dev/docs/source/guides/python/functions.md): Define Functions with @app.function, call them with .remote, .map and .spawn, keep state in @app.cls classes, and deploy Apps. - [Inference](https://nodus-platform-site.pages.dev/docs/source/guides/python/inference.md): Call catalog models with the official OpenAI and Anthropic clients through nodus.llm, and create named InferenceEndpoints. - [Jobs](https://nodus-platform-site.pages.dev/docs/source/guides/python/jobs.md): Run a container to completion from Python with your code uploaded, follow its logs, download its outputs and run multi-node gangs. - [Sandboxes](https://nodus-platform-site.pages.dev/docs/source/guides/python/sandboxes.md): Create isolated containers from Python, run commands in them, move files and snapshot their filesystem. - [Images, Volumes and Secrets](https://nodus-platform-site.pages.dev/docs/source/guides/python/storage.md): Build container images from Python, share files between workers with Volumes, and pass credentials with Secrets. - [Workspaces](https://nodus-platform-site.pages.dev/docs/source/guides/python/workspaces.md): Create a development machine with SSH, VS Code, JupyterLab and a persistent home from Python. - [Sandboxes](https://nodus-platform-site.pages.dev/docs/source/guides/sandboxes.md): Create an isolated container, run commands in it with streaming output, read and write files, and stop it to stop paying for compute. - [Secrets](https://nodus-platform-site.pages.dev/docs/source/guides/secrets.md): Store API tokens, credentials and registry logins once, and pass them to Jobs, Sandboxes, Functions and Agents as env vars and files. - [Sweeps](https://nodus-platform-site.pages.dev/docs/source/guides/sweeps.md): Run one Job across GPU types, regions and parameter values, and compare cost, time and throughput per cell. - [Training (Beta) (Beta)](https://nodus-platform-site.pages.dev/docs/source/guides/training.md): Fine-tune, post-train, distill and pretrain models with TrainingJobs on managed runtimes, on one GPU or across several machines. - [Volumes](https://nodus-platform-site.pages.dev/docs/source/guides/volumes.md): Keep datasets, model weights and working files in Volumes, upload and download them, import from Hugging Face, git, URLs or S3, and mount them in Jobs and Sandboxes. - [Webhooks](https://nodus-platform-site.pages.dev/docs/source/guides/webhooks.md): Get signed HTTPS callbacks when Jobs finish, balances run low and other events happen, and verify them. - [Workspaces](https://nodus-platform-site.pages.dev/docs/source/guides/workspaces.md): A GPU or CPU development machine with a saved home directory, reached with SSH, VS Code or JupyterLab. ## Concepts - [How Nodus works](https://nodus-platform-site.pages.dev/docs/source/concepts.md): Resources, orgs and projects, how your work is placed and kept alive, and how prepaid billing measures it. - [Attempts and recovery](https://nodus-platform-site.pages.dev/docs/source/concepts/attempts-and-recovery.md): How a run survives a reclaimed or lost machine, what each continuity mode keeps, and who pays for the time a recovery takes. - [How billing works](https://nodus-platform-site.pages.dev/docs/source/concepts/billing.md): Prepaid credits, holds before every paid action, exact per-second charges, and what happens when money runs out. - [The resource model](https://nodus-platform-site.pages.dev/docs/source/concepts/core-resource-model.md): How every Nodus object is named, stored, changed, watched and deleted, and how that maps to Kubernetes tools. - [Durable execution (Beta)](https://nodus-platform-site.pages.dev/docs/source/concepts/durable-execution.md): How an agent run survives restarts, and what it needs from your code to do so. - [Gang networking (Beta)](https://nodus-platform-site.pages.dev/docs/source/concepts/gang-networking.md): How the members of a distributed Job reach each other across machines and providers, how Nodus checks the path before training starts, and what each path can carry. - [Lifecycles](https://nodus-platform-site.pages.dev/docs/source/concepts/lifecycles.md): The phases a Job, Pipeline or Sweep moves through, what moves it, and how spec.state and conditions relate. - [Container runtime contract](https://nodus-platform-site.pages.dev/docs/source/concepts/nodusd-container-contract.md): The directories, environment variables and sockets your code sees inside every Nodus container. - [Pricing](https://nodus-platform-site.pages.dev/docs/source/concepts/pricing.md): How Nodus sets your rate, what each second and token costs, and how to see the price before you launch. - [Sandbox isolation](https://nodus-platform-site.pages.dev/docs/source/concepts/sandboxes-isolation.md): What keeps a Sandbox apart from the machine, from other Sandboxes and from the network, and what is kept when it stops. - [Placement and scheduling profiles](https://nodus-platform-site.pages.dev/docs/source/concepts/supply-placement.md): How Nodus chooses where a run executes, what the estimate includes, and how profiles, deadlines and budgets change the choice. ## Reference - [Reference](https://nodus-platform-site.pages.dev/docs/source/reference.md): Look up exact CLI commands, Python signatures, API fields, errors, and prices. - [HTTP API](https://nodus-platform-site.pages.dev/docs/source/reference/api.md): The Nodus REST API, Kubernetes-style resources under /apis/nodus.dev, generated from the Go types. - [CLI reference](https://nodus-platform-site.pages.dev/docs/source/reference/cli.md): Every nodus command, flag and example, generated from the CLI's command tree. - [nodus](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus.md): Run compute Jobs on Nodus - [nodus agentrun](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun.md): Message an AgentRun and read its steps and answer - [nodus agentrun answer](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_answer.md): Print an AgentRun's last answer in full - [nodus agentrun send](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_send.md): Send a message to an AgentRun, which takes it as its next prompt - [nodus agentrun steps](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_steps.md): List an AgentRun's journal steps: what it did, in order - [nodus annotate](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_annotate.md): Set or remove annotations - [nodus api-resources](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_api-resources.md): List the kinds the server offers - [nodus apply](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_apply.md): Create or update resources from manifests (client-side three-way merge) - [nodus attach](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_attach.md): Attach to a running Process of a Job, Sandbox or Workspace - [nodus auth](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth.md): Credentials for other tools, and permission checks - [nodus auth can-i](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth_can-i.md): Check whether the current credential may perform an action - [nodus auth token](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth_token.md): Print an ExecCredential for kubectl and client-go (the kubeconfig exec plugin) - [nodus billing](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing.md): Show the org's balance; top up, redeem a code and manage auto-recharge - [nodus billing auto-recharge](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_auto-recharge.md): Top up automatically when available credit falls below a threshold - [nodus billing deal](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_deal.md): View partner offers or request an eligibility review - [nodus billing portal](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_portal.md): Open the Stripe Customer Portal: cards, invoices and billing details - [nodus billing receipts](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_receipts.md): List top-ups with their Stripe receipt links - [nodus billing redeem](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_redeem.md): Redeem a promo code for credit - [nodus billing top-up](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_top-up.md): Buy prepaid credit with Stripe Checkout ($5–$1,000) - [nodus billing usage](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_usage.md): Show metered usage, itemized or summed by project, kind, member, label, meter, day, segment, offering or rank - [nodus cancel](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cancel.md): Cancel a run, FunctionCall or Process - [nodus cloud](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cloud.md): Inspect connected cloud accounts - [nodus cloud inventory](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cloud_inventory.md): List the instances, GPUs or spend a cloud account's last sync saw - [nodus completion](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion.md): Generate the autocompletion script for the specified shell - [nodus completion bash](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_bash.md): Generate the autocompletion script for bash - [nodus completion fish](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_fish.md): Generate the autocompletion script for fish - [nodus completion powershell](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_powershell.md): Generate the autocompletion script for powershell - [nodus completion zsh](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_zsh.md): Generate the autocompletion script for zsh - [nodus config](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config.md): Show and change contexts in ~/.nodus/config - [nodus config current-context](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_current-context.md): Print the current context - [nodus config get-contexts](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_get-contexts.md): List contexts - [nodus config set-context](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_set-context.md): Change a context's project or server (NAME defaults to the current context) - [nodus config use-context](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_use-context.md): Switch the current context - [nodus config view](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_view.md): Print the config (keys stay in the keychain) - [nodus convert](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_convert.md): Turn a 0.x nodus.toml or training file into manifests for nodus apply - [nodus cp](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cp.md): Copy files to and from a running Sandbox, Workspace or Job, or download a Job output - [nodus create](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create.md): Create resources from manifests or with a typed generator - [nodus create agentgroup](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_agentgroup.md): Create a agentgroup - [nodus create agentrun](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_agentrun.md): Create a agentrun - [nodus create apikey](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_apikey.md): Create an API key (printed once) - [nodus create budget](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_budget.md): Create a budget - [nodus create enrollmenttoken](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_enrollmenttoken.md): Create a token that enrolls one host into a Pool (installer printed once) - [nodus create inferenceendpoint](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_inferenceendpoint.md): Create a inferenceendpoint - [nodus create invite](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_invite.md): Invite someone to the org by email - [nodus create sandbox](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_sandbox.md): Create a sandbox - [nodus create secret](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_secret.md): Create a secret - [nodus create sshkey](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_sshkey.md): Add an SSH public key, or generate a key pair and add it - [nodus create token](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_token.md): Mint a ServiceAccount API key (printed once) - [nodus create volume](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_volume.md): Create a volume - [nodus create workspace](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_workspace.md): Create a workspace - [nodus delete](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_delete.md): Delete resources - [nodus deploy](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_deploy.md): Deploy the nodus.App in APP.py as a persistent App - [nodus describe](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_describe.md): Show everything about one resource: attempts, placement, checkpoint, cost, conditions and events - [nodus diff](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_diff.md): Show what apply would change, from a server dry-run (exit 1 when there are differences) - [nodus edit](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_edit.md): Edit a resource in $EDITOR and save it as a merge patch - [nodus events](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_events.md): List events in the project, or for one object, and watch for new ones - [nodus exec](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_exec.md): Run a command in a running Job, Sandbox or Workspace (recorded as a Process) - [nodus explain](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_explain.md): Show the documentation of a kind or one of its fields - [nodus get](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get.md): List or show resources - [nodus get transactions](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get_transactions.md): List postings on the org's wallet with the balance after each - [nodus get usage](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get_usage.md): Show metered usage, itemized or summed by project, kind, member, label, meter, day, segment, offering or rank - [nodus inference](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference.md): Call hosted models: list them, send a chat completion and read a request's receipt - [nodus inference chat](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_chat.md): Send one chat completion and print the answer; the request id and charge go to stderr - [nodus inference models](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_models.md): List the models you can call now - [nodus inference receipt](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_receipt.md): Show what one inference request was charged (receipts are kept 30 days) - [nodus init](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_init.md): Scaffold a manifest or app.py in the current directory - [nodus label](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_label.md): Set or remove labels - [nodus login](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_login.md): Sign in through the console and store one API key per chosen org - [nodus logout](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_logout.md): Revoke the context's CLI key and remove the context - [nodus logs](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_logs.md): Print or follow a resource's output - [nodus mcp](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_mcp.md): Serve Nodus tools to a local MCP client over stdio - [nodus mcp install](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_mcp_install.md): Add the Nodus MCP server to Claude Code, Cursor or Codex - [nodus open](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_open.md): Open a resource's console page, or a port of its container, in the browser - [nodus patch](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_patch.md): Update fields of a resource with a merge or JSON patch - [nodus pool](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool.md): Pool utilization, forecasts, recommendations and actions - [nodus pool approve](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_approve.md): Approve a proposed PoolAction - [nodus pool forecast](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_forecast.md): Show a pool's demand forecast with p50 and p90 bands - [nodus pool pause](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_pause.md): Pause every automated action in a pool - [nodus pool recommendations](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_recommendations.md): List a pool's recommendations - [nodus pool reject](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_reject.md): Reject a proposed PoolAction - [nodus pool resume](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_resume.md): Resume every automated action in a pool - [nodus pool revert](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_revert.md): Undo an executed PoolAction where the action allows it - [nodus pool utilization](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_utilization.md): Show a pool's GPU utilization and device-hour ledger - [nodus port-forward](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_port-forward.md): Forward local ports to a Job, Sandbox or Workspace - [nodus request](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_request.md): Request an action: restart, refresh-secrets, reload-sinks, verify, resend, start, reimport, approve-burst, drain - [nodus resume](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_resume.md): Resume a suspended run - [nodus rollout](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_rollout.md): Roll out changes - [nodus rollout restart](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_rollout_restart.md): Restart without a spec change (alias of `request restart`) - [nodus run](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_run.md): Run a command as a Job: estimate, phases, logs and the final cost - [nodus secret](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_secret.md): Create Secrets from literals, env files or registry logins - [nodus secret create](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_secret_create.md): Create a Secret - [nodus serve](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_serve.md): Run the App in APP.py and redeploy it whenever a file changes - [nodus shell](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_shell.md): Open an interactive shell in a Sandbox, creating it if it is not there - [nodus ssh](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_ssh.md): Connect to a Workspace over SSH - [nodus start](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_start.md): Start a stopped Sandbox, Workspace, Function, Agent or InferenceEndpoint - [nodus stop](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_stop.md): Stop a Sandbox, Workspace, Function, Agent or InferenceEndpoint - [nodus suspend](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_suspend.md): Suspend a Job, Pipeline, Sweep, TrainingJob or AgentRun (checkpointing first) - [nodus top](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_top.md): Show GPU, CPU and memory use, the hourly rate and spend of running Jobs - [nodus version](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_version.md): Print the client version - [nodus volume](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume.md): Put, get, list and remove the files of a Volume - [nodus volume clear](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_clear.md): Commit an empty revision; the Volume and its history stay - [nodus volume get](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_get.md): Download a file or directory from a Volume - [nodus volume ls](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_ls.md): List a directory of a Volume - [nodus volume put](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_put.md): Add a local file or directory to a Volume as a new revision - [nodus volume rm](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_rm.md): Remove a file or directory from a Volume as a new revision - [nodus wait](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_wait.md): Wait until a resource meets a condition - [nodus whoami](https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_whoami.md): Show the signed-in principal, org, role, project, scopes and available credit - [Environments](https://nodus-platform-site.pages.dev/docs/source/reference/environments.md): Every catalog Environment, its category, reward and readiness. - [arithmetic-v2](https://nodus-platform-site.pages.dev/docs/source/reference/environments/arithmetic-v2.md): Evaluate short integer expressions with standard precedence and give the exact result. - [graph-coloring](https://nodus-platform-site.pages.dev/docs/source/reference/environments/graph-coloring.md): Color a small graph with three colors so that no edge joins two nodes of the same color. - [gsm8k](https://nodus-platform-site.pages.dev/docs/source/reference/environments/gsm8k.md): Eight thousand grade-school maths word problems, each with a worked solution and a single numeric answer. - [letter-counting-legacy-eval](https://nodus-platform-site.pages.dev/docs/source/reference/environments/letter-counting-legacy-eval.md): Legacy letter-counting evaluation protocol: first 64 generated tasks, raw completion scoring. - [letter-counting-legacy-rl](https://nodus-platform-site.pages.dev/docs/source/reference/environments/letter-counting-legacy-rl.md): Legacy letter-counting RL protocol: first 64 generated tasks train, next 64 held out. - [python-functions](https://nodus-platform-site.pages.dev/docs/source/reference/environments/python-functions.md): Write solve(values: list[int]) -> int from a one-line specification; private cases decide the verdict. - [reasoning-gym](https://nodus-platform-site.pages.dev/docs/source/reference/environments/reasoning-gym.md): Procedural reasoning generators with deterministic algorithmic scorers; only reviewed families are served. - [Error codes](https://nodus-platform-site.pages.dev/docs/source/reference/errors.md): One page per API error code, with its HTTP status, what it means and how to fix it. - [AdmissionsPaused](https://nodus-platform-site.pages.dev/docs/source/reference/errors/admissions-paused.md): Operators paused admissions for this kind; existing objects keep running. - [AgentGroupClosed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-group-closed.md): A sealed, canceled, finished or deleting AgentGroup admits no new member runs. - [AgentGroupFull](https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-group-full.md): An AgentGroup admits at most spec.limits.maxPending unfinished member runs. - [AgentRunFinished](https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-run-finished.md): A run in a terminal phase (Succeeded, Failed or canceled) no longer reads its inbox. - [AgentStopped](https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-stopped.md): An Agent in the Stopped state refuses new runs; runs already created are not affected. - [AlreadyExists](https://nodus-platform-site.pages.dev/docs/source/reference/errors/already-exists.md): A create by name found an object with that name whose spec differs; an identical create returns the object. - [ArrearsOutstanding](https://nodus-platform-site.pages.dev/docs/source/reference/errors/arrears-outstanding.md): Charges that the org's credits could not cover are unpaid; they block new work until they are settled. - [BadRequest](https://nodus-platform-site.pages.dev/docs/source/reference/errors/bad-request.md): The request is malformed: a query parameter, selector or body could not be parsed. - [BudgetExceeded](https://nodus-platform-site.pages.dev/docs/source/reference/errors/budget-exceeded.md): A Block budget or a maxCostUSD cap that applies to the object has less room than the action's hold. - [CapacityUnavailable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/capacity-unavailable.md): No offering that meets the requirements has capacity at the moment. - [CloudAccountNotVerified](https://nodus-platform-site.pages.dev/docs/source/reference/errors/cloud-account-not-verified.md): Nodus reads inventory only after it has verified the account's read-only access. - [Conflict](https://nodus-platform-site.pages.dev/docs/source/reference/errors/conflict.md): The object changed after the caller read it (the resourceVersion is stale). - [ConnectionNotReady](https://nodus-platform-site.pages.dev/docs/source/reference/errors/connection-not-ready.md): A Connection is usable once a verification passed. - [EncryptionFailed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/encryption-failed.md): The org's encryption key was unavailable; nothing was stored. - [EnrollmentTokenInvalid](https://nodus-platform-site.pages.dev/docs/source/reference/errors/enrollment-token-invalid.md): An enrollment token works once, for 24 hours, for the pool it was created for. - [Expired](https://nodus-platform-site.pages.dev/docs/source/reference/errors/expired.md): The watch position or list continue token is older than the 24-hour change history. - [FieldImmutable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/field-immutable.md): The update changes a spec field that is immutable after create; the causes list each changed field. - [FileTooLarge](https://nodus-platform-site.pages.dev/docs/source/reference/errors/file-too-large.md): A file request carries at most 64 MiB; larger data does not go through the files API. - [Forbidden](https://nodus-platform-site.pages.dev/docs/source/reference/errors/forbidden.md): The credential is valid but lacks the scope or project access the operation needs. - [FunctionCallBatchTooLarge](https://nodus-platform-site.pages.dev/docs/source/reference/errors/function-call-batch-too-large.md): A batch create takes at most 1,000 calls and 8 MiB. - [FunctionNotFound](https://nodus-platform-site.pages.dev/docs/source/reference/errors/function-not-found.md): The Function does not exist in the project, or it was deleted since the call was prepared. - [IdempotencyKeyReused](https://nodus-platform-site.pages.dev/docs/source/reference/errors/idempotency-key-reused.md): The Idempotency-Key was used in the last 24 hours with a different request body. - [ImageBuildUnavailable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-build-unavailable.md): This deployment cannot build image steps, Dockerfiles or Sandbox snapshots; prebuilt registry images remain supported. - [ImageNotFound](https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-not-found.md): The tag or digest does not exist in the registry, or the pull credentials cannot see it. - [ImageNotReady](https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-not-ready.md): An imageRef runs the digest the Image built; the Image has none yet. - [ImagePullFailed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-pull-failed.md): The registry refused the credentials or was unavailable while pinning the image to a digest. - [InsufficientCredits](https://nodus-platform-site.pages.dev/docs/source/reference/errors/insufficient-credits.md): The org's available credits do not cover the hold that the action reserves before it starts. - [InternalError](https://nodus-platform-site.pages.dev/docs/source/reference/errors/internal-error.md): The server hit an unexpected failure; the request id finds it in the logs. - [Invalid](https://nodus-platform-site.pages.dev/docs/source/reference/errors/invalid.md): The object fails strict decoding or validation; `details.causes` lists every field and reason. - [MethodNotAllowed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/method-not-allowed.md): The resource does not support this verb (for example, a read-only kind). - [NoSSHKey](https://nodus-platform-site.pages.dev/docs/source/reference/errors/no-ssh-key.md): The Workspace accepts only the SSHKeys named in spec.sshKeys, or every project member's keys when it names none. - [NotFound](https://nodus-platform-site.pages.dev/docs/source/reference/errors/not-found.md): The object, project or path does not exist in this org. - [OutputIndexRequired](https://nodus-platform-site.pages.dev/docs/source/reference/errors/output-index-required.md): Several indexes of an Indexed Job committed the output; the download must pick one. - [OutputNotFound](https://nodus-platform-site.pages.dev/docs/source/reference/errors/output-not-found.md): The Job did not commit an output by that name, or not at that index. - [PaymentDisputed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-disputed.md): A card payment on the org is disputed; new work cannot start until the dispute closes. - [PaymentMethodRequired](https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-method-required.md): New work requires a verified card, including work funded by promotional credit. Adding a card does not charge it. - [PaymentVerificationUnavailable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-verification-unavailable.md): Stripe could not confirm the payment method. Existing running work retains its funded holds. - [PaymentsNotConfigured](https://nodus-platform-site.pages.dev/docs/source/reference/errors/payments-not-configured.md): The deployment holds no Stripe key, so it takes no card payments; balances, grants and usage still work. - [PoolActPaused](https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-act-paused.md): The pool's kill switch stops every action until it is resumed. - [PoolActionNotPending](https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-action-not-pending.md): Only a queued, undecided action waits for a decision; it may have expired or been decided by someone else. - [PoolActionNotReversible](https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-action-not-reversible.md): Only an executed drain, undrain or routing change can be reverted, once. - [PoolInUse](https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-in-use.md): A Pool is deleted only once no Node is enrolled in it and no object names it in spec.placement.pool. - [PreconditionFailed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/precondition-failed.md): The If-Match value no longer matches the compiled spec and price book of a fresh dry-run. - [PriceConsentRequired](https://nodus-platform-site.pages.dev/docs/source/reference/errors/price-consent-required.md): Pool routing and Predict are billed, so turning either on records consent to its current price. - [PromoCodeExpired](https://nodus-platform-site.pages.dev/docs/source/reference/errors/promo-code-expired.md): The promo code exists but can no longer be redeemed. - [PromoCodeUsed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/promo-code-used.md): The org has already redeemed the code as often as it may, or the code has no redemptions left. - [QuotaExceeded](https://nodus-platform-site.pages.dev/docs/source/reference/errors/quota-exceeded.md): The org or project already uses everything its Quota allows of this counter. - [RequestEntityTooLarge](https://nodus-platform-site.pages.dev/docs/source/reference/errors/request-entity-too-large.md): The request body is larger than the route accepts (1 MiB for JSON). - [RequestInProgress](https://nodus-platform-site.pages.dev/docs/source/reference/errors/request-in-progress.md): The original request with this Idempotency-Key has not finished yet. - [SandboxFailed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-failed.md): The Sandbox is in the Failed phase, which is final: status.reason says why. - [SandboxNotRunning](https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-not-running.md): The Sandbox is being deleted, so no command, file or port request can reach it and none starts it. - [SandboxStarting](https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-starting.md): The request needs the Sandbox's container, which is not running yet. A stopped Sandbox is started by the request itself; the answer carries Retry-After. - [SecretValueInEnv](https://nodus-platform-site.pages.dev/docs/source/reference/errors/secret-value-in-env.md): Secret values reach a Job or Sandbox only through secrets or valueFrom.secretKeyRef, never as literals. - [SHA256Mismatch](https://nodus-platform-site.pages.dev/docs/source/reference/errors/sha256-mismatch.md): A write with expectedSHA256 found different content than the writer started from, so nothing was written. - [StdinBackpressure](https://nodus-platform-site.pages.dev/docs/source/reference/errors/stdin-backpressure.md): The process's stdin buffer is full, so the write was refused without losing earlier input. - [TooManyRequests](https://nodus-platform-site.pages.dev/docs/source/reference/errors/too-many-requests.md): The credential sent too many requests of this class; the RateLimit headers show the budget. - [TopUpLimitReached](https://nodus-platform-site.pages.dev/docs/source/reference/errors/top-up-limit-reached.md): An org buys at most $5,000 of credit through Checkout per UTC day. - [Unauthorized](https://nodus-platform-site.pages.dev/docs/source/reference/errors/unauthorized.md): The request carries no valid credential, or the credential expired. - [Unavailable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/unavailable.md): A dependency of the API is temporarily unavailable. - [Unsupported](https://nodus-platform-site.pages.dev/docs/source/reference/errors/unsupported.md): The request is well formed but asks for a feature this API does not offer. - [UnsupportedMediaType](https://nodus-platform-site.pages.dev/docs/source/reference/errors/unsupported-media-type.md): The request body's Content-Type is not accepted; strategic merge patch is not supported. - [VolumeBusy](https://nodus-platform-site.pages.dev/docs/source/reference/errors/volume-busy.md): A ReadWriteOnce Volume has one writer; another attempt holds its lease. - [WorkerNotAllowed](https://nodus-platform-site.pages.dev/docs/source/reference/errors/worker-not-allowed.md): Only the Function's own worker attempts, through their ServiceAccount token, can claim its calls. - [WorkspaceStarting](https://nodus-platform-site.pages.dev/docs/source/reference/errors/workspace-starting.md): The Workspace has no running session yet: it is starting, or the request woke it from a stop. - [WorkspaceToolUnavailable](https://nodus-platform-site.pages.dev/docs/source/reference/errors/workspace-tool-unavailable.md): A browser tool has a preview URL only while the Workspace is running and lists the tool in spec.tools. - [Pricing](https://nodus-platform-site.pages.dev/docs/source/reference/pricing.md): Every published Nodus rate, from GPU and CPU list prices to Nodus nodes, storage, egress and models. - [Python SDK reference](https://nodus-platform-site.pages.dev/docs/source/reference/python.md): Every public module, class and function of the nodus-compute package, generated from its docstrings. - [nodus](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus.md): Nodus Python SDK (`pip install nodus-compute`). - [nodus.agent](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-agent.md): Agents: durable runs on the journal engine (resources.md §4.1 to §4.3, ADR-048, ADR-101). - [nodus.api](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-api.md): Layer 1 of the SDK: the generic resource client over every kind (resources.md §10.3). - [nodus.api.models](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-api-models.md): Pydantic v2 models for every kind, generated from `api/openapi` by `make gen` (datamodel-code-generator). - [nodus.app](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-app.md): `App`: the group of Functions defined in one Python file (resources.md §3.9, ADR-047). - [nodus.checkpoint](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-checkpoint.md): The checkpoint handshake and gang checkpoints (resources.md §8, distributed-training.md §10.3). - [nodus.cluster](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-cluster.md): `nodus.cluster.info()`: the gang env contract of distributed-training.md §3.6, as one object. - [nodus.envs](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-envs.md): Helpers for building your own Environment and datasets: `nodus.envs.split`. - [nodus.errors](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-errors.md): Errors raised by the Nodus SDK. - [nodus.examples](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-examples.md): Runnable examples that ship with the SDK: `python -m nodus.examples.rl` trains a model with RL. - [nodus.examples.rl](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-examples-rl.md): Reinforcement learning in one file: teach a small model to spell words backwards. - [nodus.functions](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-functions.md): Functions, FunctionCalls and `@app.cls` classes (resources.md §3.10, §3.11, ADR-047, ADR-110). - [nodus.image](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-image.md): The Modal-shaped `Image` builder (resources.md §5.3). - [nodus.integrations](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations.md): Framework callbacks that report training progress to Nodus from inside a container. - [nodus.integrations.lightning](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations-lightning.md): `NodusCallback` for a Lightning `Trainer` (ADR-103). - [nodus.integrations.transformers](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations-transformers.md): `NodusCallback` for the Hugging Face `Trainer` and every TRL trainer built on it (ADR-103). - [nodus.job](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-job.md): `Job`: a run-to-completion container with checkpoints, recovery and outputs (resources.md §3.1). - [nodus.llm](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-llm.md): OpenAI- and Anthropic-compatible inference (resources.md §4.5, §4.6, ADR-049, ADR-100). - [nodus.log](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-log.md): Structured telemetry from inside a container: metrics, RL task outcomes, work units and phases. - [nodus.outputs](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-outputs.md): `nodus.outputs.verify()`: fail fast inside a Job when its model output would not load (resources.md §10.5). - [nodus.process](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-process.md): Processes and files inside a running Job, Sandbox or Workspace (resources.md §3.6). - [nodus.recipes](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes.md): Training recipes: TrainingJob builders for fine-tuning, pretraining, distillation, preference training and RL. - [nodus.recipes.finetune](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes-finetune.md): Fine-tuning, preference training, distillation and pretraining recipes on the catalog runtimes. - [nodus.recipes.rl](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes-rl.md): Reinforcement learning and evaluation on catalog Environments or your own. - [nodus.runtime](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-runtime.md): In-container helpers that speak nodusd's sockets (resources.md §8); each is a no-op outside Nodus. - [nodus.sandbox](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-sandbox.md): `Sandbox`: an isolated long-running container driven by exec, files and tunnels (resources.md §3.5, ADR-044). - [nodus.secret](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-secret.md): `Secret` references (resources.md §5.2). Values are write-only: nothing the API returns contains them. - [nodus.sweep](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-sweep.md): `Sweep`: one Job template run across a matrix of GPUs, regions and parameters (resources.md §3.3, ADR-051). - [nodus.volume](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-volume.md): `Volume`: named storage with Modal's commit and reload semantics for `ReadWriteMany` (resources.md §5.1, ADR-091). - [nodus.workspace](https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-workspace.md): `Workspace`: a development machine with SSH, VS Code, JupyterLab and a persistent home (resources.md §3.8). - [Training runtimes](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes.md): Every catalog TrainingRuntime, its task and modes. - [distill](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/distill.md): Knowledge distillation from a teacher model; lmbda 0 is offline distillation - [dpo](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/dpo.md): Direct preference optimization on prompt, chosen and rejected rows - [evaluate](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/evaluate.md): Benchmark evaluation on standard tasks, or over an Environment's held-out tasks - [grpo-lora](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/grpo-lora.md): GRPO reinforcement learning with a LoRA adapter over an Environment, graded by the platform - [kto](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/kto.md): Kahneman-Tversky optimization on unpaired desirable and undesirable completions - [orpo](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/orpo.md): Odds-ratio preference optimization: SFT and preference alignment in one pass, no reference model - [reward-model](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/reward-model.md): Reward-model training: a one-logit head scored on chosen versus rejected - [sft](https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/sft.md): Supervised fine-tuning (full, LoRA, QLoRA) and pretraining with task: Pretrain - [Server configuration](https://nodus-platform-site.pages.dev/docs/source/reference/server-configuration.md): Every environment variable nodus-server, the node agent and the CLI read. - [Troubleshooting](https://nodus-platform-site.pages.dev/docs/source/reference/troubleshooting.md): What to check when sign-in, a launch, a running job, outputs or billing do not behave as you expect. ## For coding agents - [For coding agents](https://nodus-platform-site.pages.dev/docs/source/for-agents.md): Connect a coding agent over MCP, and the machine-readable versions of these docs, the API and the setup.