Skip to main content

ifctester

With IfcTester, you can author and read Information Delivery Specification - IDS - files and validate your IFC models against IDS to see if your model is compliant. After the audit, you can generate reports in console, as a web page, JSON or BCF file. It works from the command line, as a web app, or as a library.

How to use it

Command line use

.. code-block:: bash

# run console reporter
python -m ifctester example.ids example.ifc
python -m ifctester example.ids example.ifc -r Html -o report.html

Available flags:

  • -r / --reporter: The reporting method to view audit results. Availabe reporters: Console, Txt, Json, Html, Ods, Bcf
  • --no-color: Disable colour output (supported by Console reporting).
  • --excel-safe: Make sure exported ODS is safely exported for Excel.
  • -o / --output: Output file (supported for all types of reporting except Console).

Code example

import ifcopenshell
from ifctester import ids, reporter


# create new IDS
my_ids = ids.Ids(title="My IDS")

# add specification to it
my_spec = ids.Specification(name="My first specification")
my_spec.applicability.append(ids.Entity(name="IFCWALL"))
property = ids.Property(
    baseName="IsExternal",
    value="TRUE", 
    propertySet="Pset_WallCommon", 
    dataType="IfcBoolean",
    uri="https://identifier.buildingsmart.org/uri/.../prop/LoadBearing", 
    instructions="Walls need to be load bearing.",
    cardinality="required")
my_spec.requirements.append(property)
my_ids.specifications.append(my_spec)

# Save such IDS to file
result = my_ids.to_xml("SampleIDS.xml")

# open  IFC file:
my_ifc = ifcopenshell.open("MyIfcModel.ifc")

# validate IFC model against IDS requirements:
my_ids.validate(my_ifc)

# show results:
reporter.Console(my_ids).report()

Release files for ifctester 0.0.240418

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ifctester 0.0.240418
File Size Uploaded
ifctester-0.0.240418.tar.gz 35.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ifctester 0.0.240418
File Interpreter ABI Platform
ifctester-0.0.240418-py3-none-any.whl Python 3 none any Details

Total release size: 61.3 kB

Release files / ifctester-0.0.240418.tar.gz

Download URL ifctester-0.0.240418.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
09bdd85892098dea317356596ec3ea06fb745e87db5e468e6403323c4cf13347
BLAKE2b-256 checksum
How to use checksums
355ff47c18561bbc4eedcbf4fd07d8e79eb8092a1abf1c4e4c3bcba35af1cc66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Release files / ifctester-0.0.240418-py3-none-any.whl

Download URL ifctester-0.0.240418-py3-none-any.whl
Size 25.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1109d6f0be9f99b17eb44bcd5e02f6c950bb05f1687400e9f9d54d9bf09ab1d5
BLAKE2b-256 checksum
How to use checksums
8c851f3c0b140cfa92d39b583d56c9a620536a28dc1ddcd6aa5392f417f3c5df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page