wait-for-it
Wait for service(s) to be available before executing a command.
Decision gist · record as of 2026-08-14
Yes. It solves a common orchestration problem with minimal overhead, has no security vulnerabilities, is actively maintained, and carries a permissive license. Install it if you need to synchronize service startup in Docker, Kubernetes, or any shell-based workflow.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; TCP connectivity to the target service(s) is necessary for the tool to function.
- Low install friction with a single runtime dependency (click).
- Actively maintained as of 2026-08-10 with recent releases, supporting modern Python versions 3.9 through 3.13.
License · maintenance · safety
permissive license (permissive) — MIT license (permissive) means you can use, modify, and distribute this package with minimal restrictions, making it safe for both open-source and commercial projects.
last release 2024-10-13 (670 days) · last repo commit 2026-08-10 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 202,112 downloads/mo, #9,652 on PyPI
Alternatives
Verify before relying
pip install wait-for-it
wait-for-it --service www.google.com:80 -- echo "service is up"- Whether the tool supports IPv6 addresses beyond the documented '[v6addr]:port' format syntax.
- Performance characteristics when testing many services in parallel mode.
- Whether HTTPS service checks perform full TLS validation or only connection establishment.
What it is and what it does
wait-for-it is a lightweight CLI utility that polls TCP ports (or HTTPS endpoints) to detect when services are ready, then runs a command you specify. It's designed for scenarios where one service depends on another being up first—the canonical use case is Docker Compose or Kubernetes-style orchestration where containers start in an unpredictable order. The tool can test services serially (one after another) or in parallel, with a configurable timeout (default 15 seconds, or unlimited if set to 0), and returns the exit code of the command it executes.
You invoke it from the shell with `--service` flags naming each host:port to check, optionally `--parallel` to test them concurrently, and a `--` separator followed by the command to run once all services are available. It's a pure Python script with only click as a runtime dependency, making it quick to install and run in containers or CI/CD pipelines.
Use it for
- Docker Compose entrypoint: wait for database and cache services to be ready before starting an application.
- Kubernetes init container: ensure dependent microservices are reachable before the main pod starts.
- CI/CD pipeline: delay test execution until all test infrastructure (mock servers, databases) is listening.
- Local development: coordinate startup of multiple services in a Makefile or shell script.
- Health-check orchestration: verify multiple endpoints are up before triggering a deployment step.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
It solves a common orchestration problem with minimal overhead, has no security vulnerabilities, is actively maintained, and carries a permissive license. Install it if you need to synchronize service startup in Docker, Kubernetes, or any shell-based workflow.
Install
wait-for-it on PyPI
Before you install
Low install friction with a single runtime dependency (click). Actively maintained as of 2026-08-10 with recent releases, supporting modern Python versions 3.9 through 3.13.
Requires Python 3.9 or later; TCP connectivity to the target service(s) is necessary for the tool to function.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package with minimal restrictions, making it safe for both open-source and commercial projects.
Quickstart
pip install wait-for-it
wait-for-it --service www.google.com:80 -- echo "service is up"
Verify before relying
- Whether the tool supports IPv6 addresses beyond the documented '[v6addr]:port' format syntax.
- Performance characteristics when testing many services in parallel mode.
- Whether HTTPS service checks perform full TLS validation or only connection establishment.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageclick |
| Maintenance | Actively maintained 670 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 202,112 / month, #9,652 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: InternetTopic :: Utilities |
Evidence: wait_for_it-2.3.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “wait for tcp service startup”
- wait-for-itA command-line tool that waits for one or more TCP services to become…
- mirakuruMirakuru starts external processes (databases, services, APIs) and…
- portendPortend monitors TCP ports to check whether they are bound (occupied)…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also portend · waiting · busypie · polling2 · waiter · stcrestclient · stopit · opensandbox · timeout-sampler · wait-for2