{"id":44588,"library":"cocotb-coverage","title":"cocotb-coverage","description":"Functional coverage and constrained randomization extensions for cocotb. Version 2.0, requires Python >=3.11. Release cadence: irregular.","status":"active","version":"2.0","language":"python","source_language":"en","source_url":"https://github.com/mciepluc/cocotb-coverage","tags":["cocotb","coverage","verification","hdl","constrained randomization"],"install":[{"cmd":"pip install cocotb-coverage","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Required for simulation framework","package":"cocotb","optional":false}],"imports":[{"note":"CoverageDB must be imported from the submodule 'coverage'.","wrong":"from cocotb_coverage import CoverageDB","symbol":"CoverageDB","correct":"from cocotb_coverage.coverage import CoverageDB"},{"note":"Singleton instance is in the coverage submodule.","wrong":"from cocotb_coverage import coverage_db","symbol":"coverage_db","correct":"from cocotb_coverage.coverage import coverage_db"}],"quickstart":{"code":"import cocotb\nfrom cocotb.clock import Clock\nfrom cocotb.triggers import Timer\nfrom cocotb_coverage.coverage import coverage_db\n\n@cocotb.test()\nasync def test_coverage_example(dut):\n    cocotb.start_soon(Clock(dut.clk, 10, 'ns').start())\n    await Timer(5, 'ns')\n    # Example coverage (requires user-defined covergroups)\n    coverage_db.export_to_xml(filename=\"coverage.xml\")\n","lang":"python","description":"Minimal cocotb test with coverage export."},"warnings":[{"fix":"Use Python 3.11+ and update dependencies.","message":"Version 2.0 drops Python <3.11 support. Upgrade toolchain.","severity":"breaking","affected_versions":">=2.0"},{"fix":"Use 'from cocotb_coverage.coverage import CoverageDB'.","message":"CoverageDB must be imported from cocotb_coverage.coverage, not directly from top-level package.","severity":"gotcha","affected_versions":"all"},{"fix":"Switch to new import paths: from cocotb_coverage.coverage import ...","message":"Old import paths 'from cocotb_coverage import coverage' may still work but are deprecated.","severity":"deprecated","affected_versions":"<2.0"}],"env_vars":null,"search_vec":"'2.0':13 '3.11':16 'cadenc':18 'cocotb':2,11,20 'cocotb-coverag':1 'constrain':7,24 'coverag':3,5,21 'extens':9 'function':4 'hdl':23 'irregular':19 'python':15 'random':8,25 'releas':17 'requir':14 'verif':22 'version':12","created_at":"2026-06-07T12:50:52.149573+00:00","updated_at":"2026-06-07T12:50:52.149573+00:00","problems":[{"fix":"Use 'from cocotb_coverage.coverage import coverage_db' instead.","cause":"Importing from wrong module level.","error":"AttributeError: module 'cocotb_coverage' has no attribute 'coverage_db'"},{"fix":"Use 'from cocotb_coverage.coverage import CoverageDB'.","cause":"Wrong import path.","error":"ImportError: cannot import name 'CoverageDB' from 'cocotb_coverage'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/mciepluc/cocotb-coverage","github":"https://github.com/mciepluc/cocotb-coverage","docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}