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.5-cp312-cp312-win_amd64.whl (5.3 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

dtcc_core-0.9.5-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.5-cp312-cp312-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

dtcc_core-0.9.5-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.5-cp311-cp311-macosx_11_0_arm64.whl (5.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

dtcc_core-0.9.5-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.5-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.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4e68ea4a6b54dda2db3a582697c7dedce08b71a15571159a4fafeaebc40c77f8
MD5 dea78aa268a1b22ec6d5be4205248dd6
BLAKE2b-256 9fbf22d06338c5f4a0a2feeee90be60a801fc5b948dadf31514de7032bc0dae0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 6f2df1aeac8a813db1b39dcd12c35a1a2f812350648241dd745054406fc747c5
MD5 06d1991e9dc9030523a9c5fe40e97584
BLAKE2b-256 332c1800d5c2998e9a1b4ca51a20edf9c6faa1408be479f00b756324f026e9a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf17c3902639a463ab548ebb9ddf25f70395fce92139d9cbe478cb25c2d3dfd8
MD5 b3cb3075bd9025c2931e97f3f4f8b02f
BLAKE2b-256 8249772c89c50049d0c228388d13841bc0d219937bcf3dc230af19d56d887653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3d9b822606351f69dc69076614507c86b7af67222ef1d1d7987d59ac932239f
MD5 3d964ee532d632265cf653daaa879762
BLAKE2b-256 3c3a8bd21c715880aeedd9db053dbc93f7c217b6789eb7596f4567aec0a99f2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0dafafc34a1174a035e2392c387d187d358a1b7fa0ef9e498b4fbd976979f905
MD5 f491bceef6dfe305c789f9027d9969d7
BLAKE2b-256 5d2ecbfe58fec650796b7f25e78d48c841db568b3ecc61839496d0e5368b4ecd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0266c333eea3d9aaf06f9fed12750cfaceaad10f6e312ec9ac1b28ec34434fcd
MD5 735b7da1442d51be3b935401815c135a
BLAKE2b-256 0c9a4177f7b81a336f6f0731561fc451ed59d77b1a2b12eddc56c807966e9885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e19c083b4f0ee36a6332941ee264ecd0fd701ddf476bd94430eed636a19a02d
MD5 9941ea2d3bd057f23a420c1fcdbccd35
BLAKE2b-256 7220bf1fa5c5c86f3cbc82b8f78479a847ea5132c082c643dc50387fd6f94da0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cfccf85226c383912850411003e99332bef462d10b7d58f63566c0e6a4a1309
MD5 98a2b74cfbc0802d229191cc77694120
BLAKE2b-256 cc47f948f5ff8db05ca2bdb8f4776b9fa0fd80adcfb41c1281def6102e51f3f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eb45ee646a906b4bb4c2ad59af00037efc1c9dc43570e58153906abe3eeeb1a3
MD5 e1dc3c742fedf373e01ac65d3b160bf0
BLAKE2b-256 05f97055a08a7878a544cf9a7d4cc4c096d0745ce368af3c0d476bde5ca65751

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dtcc_core-0.9.5-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.11.9

File hashes

Hashes for dtcc_core-0.9.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 2e707193052e00e4c7c4ad34de1de5aeb34c48fe513ba426edbcdfdb4cb21dce
MD5 c5c51dfe6b3c6a46a23cc5864143b97a
BLAKE2b-256 a078f3c59dbfdac4a92d4e99baf4f895ac637e9fcd7b8554dbcb9c142b0a70c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f775d4147b2b379123ca07e63cbf7f919b67775094c749cbab5692c042438eec
MD5 f33368b7e44bf26f0f22f0270a15c2c7
BLAKE2b-256 2b35fdc7b7c2bb5aa9e3b448de1450dab22e91e5250847a7d9572b751482883c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dtcc_core-0.9.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 798e7a3d64741ef0e86aad98c8893239cd2b725d93ea070c79ca026a2a351f12
MD5 32131e213684e13e68a61af18416ece0
BLAKE2b-256 d3e048dbf94c7dfb8a1764658a18bd7b2afd2a888a7f357b2eeca5c0abd20cf1

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