--- id: pyucis version: "0.2.0.22787133465" license: Apache 2.0 license_treatment: permissive maintenance: active --- # pyucis — PyUCIS provides a Python API for manipulating UCIS coverage data. License: permissive · Maintenance: active · Downloads: 552.2K/mo ## What it is and what it does PyUCIS is a Python library and command-line tool for working with coverage data from hardware verification flows. It implements the Unified Coverage Interoperability Standard (UCIS) data model, allowing you to read, write, convert, and analyze coverage databases from multiple verification frameworks including Verilator, cocotb, and AVL. The package supports multiple formats (XML, YAML, SQLite, NCDB binary, LCOV, Cobertura, JaCoCo, Clover) and can merge coverage runs, generate reports, and export to industry-standard formats. The tool includes both a Python API for programmatic access and a CLI with an interactive terminal UI for exploring coverage hierarchies, identifying gaps, and analyzing coverage hotspots. It also provides an MCP server for AI agent integration and AgentSkills support for LLM-based coverage analysis. The package is actively maintained, supports Python 3.8 through 3.12, and has no known security vulnerabilities. Use it for: - Convert coverage data between verification frameworks (e.g., cocotb XML to LCOV for CI/CD reporting). - Merge coverage results from multiple test runs or simulation batches into a single database. - Interactively explore coverage hierarchies and identify untested design areas using the terminal UI. - Import Verilator or cocotb coverage and export to standard formats for integration with existing tools. - Query coverage statistics and generate reports via CLI or Python API for test planning. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyUCIS provides a Python API and CLI tools for reading, writing, converting, and analyzing coverage data in the Unified Coverage Interoperability Standard (UCIS) format, supporting imports from Verilator, cocotb, and AVL verification frameworks. Yes. PyUCIS is actively maintained, has no security vulnerabilities, and fills a clear need for hardware verification teams working with multiple coverage tools. The low install friction, permissive Apache 2.0 license, and support for current Python versions make it a practical choice. Install it if you need to work with UCIS coverage data, convert between verification frameworks, or integrate coverage analysis into CI/CD pipelines. ## Install pip install pyucis uv add pyucis poetry add pyucis ## Installing pyucis Before you install: Low friction install with six runtime dependencies (lxml, python-jsonschema-objects, jsonschema, pyyaml, mcp, rich). Active maintenance with recent releases; last commit 2026-03-07. License in practice: Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. Quickstart: pip install pyucis from pyucis import UCIS db = UCIS("coverage.xml") for scope in db.scopes(): for coveritem in scope.coveritems(): print(f"{coveritem.name}: {coveritem.count} hits") Requires Python 3.8 or later. Verify before relying: - Whether lxml requires a C compiler for installation on some systems. - Performance characteristics when working with large coverage databases (file size thresholds, memory usage). - Completeness of the NCDB format's claimed 60–73× size reduction in real-world verification workflows. ## Package facts - License: Apache 2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 552.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags UCIS coverage database API, coverage format conversion, verification coverage analysis, cocotb coverage import, Verilator coverage tools, coverage merging and reporting, RTL coverage management, hardware-verification, coverage-analysis, format-conversion [View on SkillFed](https://skillfed.io/packages/pyucis) · [View on PyPI](https://pypi.org/project/pyucis/)