Skip to main content

DTCC Core

Project description

DTCC Core

DTCC Core provides the core functionality for DTCC Platform, including data modeling, data wrangling, data generation, and data input/output.

This project is part of the Digital Twin Platform (DTCC Platform) developed at the Digital Twin Cities Centre supported by Sweden’s Innovation Agency Vinnova under Grant No. 2019-421 00041.

Documentation

This project is documented as part of the DTCC Platform Documentation.

Authors (in order of appearance)

License

This project is licensed under the MIT license.

Copyrights are held by the individual authors as listed at the top of each source file.

Community guidelines

Comments, contributions, and questions are welcome. Please engage with us through Issues, Pull Requests, and Discussions on our GitHub page.

Local Function-Call Check

CI enforces that every public API function (exported via __all__) in dtcc_core is executed at least once by the test suite. You can run the same check locally:

  • Create a virtual environment and install the project and test tools:

    • python -m venv .venv && source .venv/bin/activate (Windows: python -m venv .venv && .venv\\Scripts\\activate)
    • pip install -e .
    • pip install pytest pytest-cov
  • Run tests with coverage to produce tests/coverage.json (run from the tests directory to match CI):

    • cd tests
    • pytest --maxfail=1 --disable-warnings --cov=dtcc_core --cov-report=term-missing --cov-report=json:coverage.json
  • From the project root, run the function-call checker:

    • cd ..
    • python scripts/check_public_api_calls.py --package dtcc_core --coverage-file tests/coverage.json

Exit status 0 means all public functions were exercised by tests. A non‑zero exit prints the list of missed functions with their source locations so you can add or adjust tests.

Installation Notes

  • Surface meshing backends: SPADE is used by default via dtcc-pyspade-native. Earcut is provided as a fast alternative for cases where a lightweight triangulation method is preferred. Support for the Triangle backend is optional and disabled by default to keep the standard installation minimal.

  • Enabling Triangle: If you wish to build with Triangle support, ensure that the Triangle library is available on your system (a header-only setup is sufficient) and install dtcc-core with:

    pip install . \
      --config-settings=cmake.define.DTCC_USE_TRIANGLE=ON \
      --config-settings=cmake.define.DTCC_TRIANGLE_DIR=/path/to/triangle/prefix
    

    If these options are omitted, the build will proceed without Triangle and will use SPADE or earcut depending on configuration and availability.

  • Volume meshing with TetGen: TetGen can be used for tetrahedral meshing through the minimal wrapper provided in the dtcc-tetgen-wrapper repository:

    git clone https://github.com/dtcc-platform/dtcc-tetgen-wrapper.git
    cd dtcc-tetgen-wrapper
    pip install .
    

Makefile shortcuts

If you have make available, you can use these shortcuts from the repository root:

  • make install — install the package and test tooling.
  • make test — run the test suite.
  • make coverage — run tests with coverage and write tests/coverage.json.
  • make check-public-api — check that all public API functions were executed.
  • make verify-public-api — run coverage and then the public API check.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

dtcc_core-0.9.6-cp313-cp313-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

dtcc_core-0.9.6-cp312-cp312-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.12Windows x86-64

dtcc_core-0.9.6-cp312-cp312-win32.whl (5.3 MB view details)

Uploaded CPython 3.12Windows x86

dtcc_core-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dtcc_core-0.9.6-cp312-cp312-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

dtcc_core-0.9.6-cp311-cp311-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.11Windows x86-64

dtcc_core-0.9.6-cp311-cp311-win32.whl (5.3 MB view details)

Uploaded CPython 3.11Windows x86

dtcc_core-0.9.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dtcc_core-0.9.6-cp311-cp311-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

dtcc_core-0.9.6-cp310-cp310-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.10Windows x86-64

dtcc_core-0.9.6-cp310-cp310-win32.whl (5.3 MB view details)

Uploaded CPython 3.10Windows x86

dtcc_core-0.9.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

dtcc_core-0.9.6-cp310-cp310-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file dtcc_core-0.9.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a66189f07b43e9f6b78b77982b41fd2efb3682cce3d59ab3a6a5eb2c799341d0
MD5 8eb9e131ccdaf16e192783bea0b92d90
BLAKE2b-256 1523c84fdfe95c4affd2ab4b3f7d65a9c337eaa2b8f1c484bc6ecfaeb4a5f7f3

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2eede432f30a9825d3c8b6b438205a39436099b0e3ef4f8479ccf016aba19967
MD5 e6f328611cf725b5b33e85648f060faf
BLAKE2b-256 c3d064066c223931e92b726a83c9264a2f29f0612d745bbf2f4f5adebd5add93

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp312-cp312-win32.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp312-cp312-win32.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 ddbf0a854b293b25274c7181c5222d6c3cb159c2bab62ea6f68238aa78516134
MD5 aa1946a1d468c7837f18319f06127f25
BLAKE2b-256 1754a9cf102c680c9a7063f7c1bcb4dc51d96f234b075a5ebabe86be811bedcc

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 13379dd3d74ba86ec824e54cd5761493ead46d6efa6e4f6e9f768f15a211b9eb
MD5 600122515e9d5e93dc002d98c86c2cd3
BLAKE2b-256 c8b406c55887766077b12cb7d2172f643e31c0ac3129175227b2239bc6b4d361

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 855e5b7a830d236bc99bacb740ab2fc319e4b2cd8195af168ed7cdc3c64b4dee
MD5 746ea70c15551f4e2f47097d6c618239
BLAKE2b-256 8d39a41af8213463bd893055df88f9b9aae17b285de138a4566e62447f477ca9

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4b034ad9514d814b977ba9e1842b9e4bb5d4bcaa2449aa36f59481de34d2b6c3
MD5 2c2ed776d1a5ef68e5f32a8948f8e06b
BLAKE2b-256 21aa2ca6f3c3b8c936424c3f971c61ef86d90a99e55ec0222830a6d37e2965dd

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp311-cp311-win32.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp311-cp311-win32.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 23b497227bb5bda39169b726adc4715083c9639e40213c2abf4f5024efa863be
MD5 ea0dcfab1b6155288d22b0de1e4d7016
BLAKE2b-256 318d50fc98a3d869edc24b699de09ba3be027d6dd885d7ca38965e6093115630

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d2db784ee7b0b4e7a4cbcde53410ba2046162938a88a00d5ddf0ce0a87adb51e
MD5 9807226fa0e0b03eea0eef2367cdb18d
BLAKE2b-256 4bc1417716edcbfd4c3942c07a806a3794d98b3d2b2341b61300a98c7fccda19

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0e2e5f968f24a8ca3f98900a1e41175b7e450ba7bdf0757e540353479fae3a8
MD5 a38d9ca75b902703df9b6e383008866e
BLAKE2b-256 b9740c298b358231e69f50bba16578718fe0098450a3994a3496270a25fdfd31

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5f301ffa115295d46d2a91800407d610af94763246358d1ead44ba7f9e3390c1
MD5 8cb4b4c99cf74856472681ec15e81195
BLAKE2b-256 82f8f62ffe1fad26803f9d32e0e71439443fa2b87e35c1971d5cb8af0aefb450

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp310-cp310-win32.whl.

File metadata

  • Download URL: dtcc_core-0.9.6-cp310-cp310-win32.whl
  • Upload date:
  • Size: 5.3 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for dtcc_core-0.9.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1ff02e349ee2fab25fd07aae21bd2627b0a80acc6d879c0e06a2a5eeb28f00c3
MD5 bf219c1c4b0572a2def4e59532f37374
BLAKE2b-256 edd08f70950687ba67df075ee701ef3f7705149c3c6a9172ebddb5fa692ae385

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 793afdd4987cd650b048d7db0f8df2f643c7d6f6dbb41f66c09313bd8fc06f10
MD5 b9eed3b05076799047953dfd4bdc1662
BLAKE2b-256 ddfc24078086b3b9a2b671252f77342a5f80c6f06b1dffd3fd8b428a968cd0a1

See more details on using hashes here.

File details

Details for the file dtcc_core-0.9.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dtcc_core-0.9.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8ea3cf8b84105ba9814275ea0a91dabeb9ee5ddcf31f6d95a6978d2966b2d203
MD5 dafe8b3b8a4e267633ed3ad43d159644
BLAKE2b-256 c6d18feec7891e265bcef42142a6d970a73181eb14d18fae29e33fa9e413035a

See more details on using hashes here.

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