reqif
Python library for ReqIF format. ReqIF parsing and unparsing.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
Apache-2.0 (permissive) — 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.
last release 2026-08-11 (3 days) · last repo commit 2026-08-11 · 58 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 90,331 downloads/mo, #13,599 on PyPI
Alternatives
Verify before relying
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)- 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)
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 on this page. Verify before relying on it.
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
reqif on PyPI
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 the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesjinja2lxmlopenpyxlxmlschema |
| Maintenance | Actively maintained 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 90,331 / month, #13,599 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: reqif-0.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “reqif parser”
- reqifReqIF is a Python library for parsing, unparsing, formatting,…
- ArpeggioArpeggio is a recursive descent parser with memoization that…
- parsyParsy is a parser combinator library that lets you build complex text…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also csaf-tool · bx-py-utils · pyEDFlib · scrubadub · unidiff2 · rdflib · presidio-anonymizer · mail-parser · grafeas · braq