{"library":"peakrdl-ipxact","title":"PeakRDL-IPXACT","description":"PeakRDL-IPXACT is a plugin for the systemrdl-compiler library, enabling the import and export of IP-XACT XML files to and from the SystemRDL register model. It provides functionality to parse IP-XACT descriptions into an RDL model and serialize an RDL model back into IP-XACT. The current version is 3.5.0, with a release cadence that includes frequent bug fixes and occasional minor feature updates.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install peakrdl-ipxact"],"cli":null},"imports":["from systemrdl.ipxact.importer import IPXACTImporter","from systemrdl.ipxact.exporter import IPXACTExporter"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport tempfile\nfrom pathlib import Path\nfrom systemrdl.core import RDLCompiler\nfrom systemrdl.ipxact.exporter import IPXACTExporter\nfrom systemrdl.ipxact.importer import IPXACTImporter\n\n# Create a temporary directory for test files\nwith tempfile.TemporaryDirectory() as tmpdir:\n    tmp_path = Path(tmpdir)\n\n    # 1. Create a dummy RDL file\n    rdl_content = \"\"\"\n    addrmap my_block {\n        reg my_reg {\n            field { sw=r; hw=w; } my_field[3:0] = 4'h0;\n        } @0x0;\n    };\n    \"\"\"\n    rdl_file = tmp_path / \"example.rdl\"\n    rdl_file.write_text(rdl_content)\n    print(f\"Created RDL file: {rdl_file}\")\n\n    # 2. Compile the RDL file\n    compiler = RDLCompiler()\n    compiler.compile_file(str(rdl_file))\n    root_component = compiler.top\n    print(f\"Compiled RDL, top component: {root_component.get_path()}\")\n\n    # 3. Export to IP-XACT XML\n    exported_xml_file = tmp_path / \"exported_ipxact.xml\"\n    exporter = IPXACTExporter()\n    exporter.export(root_component, str(exported_xml_file))\n    print(f\"Exported to IP-XACT XML: {exported_xml_file}\")\n\n    # 4. Import the IP-XACT XML\n    importer = IPXACTImporter()\n    imported_component = importer.import_file(str(exported_xml_file))\n    print(f\"\\nImported IP-XACT component name: {imported_component.name}\")\n    print(f\"Accessing imported register: {imported_component.registers[0].name}\")\n\nprint(\"Quickstart example completed successfully.\")\n","lang":"python","description":"This example demonstrates how to create a simple RDL model, compile it, export it to an IP-XACT XML file, and then import that XML file back into an RDL model using PeakRDL-IPXACT's `IPXACTExporter` and `IPXACTImporter` classes. The example uses temporary files to ensure it's self-contained and runnable.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"3.5.0","pypi_latest":"3.5.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.5,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"54.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.6,"import_time_s":null,"mem_mb":null,"disk_size":"59M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"57.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.4,"import_time_s":null,"mem_mb":null,"disk_size":"62M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"49.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.2,"import_time_s":null,"mem_mb":null,"disk_size":"54M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"49.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.2,"import_time_s":null,"mem_mb":null,"disk_size":"53M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"54.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"peakrdl-ipxact","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":"59M"}]}}