PyUCIS Reference

This section provides information on APIs and file formats used by PyUCIS.

Back-End APIs

PyUCIS supports multiple backend storage implementations, each with different trade-offs:

In-Memory

The in-memory backend stores all coverage data in RAM for fast access. Best for:

  • Small to medium databases that fit in memory

  • Temporary coverage processing

  • Fast iteration and analysis

See UCIS Object-Oriented API for the Python object-oriented API.

SQLite

The SQLite backend provides persistent, queryable storage using SQLite3 databases. Best for:

  • Large coverage databases

  • Persistent storage requirements

  • SQL-based queries and analysis

  • Integration with database tools

See SQLite Backend API for the Python SQLite API and SQLite Schema Reference for detailed schema documentation.

Native C Library

The native C library provides a UCIS 1.0 compliant C API with SQLite3 backend. Best for:

  • C/C++ applications

  • Performance-critical operations

  • Integration with native tools

  • Python ctypes integration

See Native C Library API for the C API documentation.

UCIS C API

The UCIS C API wrapper provides access to external UCIS libraries. See UCIS C-Style API for details.

XML

The XML backend reads and writes UCIS data in XML format for interchange. See XML Interchange Format for details.

YAML

The YAML backend provides a human-readable text format. See YAML Coverage Data Format for details.