ifctrap
A conformance trap suite for IFC readers — in any language, behind a sixty-line bridge.
- Status
- Alpha
- License
- MIT
- Language
- Python · any
- Tests
- 215
Install
pip install git+https://github.com/aec-platform/ifctrap.gitNot on PyPI yet — this installs from source.
Run
ifctrap run --bridge my-toolkit
IFC's important readers are C++, JavaScript and C#. Requiring a Python binding would quietly exclude most of the field and turn a conformance suite into a Python benchmark, which it is not. So a bridge here is just a program: it takes a file path and a probe, writes one JSON object to stdout, exits zero. Write sixty lines and your toolkit gets scored on every case in the corpus.
What makes it different
- Language-neutral by design: the bridge contract is stdin/stdout and an exit code
- A corpus of trap cases that separate a reader that parses from a reader that is correct
- Results are comparable across toolkits, because every toolkit runs the same probes