tripper 0.4.0__tar.gz → 0.4.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/cd_release.yml +3 -3
  2. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/ci_automerge_dependency_prs.yml +1 -1
  3. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/ci_cd_updated_main.yml +2 -2
  4. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/ci_check_dependencies.yml +1 -1
  5. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/ci_tests.yml +34 -23
  6. {tripper-0.4.0 → tripper-0.4.3}/.github/workflows/ci_update_dependencies.yml +1 -1
  7. tripper-0.4.3/.hooks/generate-context-and-doc.sh +20 -0
  8. tripper-0.4.3/.hooks/markdown-doctest.sh +8 -0
  9. {tripper-0.4.0 → tripper-0.4.3}/.pre-commit-config.yaml +24 -5
  10. {tripper-0.4.0 → tripper-0.4.3}/CHANGELOG.md +105 -0
  11. {tripper-0.4.0 → tripper-0.4.3}/LICENSE +1 -1
  12. tripper-0.4.3/MANIFEST.in +1 -0
  13. {tripper-0.4.0 → tripper-0.4.3}/PKG-INFO +64 -30
  14. {tripper-0.4.0 → tripper-0.4.3}/README.md +38 -12
  15. tripper-0.4.3/docs/api_reference/datadoc/context.md +3 -0
  16. tripper-0.4.3/docs/api_reference/datadoc/errors.md +3 -0
  17. tripper-0.4.3/docs/api_reference/datadoc/keywords.md +3 -0
  18. tripper-0.4.3/docs/api_reference/session.md +3 -0
  19. tripper-0.4.3/docs/api_reference/units/.pages +1 -0
  20. tripper-0.4.3/docs/api_reference/units/units.md +3 -0
  21. {tripper-0.4.0 → tripper-0.4.3}/docs/backend_discovery.md +4 -3
  22. tripper-0.4.3/docs/datadoc/classdoc.md +60 -0
  23. {tripper-0.4.0 → tripper-0.4.3}/docs/datadoc/customisation.md +18 -11
  24. {tripper-0.4.0 → tripper-0.4.3}/docs/datadoc/documenting-a-resource.md +57 -48
  25. tripper-0.4.3/docs/datadoc/fetching-resources-from-a-triplestore.md +122 -0
  26. {tripper-0.4.0 → tripper-0.4.3}/docs/datadoc/introduction.md +1 -1
  27. tripper-0.4.3/docs/datadoc/keywords.md +595 -0
  28. tripper-0.4.3/docs/datadoc/prefixes.md +32 -0
  29. tripper-0.4.3/docs/developers.md +77 -0
  30. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset.drawio +631 -56
  31. tripper-0.4.3/docs/figs/dataset.png +0 -0
  32. tripper-0.4.3/docs/figs/tripper_logo.png +0 -0
  33. tripper-0.4.3/docs/figs/tripper_logo.svg +210 -0
  34. tripper-0.4.3/docs/figs/tripper_logo_w_name.png +0 -0
  35. tripper-0.4.3/docs/figs/tripper_logo_w_name.svg +252 -0
  36. {tripper-0.4.0 → tripper-0.4.3}/docs/index.md +38 -12
  37. tripper-0.4.3/docs/session.md +84 -0
  38. {tripper-0.4.0 → tripper-0.4.3}/docs/tools/datadoc.md +12 -6
  39. {tripper-0.4.0 → tripper-0.4.3}/docs/tutorial.md +3 -6
  40. tripper-0.4.3/docs/units/units.md +417 -0
  41. tripper-0.4.3/examples/classdoc/mysimulation.py +15 -0
  42. tripper-0.4.3/examples/classdoc/mysimulation.yaml +42 -0
  43. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/workflow_mappings.py +8 -1
  44. {tripper-0.4.0 → tripper-0.4.3}/mkdocs.yml +9 -2
  45. {tripper-0.4.0 → tripper-0.4.3}/pyproject.toml +41 -19
  46. tripper-0.4.3/tests/backends/datadocumentation_sample.yaml +12 -0
  47. tripper-0.4.3/tests/backends/datadocumentation_sample2.yaml +12 -0
  48. {tripper-0.4.0 → tripper-0.4.3}/tests/backends/test_sparqlwrapper.py +2 -1
  49. tripper-0.4.3/tests/backends/test_sparqlwrapper_graphdb_fuseki.py +221 -0
  50. {tripper-0.4.0 → tripper-0.4.3}/tests/datadoc/dataset_paths.py +2 -1
  51. tripper-0.4.3/tests/datadoc/test_context.py +241 -0
  52. {tripper-0.4.0 → tripper-0.4.3}/tests/datadoc/test_dataaccess.py +54 -23
  53. tripper-0.4.3/tests/datadoc/test_datadoc_cli.py +219 -0
  54. tripper-0.4.3/tests/datadoc/test_dataset.py +715 -0
  55. tripper-0.4.3/tests/datadoc/test_keywords.py +177 -0
  56. {tripper-0.4.0 → tripper-0.4.3}/tests/datadoc/test_tabledoc.py +66 -43
  57. {tripper-0.4.0 → tripper-0.4.3}/tests/input/custom_context.yaml +1 -1
  58. tripper-0.4.3/tests/input/mappings.ttl +5 -0
  59. {tripper-0.4.0 → tripper-0.4.3}/tests/input/semdata-context.json +2 -2
  60. {tripper-0.4.0 → tripper-0.4.3}/tests/input/semdata.csv +5 -5
  61. {tripper-0.4.0 → tripper-0.4.3}/tests/input/semdata.yaml +26 -16
  62. tripper-0.4.3/tests/input/session.yaml +14 -0
  63. tripper-0.4.3/tests/output/.gitignore +11 -0
  64. {tripper-0.4.0 → tripper-0.4.3}/tests/test_literals.py +99 -12
  65. tripper-0.4.3/tests/test_markdown_doctest.py +49 -0
  66. {tripper-0.4.0 → tripper-0.4.3}/tests/test_namespace.py +17 -9
  67. tripper-0.4.3/tests/test_session.py +37 -0
  68. {tripper-0.4.0 → tripper-0.4.3}/tests/test_triplestore.py +6 -2
  69. {tripper-0.4.0 → tripper-0.4.3}/tests/test_utils.py +127 -1
  70. tripper-0.4.3/tests/units/test_units.py +424 -0
  71. tripper-0.4.3/tripper/__init__.py +96 -0
  72. {tripper-0.4.0 → tripper-0.4.3}/tripper/backends/sparqlwrapper.py +109 -21
  73. tripper-0.4.3/tripper/context/0.3/context.json +402 -0
  74. tripper-0.4.3/tripper/context/0.3/keywords.yaml +846 -0
  75. tripper-0.4.3/tripper/context/process/0.1/context.json +402 -0
  76. tripper-0.4.3/tripper/context/process/0.1/keywords.yaml +117 -0
  77. {tripper-0.4.0 → tripper-0.4.3}/tripper/datadoc/__init__.py +9 -1
  78. {tripper-0.4.0 → tripper-0.4.3}/tripper/datadoc/clitool.py +113 -27
  79. tripper-0.4.3/tripper/datadoc/context.py +432 -0
  80. {tripper-0.4.0 → tripper-0.4.3}/tripper/datadoc/dataaccess.py +61 -23
  81. tripper-0.4.3/tripper/datadoc/dataset.py +1563 -0
  82. tripper-0.4.3/tripper/datadoc/errors.py +43 -0
  83. tripper-0.4.3/tripper/datadoc/keywords.py +580 -0
  84. {tripper-0.4.0 → tripper-0.4.3}/tripper/datadoc/tabledoc.py +116 -35
  85. {tripper-0.4.0 → tripper-0.4.3}/tripper/errors.py +9 -1
  86. {tripper-0.4.0 → tripper-0.4.3}/tripper/literal.py +144 -11
  87. {tripper-0.4.0 → tripper-0.4.3}/tripper/namespace.py +59 -15
  88. tripper-0.4.3/tripper/session.py +115 -0
  89. {tripper-0.4.0 → tripper-0.4.3}/tripper/triplestore.py +82 -93
  90. tripper-0.4.3/tripper/units/__init__.py +3 -0
  91. tripper-0.4.3/tripper/units/units.py +1407 -0
  92. {tripper-0.4.0 → tripper-0.4.3}/tripper/utils.py +266 -18
  93. tripper-0.4.0/docs/datadoc/keywords.md +0 -228
  94. tripper-0.4.0/docs/datadoc/prefixes.md +0 -28
  95. tripper-0.4.0/docs/developers.md +0 -28
  96. tripper-0.4.0/tests/datadoc/test_dataset.py +0 -388
  97. tripper-0.4.0/tests/output/.gitignore +0 -6
  98. tripper-0.4.0/tripper/__init__.py +0 -73
  99. tripper-0.4.0/tripper/datadoc/dataset.py +0 -994
  100. {tripper-0.4.0 → tripper-0.4.3}/.github/dependabot.yml +0 -0
  101. {tripper-0.4.0 → tripper-0.4.3}/.github/pull_request_template.md +0 -0
  102. {tripper-0.4.0 → tripper-0.4.3}/.gitignore +0 -0
  103. {tripper-0.4.0 → tripper-0.4.3}/docs/CHANGELOG.md +0 -0
  104. {tripper-0.4.0 → tripper-0.4.3}/docs/LICENSE.md +0 -0
  105. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/.pages +0 -0
  106. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/backends/.pages +0 -0
  107. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/backends/collection.md +0 -0
  108. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/backends/ontopy.md +0 -0
  109. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/backends/rdflib.md +0 -0
  110. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/backends/sparqlwrapper.md +0 -0
  111. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/convert/.pages +0 -0
  112. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/convert/convert.md +0 -0
  113. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/datadoc/.pages +0 -0
  114. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/datadoc/clitool.md +0 -0
  115. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/datadoc/dataaccess.md +0 -0
  116. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/datadoc/dataset.md +0 -0
  117. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/datadoc/tabledoc.md +0 -0
  118. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/errors.md +0 -0
  119. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/interface.md +0 -0
  120. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/literal.md +0 -0
  121. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/mappings/.pages +0 -0
  122. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/mappings/mappings.md +0 -0
  123. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/namespace.md +0 -0
  124. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/triplestore.md +0 -0
  125. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/triplestore_extend.md +0 -0
  126. {tripper-0.4.0 → tripper-0.4.3}/docs/api_reference/utils.md +0 -0
  127. {tripper-0.4.0 → tripper-0.4.3}/docs/css/reference.css +0 -0
  128. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/.gitignore +0 -0
  129. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset-Consumer.png +0 -0
  130. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset-Consumer1.png +0 -0
  131. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset-Consumer2.png +0 -0
  132. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset-Dataset.png +0 -0
  133. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/dataset-Provider.png +0 -0
  134. {tripper-0.4.0 → tripper-0.4.3}/docs/figs/semdata.png +0 -0
  135. {tripper-0.4.0 → tripper-0.4.3}/docs/known-issues.md +0 -0
  136. {tripper-0.4.0 → tripper-0.4.3}/docs/mappings/figs/function_emmo.svg +0 -0
  137. {tripper-0.4.0 → tripper-0.4.3}/docs/planned-backends.md +0 -0
  138. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/README.md +0 -0
  139. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/knowledge-base.svg +0 -0
  140. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/route.svg +0 -0
  141. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/workflow.svg +0 -0
  142. {tripper-0.4.0 → tripper-0.4.3}/examples/workflow-mappings/workflow_w_pipes.svg +0 -0
  143. {tripper-0.4.0 → tripper-0.4.3}/tests/backends/__init__.py +0 -0
  144. {tripper-0.4.0 → tripper-0.4.3}/tests/backends/dummy.py +0 -0
  145. {tripper-0.4.0 → tripper-0.4.3}/tests/backends/test_collection.py +0 -0
  146. {tripper-0.4.0 → tripper-0.4.3}/tests/backends/test_rdflib.py +0 -0
  147. {tripper-0.4.0 → tripper-0.4.3}/tests/conftest.py +0 -0
  148. {tripper-0.4.0 → tripper-0.4.3}/tests/convert/test_convert.py +0 -0
  149. {tripper-0.4.0 → tripper-0.4.3}/tests/input/77600-23-001_5kV_400x_m001.tif +0 -0
  150. {tripper-0.4.0 → tripper-0.4.3}/tests/input/openfile.txt +0 -0
  151. {tripper-0.4.0 → tripper-0.4.3}/tests/input/tem.csv +0 -0
  152. {tripper-0.4.0 → tripper-0.4.3}/tests/mappings/test_cost.py +0 -0
  153. {tripper-0.4.0 → tripper-0.4.3}/tests/mappings/test_function.py +0 -0
  154. {tripper-0.4.0 → tripper-0.4.3}/tests/mappings/test_mappings.py +0 -0
  155. {tripper-0.4.0 → tripper-0.4.3}/tests/ontologies/family.ttl +0 -0
  156. {tripper-0.4.0 → tripper-0.4.3}/tests/ontologies/food-more.ttl +0 -0
  157. {tripper-0.4.0 → tripper-0.4.3}/tests/ontologies/food.ttl +0 -0
  158. {tripper-0.4.0 → tripper-0.4.3}/tests/paths.py +0 -0
  159. {tripper-0.4.0 → tripper-0.4.3}/tests/test_add_function.py +0 -0
  160. {tripper-0.4.0 → tripper-0.4.3}/tests/test_custom_backend.py +0 -0
  161. {tripper-0.4.0 → tripper-0.4.3}/tests/test_eval_function.py +0 -0
  162. {tripper-0.4.0 → tripper-0.4.3}/tests/test_get_data.py +0 -0
  163. {tripper-0.4.0 → tripper-0.4.3}/tests/test_sparql.py +0 -0
  164. {tripper-0.4.0 → tripper-0.4.3}/tripper/backends/__init__.py +0 -0
  165. {tripper-0.4.0 → tripper-0.4.3}/tripper/backends/collection.py +0 -0
  166. {tripper-0.4.0 → tripper-0.4.3}/tripper/backends/ontopy.py +0 -0
  167. {tripper-0.4.0 → tripper-0.4.3}/tripper/backends/rdflib.py +0 -0
  168. {tripper-0.4.0 → tripper-0.4.3}/tripper/context/0.2/context.json +0 -0
  169. {tripper-0.4.0 → tripper-0.4.3}/tripper/convert/__init__.py +0 -0
  170. {tripper-0.4.0 → tripper-0.4.3}/tripper/convert/convert.py +0 -0
  171. {tripper-0.4.0 → tripper-0.4.3}/tripper/interface.py +0 -0
  172. {tripper-0.4.0 → tripper-0.4.3}/tripper/mappings/__init__.py +0 -0
  173. {tripper-0.4.0 → tripper-0.4.3}/tripper/mappings/mappings.py +0 -0
  174. {tripper-0.4.0 → tripper-0.4.3}/tripper/triplestore_extend.py +0 -0
@@ -8,7 +8,7 @@ on:
8
8
  jobs:
9
9
  build:
10
10
  name: External
11
- uses: SINTEF/ci-cd/.github/workflows/cd_release.yml@v2.9.0
11
+ uses: SINTEF/ci-cd/.github/workflows/cd_release.yml@v2.9.2
12
12
  if: github.repository == 'EMMC-ASBL/tripper' && startsWith(github.ref, 'refs/tags/v')
13
13
  with:
14
14
  # General
@@ -20,7 +20,7 @@ jobs:
20
20
  # Build package
21
21
  python_package: true
22
22
  package_dirs: tripper
23
- python_version_build: "3.9"
23
+ python_version_build: "3.11"
24
24
  build_libs: "flit"
25
25
  build_cmd: "flit build"
26
26
  build_dir: "dist"
@@ -29,7 +29,7 @@ jobs:
29
29
 
30
30
  # Build & publish documentation
31
31
  update_docs: true
32
- python_version_docs: "3.9"
32
+ python_version_docs: "3.11"
33
33
  doc_extras: "[docs]"
34
34
  changelog_exclude_labels: "skip_changelog,duplicate,question,invalid,wontfix"
35
35
  docs_framework: mkdocs
@@ -7,7 +7,7 @@ on:
7
7
  jobs:
8
8
  update-dependencies-branch:
9
9
  name: External
10
- uses: SINTEF/ci-cd/.github/workflows/ci_automerge_prs.yml@v2.9.0
10
+ uses: SINTEF/ci-cd/.github/workflows/ci_automerge_prs.yml@v2.9.2
11
11
  if: github.repository_owner == 'EMMC-ASBL' && ( ( startsWith(github.event.pull_request.head.ref, 'dependabot/') && github.actor == 'dependabot[bot]' ) || ( github.event.pull_request.head.ref == 'ci/update-pyproject' && github.actor == 'TEAM4-0' ) )
12
12
  secrets:
13
13
  PAT: ${{ secrets.RELEASE_PAT }}
@@ -7,7 +7,7 @@ on:
7
7
  jobs:
8
8
  update-deps-branch-and-docs:
9
9
  name: External
10
- uses: SINTEF/ci-cd/.github/workflows/ci_cd_updated_default_branch.yml@v2.9.0
10
+ uses: SINTEF/ci-cd/.github/workflows/ci_cd_updated_default_branch.yml@v2.9.2
11
11
  if: github.repository_owner == 'EMMC-ASBL'
12
12
  with:
13
13
  # General
@@ -24,7 +24,7 @@ jobs:
24
24
  update_python_api_ref: true
25
25
  package_dirs: tripper
26
26
  update_docs_landing_page: true
27
- python_version: "3.9"
27
+ python_version: "3.12"
28
28
  doc_extras: "[docs]"
29
29
  changelog_exclude_labels: "skip_changelog,duplicate,question,invalid,wontfix"
30
30
  docs_framework: mkdocs
@@ -9,7 +9,7 @@ on:
9
9
  jobs:
10
10
  check-dependencies:
11
11
  name: External
12
- uses: SINTEF/ci-cd/.github/workflows/ci_check_pyproject_dependencies.yml@v2.9.0
12
+ uses: SINTEF/ci-cd/.github/workflows/ci_check_pyproject_dependencies.yml@v2.9.2
13
13
  if: github.repository_owner == 'EMMC-ASBL'
14
14
  with:
15
15
  git_username: "TEAM 4.0[bot]"
@@ -10,16 +10,17 @@ on:
10
10
  jobs:
11
11
  basic-tests:
12
12
  name: External
13
- uses: SINTEF/ci-cd/.github/workflows/ci_tests.yml@v2.9.0
13
+ uses: SINTEF/ci-cd/.github/workflows/ci_tests.yml@v2.9.2
14
14
  with:
15
15
  ## General settings:
16
16
  install_extras: "[dev]"
17
17
 
18
18
  ## pre-commit
19
19
  run_pre-commit: false
20
+ skip_pre-commit_hooks: "generate-context-and-doc"
20
21
 
21
22
  ## pylint & safety
22
- python_version_pylint_safety: "3.9"
23
+ python_version_pylint_safety: "3.11"
23
24
 
24
25
  # pylint-specific settings
25
26
  run_pylint: true
@@ -28,32 +29,17 @@ jobs:
28
29
  --rcfile=pyproject.toml --disable=import-outside-toplevel,redefined-outer-name tests
29
30
 
30
31
  # safety-specific settings
31
- run_safety: true
32
- # 48547: RDFLib vulnerability: https://pyup.io/vulnerabilities/PVE-2022-48547/48547/
33
- # 44715-44717: NumPy vulnerabilities:
34
- # https://pyup.io/vulnerabilities/CVE-2021-41495/44715/
35
- # https://pyup.io/vulnerabilities/CVE-2021-41496/44716/
36
- # https://pyup.io/vulnerabilities/CVE-2021-34141/44717/
37
- # 70612: Jinja2 vulnerability. Only used as subdependency for mkdocs++ in tripper.
38
- # https://data.safetycli.com/v/70612/97c/
39
- # https://data.safetycli.com/v/72715/97c/ # update to mkdocs>=9.5.32
40
- safety_options: |
41
- --ignore=48547
42
- --ignore=44715
43
- --ignore=44716
44
- --ignore=44717
45
- --ignore=70612
46
- --ignore=72715
32
+ run_safety: false
47
33
 
48
34
  ## Build package
49
35
  run_build_package: true
50
- python_version_package: "3.9"
36
+ python_version_package: "3.11"
51
37
  build_libs: flit
52
38
  build_cmd: flit build
53
39
 
54
40
  ## Build documentation
55
41
  run_build_docs: true
56
- python_version_docs: "3.9"
42
+ python_version_docs: "3.11"
57
43
  warnings_as_errors: true
58
44
  use_mkdocs: true
59
45
 
@@ -62,13 +48,38 @@ jobs:
62
48
  update_docs_landing_page: true
63
49
  package_dirs: tripper
64
50
 
51
+ safety:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@main
55
+ - name: Run Safety CLI to check for vulnerabilities
56
+ uses: pyupio/safety-action@v1
57
+ with:
58
+ api-key: ${{ secrets.SAFETY_API_KEY }}
59
+ args: --detailed-output # To always see detailed output from this action
60
+
65
61
  pytest:
66
62
  runs-on: ubuntu-latest
67
63
 
64
+
65
+ services:
66
+ fuseki:
67
+ image: stain/jena-fuseki
68
+ env:
69
+ ADMIN_PASSWORD: admin0
70
+ FUSEKI_DATASET_1: test_repo
71
+ ports:
72
+ - 3030:3030
73
+ options: >-
74
+ --health-cmd "curl -f http://localhost:3030 || exit 1"
75
+ --health-interval 10s
76
+ --health-timeout 5s
77
+ --health-retries 5
78
+
68
79
  strategy:
69
80
  fail-fast: false
70
81
  matrix:
71
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
82
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14.0-rc.2"]
72
83
 
73
84
  steps:
74
85
  - name: Checkout tripper
@@ -93,7 +104,7 @@ jobs:
93
104
  run: pytest -vvv --cov-report=xml --doctest-modules
94
105
 
95
106
  - name: Upload coverage to Codecov
96
- if: matrix.python-version == '3.9' && github.repository == 'EMMC-ASBL/tripper'
107
+ if: matrix.python-version == '3.11' && github.repository == 'EMMC-ASBL/tripper'
97
108
  uses: codecov/codecov-action@v5
98
109
  with:
99
110
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -107,7 +118,7 @@ jobs:
107
118
  strategy:
108
119
  fail-fast: false
109
120
  matrix:
110
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
121
+ python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14.0-rc.2"]
111
122
 
112
123
  steps:
113
124
  - name: Checkout tripper
@@ -9,7 +9,7 @@ on:
9
9
  jobs:
10
10
  create-collected-pr:
11
11
  name: External
12
- uses: SINTEF/ci-cd/.github/workflows/ci_update_dependencies.yml@v2.9.0
12
+ uses: SINTEF/ci-cd/.github/workflows/ci_update_dependencies.yml@v2.9.2
13
13
  if: github.repository_owner == 'EMMC-ASBL'
14
14
  with:
15
15
  git_username: "TEAM 4.0[bot]"
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # Enter repository root directory
4
+ HERE="$(cd "$(dirname "$0")" && pwd)"
5
+ cd "$HERE"/..
6
+
7
+ # Generate JSON-LD context and keyword documentation
8
+ python tripper/datadoc/keywords.py \
9
+ --context=tripper/context/0.3/context.json \
10
+ --keywords=docs/datadoc/keywords.md \
11
+ --prefixes=docs/datadoc/prefixes.md
12
+
13
+ python tripper/datadoc/keywords.py \
14
+ --context=tripper/context/process/0.1/context.json \
15
+ --keywords=docs/datadoc/keywords-process.md \
16
+ --prefixes=docs/datadoc/prefixes-process.md
17
+
18
+
19
+ # Don't crash pre-commit in case the above fails on GitHub
20
+ exit 0
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+
3
+ # Enter repository root directory
4
+ HERE="$(cd "$(dirname "$0")" && pwd)"
5
+ cd "$HERE"/..
6
+
7
+ # Run doctest on all markdown files in the docs/ directory
8
+ find docs -name '*.md' | xargs -n1 python -m doctest
@@ -19,7 +19,7 @@ ci:
19
19
  # hooks
20
20
  repos:
21
21
  - repo: https://github.com/pre-commit/pre-commit-hooks
22
- rev: v5.0.0
22
+ rev: v6.0.0
23
23
  hooks:
24
24
  - id: end-of-file-fixer
25
25
  exclude: ^.*\.(svg)$
@@ -32,7 +32,7 @@ repos:
32
32
  args: [--markdown-linebreak-ext=md]
33
33
 
34
34
  - repo: https://github.com/PyCQA/isort
35
- rev: 6.0.0
35
+ rev: 6.0.1
36
36
  hooks:
37
37
  - id: isort
38
38
  args:
@@ -47,31 +47,49 @@ repos:
47
47
  args: [--line-length=79]
48
48
 
49
49
  - repo: https://github.com/PyCQA/bandit
50
- rev: 1.8.2
50
+ rev: 1.8.6
51
51
  hooks:
52
52
  - id: bandit
53
53
  args: ["-r"]
54
54
  files: ^tripper/.*$
55
55
 
56
56
  - repo: https://github.com/pre-commit/mirrors-mypy
57
- rev: v1.14.1
57
+ rev: v1.17.1
58
58
  hooks:
59
59
  - id: mypy
60
60
  exclude: ^tests/.*$
61
61
  additional_dependencies:
62
62
  - "types-requests"
63
+ - "types-pyyaml"
63
64
  - "pydantic"
64
65
 
65
66
  - repo: https://github.com/SINTEF/ci-cd
66
- rev: v2.9.0
67
+ rev: v2.9.2
67
68
  hooks:
68
69
  - id: docs-api-reference
69
70
  args:
70
71
  - --package-dir=tripper
71
72
  - id: docs-landing-page
73
+ # - id: update-pyproject
72
74
 
73
75
  - repo: local
74
76
  hooks:
77
+ - id: generate-context-and-doc
78
+ name: Generate JSON-LD context and documentation
79
+ entry: .hooks/generate-context-and-doc.sh
80
+ language: script
81
+ pass_filenames: false
82
+ stages: ["pre-commit"]
83
+
84
+ # The doctests are too slow for running them in pre-commit.
85
+ # Run it as a test instead.
86
+ # - id: markdown-doctest
87
+ # name: Run doctest on markdown documentation
88
+ # entry: .hooks/markdown-doctest.sh
89
+ # language: script
90
+ # pass_filenames: false
91
+ # stages: ["pre-commit"]
92
+
75
93
  - id: pylint
76
94
  name: pylint
77
95
  entry: pylint
@@ -82,6 +100,7 @@ repos:
82
100
  require_serial: true
83
101
  files: ^.*$
84
102
  exclude: ^tests/.*$
103
+
85
104
  - id: pylint-tests
86
105
  name: pylint - tests
87
106
  entry: pylint
@@ -1,5 +1,110 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.4.3](https://github.com/EMMC-ASBL/tripper/tree/v0.4.3) (2025-08-19)
4
+
5
+ [Full Changelog](https://github.com/EMMC-ASBL/tripper/compare/v0.4.2...v0.4.3)
6
+
7
+ **Closed issues:**
8
+
9
+ - inconsistent usage when filtering searches [\#396](https://github.com/EMMC-ASBL/tripper/issues/396)
10
+ - correct criterias to criteria [\#392](https://github.com/EMMC-ASBL/tripper/issues/392)
11
+ - Add `hasCurator` and `hasCurationDate` properties to resources [\#390](https://github.com/EMMC-ASBL/tripper/issues/390)
12
+ - Support for documenting not \(yet\) existing resources [\#369](https://github.com/EMMC-ASBL/tripper/issues/369)
13
+ - Make the generated keywords documentation look better [\#365](https://github.com/EMMC-ASBL/tripper/issues/365)
14
+ - Speed up tripper.dataset.save\_data\(\) [\#337](https://github.com/EMMC-ASBL/tripper/issues/337)
15
+ - Example in documentation of search\_iris iw wrong. [\#323](https://github.com/EMMC-ASBL/tripper/issues/323)
16
+ - get\_jsonld\_context does not support PosixPath [\#322](https://github.com/EMMC-ASBL/tripper/issues/322)
17
+ - Set up a triplestore on the PhysMet Portal [\#315](https://github.com/EMMC-ASBL/tripper/issues/315)
18
+ - Make converting a large table of datasets to RDF faster [\#305](https://github.com/EMMC-ASBL/tripper/issues/305)
19
+ - Ensure dataset is TEM schema compliant [\#293](https://github.com/EMMC-ASBL/tripper/issues/293)
20
+ - Define schema for TEM dataset queries [\#292](https://github.com/EMMC-ASBL/tripper/issues/292)
21
+
22
+ **Merged pull requests:**
23
+
24
+ - Updated installation instructions on the readme page. [\#415](https://github.com/EMMC-ASBL/tripper/pull/415) ([jesper-friis](https://github.com/jesper-friis))
25
+ - Add support for Python 3.14 [\#414](https://github.com/EMMC-ASBL/tripper/pull/414) ([jesper-friis](https://github.com/jesper-friis))
26
+ - \[pre-commit.ci\] pre-commit autoupdate [\#412](https://github.com/EMMC-ASBL/tripper/pull/412) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
27
+ - Updated dataset figure [\#410](https://github.com/EMMC-ASBL/tripper/pull/410) ([jesper-friis](https://github.com/jesper-friis))
28
+ - Include sparqlwrapper in dependencies for datadoc [\#409](https://github.com/EMMC-ASBL/tripper/pull/409) ([jesper-friis](https://github.com/jesper-friis))
29
+ - \[pre-commit.ci\] pre-commit autoupdate [\#408](https://github.com/EMMC-ASBL/tripper/pull/408) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
30
+ - Updated figures [\#407](https://github.com/EMMC-ASBL/tripper/pull/407) ([jesper-friis](https://github.com/jesper-friis))
31
+ - Date and time literals [\#406](https://github.com/EMMC-ASBL/tripper/pull/406) ([jesper-friis](https://github.com/jesper-friis))
32
+ - Added keywords `hasCurator` and `hasCurationDate` [\#405](https://github.com/EMMC-ASBL/tripper/pull/405) ([jesper-friis](https://github.com/jesper-friis))
33
+ - Build documentation with Python 3.12 [\#404](https://github.com/EMMC-ASBL/tripper/pull/404) ([jesper-friis](https://github.com/jesper-friis))
34
+ - Skip running doctest on session.md if Fuseki is not running [\#403](https://github.com/EMMC-ASBL/tripper/pull/403) ([jesper-friis](https://github.com/jesper-friis))
35
+ - Fix issue \#396 [\#401](https://github.com/EMMC-ASBL/tripper/pull/401) ([jesper-friis](https://github.com/jesper-friis))
36
+ - Updated figure with basic relations [\#400](https://github.com/EMMC-ASBL/tripper/pull/400) ([jesper-friis](https://github.com/jesper-friis))
37
+ - Added \_\_contains\_\_\(\) method to namespace [\#399](https://github.com/EMMC-ASBL/tripper/pull/399) ([jesper-friis](https://github.com/jesper-friis))
38
+ - Run mkdocs with Python 3.13 instead of 3.9 [\#398](https://github.com/EMMC-ASBL/tripper/pull/398) ([jesper-friis](https://github.com/jesper-friis))
39
+ - added a file about how to search and delete resources in the ts [\#397](https://github.com/EMMC-ASBL/tripper/pull/397) ([francescalb](https://github.com/francescalb))
40
+ - Update using criteria in search [\#395](https://github.com/EMMC-ASBL/tripper/pull/395) ([francescalb](https://github.com/francescalb))
41
+ - Keywords inverse [\#394](https://github.com/EMMC-ASBL/tripper/pull/394) ([jesper-friis](https://github.com/jesper-friis))
42
+ - Keywords inverse [\#393](https://github.com/EMMC-ASBL/tripper/pull/393) ([jesper-friis](https://github.com/jesper-friis))
43
+ - Added keywords for documenting characterisation processes [\#391](https://github.com/EMMC-ASBL/tripper/pull/391) ([jesper-friis](https://github.com/jesper-friis))
44
+ - WIP: Update classes [\#388](https://github.com/EMMC-ASBL/tripper/pull/388) ([jesper-friis](https://github.com/jesper-friis))
45
+ - Improved control when storing to the triplestore [\#387](https://github.com/EMMC-ASBL/tripper/pull/387) ([jesper-friis](https://github.com/jesper-friis))
46
+ - Fix test\_markdown\_doctest [\#383](https://github.com/EMMC-ASBL/tripper/pull/383) ([jesper-friis](https://github.com/jesper-friis))
47
+ - Added ureg.get\_quantity\(\) method to units module [\#381](https://github.com/EMMC-ASBL/tripper/pull/381) ([jesper-friis](https://github.com/jesper-friis))
48
+
49
+ ## [v0.4.2](https://github.com/EMMC-ASBL/tripper/tree/v0.4.2) (2025-04-23)
50
+
51
+ [Full Changelog](https://github.com/EMMC-ASBL/tripper/compare/v0.4.1...v0.4.2)
52
+
53
+ **Merged pull requests:**
54
+
55
+ - Development branch that merges loose ends together [\#380](https://github.com/EMMC-ASBL/tripper/pull/380) ([jesper-friis](https://github.com/jesper-friis))
56
+
57
+ ## [v0.4.1](https://github.com/EMMC-ASBL/tripper/tree/v0.4.1) (2025-04-19)
58
+
59
+ [Full Changelog](https://github.com/EMMC-ASBL/tripper/compare/v0.4.0...v0.4.1)
60
+
61
+ **Closed issues:**
62
+
63
+ - ts.remove does not work in sparqlwrapper. [\#350](https://github.com/EMMC-ASBL/tripper/issues/350)
64
+ - exapand\_iri, documentation formatted wrongly. [\#348](https://github.com/EMMC-ASBL/tripper/issues/348)
65
+ - Attrdict return non-expanded iris, is this correct? [\#341](https://github.com/EMMC-ASBL/tripper/issues/341)
66
+ - The CONSTRUCT sparql query in \_load\_sparql used in load\_dict returns all datasets [\#336](https://github.com/EMMC-ASBL/tripper/issues/336)
67
+ - Adding text in graphDB trough save\_datadoc is done incorrectly? [\#333](https://github.com/EMMC-ASBL/tripper/issues/333)
68
+ - datadoc.dataset.\_load\_sparql uses a CONSTRUCT query, which is not implemented in the SPARQLWrapper [\#330](https://github.com/EMMC-ASBL/tripper/issues/330)
69
+ - Include the JSON-LD context in the installed package [\#326](https://github.com/EMMC-ASBL/tripper/issues/326)
70
+ - It is not possible to search for Literals in the graphdb backend [\#320](https://github.com/EMMC-ASBL/tripper/issues/320)
71
+ - Validator for schema [\#294](https://github.com/EMMC-ASBL/tripper/issues/294)
72
+
73
+ **Merged pull requests:**
74
+
75
+ - Corrected DataSetvice to DataService [\#374](https://github.com/EMMC-ASBL/tripper/pull/374) ([francescalb](https://github.com/francescalb))
76
+ - Fix typo in keywords documentation [\#373](https://github.com/EMMC-ASBL/tripper/pull/373) ([jesper-friis](https://github.com/jesper-friis))
77
+ - Updated keywords documentation [\#371](https://github.com/EMMC-ASBL/tripper/pull/371) ([jesper-friis](https://github.com/jesper-friis))
78
+ - Adding logos [\#368](https://github.com/EMMC-ASBL/tripper/pull/368) ([jesper-friis](https://github.com/jesper-friis))
79
+ - Add resources \(classes\) to the JSON-LD context. [\#366](https://github.com/EMMC-ASBL/tripper/pull/366) ([jesper-friis](https://github.com/jesper-friis))
80
+ - Added support for ASK and DESCRIBE queries in the sparqlwrapper backend [\#364](https://github.com/EMMC-ASBL/tripper/pull/364) ([jesper-friis](https://github.com/jesper-friis))
81
+ - Improved formatting of keyword documentation table. [\#362](https://github.com/EMMC-ASBL/tripper/pull/362) ([jesper-friis](https://github.com/jesper-friis))
82
+ - Test for the datadoc command-line tool [\#361](https://github.com/EMMC-ASBL/tripper/pull/361) ([jesper-friis](https://github.com/jesper-friis))
83
+ - Fixed CONTEXT\_URL after branch 294-validator-for-schema was merged to master [\#359](https://github.com/EMMC-ASBL/tripper/pull/359) ([jesper-friis](https://github.com/jesper-friis))
84
+ - Fix formatting [\#358](https://github.com/EMMC-ASBL/tripper/pull/358) ([jesper-friis](https://github.com/jesper-friis))
85
+ - Added session [\#357](https://github.com/EMMC-ASBL/tripper/pull/357) ([jesper-friis](https://github.com/jesper-friis))
86
+ - Added update\(\) method to sparqlwrapper backend [\#356](https://github.com/EMMC-ASBL/tripper/pull/356) ([jesper-friis](https://github.com/jesper-friis))
87
+ - \[pre-commit.ci\] pre-commit autoupdate [\#355](https://github.com/EMMC-ASBL/tripper/pull/355) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
88
+ - \[pre-commit.ci\] pre-commit autoupdate [\#353](https://github.com/EMMC-ASBL/tripper/pull/353) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
89
+ - Corrected sparqlquery for removing triples [\#351](https://github.com/EMMC-ASBL/tripper/pull/351) ([francescalb](https://github.com/francescalb))
90
+ - Corrected formatting of example [\#349](https://github.com/EMMC-ASBL/tripper/pull/349) ([francescalb](https://github.com/francescalb))
91
+ - Added test for Fuseki and fixed query to return TURTLE which works for both fuseki and graphdb [\#347](https://github.com/EMMC-ASBL/tripper/pull/347) ([francescalb](https://github.com/francescalb))
92
+ - \[pre-commit.ci\] pre-commit autoupdate [\#346](https://github.com/EMMC-ASBL/tripper/pull/346) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
93
+ - Correct syntax [\#344](https://github.com/EMMC-ASBL/tripper/pull/344) ([jesper-friis](https://github.com/jesper-friis))
94
+ - Correct syntax [\#343](https://github.com/EMMC-ASBL/tripper/pull/343) ([jesper-friis](https://github.com/jesper-friis))
95
+ - Flb/expand iri in sparql query [\#340](https://github.com/EMMC-ASBL/tripper/pull/340) ([francescalb](https://github.com/francescalb))
96
+ - disable pylint errors on too-many-positional-arguments [\#339](https://github.com/EMMC-ASBL/tripper/pull/339) ([francescalb](https://github.com/francescalb))
97
+ - Fixed CONSTRUCT to return s and not o [\#338](https://github.com/EMMC-ASBL/tripper/pull/338) ([francescalb](https://github.com/francescalb))
98
+ - Corrected literals in SELECT and CONSTRUCT queries in the sparqlwrapper backend [\#335](https://github.com/EMMC-ASBL/tripper/pull/335) ([jesper-friis](https://github.com/jesper-friis))
99
+ - \[pre-commit.ci\] pre-commit autoupdate [\#332](https://github.com/EMMC-ASBL/tripper/pull/332) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
100
+ - Added CONSTRUCT query to sparqlwrapper, [\#331](https://github.com/EMMC-ASBL/tripper/pull/331) ([francescalb](https://github.com/francescalb))
101
+ - Include context files in installation [\#328](https://github.com/EMMC-ASBL/tripper/pull/328) ([jesper-friis](https://github.com/jesper-friis))
102
+ - Added PINK to contributing projects [\#327](https://github.com/EMMC-ASBL/tripper/pull/327) ([jesper-friis](https://github.com/jesper-friis))
103
+ - Update dataset.py [\#325](https://github.com/EMMC-ASBL/tripper/pull/325) ([jesper-friis](https://github.com/jesper-friis))
104
+ - Added units submodule for working with units and quantities defined in ontologies [\#324](https://github.com/EMMC-ASBL/tripper/pull/324) ([jesper-friis](https://github.com/jesper-friis))
105
+ - \[pre-commit.ci\] pre-commit autoupdate [\#321](https://github.com/EMMC-ASBL/tripper/pull/321) ([pre-commit-ci[bot]](https://github.com/apps/pre-commit-ci))
106
+ - Schema validator [\#296](https://github.com/EMMC-ASBL/tripper/pull/296) ([jesper-friis](https://github.com/jesper-friis))
107
+
3
108
  ## [v0.4.0](https://github.com/EMMC-ASBL/tripper/tree/v0.4.0) (2025-02-10)
4
109
 
5
110
  [Full Changelog](https://github.com/EMMC-ASBL/tripper/compare/v0.3.4...v0.4.0)
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2022 SINTEF
3
+ Copyright (c) 2022-2025 SINTEF
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1 @@
1
+ recursive-include tripper/context/**
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: tripper
3
- Version: 0.4.0
3
+ Version: 0.4.3
4
4
  Summary: A triplestore wrapper for Python.
5
5
  Keywords: triplestore,ontology,RDF
6
6
  Author-email: SINTEF <TEAM4.0@sintef.no>
@@ -15,42 +15,49 @@ Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
18
19
  Classifier: Environment :: Plugins
19
20
  Classifier: Natural Language :: English
20
21
  Classifier: Operating System :: OS Independent
21
- Requires-Dist: typing-extensions>=4.7.0,<4.7.1; python_version<'3.9'
22
+ License-File: LICENSE
23
+ Requires-Dist: typing-extensions>=4.7.0,<4.13.1; python_version < '3.9'
24
+ Requires-Dist: dlite-python>=0.5.27 ; extra == "backends" and ( python_version<='3.13')
25
+ Requires-Dist: emmontopy>=0.5.0,<0.7.1 ; extra == "backends" and ( python_version<'3.13')
26
+ Requires-Dist: graphviz>=0.20.1,<0.20.2 ; extra == "backends"
27
+ Requires-Dist: numpy<2.1.0 ; extra == "backends" and ( python_version=='3.13')
28
+ Requires-Dist: rdflib>=6.3.0,<7.0.0 ; extra == "backends"
22
29
  Requires-Dist: tripper[mappings] ; extra == "datadoc"
30
+ Requires-Dist: PyLD>=2.0.0,<2.0.5 ; extra == "datadoc" and ( python_version<='3.13')
23
31
  Requires-Dist: PyYaml>=3.0.0,<6.0.3 ; extra == "datadoc"
24
32
  Requires-Dist: requests>=2.0.0,<3.4.1 ; extra == "datadoc"
33
+ Requires-Dist: sparqlwrapper>=2.0.0,<2.0.1 ; extra == "datadoc"
25
34
  Requires-Dist: tripper[pre-commit, docs] ; extra == "dev"
26
35
  Requires-Dist: tripper[testing] ; extra == "docs"
27
36
  Requires-Dist: mike==2.1.3 ; extra == "docs"
28
37
  Requires-Dist: mkdocs==1.6.1 ; extra == "docs"
29
- Requires-Dist: mkdocs-autorefs==1.2.0 ; extra == "docs"
38
+ Requires-Dist: mkdocs-autorefs==1.4.1 ; extra == "docs"
30
39
  Requires-Dist: mkdocs-awesome-pages-plugin==2.10.1 ; extra == "docs"
31
- Requires-Dist: mkdocs-material==9.5.49 ; extra == "docs"
40
+ Requires-Dist: mkdocs-github-admonitions-plugin==0.0.3 ; extra == "docs"
41
+ Requires-Dist: mkdocs-material==9.6.11 ; extra == "docs"
32
42
  Requires-Dist: mkdocstrings==0.27.0 ; extra == "docs"
33
43
  Requires-Dist: mkdocstrings-python-legacy==0.2.4 ; extra == "docs"
34
- Requires-Dist: pint>=0.21.1,<1 ; extra == "mappings" and ( python_version<'3.9')
35
- Requires-Dist: pint>=0.24,<1 ; extra == "mappings" and ( python_version>='3.9')
36
- Requires-Dist: rdflib>=6.3.0,<7.0.0 ; extra == "mappings"
44
+ Requires-Dist: tripper[units] ; extra == "mappings"
37
45
  Requires-Dist: pre-commit==4.0.1 ; extra == "pre-commit"
38
- Requires-Dist: pylint==2.15.5 ; extra == "pre-commit"
39
- Requires-Dist: tripper[testing-core, mappings, datadoc] ; extra == "testing"
40
- Requires-Dist: dlite-python>=0.5.27 ; extra == "testing" and ( python_version>='3.8')
41
- Requires-Dist: emmontopy>=0.5.0,<0.7.1 ; extra == "testing" and ( python_version<'3.13')
42
- Requires-Dist: graphviz>=0.20.1,<0.20.2 ; extra == "testing"
43
- Requires-Dist: numpy<2.1.0 ; extra == "testing" and ( python_version>='3.13')
44
- Requires-Dist: rdflib>=6.3.0,<7.0.0 ; extra == "testing"
45
- Requires-Dist: sparqlwrapper>=2.0.0,<2.0.1 ; extra == "testing"
46
- Requires-Dist: pytest==7.4.4 ; extra == "testing-core"
47
- Requires-Dist: pytest-cov==4.1.0 ; extra == "testing-core"
46
+ Requires-Dist: pylint==3.3.4 ; extra == "pre-commit" and ( python_version>='3.9')
47
+ Requires-Dist: tripper[datadoc, backends, testing-core] ; extra == "testing"
48
+ Requires-Dist: pytest==8.3.4 ; extra == "testing-core"
49
+ Requires-Dist: pytest-cov==5.0.0 ; extra == "testing-core" and ( python_version<'3.9')
50
+ Requires-Dist: pytest-cov==6.0.0 ; extra == "testing-core" and ( python_version>='3.9')
51
+ Requires-Dist: pint>=0.21.1,<0.26 ; extra == "units" and ( python_version<'3.9')
52
+ Requires-Dist: pint>=0.24.1,<0.26 ; extra == "units" and ( python_version>='3.9')
53
+ Requires-Dist: rdflib>=6.3.0,<7.0.0 ; extra == "units"
48
54
  Project-URL: Changelog, https://github.com/EMMC-ASBL/tripper/blob/master/CHANGELOG.md
49
55
  Project-URL: Documentation, https://EMMC-ASBL.github.io/tripper
50
56
  Project-URL: Home, https://github.com/EMMC-ASBL/tripper
51
57
  Project-URL: Issue Tracker, https://github.com/EMMC-ASBL/tripper/issues
52
58
  Project-URL: Package, https://pypi.org/project/tripper
53
59
  Project-URL: Source, https://github.com/EMMC-ASBL/tripper
60
+ Provides-Extra: backends
54
61
  Provides-Extra: datadoc
55
62
  Provides-Extra: dev
56
63
  Provides-Extra: docs
@@ -58,17 +65,20 @@ Provides-Extra: mappings
58
65
  Provides-Extra: pre-commit
59
66
  Provides-Extra: testing
60
67
  Provides-Extra: testing-core
68
+ Provides-Extra: units
61
69
 
62
- Tripper
63
- =======
64
- *Triplestore wrapper for Python providing a simple and consistent interface to a range of triplestore backends.*
65
-
70
+ <img src="docs/figs/tripper_logo.svg" alt="Tripper logo" align="right" width="96" height="96">
66
71
 
67
72
  [![PyPI](https://img.shields.io/pypi/v/tripper?logo=pypi)](https://pypi.org/project/tripper)
68
73
  [![Documentation](https://img.shields.io/badge/documentation-informational?logo=github)](https://emmc-asbl.github.io/tripper/latest/)
69
74
  [![CI tests](https://github.com/EMMC-ASBL/tripper/workflows/CI%20-%20Tests/badge.svg)](https://github.com/EMMC-ASBL/tripper/actions/workflows/ci_tests.yml?query=branch%3Amaster)
70
75
  [![DOI](https://zenodo.org/badge/547162834.svg)](https://zenodo.org/badge/latestdoi/547162834)
71
76
 
77
+ *Triplestore wrapper for Python providing a simple and consistent interface to a range of triplestore backends*
78
+
79
+
80
+ Tripper
81
+ =======
72
82
 
73
83
  Getting started
74
84
  ---------------
@@ -85,10 +95,10 @@ It strives for simplicity and is modelled after [rdflib] (with a few simplificat
85
95
  In Tripper:
86
96
 
87
97
  * All IRIs are represented by Python strings.
88
- Example: `"https://w3id.org/emmo#Metre"`
98
+ Example: `https://w3id.org/emmo#Metre`
89
99
 
90
- * Blank nodes are strings starting with "_:".
91
- Example: `"_:bnode1"`
100
+ * Blank nodes are strings starting with `_:`.
101
+ Example: `_:bnode1`
92
102
 
93
103
  * Literals are constructed with [`tripper.Literal`][Literal].
94
104
  Example: `tripper.Literal(3.14, datatype=XSD.float)`
@@ -104,6 +114,7 @@ Sub-packages
104
114
  Additional functionality beyond interfacing triplestore backends is provided by specialised sub-package:
105
115
 
106
116
  * [tripper.datadoc]: An API for data documentation.
117
+ * [tripper.units]: Working with units and quantities defined in ontologies.
107
118
  * [tripper.mappings]: Traverse mappings stored in the triplestore and find possible mapping routes.
108
119
  * [tripper.convert]: Convert between RDF and other data representations.
109
120
 
@@ -128,20 +139,40 @@ Installation
128
139
  Tripper has by itself no dependencies outside the standard library, but the triplestore backends may have specific dependencies.
129
140
 
130
141
 
131
- The package can be installed from [PyPI] using `pip`:
142
+ The package can be installed from [PyPI] using `pip`.
143
+ A minimal installation can be done with
132
144
 
133
145
  ```shell
134
146
  pip install tripper
135
147
  ```
136
148
 
137
- In addition you would need to install the requirements for one or more of the backends listed in the table above.
138
- For mappings you would also need to install [Pint].
139
- For example:
149
+ but typically, you would also like to install the requirements needed by the backends, the tripper sub-packages and extra features.
150
+ The requirements for the backends are listed in the table above, while sub-packages and extra features are enabled by specifying one or more of the "extras" listed in the table below when installing Tripper.
151
+
152
+
153
+ For example, the following command will install Tripper with the [tripper.datadoc] sub-package and the rdflib backend enabled:
140
154
 
141
155
  ```shell
142
- pip install rdflib pint
156
+ pip install tripper[datadoc] rdflib
143
157
  ```
144
158
 
159
+ Developers should install Tripper with the `dev` extras and enable [pre-commit]:
160
+
161
+ ```shell
162
+ pip install tripper[dev]
163
+ pre-commit install # Enable pre-commit and installing hooks
164
+ ```
165
+
166
+
167
+ | Extras | Description of dependencies | Implies |
168
+ |----------|--------------------------------------------------------------------|------------------|
169
+ | units | Required by the [tripper.units] sub-package. | |
170
+ | mappings | Required by the [tripper.mappings] sub-package. | units |
171
+ | datadoc | Required by the [tripper.datadoc] sub-package. | mappings |
172
+ | backends | Installs dependencies for all backends | |
173
+ | testing | For testing. | datadoc,backends |
174
+ | docs | For generation of documentation | testing |
175
+ | dev | For developers. Installs all dependencies, including [pre-commit]. | dev |
145
176
 
146
177
 
147
178
 
@@ -163,6 +194,7 @@ We gratefully acknowledge the following projects for supporting the development
163
194
  - [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.
164
195
  - MEDIATE (2022-2025) that receives funding from the RCN, Norway; FNR, Luxenburg; SMWK Germany via the M-era.net programme, project 9557,
165
196
  - [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.
197
+ - [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.
166
198
 
167
199
 
168
200
 
@@ -172,6 +204,7 @@ We gratefully acknowledge the following projects for supporting the development
172
204
  [Discovery of custom backends]: https://emmc-asbl.github.io/tripper/latest/backend_discovery/
173
205
  [tripper.datadoc]: https://emmc-asbl.github.io/tripper/latest/datadoc/introduction/
174
206
  [tripper.mappings]: https://emmc-asbl.github.io/tripper/latest/api_reference/mappings/mappings/
207
+ [tripper.units]: https://emmc-asbl.github.io/tripper/latest/units/units/
175
208
  [tripper.convert]: https://emmc-asbl.github.io/tripper/latest/api_reference/convert/convert/
176
209
  [Known issues]: https://emmc-asbl.github.io/tripper/latest/known-issues/
177
210
  [MIT license]: https://emmc-asbl.github.io/tripper/latest/LICENSE/
@@ -189,4 +222,5 @@ We gratefully acknowledge the following projects for supporting the development
189
222
  [StarDog]: https://www.stardog.com/
190
223
  [GraphDB]: https://www.ontotext.com/products/graphdb/
191
224
  [Pint]: https://pint.readthedocs.io/en/stable/
225
+ [pre-commit]: https://pre-commit.com/
192
226