{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/5"}],"enrichment":{"capability":"Mirakuru starts external processes (databases, services, APIs) and waits until they are ready to accept connections or produce specific output before returning control to your code.","skillfed_tags":["process-management","test-fixtures","service-readiness"],"use_cases":["Start a PostgreSQL container in a test and wait until it accepts connections before running integration tests.","Launch an HTTP API server and verify it responds to requests before running end-to-end tests.","Orchestrate multiple services (Redis, Elasticsearch, a custom daemon) in a single test fixture with guaranteed startup order.","Monitor a process's stdout for a 'ready' message and proceed only when that marker appears.","Manage test cleanup by stopping all spawned processes in the correct order when tests complete."],"what_it_does":"Mirakuru is a process orchestration library for functional and integration tests. It solves the problem of coordinating startup of external services\u2014databases, message queues, APIs, web servers\u2014by starting them and blocking until they signal readiness (via TCP connection, HTTP response, output banner, Unix socket, or .pid file) before your test code runs. This eliminates race conditions where tests try to connect to a service that hasn't finished initializing.\n\nThe library provides seven executor classes for different readiness signals: SimpleExecutor (no wait), OutputExecutor (watches stdout for a marker), TCPExecutor (tries TCP connection), HTTPExecutor (checks HTTP status), UnixSocketExecutor (Unix socket readiness), PidExecutor (waits for .pid file), and a base Executor class. Each executor wraps a command string or list, starts the process, polls for readiness, and provides start() and stop() methods. Executors also work as context managers for cleaner test setup/teardown.","worth_installing":"Yes. Mirakuru is actively maintained, has no security vulnerabilities, low install friction, and solves a genuine testing problem\u2014eliminating flaky tests caused by timing races with external services. It is well-suited for integration and functional test suites that depend on external processes."},"id":"mirakuru","links":{"html":"https://skillfed.io/packages/mirakuru","md":"https://skillfed.io/packages/mirakuru.md","pypi":"https://pypi.org/project/mirakuru/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-02-11","license_spdx":"LGPL-3.0-or-later","license_treatment":"copyleft","name":"mirakuru","python_support":"supports_current","summary":"Process executor (not only) for tests."},"popularity":{"monthly_downloads":3635138,"position":2550,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"3.0.2"}
