cocotb-test
Decision gist · record as of 2026-08-14
Yes, if you are already using cocotb and pytest in a hardware design flow and want to eliminate Makefiles and gain pytest's testing ecosystem. No, if you are new to hardware simulation or lack a simulator installed—the high install friction and dormant maintenance make this a specialist tool. Yes-with-conditions: verify compatibility with your cocotb version and simulator before adopting in a new project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a simulator (e.g.
- Icarus Verilog) installed and SIM environment variable set; cocotb must be installed first.
- High install friction: requires cocotb, a simulator (e.g.
License · maintenance · safety
BSD (permissive) — BSD permissive license means you can use, modify, and distribute cocotb-test freely in commercial and open-source projects with minimal restrictions.
last release 2025-01-04 (587 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 242,306 downloads/mo, #8,860 on PyPI
Alternatives
Verify before relying
pip install cocotb-test
from cocotb_test.simulator import run
def test_dff():
run(
verilog_sources=["dff.sv"],
toplevel="dff",
module="dff_cocotb"
)
# Run: SIM=icarus pytest test_dff.py- Whether the package actively maintains compatibility with current cocotb versions given dormant maintenance status.
- Performance characteristics when running large test suites or using pytest-xdist parallelization.
- Support status for simulators other than Icarus Verilog (e.g. Verilator, commercial tools).
What it is and what it does
cocotb-test is a pytest plugin that bridges cocotb (a Python-based hardware simulation framework) with standard Python unit testing. Instead of writing Makefiles and shell scripts to orchestrate HDL simulations, you write pytest test functions that call cocotb-test's `run()` function with your Verilog or VHDL sources, top-level module name, and cocotb test module. The package handles compilation, simulation, and result collection, letting you use pytest's full ecosystem—parameterization, filtering, parallel execution via pytest-xdist, and reporting plugins.
The package depends on cocotb (the core simulation engine), pytest (the test runner), and find_libpython (a utility for locating Python libraries). It supports Python 3.7 and later. Maintenance is dormant, with no activity for 587 days, though a release occurred on 2025-01-04. Installation requires a working simulator and environment setup, making it a high-friction dependency for teams not already running hardware simulations.
Use it for
- Run Verilog or VHDL testbenches as pytest tests without writing Makefiles or shell scripts.
- Parameterize HDL simulations using pytest.mark.parametrize to test designs across multiple configurations.
- Parallelize simulation runs across CPU cores using pytest-xdist for faster design verification.
- Integrate hardware verification into CI/CD pipelines alongside software unit tests.
- Generate junitxml or HTML reports from cocotb test results using pytest plugins.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using cocotb and pytest in a hardware design flow and want to eliminate Makefiles and gain pytest's testing ecosystem.
No, if you are new to hardware simulation or lack a simulator installed—the high install friction and dormant maintenance make this a specialist tool. Yes-with-conditions: verify compatibility with your cocotb version and simulator before adopting in a new project.
Install
cocotb-test on PyPI
Before you install
High install friction: requires cocotb, a simulator (e.g. Icarus Verilog), and find_libpython as runtime dependencies. Maintenance is dormant—last release was 587 days ago, though the package did receive a release on 2025-01-04.
Requires a simulator (e.g. Icarus Verilog) installed and SIM environment variable set; cocotb must be installed first.
License in practice
BSD permissive license means you can use, modify, and distribute cocotb-test freely in commercial and open-source projects with minimal restrictions.
Quickstart
pip install cocotb-test
from cocotb_test.simulator import run
def test_dff():
run(
verilog_sources=["dff.sv"],
toplevel="dff",
module="dff_cocotb"
)
# Run: SIM=icarus pytest test_dff.py
Verify before relying
- Whether the package actively maintains compatibility with current cocotb versions given dormant maintenance status.
- Performance characteristics when running large test suites or using pytest-xdist parallelization.
- Support status for simulators other than Icarus Verilog (e.g. Verilator, commercial tools).
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | High. Source build required |
| Runtime dependencies | 3 packagescocotbpytestfind_libpython |
| Maintenance | Dormant 587 days since the last release |
| First released | |
| Downloads | 242,306 / month, #8,860 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: cocotbLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Electronic Design Automation (EDA) |
Evidence: cocotb_test-0.2.6.tar.gz
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 › “pytest cocotb integration”
- cocotb-testcocotb-test wraps cocotb hardware simulations in pytest, letting you…
- pyucisPyUCIS provides a Python API and CLI tools for reading, writing,…
- cocotb-buscocotb-bus provides pre-built testbenching tools and reusable bus…
Give your agent the search over MCP, or paste the wish link into any chat.
More Electronic Design Automation (EDA) packages
Parses and elaborates SystemRDL 2.0 register description language into a traversable register model, enabling custom code generation for hardware register spaces.
Install it if you need to parse SystemRDL files or build custom register generators.
Tests whether a graph is planar, computes planar embeddings, draws planar graphs as ASCII art, and isolates forbidden subgraphs using algorithms from the Edge Addition Planarity Suite.
cocotb is a Python framework for writing testbenches that simulate and verify VHDL and Verilog hardware designs through coroutine-based cosimulation.
pyslang provides Python bindings to parse, analyze, and elaborate SystemVerilog code, exposing the underlying slang compiler's syntax tree and evaluation capabilities for programmatic inspection and manipulation.
Converts between SystemRDL register descriptions and IP-XACT XML format, enabling import and export workflows for hardware register modeling.
KLayout is a Python package for layout viewing, editing, and scripting in electronic design automation (EDA) workflows, providing programmatic access to design manipulation and analysis.
See also cocotb-bus · pyuvm · cocotb-coverage · pyucis · amaranth · pytest-parallel · pytest-replay · pytest-cpp · pytest-odoo