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)
- Anders Logg
- Vasilis Naserentin
- Dag Wästerberg
- Orfeas Eleutheriou
- Anton Olsson
- Anton Annlöv
- George Spaias
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 thetestsdirectory to match CI):cd testspytest --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-corewith:pip install . \ --config-settings=cmake.define.DTCC_USE_TRIANGLE=ON \ --config-settings=cmake.define.DTCC_TRIANGLE_DIR=/path/to/triangle/prefixIf 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-wrapperrepository: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 writetests/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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dtcc_core-0.9.6-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: dtcc_core-0.9.6-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a66189f07b43e9f6b78b77982b41fd2efb3682cce3d59ab3a6a5eb2c799341d0
|
|
| MD5 |
8eb9e131ccdaf16e192783bea0b92d90
|
|
| BLAKE2b-256 |
1523c84fdfe95c4affd2ab4b3f7d65a9c337eaa2b8f1c484bc6ecfaeb4a5f7f3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eede432f30a9825d3c8b6b438205a39436099b0e3ef4f8479ccf016aba19967
|
|
| MD5 |
e6f328611cf725b5b33e85648f060faf
|
|
| BLAKE2b-256 |
c3d064066c223931e92b726a83c9264a2f29f0612d745bbf2f4f5adebd5add93
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddbf0a854b293b25274c7181c5222d6c3cb159c2bab62ea6f68238aa78516134
|
|
| MD5 |
aa1946a1d468c7837f18319f06127f25
|
|
| BLAKE2b-256 |
1754a9cf102c680c9a7063f7c1bcb4dc51d96f234b075a5ebabe86be811bedcc
|
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
- Download URL: dtcc_core-0.9.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13379dd3d74ba86ec824e54cd5761493ead46d6efa6e4f6e9f768f15a211b9eb
|
|
| MD5 |
600122515e9d5e93dc002d98c86c2cd3
|
|
| BLAKE2b-256 |
c8b406c55887766077b12cb7d2172f643e31c0ac3129175227b2239bc6b4d361
|
File details
Details for the file dtcc_core-0.9.6-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: dtcc_core-0.9.6-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
855e5b7a830d236bc99bacb740ab2fc319e4b2cd8195af168ed7cdc3c64b4dee
|
|
| MD5 |
746ea70c15551f4e2f47097d6c618239
|
|
| BLAKE2b-256 |
8d39a41af8213463bd893055df88f9b9aae17b285de138a4566e62447f477ca9
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b034ad9514d814b977ba9e1842b9e4bb5d4bcaa2449aa36f59481de34d2b6c3
|
|
| MD5 |
2c2ed776d1a5ef68e5f32a8948f8e06b
|
|
| BLAKE2b-256 |
21aa2ca6f3c3b8c936424c3f971c61ef86d90a99e55ec0222830a6d37e2965dd
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23b497227bb5bda39169b726adc4715083c9639e40213c2abf4f5024efa863be
|
|
| MD5 |
ea0dcfab1b6155288d22b0de1e4d7016
|
|
| BLAKE2b-256 |
318d50fc98a3d869edc24b699de09ba3be027d6dd885d7ca38965e6093115630
|
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
- Download URL: dtcc_core-0.9.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2db784ee7b0b4e7a4cbcde53410ba2046162938a88a00d5ddf0ce0a87adb51e
|
|
| MD5 |
9807226fa0e0b03eea0eef2367cdb18d
|
|
| BLAKE2b-256 |
4bc1417716edcbfd4c3942c07a806a3794d98b3d2b2341b61300a98c7fccda19
|
File details
Details for the file dtcc_core-0.9.6-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: dtcc_core-0.9.6-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0e2e5f968f24a8ca3f98900a1e41175b7e450ba7bdf0757e540353479fae3a8
|
|
| MD5 |
a38d9ca75b902703df9b6e383008866e
|
|
| BLAKE2b-256 |
b9740c298b358231e69f50bba16578718fe0098450a3994a3496270a25fdfd31
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f301ffa115295d46d2a91800407d610af94763246358d1ead44ba7f9e3390c1
|
|
| MD5 |
8cb4b4c99cf74856472681ec15e81195
|
|
| BLAKE2b-256 |
82f8f62ffe1fad26803f9d32e0e71439443fa2b87e35c1971d5cb8af0aefb450
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ff02e349ee2fab25fd07aae21bd2627b0a80acc6d879c0e06a2a5eeb28f00c3
|
|
| MD5 |
bf219c1c4b0572a2def4e59532f37374
|
|
| BLAKE2b-256 |
edd08f70950687ba67df075ee701ef3f7705149c3c6a9172ebddb5fa692ae385
|
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
- Download URL: dtcc_core-0.9.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
793afdd4987cd650b048d7db0f8df2f643c7d6f6dbb41f66c09313bd8fc06f10
|
|
| MD5 |
b9eed3b05076799047953dfd4bdc1662
|
|
| BLAKE2b-256 |
ddfc24078086b3b9a2b671252f77342a5f80c6f06b1dffd3fd8b428a968cd0a1
|
File details
Details for the file dtcc_core-0.9.6-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: dtcc_core-0.9.6-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ea3cf8b84105ba9814275ea0a91dabeb9ee5ddcf31f6d95a6978d2966b2d203
|
|
| MD5 |
dafe8b3b8a4e267633ed3ad43d159644
|
|
| BLAKE2b-256 |
c6d18feec7891e265bcef42142a6d970a73181eb14d18fae29e33fa9e413035a
|