skillfed

circus

Circus is a program that will let you run and watch multiple processes and sockets.

circus v0.19.0 408.6K downloads/30d#6,877 on PyPI1,578
Permissive license DORMANT released

What it is and what it does

Circus is a process and socket manager that lets you run and monitor multiple processes simultaneously. It works as both a standalone command-line tool and a Python library, making it suitable for applications that need programmatic control over process lifecycles. The package depends on psutil for system monitoring, pyzmq for inter-process communication, and tornado for its web interface and async handling.

The tool is classified as Production/Stable and supports Python 3.7 through 3.13 on Linux, macOS, and Windows. While maintenance is dormant (no release in 547 days), the repository remains accessible and recent commits suggest the code is stable.

Use it for:

  • Running and supervising multiple worker processes in a production application without external system dependencies.
  • Monitoring socket connections and process health in real time through a programmatic interface.
  • Building custom process orchestration logic within a Python application using the library API.
  • Managing daemon processes on systems where systemd or supervisor are not available or not preferred.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Circus runs and watches multiple processes and sockets, offering process lifecycle management and monitoring through both a command-line interface and a Python library.

Yes, if you need lightweight, Python-native process management and can tolerate dormant maintenance. The low install friction, permissive license, and stable codebase make it suitable for production use. However, consider alternatives if you require active security updates or anticipate needing support for future Python versions.

Install

circus on PyPI

pip

pip install circus

uv

uv add circus

poetry

poetry add circus

Installing circus

Before you install

Low install friction with a pure-Python wheel. Maintenance is dormant—no release in 547 days—but the repository remains active with a recent commit on 2025-02-10 and 1578 stars, suggesting the codebase is stable rather than abandoned.

License in practice

Licensed under Apache Software License (permissive), allowing commercial and private use with minimal restrictions.

Quickstart

pip install circus

import circus
# Use circus.watcher.Watcher or circus.circusd for process management

Requires psutil, pyzmq, and tornado as runtime dependencies; Python 3.7 or later.

Verify before relying

  • Whether dormant maintenance status affects security patching or compatibility with future Python versions.
  • Real-world performance and stability compared to modern alternatives.
  • Whether the command-line interface or library API is the primary use pattern in practice.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 3 — psutil, pyzmq, tornado
Maintenance dormant — 547 days since the last release
Last repo commit
First released
Downloads 408,579/month — #6,877 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: circus-0.19.0-py3-none-any.whl

Development Status :: 5 - Production/StableLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

process managerprocess supervisorsocket watcherprocess monitoringdaemon managementmulti-process runnerprocess lifecycle control
process-managementdaemon-supervision

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

kantoku

Kantoku runs and watches multiple processes and…

permissive · top 15,000 on PyPI

superset-showtime

A CLI tool that manages ephemeral Apache…

permissive · top 15,000 on PyPI

simpervisor

Provides async methods to start, manage, and…

permissive · top 15,000 on PyPI

supervisor

Supervisor is a client/server system that…

permissive · top 5,000 on PyPI

python-daemon

Implements PEP 3143 well-behaved Unix daemon…

permissive · top 5,000 on PyPI

jeedomdaemon

Provides a base class and framework for…

permissive · top 15,000 on PyPI

pytest-xprocess

pytest-xprocess manages external processes…

permissive · top 15,000 on PyPI

execnet

execnet lets you spawn and communicate with…

permissive · top 1,000 on PyPI

cotyledon

Cotyledon provides a framework for building…

permissive · top 15,000 on PyPI

superlance

Superlance provides plugin utilities for…

permissive · top 15,000 on PyPI