Skip to main content

InfoBIM

Project description

InfoBIM IFC

  _____        __      ____ _____ __  __
 |_   _|      / _|    |  _ \_   _|  \/  |
   | |  _ __ | |_ ___ | |_) || | | \  / |
   | | | '_ \|  _/ _ \|  _ < | | | |\/| |
  _| |_| | | | || (_) | |_) || |_| |  | |
 |_____|_| |_|_| \___/|____/_____|_|  |_|

Python License Status

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

Report Example

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:

File Search

Once scanned, the files are ready to be processed by other capabilities:

File List

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:

  1. Metadata: Name, version, description.
  2. Schema: Formal definition of Inputs (arguments) and Outputs (return data).
  3. 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.

🤖 For AI Agents

InfoBIM is Agent-First.

  • Discovery: run --json provides 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.

Proudly developed in Brazil 🇧🇷, so far

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

infobim-0.2.1.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

infobim-0.2.1-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

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

Hashes for infobim-0.2.1.tar.gz
Algorithm Hash digest
SHA256 51c3b1a8a170fc0f4e497349b59dac37fe1ea132256b6a6a4d76e2f6f58ce52b
MD5 a29f97fa8267840224d98b9a352aa83a
BLAKE2b-256 efa3a950155e7b07103e24e89c4a5a391690db74d2f14dea94af9926215a2f4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for infobim-0.2.1.tar.gz:

Publisher: pypi-publish.yml on InfoBIM-Community/infobim-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for infobim-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64f59ca8b2d2b2ce507e4596b6046f4177ff38188b724185b1eb5aadefa815d8
MD5 2016e1b464966daa14742e93fc162425
BLAKE2b-256 55bd247a2ef44aaf57b0513c8ce2592b8189347b6df0544e950e429197b89f2f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page