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 infobim.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

ID Description
infobim.capability.list_pipes Extracts pipe segments with geometry (Length, Z-coordinates) and properties.
infobim.capability.list_sewage_pipes Specialized extraction for Sewage systems. Calculates Real Slope vs Minimum Slope (NBR 8160).

🏗️ 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.1.1.tar.gz (24.0 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.1.1-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file infobim-0.1.1.tar.gz.

File metadata

  • Download URL: infobim-0.1.1.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for infobim-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2f12cde6638fde9e1ca4cd6dae0e2c8ded4ae6f5ef22232b54f555d7adf8616b
MD5 4a42cd2ca63999b5b9af4770dac6964d
BLAKE2b-256 ca63e1fc7fc97f04e26e071ef51183e6d2072af375013129f83e0104c5805bdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for infobim-0.1.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.1.1-py3-none-any.whl.

File metadata

  • Download URL: infobim-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.2 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0497a9734836770626bcabddd640811788b0686e5da407fa25bdcc34f2a6753
MD5 f23996f9549e99b8106c1308f121d114
BLAKE2b-256 9efc186c08a4af168acace72badf41490ea13fdd550a9b5a3bcf53dcc2d9db13

See more details on using hashes here.

Provenance

The following attestation bundles were made for infobim-0.1.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