--- id: reqif version: "0.1.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # reqif — Python library for ReqIF format. ReqIF parsing and unparsing. License: permissive · Maintenance: active · Downloads: 90.3K/mo ## What it is and what it does ReqIF is a Python library for working with ReqIF (Requirements Interchange Format), an XML-based standard for exchanging requirements data between tools. It provides both a programmatic API and command-line tools to parse ReqIF and ReqIFz (compressed) files into Python objects, unparse them back to XML, validate them against internal checks and the official OMG schema, format them with consistent indentation, and anonymize them for safe sharing. The library depends on jinja2, lxml, openpyxl, and xmlschema for XML handling and templating. Typical workflows include reading requirements from ReqIF files exported by commercial tools, transforming or filtering them programmatically, and writing them back out; validating ReqIF files for schema compliance; pretty-printing hand-written or poorly formatted ReqIF XML; and anonymizing sensitive requirement data before sending files to third parties for debugging. The library logs diagnostics through Python's standard logging module and supports progress callbacks for long-running parse and unparse operations on large files. Use it for: - Parse ReqIF files exported from requirements management tools to extract and process specifications programmatically - Validate ReqIF documents against internal checks and the official OMG ReqIF schema before importing into other tools - Format and pretty-print hand-written or tool-generated ReqIF XML with consistent indentation and structure - Anonymize sensitive requirement data in ReqIF files for safe sharing with external developers or tool vendors - Round-trip ReqIF files (parse and unparse) to verify tool compatibility and detect parsing or generation issues - Build custom requirement processing pipelines that read, transform, and write ReqIF data ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. ReqIF is a Python library for parsing, unparsing, formatting, validating, and anonymizing ReqIF and ReqIFz files, with command-line tools for each operation. Yes. The library is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive Apache-2.0 license. It fills a clear niche for ReqIF handling in Python. Install it if you work with ReqIF files or need to integrate requirements data from tools that export this format. ## Install pip install reqif uv add reqif poetry add reqif ## Installing reqif Before you install: Low install friction with a pure-Python wheel and four common dependencies (jinja2, lxml, openpyxl, xmlschema). Active maintenance with a recent release (3 days old) and steady repository activity. License in practice: Apache-2.0 is a permissive license; you can use, modify, and distribute this package freely in commercial and private projects, provided you include a copy of the license and state significant changes. Quickstart: pip install reqif from reqif.parser import ReqIFParser reqif_bundle = ReqIFParser.parse("input.reqif") for specification in reqif_bundle.core_content.req_if_content.specifications: print(specification.long_name) Verify before relying: - Whether the library handles all real-world ReqIF variants or only a subset of the official schema - Performance characteristics for very large ReqIF files (hundreds of thousands of spec objects mentioned in docs) ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 90.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags reqif parser, requirements interchange format, reqif validation, reqif formatting, xml requirements management, reqif anonymization, specification parsing, requirements-management, xml-processing, data-interchange [View on SkillFed](https://skillfed.io/packages/reqif) · [View on PyPI](https://pypi.org/project/reqif/)