ifc-spf
Read IFC-SPF with the standard library. No geometry kernel, no compiled dependency, no schema download.
- Status
- Alpha
- License
- MIT
- Language
- Python
- Tests
- 55
Install
pip install git+https://github.com/aec-platform/ifc-spf.gitNot on PyPI yet — this installs from source.
Run
python -c "from ifcspf import Model; print(len(Model.open('b.ifc').of_type('IfcDoor')))"
The layer the open tools stand on. Four parts, each usable alone: a tokeniser and parser for ISO 10303-21; a schema layer that addresses attributes by name and expands subtypes, held as data rather than code; unit resolution to SI; and property sets, quantity sets and the spatial chain. This reads what an IFC file states about itself — which is exactly what takeoffs, code checks, audits and exports actually need, and all they need.
What makes it different
- ISO 10303-21 parser in pure Python — installs anywhere, including inside a locked-down CI runner
- Schema as data: attributes by name, subtype expansion, no code generation step
- Units resolved to SI, property and quantity sets flattened along the spatial chain