Adoption Radar

Adopt means use it. Trial means try it. Assess means watch it. Hold means avoid for now. Each tool links the proof.

What the rings mean

  • Adopt. Use it. Stable, updated in the last 6 months, lots of people use it.
  • Trial. Try it. Still young (before 1.0), or quiet for 6 to 18 months, or few users yet.
  • Assess. Watch it. Brand new, less than a year old.
  • Hold. Avoid for now. Dead, deprecated, or no update in 18 months.

Dot shape shows the license: ● open source, ■ free or free tier, ◆ paid. Every tool links the release page or notice that puts it in its ring.

The same tools as a table
ToolFamilyCategoryRingLicenseEasy to useBig real systems
LocalStack Local AWS cloud emulator in a container Local services & data Cloud emulators Adopt Free tier, paid plans 60 30
Moto Mock AWS services for Python tests or as a server Local services & data Cloud emulators Adopt Open source 50 10
MinIO S3-compatible object storage server Local services & data Cloud emulators Hold Open source 60 20
Azurite Local emulator for Azure Blob, Queue and Table storage Local services & data Cloud emulators Adopt Open source 60 20
Firebase Emulator Suite Local Firestore, Auth, Functions and more with a UI Local services & data Cloud emulators Adopt Open source 70 30
Google Cloud emulators gcloud emulators for Pub/Sub, Firestore, Spanner, Bigtable Local services & data Cloud emulators Adopt Free, closed source 40 10
Miniflare Local simulator for Cloudflare Workers on workerd Local services & data Cloud emulators Adopt Open source 60 30
fake-gcs-server Emulator for the Google Cloud Storage API Local services & data Cloud emulators Adopt Open source 50 20
Supabase CLI Run the full Supabase stack locally in Docker Local services & data Local backends Adopt Open source 60 40
Appwrite Self-hostable backend with auth, DB, storage, functions Local services & data Local backends Adopt Open source 60 40
PocketBase Backend in one Go binary with SQLite and admin UI Local services & data Local backends Trial Open source 70 10
Convex Reactive TypeScript backend with a local dev server Local services & data Local backends Adopt Free tier, paid plans 70 10
Nhost Postgres, Hasura GraphQL, auth and storage stack Local services & data Local backends Adopt Open source 50 40
Neon Serverless Postgres with copy-on-write branches Local services & data Local backends Adopt Free tier, paid plans 40 10
WireMock HTTP API mock server with stubbing and recording Local services & data Mocks and tunnels Trial Open source 50 0
Mockoon Desktop app and CLI for local mock APIs Local services & data Mocks and tunnels Adopt Open source 70 0
Prism Mock server and validator from OpenAPI documents Local services & data Mocks and tunnels Adopt Open source 70 0
Mock Service Worker API mocking by intercepting requests in browser and Node Local services & data Mocks and tunnels Adopt Open source 40 0
Mailpit SMTP catcher with web UI and API for testing email Local services & data Mocks and tunnels Adopt Open source 80 0
MailHog SMTP testing server with web UI Local services & data Mocks and tunnels Hold Open source 60 0
ngrok Public HTTPS tunnels to local services Local services & data Mocks and tunnels Adopt Free tier, paid plans 60 10
Cloudflare Tunnel Expose local services through Cloudflare via cloudflared Local services & data Mocks and tunnels Adopt Free tier, paid plans 40 10
localtunnel Expose localhost through a public URL Local services & data Mocks and tunnels Hold Open source 40 10
Tailscale Funnel Share a local port to the internet over Tailscale Local services & data Mocks and tunnels Adopt Free tier, paid plans 40 10
Microcks Mocks and contract tests from OpenAPI, AsyncAPI, gRPC Local services & data Mocks and tunnels Adopt Open source 60 20
Testcontainers Throwaway Docker dependencies from test code Local services & data Test dependencies Adopt Open source 40 50
Toxiproxy TCP proxy that injects latency and network faults Local services & data Test dependencies Adopt Open source 50 10
Pact Consumer-driven contract testing between services Local services & data Test dependencies Adopt Open source 40 10
Prisma TypeScript ORM with schema migrations and Studio Local services & data ORMs and migrations Adopt Open source 70 20
Drizzle ORM SQL-like TypeScript ORM with drizzle-kit migrations Local services & data ORMs and migrations Trial Open source 60 20
Atlas Declarative schema-as-code migrations with linting Local services & data ORMs and migrations Adopt Free tier, paid plans 50 30
dbmate Language-agnostic SQL migration tool Local services & data ORMs and migrations Adopt Open source 60 20
Flyway Versioned SQL migrations for many databases Local services & data ORMs and migrations Adopt Free tier, paid plans 40 30
Liquibase Database change management with changelogs Local services & data ORMs and migrations Adopt Free tier, paid plans 40 30
golang-migrate Database migrations CLI and Go library Local services & data ORMs and migrations Adopt Open source 50 20
Sqitch Dependency-based database change management Local services & data ORMs and migrations Trial Open source 30 20
Alembic Migrations for SQLAlchemy Local services & data ORMs and migrations Adopt Open source 50 20
Kysely Type-safe TypeScript SQL query builder Local services & data ORMs and migrations Trial Open source 50 10
TypeORM Decorator-based ORM for TypeScript Local services & data ORMs and migrations Adopt Open source 30 20
Sequelize Promise-based ORM for Node.js Local services & data ORMs and migrations Trial Open source 30 20
SQLAlchemy Python SQL toolkit and ORM Local services & data ORMs and migrations Adopt Open source 40 10
Entity Framework Core .NET ORM with code-first migrations Local services & data ORMs and migrations Adopt Open source 40 20
sqlc Generate type-safe code from SQL queries Local services & data ORMs and migrations Trial Open source 60 0
MikroORM TypeScript ORM with unit of work and migrations Local services & data ORMs and migrations Adopt Open source 30 20
SQLx Async Rust SQL toolkit with compile-time checked queries Local services & data ORMs and migrations Trial Open source 40 20