InfoBIM
Project description
InfoBIM IFC
_____ __ ____ _____ __ __ |_ _| / _| | _ \_ _| \/ | | | _ __ | |_ ___ | |_) || | | \ / | | | | '_ \| _/ _ \| _ < | | | |\/| | _| |_| | | | || (_) | |_) || |_| | | | |_____|_| |_|_| \___/|____/_____|_| |_|
The Capability Engine for BIM Automation
Turn your BIM scripts into standardized, agent-ready capabilities.
InfoBIM IFC is a modular runtime environment for Engineering Automation. It decouples the execution logic (how to run scripts, handle dependencies, manage Docker) from the business logic (validating pipes, counting doors, auditing models).
Whether you are a human running commands in the terminal or an AI Agent planning a complex workflow, InfoBIM provides the standard interface to interact with BIM data.
🚀 Quick Start
1. Install
# 1. Download the CLI
wget https://raw.githubusercontent.com/InfoBIM-Community/infobim-ifc/master/infobim
# 2. Make it executable
chmod +x infobim
# 3. Install environment (downloads the stack & setups venv)
./infobim install
# Option A: Install with Docker support
# ./infobim install --docker
# Option B: Google Colab Mode (Optimized for Notebooks)
# - Skips virtualenv creation (uses system Python)
# - Creates 'infobim-ifc.env.yaml' with engine: colab
# - Merges configs automatically (Base -> Env -> User)
# ./infobim install --colab
2. Run a Capability
Execute a specific task directly without opening the full UI:
# List all sewage pipes (validating against NBR 8160)
./infobim run org.infobim.base.capability.list_sewage_pipes --ifc-path ./data/my_project.ifc
3. Agent Discovery (New!)
Are you an LLM or building an Agent? Get the full machine-readable catalog of available tools:
./infobim run --json
4. File Discovery & Scanning
Automatically scan and index IFC files located in the data/incoming directory. This is the first step to bring your BIM models into the InfoBIM environment.
./infobim ifc scan
The system will search for .ifc files and display them in the terminal:
Once scanned, the files are ready to be processed by other capabilities:
5. System Health & Maintenance
InfoBIM includes self-diagnostic tools to ensure your environment is correctly configured.
Run System Check: Verifies if all dependencies (Python, Git, Venv, Docker) and project structures are in place.
./infobim check
Auto-Repair: If a check fails, you can try the repair mode, which attempts to fix common issues automatically (e.g., recreating venv, installing missing requirements).
./infobim check --repair
🧩 Capabilities
A Capability is the atomic unit of work in InfoBIM. It wraps your Python scripts with:
- Metadata: Name, version, description.
- Schema: Formal definition of Inputs (arguments) and Outputs (return data).
- Docs: Embedded documentation for both humans and LLMs.
Included Capabilities (core)
| ID | Description |
|---|---|
org.infobim.base.capability.list_pipes |
Extracts pipe segments with geometry (Length, Z-coordinates) and properties. |
org.infobim.base.capability.list_sewage_pipes |
Specialized extraction for Sewage systems. Calculates Real Slope vs Minimum Slope (NBR 8160). |
org.infobim.base.capability.list_project_units |
Detects IFC project units, schema and length scale (meters). |
org.infobim.base.capability.list_material |
Lists material associations for IFC elements (GlobalId → Material). |
🏗️ Architecture
InfoBIM IFC is designed to be the "Operating System" for your BIM scripts.
- Runtime: Handles the environment (Python, Docker, IFCOpenShell).
- Registry: Discovers and registers available Capabilities.
- Interfaces:
- CLI: Direct execution (
./infobim run ...). - TUI: Interactive Text User Interface (
./infobim run). - JSON-RPC: (Coming soon) for remote execution.
- CLI: Direct execution (
🤖 For AI Agents
InfoBIM is Agent-First.
- Discovery:
run --jsonprovides the tool definitions (compatible with OpenAI/Claude function calling). - Deterministic Execution: Agents don't "guess" geometry; they call Capabilities that return precise data.
- Structured Output: All capabilities return strict JSON data, making it easy for LLMs to reason about the results.
📄 License
This project is part of the InfoBIM Community. Licensed under Apache 2.0.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file infobim-0.2.1.tar.gz.
File metadata
- Download URL: infobim-0.2.1.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51c3b1a8a170fc0f4e497349b59dac37fe1ea132256b6a6a4d76e2f6f58ce52b
|
|
| MD5 |
a29f97fa8267840224d98b9a352aa83a
|
|
| BLAKE2b-256 |
efa3a950155e7b07103e24e89c4a5a391690db74d2f14dea94af9926215a2f4b
|
Provenance
The following attestation bundles were made for infobim-0.2.1.tar.gz:
Publisher:
pypi-publish.yml on InfoBIM-Community/infobim-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infobim-0.2.1.tar.gz -
Subject digest:
51c3b1a8a170fc0f4e497349b59dac37fe1ea132256b6a6a4d76e2f6f58ce52b - Sigstore transparency entry: 1190660373
- Sigstore integration time:
-
Permalink:
InfoBIM-Community/infobim-core@ffe39f4612dada2ea9f64b8e2fc55392b4c81bd7 -
Branch / Tag:
refs/tags/0.2.1 - Owner: https://github.com/InfoBIM-Community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@ffe39f4612dada2ea9f64b8e2fc55392b4c81bd7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file infobim-0.2.1-py3-none-any.whl.
File metadata
- Download URL: infobim-0.2.1-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f59ca8b2d2b2ce507e4596b6046f4177ff38188b724185b1eb5aadefa815d8
|
|
| MD5 |
2016e1b464966daa14742e93fc162425
|
|
| BLAKE2b-256 |
55bd247a2ef44aaf57b0513c8ce2592b8189347b6df0544e950e429197b89f2f
|
Provenance
The following attestation bundles were made for infobim-0.2.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on InfoBIM-Community/infobim-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
infobim-0.2.1-py3-none-any.whl -
Subject digest:
64f59ca8b2d2b2ce507e4596b6046f4177ff38188b724185b1eb5aadefa815d8 - Sigstore transparency entry: 1190660375
- Sigstore integration time:
-
Permalink:
InfoBIM-Community/infobim-core@ffe39f4612dada2ea9f64b8e2fc55392b4c81bd7 -
Branch / Tag:
refs/tags/0.2.1 - Owner: https://github.com/InfoBIM-Community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@ffe39f4612dada2ea9f64b8e2fc55392b4c81bd7 -
Trigger Event:
release
-
Statement type: