--- id: ifcopenshell version: "0.8.5" license: unclear license_treatment: copyleft maintenance: active --- # ifcopenshell — Python bindings, utility functions, and high-level API for IfcOpenShell License: copyleft · Maintenance: active · Downloads: 694.9K/mo ## What it is and what it does IfcOpenShell is a Python binding to an open-source C++ library for reading and writing IFC (Industry Foundation Classes) files—the standard format for Building Information Models (BIM) in architecture, engineering, and construction. The package provides both low-level schema access and high-level utility functions for extracting, querying, and modifying building geometry and metadata. It supports multiple IFC schema versions and includes geometric processing for spatial analysis. Typically used by BIM software developers, data analysts, and researchers who need to programmatically access or transform building model data. The library integrates with shapely and numpy for geometric operations, and its runtime dependencies are lightweight and widely available. Active development and a large repository community (2705 stars) indicate ongoing maintenance and real-world adoption in the AEC (architecture, engineering, construction) industry. Use it for: - Extract wall, door, and window properties from IFC models for energy analysis or cost estimation. - Automate clash detection or spatial conflict analysis between building systems. - Convert IFC models to other formats (via IfcConvert) for interoperability with non-BIM tools. - Query and validate building model data against project requirements or standards. - Programmatically generate or modify IFC files for parametric design workflows. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. IfcOpenShell is a Python library for parsing, manipulating, and working with Industry Foundation Classes (IFC) building information models across multiple IFC schema versions. Yes. IfcOpenShell is actively maintained, carries no known vulnerabilities, and has strong adoption in the BIM community. The LGPL license is permissive for most use cases. Install friction is moderate but manageable thanks to prebuilt wheels. Choose this if you need to work with IFC files programmatically; it is the de facto standard Python library for that task. ## Install pip install ifcopenshell uv add ifcopenshell poetry add ifcopenshell ## Installing ifcopenshell Before you install: Installation is straightforward with prebuilt wheels for Python 3.10–3.13 across macOS (Intel and ARM), Linux, and Windows. The package carries medium install friction due to its compiled nature and six runtime dependencies including shapely and numpy, but wheels eliminate the need to compile from source. License in practice: IfcOpenShell is licensed under LGPL-3.0-or-later (copyleft). You may use it freely in your own projects, but any modifications to the library itself must be shared under the same license; proprietary applications can link to it as a library without disclosing their own source. Quickstart: import ifcopenshell model = ifcopenshell.open('model.ifc') for wall in model.by_type('IfcWall'): print(wall.Name) Requires Python 3.10 or later; IFC file must be in a supported schema (IFC2x3 TC1, IFC4 Add2 TC1, IFC4x1, IFC4x2, or IFC4x3 Add2). Verify before relying: - Extent of geometric support for IFC4x1, IFC4x2, and IFC4x3 Add2 schemas (description states extensive support for IFC2x3 TC1 and IFC4 Add2 TC1 only). - Performance characteristics when working with large or complex IFC models. - Availability and maturity of the Python API relative to the C++ API. ## Package facts - License: not declared (copyleft) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 694.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags IFC file parsing and manipulation, building information model processing, IFC schema support python, geometric analysis of IFC models, BIM data extraction and editing, bim, ifc, building-models [View on SkillFed](https://skillfed.io/packages/ifcopenshell) · [View on PyPI](https://pypi.org/project/ifcopenshell/)