{"id":24476,"library":"pyucis","title":"PyUCIS","description":"PyUCIS provides a Python API for manipulating UCIS (Unified Coverage Interoperability Standard) coverage data. It supports reading, merging, and writing UCIS XML coverage databases. The current version is 0.2.0.22787133465, with regular updates for format compatibility and bug fixes.","status":"active","version":"0.2.0.22787133465","language":"python","source_language":"en","source_url":"https://github.com/fvutils/pyucis","tags":["ucis","coverage","verification","eda"],"install":[{"cmd":"pip install pyucis","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"XML parsing and generation","package":"lxml","optional":false}],"imports":[{"note":"Main entry point for loading and saving UCIS databases","wrong":"","symbol":"UCISDB","correct":"from pyucis import UCISDB"}],"quickstart":{"code":"from pyucis import UCISDB\n\ndb = UCISDB()\ndb.load('coverage.ucis')\nprint(f'Loaded {len(db.scopes)} scopes')\ndb.merge('another.ucis')\ndb.save('merged.ucis')","lang":"python","description":"Load a UCIS XML file, merge another, and save the result."},"warnings":[{"fix":"Ensure your UCIS data is in XML format (typically .ucis files with XML content). Binary UCIS databases are not supported.","message":"PyUCIS only supports UCIS XML format, not binary .ucis files. The library reads and writes XML-based coverage databases.","severity":"gotcha","affected_versions":"all"},{"fix":"Check the documentation for any API changes if upgrading from pre-0.2.0 releases. The import path 'from pyucis import UCISDB' remains unchanged.","message":"Version 0.2.0 introduced a new version number format (0.2.0.22787133465) which may indicate significant API changes. The previous version 0.1.5 used a standard semver.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Create a copy of the database before merging if you need to preserve the original: db_copy = UCISDB(); db_copy.load('original.ucis'); then merge on the copy.","message":"The merge operation mutates the original database object. There is no built-in undo.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install pyucis' in your active environment.","cause":"PyUCIS is not installed or installed in a different Python environment.","error":"ModuleNotFoundError: No module named 'pyucis'"},{"fix":"Convert your coverage data to UCIS XML format before loading with PyUCIS.","cause":"Attempting to load a binary .ucis file that is not in XML format.","error":"ValueError: Unsupported file format"},{"fix":"Use 'db.scopes' instead of 'db.scope'.","cause":"Misspelled attribute name; the correct attribute is 'scopes' (plural).","error":"AttributeError: 'UCISDB' object has no attribute 'scope'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}