Deploy any app. Flat-rate hardware-reserved hosting — your bill on day 1 equals your bill on day 1000.
Project description
varitykit
Deploy any app — websites, APIs, AI agents — on a predictable flat monthly bill. Your cost on day 1 equals your cost on day 1000. No usage spikes, no traffic surprises.
varitykit is the command-line tool for Varity. You point it at any project — website, API, AI agent — and one command takes it live. Your monthly cost is locked at deploy time and based on the hardware your app reserves: same bill at 100 users or 100,000.
Why people switch
- Predictable bill, forever: your monthly cost doesn't change with traffic, requests, or build minutes. Usage-based hosting typically grows 5-40× as the app does. Varity is built different — flat-rate hardware reservation, locked at deploy.
- One command, every app: static sites, APIs, and AI agents all deploy the same way. Varity auto-detects what you built and configures the runtime.
- No infrastructure to wire up: no Dockerfile, no Kubernetes, no DNS, no region selection, no managed-service signup chain (Postgres, Redis, and other sidecars auto-wire into the same deployment).
Run varitykit app deploy --dry-run to see your estimated monthly cost before you ship.
60-second quickstart
pip install varitykit # 1. install
varitykit login # 2. paste your deploy key
varitykit init my-app # 3. scaffold a new Next.js app
cd my-app && varitykit app deploy # 4. live at https://varity.app/my-app/
Already have an app? Skip step 3. cd into it and run varitykit app deploy.
What kinds of apps work
Validated end-to-end on this release:
| Pattern | Status | Notes |
|---|---|---|
| Plain HTML | ✅ | Works as-is |
| Vite SPA (Vue / React) | ✅ | Build first, then deploy |
Next.js with output: "export" |
✅ | Build first, then deploy |
| Express / Node API | ✅ | Single container; works end-to-end |
| Next.js with API routes / SSR | ✅ | Deploys; multi-service polish underway |
| FastAPI / Flask / Django | ⚠ | Single-container apps work; apps that need Postgres or an LLM hit a startup-ordering issue we're fixing |
| AI agent with a local LLM | ⚠ | Same as above |
Go, Rust, Ruby, Elixir, Java, PHP, and .NET are on the roadmap.
Commands
varitykit doctor check Node 20+, Python 3.11+, git, npm, network
varitykit login [--key ...] save your deploy key (or use VARITY_DEPLOY_KEY env var)
varitykit init <name> scaffold a new Next.js app
varitykit app deploy deploy from the current directory
varitykit app list list your deployments
varitykit app info <id> details for a specific deployment
varitykit app delete <name> stop a deployment and end its billing
varitykit agent list list available AI agent templates
varitykit agent info <name> full details for one agent (env vars, ports, cost)
varitykit migrate --url <gh> convert a Vercel project to Varity
varitykit completions install shell tab completion (bash / zsh / fish)
--debug, --json, --version, and --help are available globally.
varitykit init
Wraps npx create-next-app@latest with sensible defaults (TypeScript, App Router, no preset Tailwind / ESLint) and writes a small varity.config.json next to the scaffold. The previous bundled SaaS template is deprecated; --template is accepted for backward compatibility but routes to the same flow.
varitykit app deploy
varitykit app deploy # auto — figures out everything
varitykit app deploy --hosting static # force static hosting
varitykit app deploy --hosting dynamic # force dynamic hosting
varitykit app deploy --dry-run # show what would deploy without shipping
varitykit app deploy --name staging # custom URL slug → varity.app/staging/
For dynamic apps (anything with a server), your code currently needs to be in a public GitHub repo so the host can fetch it at startup. Eliminating that requirement is the next thing we're shipping. (See KNOWN_ISSUES.md.)
varitykit app deploy --agent <name> — deploy a ready-made AI agent
Skip the code entirely. Pick one of 5 curated AI agent templates and Varity will deploy a working instance for you, exposing it at https://varity.app/<name>/.
| Agent | What it is |
|---|---|
hermes |
Self-hosted Telegram chatbot powered by an LLM |
openclaw |
Claude-compatible web chat UI with persistent history |
agent-zero |
General-purpose AI agent framework — zero required env vars |
autoresearch |
GPU-backed CUDA workstation (SSH access) |
eliza-venice |
ElizaOS agent for Twitter/X automation |
Run varitykit agent info <name> for current monthly cost + setup details (each agent reserves different hardware).
varitykit agent list # see all 5
varitykit agent info hermes # full setup (env vars, ports, cost)
varitykit app deploy --agent hermes --name my-telegram-bot # deploy it
Each agent prompts you for the small set of required environment variables (a bot token, an API key, etc.). When you're done with it: varitykit app delete my-telegram-bot.
varitykit migrate
Converts a Vercel-deployed app to Varity: clones the repo, removes Vercel-specific packages and config (vercel.json, @vercel/blob, @vercel/kv, edge-runtime markers, Next image-optimizer settings), suggests portable replacements (S3-compatible storage for @vercel/blob, ioredis for @vercel/kv), applies them, and deploys.
varitykit migrate --url https://github.com/me/my-vercel-app --dry-run # preview
varitykit migrate --url https://github.com/me/my-vercel-app # do it
Verified on real-world Vercel projects: the Next.js framework itself, leerob/leerob.io, shadcn-ui/taxonomy.
Use Varity from your AI editor
Varity ships an MCP server so Cursor, Claude Code, VS Code Copilot, Windsurf, and other AI tools can deploy without typing.
claude mcp add varity -- npx @varity-labs/mcp # Claude Code
# Then: "deploy this app to Varity"
See @varity-labs/mcp for setup in other clients.
Honest current state
Static deploys (websites, exported Next.js, Vite SPAs) and single-container APIs are production-ready. Multi-service apps — an API with a database, or an AI agent with an LLM — are configured correctly by the CLI, but the order in which the services start up needs polish before launch. See KNOWN_ISSUES.md for the full audit.
Support
- Issues: github.com/varity-labs/varity-sdk/issues
- Discord: discord.gg/7vWsdwa2Bg
License
MIT — see LICENSE.
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 varitykit-2.0.0-py3-none-any.whl.
File metadata
- Download URL: varitykit-2.0.0-py3-none-any.whl
- Upload date:
- Size: 69.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f92a41588ccb7f4e665b92273e0c1f0724743b4365355e8160cf34ec35cdc17
|
|
| MD5 |
a40dcb02c0c13dca4e2ed1e2d60af75c
|
|
| BLAKE2b-256 |
9390726bc331132af5324816be92bdcda36d847396b4890b48cb2db2d0fdf702
|