ifctester


Nameifctester JSON
Version 0.0.240423 PyPI version JSON
download
home_pageNone
SummaryIFC model auditing tool with support for IDS
upload_time2024-04-23 09:50:05
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseNone
keywords ifc ids bim
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```python
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()
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ifctester",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "IFC, IDS, BIM",
    "author": null,
    "author_email": "Dion Moult <dion@thinkmoult.com>",
    "download_url": "https://files.pythonhosted.org/packages/85/9c/069df486c92f9e2ae4ddfef0cc931f86b54cd8ab167fbc2c63415259f79d/ifctester-0.0.240423.tar.gz",
    "platform": null,
    "description": "# ifctester\n\nWith **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.\n\n## How to use it\n\n### Command line use\n\n.. code-block:: bash\n\n    # run console reporter\n    python -m ifctester example.ids example.ifc\n    python -m ifctester example.ids example.ifc -r Html -o report.html\n\nAvailable flags:\n\n- ``-r`` / ``--reporter``: The reporting method to view audit results. Availabe reporters: Console, Txt, Json, Html, Ods, Bcf\n- ``--no-color``: Disable colour output (supported by Console reporting).\n- ``--excel-safe``: Make sure exported ODS is safely exported for Excel.\n- ``-o`` / ``--output``: Output file (supported for all types of reporting except Console).\n\n### Code example\n\n```python\nimport ifcopenshell\nfrom ifctester import ids, reporter\n\n\n# create new IDS\nmy_ids = ids.Ids(title=\"My IDS\")\n\n# add specification to it\nmy_spec = ids.Specification(name=\"My first specification\")\nmy_spec.applicability.append(ids.Entity(name=\"IFCWALL\"))\nproperty = ids.Property(\n    baseName=\"IsExternal\",\n    value=\"TRUE\", \n    propertySet=\"Pset_WallCommon\", \n    dataType=\"IfcBoolean\",\n    uri=\"https://identifier.buildingsmart.org/uri/.../prop/LoadBearing\", \n    instructions=\"Walls need to be load bearing.\",\n    cardinality=\"required\")\nmy_spec.requirements.append(property)\nmy_ids.specifications.append(my_spec)\n\n# Save such IDS to file\nresult = my_ids.to_xml(\"SampleIDS.xml\")\n\n# open  IFC file:\nmy_ifc = ifcopenshell.open(\"MyIfcModel.ifc\")\n\n# validate IFC model against IDS requirements:\nmy_ids.validate(my_ifc)\n\n# show results:\nreporter.Console(my_ids).report()\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "IFC model auditing tool with support for IDS",
    "version": "0.0.240423",
    "project_urls": {
        "Documentation": "https://docs.ifcopenshell.org",
        "Homepage": "http://ifcopenshell.org",
        "Issues": "https://github.com/IfcOpenShell/IfcOpenShell/issues"
    },
    "split_keywords": [
        "ifc",
        " ids",
        " bim"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb5ec43f64795844308ade8fda3ee8a36a679e958e0aa46eae23f2232f9ec80e",
                "md5": "44fecda9807ae56025f192f70d9dabb8",
                "sha256": "4684ec7c20f2a9c9ce921073d43317883a057ffdf394acbee48bfd8b86328434"
            },
            "downloads": -1,
            "filename": "ifctester-0.0.240423-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "44fecda9807ae56025f192f70d9dabb8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 25845,
            "upload_time": "2024-04-23T09:50:03",
            "upload_time_iso_8601": "2024-04-23T09:50:03.908356Z",
            "url": "https://files.pythonhosted.org/packages/cb/5e/c43f64795844308ade8fda3ee8a36a679e958e0aa46eae23f2232f9ec80e/ifctester-0.0.240423-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "859c069df486c92f9e2ae4ddfef0cc931f86b54cd8ab167fbc2c63415259f79d",
                "md5": "d6b1353a893538db5cf8eed415e44e61",
                "sha256": "27528cc33fceaecafed088c3d9ebf9256a59c231ca7112421b3cf0f7c460ab96"
            },
            "downloads": -1,
            "filename": "ifctester-0.0.240423.tar.gz",
            "has_sig": false,
            "md5_digest": "d6b1353a893538db5cf8eed415e44e61",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 35471,
            "upload_time": "2024-04-23T09:50:05",
            "upload_time_iso_8601": "2024-04-23T09:50:05.863486Z",
            "url": "https://files.pythonhosted.org/packages/85/9c/069df486c92f9e2ae4ddfef0cc931f86b54cd8ab167fbc2c63415259f79d/ifctester-0.0.240423.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-23 09:50:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "IfcOpenShell",
    "github_project": "IfcOpenShell",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ifctester"
}
        
Elapsed time: 0.23762s