Skip to main content

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.

PyPI version License: MIT Python 3.11+

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: your monthly cost doesn't change with traffic, requests, or build minutes. Your deployment reserves fixed resources at a stated monthly maximum, prorated by running time and locked at deploy — resource changes, not traffic, are what change your price.
  • 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 sequence (Postgres, Redis, and other services 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
cd my-app && varitykit app deploy         # 3. live at https://varity.app/my-app/

Starting from scratch? Scaffold with your usual tool (npx create-next-app, npm create vite, …), then deploy the same way.

What kinds of apps work

Validated end-to-end on this release:

Pattern Status Notes
Plain HTML / static sites ✅ Works as-is
Vite SPA / React / Vue / Astro / Qwik ✅ Auto-detected, one command
Next.js — static export and SSR / API routes ✅ Auto-detected, one command
Express / Fastify / NestJS / Koa / Hono ✅ Node APIs and servers
FastAPI / Django / Flask ✅ Python APIs and apps
Container images ✅ Deploy any prebuilt image
Databases & services alongside your app ✅ Postgres, Redis, MongoDB, MySQL, Ollama auto-wire into the same deployment

Go, Rust, Ruby, Elixir, Java, PHP, and .NET source builds are on the roadmap (container images of them deploy today).

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 app deploy          deploy from the current directory
varitykit app templates       list certified deploy templates
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 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 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/
varitykit app deploy --template agent-zero  # deploy a certified template

For dynamic apps (anything with a server), your code currently needs to be in a public GitHub repo so the build can fetch it. Eliminating that requirement is the next thing we're shipping.

Ready-made templates — AI agents and more

Skip the code entirely: the Developer Portal has a gallery of certified templates that deploy in one click. The same gateway-owned catalog is available from the CLI with varitykit app templates and from your AI editor via the Varity MCP.

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 sites, single-container apps, and apps with auto-wired services (a database, a cache, a local LLM) are production-ready and verified end-to-end on this release. Source builds for languages beyond Node and Python aren't supported yet — they return a clear error rather than a broken deploy, and any language already works via a container image.

Support

License

MIT

Release files for varitykit 2.1.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for varitykit 2.1.16
File Size Uploaded
varitykit-2.1.16.tar.gz 59.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for varitykit 2.1.16
File Interpreter ABI Platform
varitykit-2.1.16-py3-none-any.whl Python 3 none any Details

Total release size: 118.3 kB

Release files / varitykit-2.1.16.tar.gz

Download URL varitykit-2.1.16.tar.gz
Size 59.8 kB
Tags Source
SHA-256 checksum
How to use checksums
264d1667245f6339ee69fee7975c1c30d0bba3aadbdaa953256061908b1f6565
BLAKE2b-256 checksum
How to use checksums
c34356fc3a91fbb3cddbd533d9cceeb7cf81ea0c319d0d240433e7085980890b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / varitykit-2.1.16-py3-none-any.whl

Download URL varitykit-2.1.16-py3-none-any.whl
Size 58.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3bc7bf9a63a80a58f7f0187d74f96309aecb6929359bb295a90698716148640
BLAKE2b-256 checksum
How to use checksums
cdd4086d9e4d107b6b0f3e6d82a0ed3641cbb60fd5b1d365b9947f84f7437653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

2.1.16 This release

2 release files

2.1.15

1 release file

2.1.12

1 release file

2.1.10

1 release file

2.1.9

1 release file

2.1.8

2 release files

2.1.7

1 release file

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.0

1 release file

2.0.7

1 release file

2.0.6

1 release file

2.0.5

1 release file

2.0.4

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page