{"id":20048883,"url":"https://github.com/sintef/dlite","last_synced_at":"2026-05-11T13:01:27.240Z","repository":{"id":37981748,"uuid":"207571283","full_name":"SINTEF/dlite","owner":"SINTEF","description":"DLite - a lightweight data-centric framework for semantic interoperability","archived":false,"fork":false,"pushed_at":"2026-04-21T14:23:42.000Z","size":15663,"stargazers_count":43,"open_issues_count":70,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-21T16:31:57.256Z","etag":null,"topics":["code-generation","interoperability","metadata","semantic-interoperability"],"latest_commit_sha":null,"homepage":"https://SINTEF.github.io/dlite","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SINTEF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-09-10T13:45:17.000Z","updated_at":"2026-04-21T14:22:55.000Z","dependencies_parsed_at":"2023-09-23T01:07:09.873Z","dependency_job_id":"5b6cf091-e22d-4b50-b86f-dd42e22b59cc","html_url":"https://github.com/SINTEF/dlite","commit_stats":{"total_commits":2240,"total_committers":30,"mean_commits":74.66666666666667,"dds":0.3477678571428572,"last_synced_commit":"dc1d93089b3c364f9f6a5d8e820a63440667b653"},"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"purl":"pkg:github/SINTEF/dlite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2Fdlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2Fdlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2Fdlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2Fdlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SINTEF","download_url":"https://codeload.github.com/SINTEF/dlite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SINTEF%2Fdlite/sbom","scorecard":{"id":124106,"data":{"date":"2025-08-11","repo":{"name":"github.com/SINTEF/dlite","commit":"355b75c3c7569185bbd0b8fd0de2c96f64fcec97"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.6,"checks":[{"name":"Maintained","score":10,"reason":"14 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 14/30 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/cd_docs.yml:13","Warn: no topLevel permission defined: .github/workflows/cd_release.yml:1","Warn: no topLevel permission defined: .github/workflows/ci_automerge_dependabot.yml:1","Warn: no topLevel permission defined: .github/workflows/ci_build_wheels.yml:1","Warn: no topLevel permission defined: .github/workflows/ci_cd_updated_master.yml:1","Warn: no topLevel permission defined: .github/workflows/ci_dependabot.yml:1","Warn: no topLevel permission defined: .github/workflows/ci_tests.yml:1","Warn: no topLevel permission defined: .github/workflows/container_builds_weekly.yml:1","Warn: no topLevel permission defined: .github/workflows/static_analysis.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/cd_release.yml:224"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":0,"reason":"47 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2021-47 / GHSA-5jqp-qgf6-3pvh","Warn: Project is vulnerable to: GHSA-mr82-8j83-vxmv","Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7","Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2015-17","Warn: Project is vulnerable to: PYSEC-2023-74","Warn: Project is vulnerable to: PYSEC-2018-34 / GHSA-2fc2-6r4j-p65h","Warn: Project is vulnerable to: PYSEC-2021-856 / GHSA-5545-2q6w-2gh6","Warn: Project is vulnerable to: PYSEC-2019-108 / GHSA-9fq2-x9r6-wfmf","Warn: Project is vulnerable to: PYSEC-2018-33 / GHSA-cw6w-4rcx-xphc","Warn: Project is vulnerable to: PYSEC-2021-857 / GHSA-f7c7-j99h-c22f","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2017-1 / GHSA-frgw-fgh6-9g52","Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf","Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: PYSEC-2014-8 / GHSA-8r7q-cvjq-x353","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2014-82 / GHSA-fqh9-2qgg-h84h","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: PYSEC-2019-220 / GHSA-hj2j-77xm-mc5v","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: PYSEC-2017-48 / GHSA-chqf-hx79-gxc6","Warn: Project is vulnerable to: PYSEC-2018-19 / GHSA-232r-66cg-79px","Warn: Project is vulnerable to: PYSEC-2008-8 / GHSA-wqmm-q65g-2hqr","Warn: Project is vulnerable to: PYSEC-2022-166","Warn: Project is vulnerable to: PYSEC-2024-161","Warn: Project is vulnerable to: GHSA-m87m-mmvp-v9qm","Warn: Project is vulnerable to: PYSEC-2013-30 / GHSA-x33v-f3gp-gw2c","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: PYSEC-2023-207 / GHSA-gwvm-45gx-3cf8","Warn: Project is vulnerable to: PYSEC-2019-133 / GHSA-mh33-7rrq-662w","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2019-132 / GHSA-r64q-w8jr-g9qp","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f","Warn: Project is vulnerable to: PYSEC-2020-148 / GHSA-wqvq-5m8c-6g24","Warn: Project is vulnerable to: PYSEC-2018-32 / GHSA-www2-v7xj-xrc6","Warn: Project is vulnerable to: PYSEC-2021-108","Warn: Project is vulnerable to: PYSEC-2021-59"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_docs.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_docs.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_docs.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_docs.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cd_release.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cd_release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:127: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cd_release.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:202: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:218: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/cd_release.yml:233: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/cd_release.yml:255: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/cd_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_automerge_dependabot.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_automerge_dependabot.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci_build_wheels.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_build_wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci_build_wheels.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_build_wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_build_wheels.yml:96: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_build_wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_cd_updated_master.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_cd_updated_master.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_dependabot.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_dependabot.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_tests.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci_tests.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci_tests.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_tests.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci_tests.yml:204: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/ci_tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/container_builds_weekly.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/container_builds_weekly.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container_builds_weekly.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/container_builds_weekly.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/container_builds_weekly.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/container_builds_weekly.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container_builds_weekly.yml:126: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/container_builds_weekly.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/container_builds_weekly.yml:134: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/container_builds_weekly.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/static_analysis.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/SINTEF/dlite/static_analysis.yml/master?enable=pin","Warn: containerImage not pinned by hash: .github/docker/Dockerfile-mingw:32","Warn: containerImage not pinned by hash: .github/docker/Dockerfile-mingw:104","Warn: containerImage not pinned by hash: Dockerfile:30","Warn: containerImage not pinned by hash: Dockerfile:74","Warn: containerImage not pinned by hash: Dockerfile:125","Warn: containerImage not pinned by hash: Dockerfile:135","Warn: containerImage not pinned by hash: cmake/Dockerfile-ubuntu:17","Warn: containerImage not pinned by hash: cmake/Dockerfile-ubuntu:53","Warn: containerImage not pinned by hash: cmake/Dockerfile-ubuntu:57","Warn: containerImage not pinned by hash: cmake/Dockerfile-ubuntu:60","Warn: pipCommand not pinned by hash: Dockerfile:63-68","Warn: pipCommand not pinned by hash: Dockerfile:150-155","Warn: pipCommand not pinned by hash: cmake/Dockerfile-ubuntu:39","Warn: pipCommand not pinned by hash: cmake/Dockerfile-ubuntu:41","Warn: pipCommand not pinned by hash: .github/workflows/cd_docs.yml:60","Warn: pipCommand not pinned by hash: .github/workflows/cd_docs.yml:61","Warn: pipCommand not pinned by hash: .github/workflows/cd_release.yml:162","Warn: pipCommand not pinned by hash: .github/workflows/cd_release.yml:163","Warn: pipCommand not pinned by hash: .github/workflows/cd_release.yml:208","Warn: pipCommand not pinned by hash: .github/workflows/cd_release.yml:209","Warn: pipCommand not pinned by hash: .github/workflows/cd_release.yml:212","Warn: pipCommand not pinned by hash: .github/workflows/ci_build_wheels.yml:104","Warn: pipCommand not pinned by hash: .github/workflows/ci_build_wheels.yml:105","Info:   0 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 third-party GitHubAction dependencies pinned","Info:   0 out of  13 pipCommand dependencies pinned","Info:   0 out of  10 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T03:17:59.347Z","repository_id":37981748,"created_at":"2025-08-16T03:17:59.347Z","updated_at":"2025-08-16T03:17:59.347Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32297915,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-generation","interoperability","metadata","semantic-interoperability"],"created_at":"2024-11-13T11:47:07.562Z","updated_at":"2026-04-26T13:03:25.990Z","avatar_url":"https://github.com/SINTEF.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/SINTEF/dlite/master/doc/_static/logo.svg\" align=\"right\" /\u003e\n\n[![PyPi](https://img.shields.io/pypi/v/dlite-python.svg)](https://pypi.org/project/dlite-python/)\n[![CI tests](https://github.com/sintef/dlite/workflows/CI%20tests/badge.svg)](https://github.com/SINTEF/dlite/actions)\n[![Documentation](https://img.shields.io/badge/documentation-informational?logo=githubpages)](https://sintef.github.io/dlite/index.html)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7811078.svg)](https://doi.org/10.5281/zenodo.7811078)\n\u003c!--\n[![DOI](https://zenodo.org/badge/207571283.svg)](https://zenodo.org/badge/latestdoi/207571283)\n--\u003e\n\n\u003e A lightweight data-centric framework for semantic interoperability\n\n\nDLite\n=====\nDLite is a C implementation of the [SINTEF Open Framework and Tools\n(SOFT)][SOFT], which is a set of concepts and tools for using data\nmodels (aka Metadata) to efficiently describe and work with scientific\ndata.\n\n![DLite overview](https://raw.githubusercontent.com/SINTEF/dlite/master/doc/_static/overview.svg)\n\nThe core of DLite is a framework for formalised representation of data\ndescribed by data models (called Metadata or Entity in DLite).\nOn top of this, DLite has a plugin system for various representations of\nthe data in different formats and storages, as well as bindings to popular\nlanguages like Python, mappings to ontological concepts for enhanced\nsemantics and a set of tools.\n\n\nDocumentation\n-------------\nThe official documentation for DLite can be found on https://sintef.github.io/dlite/.\n\n\nInstallation\n------------\nDLite is available on PyPI and can be installed with pip\n\n```shell\npip install dlite-python[full]\n```\n\nThe bracket `[full]` is optional, but ensures that you install all optional\ndependencies together with DLite.\nWithout `[full]` you get a minimal DLite installation that only depends on\nNumPy.\nThis would disable most storage plugins, except for the built-in\n\"json\", \"bson\" and \"rdf\" (when compiled against Redland librdf).\nFor alternative installation methods, see the [installation instructions].\n\n\nUsage\n-----\nAll data in DLite is represented by a instance, which is described by\na simple data model (aka Metadata).  An Instance is identified by a\nunique UUID and have a set of named dimensions and properties.  The\ndimensions are used to describe the shape of multi-dimensional\nproperties.\n\nDLite Metadata are identified by an URI and have an (optional) human\nreadable description.  Each dimension is given a name and description\n(optional) and each property is given a name, type, shape (optional),\nunit (optional) and description (optional).  The shape of a property\nrefers to the named dimensions.  Foe example, a Metadata for a person\nserialised in YAML may look like:\n\n```yaml\nuri: http://onto-ns.com/meta/0.1/Person\ndescription: A person.\ndimensions:\n  nskills: Number of skills.\nproperties:\n  name:\n    type: string\n    description: Full name.\n  age:\n    type: float32\n    unit: year\n    description: Age of person.\n  skills:\n    type: string\n    shape: [nskills]\n    description: List of skills.\n```\n\nAssume that you have file `Person.yaml` with this content.\nIn Python, you can load this Metadata with\n\n```python\nimport dlite\nPerson = dlite.Instance.from_location(\"yaml\", \"Person.yaml\", options=\"mode=r\")\n```\n\nwhere the first argument is the \"driver\", i.e. the name of storage\nplugin to use for loading the Metadata.  The `options` argument is\noptional.  By providing `\"mode=r\"` you specify that the storage is\nopened in read-only mode.\n\nYou can verify that Person is a Metadata\n\n```python\n\u003e\u003e\u003e isinstance(Person, dlite.Metadata)\nTrue\n```\n\nWe can create an instance of `Person` with\n\n```python\nholmes = Person(\n    dimensions={\"nskills\": 4},\n    properties={\n      \"name\": \"Sherlock Holmes\",\n      \"skills\": [\"observing\", \"chemistry\", \"violin\", \"boxing\"],\n    }\n)\n```\n\nThe `dimensions` argument must be supplied when a Metadata is\ninstantiated.  It ensures that the shape of all properties are\ninitialised consistently.  The `properties` argument is optional.\nBy specifying it, we initialise the properties to the provided values\n(otherwise, they will be initialised to zero).\n\nIn this case we didn't initialised the age\n```python\n\u003e\u003e\u003e holmes.age\n0.0\n\u003e\u003e\u003e holmes.age = 34  # Assign the age\n```\n\nIf you have [Pint] installed, you can also specify or access the age\nas a quantity with unit\n```python\n\u003e\u003e\u003e holmes.q.age = \"34year\"\n\u003e\u003e\u003e holmes.q.age\n\u003cQuantity(34, 'year')\u003e\n\u003e\u003e\u003e holmes.q.age.to(\"century\").m\n0.34\n```\n\nWe can view (a JSON representation of) the instance with\n\n```python\n\u003e\u003e\u003e print(holmes)\n{\n  \"uuid\": \"314ac1ad-4a7e-477b-a56c-939121355112\",\n  \"meta\": \"http://onto-ns.com/meta/0.1/Person\",\n  \"dimensions\": {\n    \"nskills\": 4\n  },\n  \"properties\": {\n    \"Sherlock Holmes\" {\n      \"age\": 34.0,\n      \"skills\": [\n        \"observing\",\n        \"chemistry\",\n        \"violin\",\n        \"boxing\"\n      ]\n    }\n  }\n}\n```\n\nThe instance can also be stored using the `save()` method\n\n```python\nholmes.save(\"yaml\", \"holmes.yaml\", \"mode=w\")\n```\n\nwhich will produce the a YAML file with the following content\n\n```yaml\n8cbd4c09-734d-4532-b35a-1e0dd5c3e8b5:\n  meta: http://onto-ns.com/meta/0.1/Person\n  dimensions:\n    nskills: 4\n  properties:\n    Sherlock Holmes:\n      age: 34.0\n      skills:\n      - observing\n      - chemistry\n      - violin\n      - boxind\n```\n\nThis was just a brief example.\nThere is much more to DLite as will be revealed in the [documentation].\n\n\nLicense\n-------\nDLite is licensed under the [MIT license](LICENSE).  However, it\ninclude a few third party source files with other permissive licenses.\nAll of these should allow dynamic and static linking against open and\npropritary codes.  A full list of included licenses can be found in\n[LICENSES.txt](src/utils/LICENSES.txt).\n\n\nAcknowledgment\n--------------\nIn addition from internal funding from SINTEF and NTNU this work has\nbeen supported by several projects, including:\n\n  - [AMPERE](https://www.sintef.no/en/projects/2015/ampere-aluminium-alloys-with-mechanical-properties-and-electrical-conductivity-at-elevated-temperatures/) (2015-2020) funded by Forskningsrådet and Norwegian industry partners.\n  - FICAL (2015-2020) funded by Forskningsrådet and Norwegian industry partners.\n  - [Rational alloy design (ALLDESIGN)](https://www.ntnu.edu/digital-transformation/alldesign) (2018-2022) NTNU internally funded project.\n  - [SFI Manufacturing](https://www.sfimanufacturing.no/) (2015-2023) funded by Forskningsrådet and Norwegian industry partners.\n  - [SFI PhysMet](https://www.ntnu.edu/physmet) (2020-2028) funded by Forskningsrådet and Norwegian industry partners.\n  - [OntoTrans](https://cordis.europa.eu/project/id/862136) (2020-2024) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 862136.\n  - [OpenModel](https://www.open-model.eu/) (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 953167.\n  - [DOME 4.0](https://dome40.eu/) (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 953163.\n  - [VIPCOAT](https://www.vipcoat.eu/) (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 952903.\n  - MEDIATE (2022-2025) that receives funding from the RCN, Norway; FNR, Luxenburg; SMWK Germany via the M-era.net programme, project9557,\n  - [MatCHMaker](https://he-matchmaker.eu/) (2022-2026) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 101091687.\n  - [PINK](https://pink-project.eu/) (2024-2027) that receives funding from the European Union's Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 101137809.\n\n---\n\nDLite is developed with the hope that it will be a delight to work with.\n\n[installation instructions]: https://sintef.github.io/dlite/getting_started/installation.html\n[documentation]: https://sintef.github.io/dlite/index.html\n[SOFT]: https://www.sintef.no/en/publications/publication/1553408/\n[UUID]: https://en.wikipedia.org/wiki/Universally_unique_identifier\n[Pint]: https://pint.readthedocs.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintef%2Fdlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsintef%2Fdlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsintef%2Fdlite/lists"}