pid4cat-model 0.4.2__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.
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.copier-answers.yml +3 -1
- pid4cat_model-0.4.3/.github/dependabot.yml +15 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.github/workflows/deploy-docs.yaml +13 -6
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.github/workflows/main.yaml +9 -9
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.github/workflows/pypi-publish.yaml +20 -19
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.linkmllint.yaml +2 -1
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.pre-commit-config.yaml +11 -6
- pid4cat_model-0.4.3/.yamlfix.toml +8 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.yamllint.yaml +8 -1
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/PKG-INFO +4 -4
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/config.public.mk +2 -5
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/config.yaml +4 -4
- pid4cat_model-0.4.3/docs/hooks/theme_overrides_priority.py +18 -0
- pid4cat_model-0.4.3/docs/js/extra-loader.js +2 -0
- pid4cat_model-0.4.3/docs/overrides/partials/header.html +71 -0
- pid4cat_model-0.4.3/docs/stylesheets/extra.css +27 -0
- pid4cat_model-0.4.3/examples/PID4CatRecord-001.yaml +87 -0
- pid4cat_model-0.4.3/examples/example_p1.yaml +99 -0
- pid4cat_model-0.4.3/examples/valid/HandleRecordContainer-001.yaml +87 -0
- pid4cat_model-0.4.3/examples/valid/PID4CatRecord-001.yaml +87 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/justfile +69 -23
- pid4cat_model-0.4.3/mkdocs.yml +152 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/project.justfile +4 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/pyproject.toml +17 -4
- pid4cat_model-0.4.3/src/README.md +4 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/__init__.py +5 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/datamodel/pid4cat_model.py +443 -1339
- pid4cat_model-0.4.3/src/pid4cat_model/datamodel/pid4cat_model_pydantic.py +1602 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/iso7064.py +39 -11
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/schema/pid4cat_model.yaml +2 -2
- pid4cat_model-0.4.3/tests/data/valid/.gitkeep +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/test_iso7064.py +42 -4
- pid4cat_model-0.4.3/uv.lock +3426 -0
- pid4cat_model-0.4.2/.github/dependabot.yml +0 -9
- pid4cat_model-0.4.2/docs/stylesheets/extra.css +0 -17
- pid4cat_model-0.4.2/examples/PID4CatRecord-001.yaml +0 -86
- pid4cat_model-0.4.2/examples/example_p1.yaml +0 -98
- pid4cat_model-0.4.2/examples/valid/HandleRecordContainer-001.yaml +0 -86
- pid4cat_model-0.4.2/examples/valid/PID4CatRecord-001.yaml +0 -86
- pid4cat_model-0.4.2/mkdocs.yml +0 -114
- pid4cat_model-0.4.2/src/pid4cat_model/datamodel/pid4cat_model_pydantic.py +0 -2935
- pid4cat_model-0.4.2/uv.lock +0 -2735
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.editorconfig +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.gitignore +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/.zenodo.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/CODE_OF_CONDUCT.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/CONTRIBUTING.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/LICENSE +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/README_pypkg.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/about.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/apis.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/elements/.gitkeep +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/getting-started.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/favicon.svg +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/logo-design-source.svg +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/logo-icon.svg +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/logo-with-text-dark.svg +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/logo-with-text.png +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/images/logo-with-text.svg +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/index.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/metadata.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/open-data.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/overrides/partials/logo.html +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/overview.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/policies.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/schema/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/templates-linkml/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/tools.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/docs/versioning.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/api-v2-demo.ipynb +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/example_p1.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/example_p1_dataclasses.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/example_p1_pydantic.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/example_p1_pydantic.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/hdl-net-api-demo.ipynb +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/valid/HandleRecordContainer-001.json.off +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/examples/valid/PID4CatRecord-001.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/project/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/_version.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/datamodel/__init__.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/handle_api.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/schema/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/src/pid4cat_model/schema/media_types.yaml +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/__init__.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/21.T11978_hdlnet_api/TEST_KBKA-BEM9.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/21.T11978_hdlnet_api/TEST_KBKA-BEM9_decoded.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/21.T11978_hdlnet_api/TEST_KBKA-BEM9_invalid.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/README.md +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/invalid/.gitkeep +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/invalid/HandleAPIRecord-004.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/problem/invalid/.gitkeep +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/problem/valid/.gitkeep +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/valid/HandleAPIRecord-001.yaml +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/valid/HandleAPIRecord-002.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/valid/HandleAPIRecord-003.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/valid/HandleAPIRecord-004.json +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/data/valid/HandleRecordContainer-001.yaml +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/test_data.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/test_handle_api.py +0 -0
- {pid4cat_model-0.4.2 → pid4cat_model-0.4.3}/tests/test_model_pydantic.py +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Changes here will be overwritten by Copier
|
|
2
|
-
_commit: v0.
|
|
2
|
+
_commit: v0.5.0
|
|
3
3
|
_src_path: gh:dalito/linkml-project-copier
|
|
4
4
|
add_example: false
|
|
5
5
|
copyright_year: '2023'
|
|
6
6
|
email: david.linke@catalysis.de
|
|
7
|
+
existing_license_file: ''
|
|
7
8
|
full_name: David Linke
|
|
8
9
|
gh_action_docs_preview: false
|
|
9
10
|
gh_action_pypi: true
|
|
@@ -13,3 +14,4 @@ project_description: LinkML model for handle-based PIDs for resources in catalys
|
|
|
13
14
|
(pid4cat)
|
|
14
15
|
project_name: pid4cat-model
|
|
15
16
|
project_slug: pid4cat_model
|
|
17
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Please see the documentation for all configuration options:
|
|
2
|
+
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference
|
|
3
|
+
|
|
4
|
+
version: 2
|
|
5
|
+
updates:
|
|
6
|
+
- package-ecosystem: github-actions
|
|
7
|
+
directory: "/"
|
|
8
|
+
schedule:
|
|
9
|
+
interval: monthly
|
|
10
|
+
assignees:
|
|
11
|
+
- "dalito"
|
|
12
|
+
groups:
|
|
13
|
+
github-actions:
|
|
14
|
+
patterns:
|
|
15
|
+
- "*"
|
|
@@ -18,6 +18,10 @@ jobs:
|
|
|
18
18
|
build-docs:
|
|
19
19
|
runs-on: ubuntu-latest
|
|
20
20
|
|
|
21
|
+
strategy:
|
|
22
|
+
matrix:
|
|
23
|
+
pyversion: ["3.13"]
|
|
24
|
+
|
|
21
25
|
# Grant GITHUB_TOKEN the permissions required to make a gh-pages deployment
|
|
22
26
|
permissions:
|
|
23
27
|
contents: write # to let mkdocs write the new docs
|
|
@@ -25,8 +29,9 @@ jobs:
|
|
|
25
29
|
id-token: write # allow to generate an OpenID Connect (OIDC) token
|
|
26
30
|
|
|
27
31
|
steps:
|
|
32
|
+
# https://github.com/actions/checkout
|
|
28
33
|
- name: Checkout
|
|
29
|
-
uses: actions/checkout@
|
|
34
|
+
uses: actions/checkout@v6.0.2
|
|
30
35
|
with:
|
|
31
36
|
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
|
|
32
37
|
|
|
@@ -37,24 +42,26 @@ jobs:
|
|
|
37
42
|
git config user.name github-actions[bot]
|
|
38
43
|
git config user.email github-actions[bot]@users.noreply.github.com
|
|
39
44
|
|
|
45
|
+
# https://github.com/astral-sh/setup-uv
|
|
40
46
|
- name: Install uv
|
|
41
|
-
uses: astral-sh/setup-uv@
|
|
47
|
+
uses: astral-sh/setup-uv@v8.1.0
|
|
42
48
|
with:
|
|
43
|
-
python-version:
|
|
49
|
+
python-version: ${{ matrix.pyversion }}
|
|
44
50
|
enable-cache: true
|
|
45
51
|
cache-dependency-glob: "uv.lock"
|
|
46
52
|
|
|
53
|
+
# https://github.com/actions/setup-python
|
|
47
54
|
- name: Set up Python
|
|
48
|
-
uses: actions/setup-python@
|
|
55
|
+
uses: actions/setup-python@v6.2.0
|
|
49
56
|
with:
|
|
50
|
-
python-version:
|
|
57
|
+
python-version: ${{ matrix.pyversion }}
|
|
51
58
|
|
|
52
59
|
- name: Install just
|
|
53
60
|
run: |
|
|
54
61
|
uv tool install rust-just
|
|
55
62
|
|
|
56
63
|
- name: Install dependencies
|
|
57
|
-
run: uv sync --dev --no-progress
|
|
64
|
+
run: uv sync --group dev --no-progress
|
|
58
65
|
|
|
59
66
|
- name: Generate schema documentation
|
|
60
67
|
run: |
|
|
@@ -9,7 +9,7 @@ on: # yamllint disable-line rule:truthy
|
|
|
9
9
|
pull_request:
|
|
10
10
|
|
|
11
11
|
env:
|
|
12
|
-
FORCE_COLOR: "1"
|
|
12
|
+
FORCE_COLOR: "1" # Make tools pretty.
|
|
13
13
|
|
|
14
14
|
permissions: {}
|
|
15
15
|
|
|
@@ -19,28 +19,28 @@ jobs:
|
|
|
19
19
|
runs-on: ubuntu-latest
|
|
20
20
|
strategy:
|
|
21
21
|
matrix:
|
|
22
|
-
|
|
23
|
-
# https://github.com/linkml/linkml-runtime/pull/357
|
|
24
|
-
# python-version: ["3.9", "3.10", "3.11", "3.12"]
|
|
25
|
-
python-version: ["3.11", "3.12"]
|
|
22
|
+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
|
|
26
23
|
fail-fast: false
|
|
27
24
|
|
|
28
25
|
steps:
|
|
29
26
|
|
|
27
|
+
# https://github.com/actions/checkout
|
|
30
28
|
- name: Check out repository
|
|
31
|
-
uses: actions/checkout@
|
|
29
|
+
uses: actions/checkout@v6.0.2
|
|
32
30
|
with:
|
|
33
31
|
persist-credentials: false
|
|
34
32
|
|
|
33
|
+
# https://github.com/astral-sh/setup-uv
|
|
35
34
|
- name: Install uv
|
|
36
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@v8.1.0
|
|
37
36
|
with:
|
|
38
37
|
python-version: ${{ matrix.python-version }}
|
|
39
38
|
enable-cache: true
|
|
40
39
|
cache-dependency-glob: "uv.lock"
|
|
41
40
|
|
|
41
|
+
# https://github.com/actions/setup-python
|
|
42
42
|
- name: Set up Python ${{ matrix.python-version }}
|
|
43
|
-
uses: actions/setup-python@
|
|
43
|
+
uses: actions/setup-python@v6.2.0
|
|
44
44
|
with:
|
|
45
45
|
python-version: ${{ matrix.python-version }}
|
|
46
46
|
|
|
@@ -49,7 +49,7 @@ jobs:
|
|
|
49
49
|
uv tool install rust-just
|
|
50
50
|
|
|
51
51
|
- name: Install project
|
|
52
|
-
run: uv sync --dev
|
|
52
|
+
run: uv sync --group dev
|
|
53
53
|
|
|
54
54
|
- name: Run test suite
|
|
55
55
|
run: just test
|
|
@@ -11,7 +11,7 @@ name: Publish Python Package
|
|
|
11
11
|
on: # yamllint disable-line rule:truthy
|
|
12
12
|
push:
|
|
13
13
|
tags:
|
|
14
|
-
# GitHub glob matching is limited
|
|
14
|
+
# GitHub glob matching is limited. So we can't define a pattern matching
|
|
15
15
|
# pep 440 version definition [N!]N(.N)*[{a|b|rc}N][.postN][.devN]
|
|
16
16
|
- 'v[0-9]+.[0-9]+.[0-9]+.?*'
|
|
17
17
|
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]'
|
|
@@ -25,22 +25,29 @@ jobs:
|
|
|
25
25
|
name: Build Python 🐍 distributions 📦 for publishing
|
|
26
26
|
runs-on: ubuntu-latest
|
|
27
27
|
|
|
28
|
+
strategy:
|
|
29
|
+
matrix:
|
|
30
|
+
pyversion: ["3.13"]
|
|
31
|
+
|
|
28
32
|
steps:
|
|
33
|
+
# https://github.com/actions/checkout
|
|
29
34
|
- name: Check out repository
|
|
30
|
-
uses: actions/checkout@
|
|
35
|
+
uses: actions/checkout@v6.0.2
|
|
31
36
|
with:
|
|
32
37
|
persist-credentials: false
|
|
33
38
|
|
|
39
|
+
# https://github.com/astral-sh/setup-uv
|
|
34
40
|
- name: Install uv
|
|
35
|
-
uses: astral-sh/setup-uv@
|
|
41
|
+
uses: astral-sh/setup-uv@v8.1.0
|
|
36
42
|
with:
|
|
37
|
-
python-version:
|
|
43
|
+
python-version: ${{ matrix.pyversion }}
|
|
38
44
|
enable-cache: true
|
|
39
45
|
|
|
46
|
+
# https://github.com/actions/setup-python
|
|
40
47
|
- name: Set up Python
|
|
41
|
-
uses: actions/setup-python@
|
|
48
|
+
uses: actions/setup-python@v6.2.0
|
|
42
49
|
with:
|
|
43
|
-
python-version:
|
|
50
|
+
python-version: ${{ matrix.pyversion }}
|
|
44
51
|
|
|
45
52
|
- name: Install just
|
|
46
53
|
run: |
|
|
@@ -49,8 +56,9 @@ jobs:
|
|
|
49
56
|
- name: Build source and wheel archives
|
|
50
57
|
run: uv build
|
|
51
58
|
|
|
59
|
+
# https://github.com/actions/upload-artifact
|
|
52
60
|
- name: Store built distribution
|
|
53
|
-
uses: actions/upload-artifact@
|
|
61
|
+
uses: actions/upload-artifact@v7.0.1
|
|
54
62
|
with:
|
|
55
63
|
name: distribution-files
|
|
56
64
|
path: dist/
|
|
@@ -65,30 +73,23 @@ jobs:
|
|
|
65
73
|
permissions:
|
|
66
74
|
id-token: write # this permission is mandatory for trusted publishing
|
|
67
75
|
steps:
|
|
76
|
+
# https://github.com/actions/download-artifact
|
|
68
77
|
- name: Download built distribution
|
|
69
|
-
uses: actions/download-artifact@
|
|
78
|
+
uses: actions/download-artifact@v8.0.1
|
|
70
79
|
with:
|
|
71
80
|
name: distribution-files
|
|
72
81
|
path: dist
|
|
73
82
|
|
|
83
|
+
# https://github.com/pypa/gh-action-pypi-publish
|
|
74
84
|
- name: Publish package 📦 to Test PyPI
|
|
75
85
|
if: github.event_name == 'push'
|
|
76
|
-
uses: pypa/gh-action-pypi-publish@
|
|
86
|
+
uses: pypa/gh-action-pypi-publish@v1.14.0
|
|
77
87
|
with:
|
|
78
88
|
repository-url: https://test.pypi.org/legacy/
|
|
79
89
|
verbose: true
|
|
80
90
|
|
|
81
91
|
- name: Publish package 📦 to PyPI
|
|
82
92
|
if: github.event_name == 'release'
|
|
83
|
-
uses: pypa/gh-action-pypi-publish@
|
|
93
|
+
uses: pypa/gh-action-pypi-publish@v1.14.0
|
|
84
94
|
with:
|
|
85
95
|
verbose: true
|
|
86
|
-
|
|
87
|
-
# [1] https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
|
|
88
|
-
# Used actions: (updates managed by dependabot)
|
|
89
|
-
# - https://github.com/actions/checkout
|
|
90
|
-
# - https://github.com/astral-sh/setup-uv
|
|
91
|
-
# - https://github.com/actions/setup-python
|
|
92
|
-
# - https://github.com/actions/upload-artifact
|
|
93
|
-
# - https://github.com/actions/download-artifact
|
|
94
|
-
# - https://github.com/pypa/gh-action-pypi-publish/
|
|
@@ -7,5 +7,6 @@ rules:
|
|
|
7
7
|
# permissible_values_upper_case: true
|
|
8
8
|
# class_pattern: snake_case
|
|
9
9
|
canonical_prefixes:
|
|
10
|
-
#
|
|
10
|
+
# Suppress warnings for https-prefixes
|
|
11
|
+
# related: https://github.com/linkml/linkml/issues/2492
|
|
11
12
|
level: disabled
|
|
@@ -2,35 +2,40 @@
|
|
|
2
2
|
# https://pre-commit.com/
|
|
3
3
|
repos:
|
|
4
4
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
-
rev:
|
|
5
|
+
rev: v6.0.0
|
|
6
6
|
hooks:
|
|
7
7
|
- id: check-toml
|
|
8
8
|
- id: check-yaml
|
|
9
|
+
# mkdocs.yml uses !!python/name tags unsupported by the safe YAML loader
|
|
10
|
+
exclude: ^mkdocs\.yml$
|
|
9
11
|
- id: end-of-file-fixer
|
|
12
|
+
exclude: ^\.copier-answers\.yml$
|
|
10
13
|
- id: trailing-whitespace
|
|
11
14
|
args: [--markdown-linebreak-ext=md]
|
|
12
15
|
|
|
13
16
|
- repo: https://github.com/adrienverge/yamllint.git
|
|
14
|
-
rev: v1.
|
|
17
|
+
rev: v1.38.0
|
|
15
18
|
hooks:
|
|
16
19
|
- id: yamllint
|
|
17
20
|
args: [-c=.yamllint.yaml]
|
|
21
|
+
exclude: ^\.copier-answers\.yml$
|
|
22
|
+
verbose: true # Show warnings.
|
|
18
23
|
|
|
19
24
|
- repo: https://github.com/codespell-project/codespell
|
|
20
|
-
rev: v2.4.
|
|
25
|
+
rev: v2.4.2
|
|
21
26
|
hooks:
|
|
22
27
|
- id: codespell
|
|
23
28
|
additional_dependencies:
|
|
24
29
|
- tomli
|
|
25
30
|
|
|
26
31
|
- repo: https://github.com/crate-ci/typos
|
|
27
|
-
rev: v1.
|
|
32
|
+
rev: v1.46.3
|
|
28
33
|
hooks:
|
|
29
34
|
- id: typos
|
|
30
35
|
|
|
31
36
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
32
37
|
# Ruff version.
|
|
33
|
-
rev: v0.
|
|
38
|
+
rev: v0.15.14
|
|
34
39
|
hooks:
|
|
35
40
|
# Run the linter.
|
|
36
41
|
- id: ruff
|
|
@@ -40,6 +45,6 @@ repos:
|
|
|
40
45
|
|
|
41
46
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
42
47
|
# uv version.
|
|
43
|
-
rev: 0.
|
|
48
|
+
rev: 0.11.16
|
|
44
49
|
hooks:
|
|
45
50
|
- id: uv-lock
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Config for the yaml formatter https://github.com/lyz-code/yamlfix
|
|
2
|
+
# install: "uv tool install yamlfix"
|
|
3
|
+
line_length = 88
|
|
4
|
+
sequence_style = "block_style"
|
|
5
|
+
|
|
6
|
+
# order is important: keep whiteline before section_whitelines
|
|
7
|
+
whitelines = 1
|
|
8
|
+
section_whitelines = 1
|
|
@@ -2,10 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
extends: default
|
|
4
4
|
|
|
5
|
+
# Specify files to ignore.
|
|
6
|
+
ignore:
|
|
7
|
+
# Ignore autogenerated file that does not conform to yamllint rules.
|
|
8
|
+
- .copier-answers.yml
|
|
9
|
+
# Ignore schema files that may not conform due to imports.
|
|
10
|
+
- docs/schema/*.yaml
|
|
11
|
+
|
|
5
12
|
rules:
|
|
6
13
|
document-start: disable # Don't check if document has a start marker (---).
|
|
7
14
|
line-length:
|
|
8
|
-
max:
|
|
15
|
+
max: 88
|
|
9
16
|
level: warning
|
|
10
17
|
allow-non-breakable-words: true
|
|
11
18
|
allow-non-breakable-inline-mappings: true
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pid4cat-model
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3
|
|
4
4
|
Summary: Python model equivalent of LinkML datamodel for handle-based PIDs for resources in catalysis (pid4cat)
|
|
5
5
|
Author-email: David Linke <david.linke@catalysis.de>
|
|
6
6
|
Maintainer-email: David Linke <david.linke@catalysis.de>
|
|
7
7
|
License-Expression: MIT
|
|
8
8
|
License-File: LICENSE
|
|
9
|
-
Requires-Python:
|
|
10
|
-
Requires-Dist: click
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Requires-Dist: click>8.2.0
|
|
11
11
|
Requires-Dist: httpx<0.29.0,>=0.28.1
|
|
12
|
-
Requires-Dist: linkml-runtime>=1.9.
|
|
12
|
+
Requires-Dist: linkml-runtime>=1.9.4
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
|
|
15
15
|
[](https://github.com/nfdi4cat/pid4cat-model/actions/workflows/main.yaml)
|
|
@@ -20,13 +20,10 @@ LINKML_GENERATORS_CONFIG_YAML=config.yaml
|
|
|
20
20
|
LINKML_GENERATORS_DOC_ARGS="--truncate-descriptions False --hierarchical-class-view --subfolder-type-separation --index-name overview"
|
|
21
21
|
|
|
22
22
|
## pass args to workaround genowl rdfs config bug (linkml#1453)
|
|
23
|
-
## (i.e. --no-type-objects --no-metaclasses --metadata-profile
|
|
23
|
+
## (i.e. --no-type-objects --no-metaclasses --metadata-profile=rdfs)
|
|
24
|
+
# LINKML_GENERATORS_OWL_ARGS="--no-type-objects --no-metaclasses --metadata-profile=rdfs"
|
|
24
25
|
LINKML_GENERATORS_OWL_ARGS=
|
|
25
26
|
|
|
26
|
-
## pass args to trigger experimental java/typescript generation
|
|
27
|
-
LINKML_GENERATORS_JAVA_ARGS=
|
|
28
|
-
LINKML_GENERATORS_TYPESCRIPT_ARGS=
|
|
29
|
-
|
|
30
27
|
## pass args to pydantic generator which isn't supported by gen-project
|
|
31
28
|
## https://github.com/linkml/linkml/issues/2537
|
|
32
29
|
LINKML_GENERATORS_PYDANTIC_ARGS=
|
|
@@ -19,10 +19,10 @@ generator_args:
|
|
|
19
19
|
mergeimports: true
|
|
20
20
|
owl:
|
|
21
21
|
mergeimports: true
|
|
22
|
-
metaclasses:
|
|
23
|
-
type_objects:
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
metaclasses: false
|
|
23
|
+
type_objects: false
|
|
24
|
+
add_root_classes: true
|
|
25
|
+
mixins_as_expressions: true
|
|
26
26
|
markdown:
|
|
27
27
|
mergeimports: true
|
|
28
28
|
directory: "docs/elements"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Give docs/overrides priority over plugin-supplied theme dirs.
|
|
2
|
+
|
|
3
|
+
The mkdocs_pymdownx_material_extras plugin inserts its own theme directory at
|
|
4
|
+
position 0 of theme.dirs in its on_config hook, which shadows the user's
|
|
5
|
+
custom_dir. This hook runs after plugins and moves custom_dir back to the
|
|
6
|
+
front so files under docs/overrides win against the plugin's templates.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def on_config(config):
|
|
11
|
+
custom_dir = config["theme"].custom_dir
|
|
12
|
+
if not custom_dir:
|
|
13
|
+
return config
|
|
14
|
+
dirs = config["theme"].dirs
|
|
15
|
+
if custom_dir in dirs and dirs[0] != custom_dir:
|
|
16
|
+
dirs.remove(custom_dir)
|
|
17
|
+
dirs.insert(0, custom_dir)
|
|
18
|
+
return config
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
Copied from mkdocs-material to bypass the header.html provided by
|
|
3
|
+
mkdocs_pymdownx_material_extras (which forces a dracula-based palette).
|
|
4
|
+
This restores Material's standard palette toggle using default/slate.
|
|
5
|
+
-#}
|
|
6
|
+
{% set class = "md-header" %}
|
|
7
|
+
{% if "navigation.tabs.sticky" in features %}
|
|
8
|
+
{% set class = class ~ " md-header--shadow md-header--lifted" %}
|
|
9
|
+
{% elif "navigation.tabs" not in features %}
|
|
10
|
+
{% set class = class ~ " md-header--shadow" %}
|
|
11
|
+
{% endif %}
|
|
12
|
+
<header class="{{ class }}" data-md-component="header">
|
|
13
|
+
<nav class="md-header__inner md-grid" aria-label="{{ lang.t('header') }}">
|
|
14
|
+
<a href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}" title="{{ config.site_name | e }}" class="md-header__button md-logo" aria-label="{{ config.site_name }}" data-md-component="logo">
|
|
15
|
+
{% include "partials/logo.html" %}
|
|
16
|
+
</a>
|
|
17
|
+
<label class="md-header__button md-icon" for="__drawer">
|
|
18
|
+
{% set icon = config.theme.icon.menu or "material/menu" %}
|
|
19
|
+
{% include ".icons/" ~ icon ~ ".svg" %}
|
|
20
|
+
</label>
|
|
21
|
+
<div class="md-header__title" data-md-component="header-title">
|
|
22
|
+
<div class="md-header__ellipsis">
|
|
23
|
+
<div class="md-header__topic">
|
|
24
|
+
<span class="md-ellipsis">
|
|
25
|
+
{{ config.site_name }}
|
|
26
|
+
</span>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="md-header__topic" data-md-component="header-topic">
|
|
29
|
+
<span class="md-ellipsis">
|
|
30
|
+
{% if page.meta and page.meta.title %}
|
|
31
|
+
{{ page.meta.title }}
|
|
32
|
+
{% else %}
|
|
33
|
+
{{ page.title }}
|
|
34
|
+
{% endif %}
|
|
35
|
+
</span>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
{% if config.theme.palette %}
|
|
40
|
+
{% if not config.theme.palette is mapping %}
|
|
41
|
+
{% include "partials/palette.html" %}
|
|
42
|
+
{% endif %}
|
|
43
|
+
{% endif %}
|
|
44
|
+
{% if not config.theme.palette is mapping %}
|
|
45
|
+
{% include "partials/javascripts/palette.html" %}
|
|
46
|
+
{% endif %}
|
|
47
|
+
{% if config.extra.alternate %}
|
|
48
|
+
{% include "partials/alternate.html" %}
|
|
49
|
+
{% endif %}
|
|
50
|
+
{% if "material/search" in config.plugins %}
|
|
51
|
+
{% set search = config.plugins["material/search"] | attr("config") %}
|
|
52
|
+
{% if search.enabled %}
|
|
53
|
+
<label class="md-header__button md-icon" for="__search">
|
|
54
|
+
{% set icon = config.theme.icon.search or "material/magnify" %}
|
|
55
|
+
{% include ".icons/" ~ icon ~ ".svg" %}
|
|
56
|
+
</label>
|
|
57
|
+
{% include "partials/search.html" %}
|
|
58
|
+
{% endif %}
|
|
59
|
+
{% endif %}
|
|
60
|
+
{% if config.repo_url %}
|
|
61
|
+
<div class="md-header__source">
|
|
62
|
+
{% include "partials/source.html" %}
|
|
63
|
+
</div>
|
|
64
|
+
{% endif %}
|
|
65
|
+
</nav>
|
|
66
|
+
{% if "navigation.tabs.sticky" in features %}
|
|
67
|
+
{% if "navigation.tabs" in features %}
|
|
68
|
+
{% include "partials/tabs.html" %}
|
|
69
|
+
{% endif %}
|
|
70
|
+
{% endif %}
|
|
71
|
+
</header>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#logo_light_mode {
|
|
2
|
+
display: var(--md-footer-logo-light-mode);
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
#logo_dark_mode {
|
|
6
|
+
display: var(--md-footer-logo-dark-mode);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
[data-md-color-scheme="default"] {
|
|
10
|
+
--md-footer-logo-dark-mode: none;
|
|
11
|
+
--md-footer-logo-light-mode: block;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* The mkdocs_pymdownx_material_extras plugin ships an
|
|
15
|
+
extra-c6ab11540a.css with a `:root>* { --md-typeset-a-color: #00bcd4; }`
|
|
16
|
+
rule that forces light-mode links to bright cyan, ignoring the configured
|
|
17
|
+
accent color. We override it with a higher-specificity selector
|
|
18
|
+
(body[attr] = 0,1,1 beats :root>* = 0,1,0) so light-mode links use the
|
|
19
|
+
configured accent color (indigo via mkdocs.yml palette). */
|
|
20
|
+
body[data-md-color-scheme="default"] {
|
|
21
|
+
--md-typeset-a-color: var(--md-accent-fg-color);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
[data-md-color-scheme="slate"] {
|
|
25
|
+
--md-footer-logo-dark-mode: none;
|
|
26
|
+
--md-footer-logo-light-mode: block;
|
|
27
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
contains_pids:
|
|
3
|
+
- responseCode: 1
|
|
4
|
+
handle: 21.T12995/lik-1
|
|
5
|
+
values:
|
|
6
|
+
- index: 1
|
|
7
|
+
type: URL
|
|
8
|
+
data:
|
|
9
|
+
format: string
|
|
10
|
+
value: https://pid4cat.example.org/lik-1
|
|
11
|
+
ttl: 86400
|
|
12
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
13
|
+
- index: 2
|
|
14
|
+
type: STATUS
|
|
15
|
+
data:
|
|
16
|
+
format: string
|
|
17
|
+
value: REGISTERED
|
|
18
|
+
ttl: 86400
|
|
19
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
20
|
+
- index: 3
|
|
21
|
+
type: SCHEMA_VER
|
|
22
|
+
data:
|
|
23
|
+
format: string
|
|
24
|
+
value: v0.1.0
|
|
25
|
+
ttl: 86400
|
|
26
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
27
|
+
- index: 4
|
|
28
|
+
type: METADATA_LICENSE
|
|
29
|
+
data:
|
|
30
|
+
format: string
|
|
31
|
+
value: CC0-1.0
|
|
32
|
+
ttl: 86400
|
|
33
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
34
|
+
- index: 5
|
|
35
|
+
type: EMAIL
|
|
36
|
+
data:
|
|
37
|
+
format: string
|
|
38
|
+
value: datafuzzi@example.org
|
|
39
|
+
ttl: 86400
|
|
40
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
41
|
+
- index: 6
|
|
42
|
+
type: RESOURCE_INFO
|
|
43
|
+
data:
|
|
44
|
+
format: string
|
|
45
|
+
value:
|
|
46
|
+
- resource_info:
|
|
47
|
+
label: Resource label
|
|
48
|
+
description: Resource description
|
|
49
|
+
resource_category: SAMPLE
|
|
50
|
+
representation_variants:
|
|
51
|
+
- variant_url: https://example.org/resource
|
|
52
|
+
media_type: text/turtle
|
|
53
|
+
encoding_format: UTF-8
|
|
54
|
+
size: 12345
|
|
55
|
+
ttl: 86400
|
|
56
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
57
|
+
- index: 7
|
|
58
|
+
type: RELATED
|
|
59
|
+
data:
|
|
60
|
+
format: string
|
|
61
|
+
value:
|
|
62
|
+
- related_identifiers:
|
|
63
|
+
- relation_type: IS_PART_OF
|
|
64
|
+
related_identifier: https://example.org/collection
|
|
65
|
+
datetime_log: '2024-02-19T00:00:00Z'
|
|
66
|
+
- relation_type: IS_REFERENCED_BY
|
|
67
|
+
related_identifier: https://example.org/referenced
|
|
68
|
+
datetime_log: '2024-02-19T00:00:00Z'
|
|
69
|
+
ttl: 86400
|
|
70
|
+
timestamp: '2024-05-15T15:51:15Z'
|
|
71
|
+
- index: 8
|
|
72
|
+
type: CHANGES
|
|
73
|
+
data:
|
|
74
|
+
format: string
|
|
75
|
+
value:
|
|
76
|
+
- change_log:
|
|
77
|
+
- datetime_log: '2024-02-19T00:00:00Z'
|
|
78
|
+
has_agent:
|
|
79
|
+
name: Data Fuzzi
|
|
80
|
+
email: datafuzzi@example.org
|
|
81
|
+
orcid: 0000-0000-0000-0000
|
|
82
|
+
affiliation_ror: https://ror.org/029hg0311
|
|
83
|
+
role: TRUSTEE
|
|
84
|
+
changed_field: STATUS
|
|
85
|
+
description: 'as requested in issue #123'
|
|
86
|
+
ttl: 86400
|
|
87
|
+
timestamp: '2024-05-15T15:51:15Z'
|