Skip to main content

High-performance Python bindings for the ifc-lite IFC parser

Project description

ifc-lite

High-performance Python bindings for the ifc-lite IFC parser.

Installation

pip install ifc-lite

Quick Start

import ifc_lite

# Load an IFC file
model = ifc_lite.process_file("building.ifc")

# List all IFC types in the model
print(model.ifc_types)

# Get all reinforcing bars
bars = model.elements_by_type("IfcReinforcingBar")
for bar in bars:
    print(f"{bar.name}: {bar.vertex_count} vertices, {bar.triangle_count} triangles")
    print(f"  Properties: {bar.properties}")

# Access geometry (vertex positions, normals, triangle indices)
for mesh in model.meshes:
    positions = mesh.positions  # flat list of x,y,z triplets
    normals = mesh.normals      # flat list of nx,ny,nz triplets
    indices = mesh.indices      # triangle indices
    color = mesh.color          # RGBA tuple

API

Module-level functions

  • ifc_lite.process_file(path) – Load and process an IFC file from disk
  • ifc_lite.process_text(content) – Process IFC content from a string
  • ifc_lite.version() – Get the native library version

IfcModel

  • model.meshes – List of all MeshData elements
  • model.ifc_types – All distinct IFC type names
  • model.elements_by_type(type_name) – Filter elements by IFC type
  • model.element_by_express_id(id) – Lookup by express ID
  • model.element_by_global_id(gid) – Lookup by IFC GlobalId
  • model.metadata – Schema version, entity counts, coordinate info
  • model.stats – Processing timing statistics

MeshData

  • mesh.express_id, mesh.ifc_type, mesh.global_id, mesh.name
  • mesh.positions, mesh.normals, mesh.indices, mesh.color
  • mesh.properties – IFC property set values (dict or None)
  • mesh.vertex_count, mesh.triangle_count

License

MPL-2.0 (same as upstream ifc-lite)

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

ifc_lite-0.1.1.tar.gz (320.6 kB view details)

Uploaded Source

Built Distributions

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

ifc_lite-0.1.1-cp312-abi3-win_amd64.whl (629.1 kB view details)

Uploaded CPython 3.12+Windows x86-64

ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (710.9 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (672.8 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

ifc_lite-0.1.1-cp312-abi3-macosx_11_0_arm64.whl (647.3 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

ifc_lite-0.1.1-cp312-abi3-macosx_10_12_x86_64.whl (673.2 kB view details)

Uploaded CPython 3.12+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ifc_lite-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4a8a08498df7552a43da0612c423eed3bdd0c20f1cdf9d31e4497247d4d4c9a6
MD5 bc9446774eb002324703ab0097c444f4
BLAKE2b-256 f1bb62199b7827e91949b7cdae6661a98735e2820a9c168d986c58d043d891a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1.tar.gz:

Publisher: release.yml on spookylukey/ifc-lite-python

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

File details

Details for the file ifc_lite-0.1.1-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: ifc_lite-0.1.1-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 629.1 kB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ifc_lite-0.1.1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1e09627af14a0feca4044536eb8ec713a67c7dd6fbdbb216092fec51463768c6
MD5 34c9fb7b8a64b5f7709260a22aff5720
BLAKE2b-256 31a45edf056f89a51cc338874e412377d5211d6cc262e89c389e91690ecc81a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1-cp312-abi3-win_amd64.whl:

Publisher: release.yml on spookylukey/ifc-lite-python

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

File details

Details for the file ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 999df02224b5bd61cb20d05729ccc01939bede9e81fd8814e8c57572dba8ba03
MD5 88d83be210a0f9e04df0ef953801f023
BLAKE2b-256 3baa4a8c2a322a50a5cd02d3790ab8db028475a92586c3d5f306ed8fd400a6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on spookylukey/ifc-lite-python

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

File details

Details for the file ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a05d9f2c08298849d946affa87de735f04b28ae347df1859d0591f621569d274
MD5 454618e7042ada0237cbe0276af428bc
BLAKE2b-256 b0e0347699fb2c7fbe21f23af7fd97900680bc8c9fece3a967aa3cbb45143c0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on spookylukey/ifc-lite-python

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

File details

Details for the file ifc_lite-0.1.1-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ifc_lite-0.1.1-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 638204d79154e2fa53524cef8447d6220503ec14b4ec60f577c089d61fe90bc1
MD5 49d2f9f63283586272de30e5791a4525
BLAKE2b-256 3409a1f16c387273e4c909fee5c4a21bb7a3e3eb98eb2795a76237713874a3b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on spookylukey/ifc-lite-python

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

File details

Details for the file ifc_lite-0.1.1-cp312-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ifc_lite-0.1.1-cp312-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b5bd16dcbdabab28df37e7427a89aeb878e5fdf15f78e006508a60d729743f0
MD5 776da01d66e1803766891848faa040f4
BLAKE2b-256 411fe5109eb35d33cf008ee3fc0d56f550d0fdde6b70279d9c2dbc1d14ac854c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifc_lite-0.1.1-cp312-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on spookylukey/ifc-lite-python

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