ms-dcat-ap 0.0.1__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 (39) hide show
  1. ms_dcat_ap-0.0.1/.copier-answers.yml +14 -0
  2. ms_dcat_ap-0.0.1/.editorconfig +18 -0
  3. ms_dcat_ap-0.0.1/.github/dependabot.yml +9 -0
  4. ms_dcat_ap-0.0.1/.github/workflows/deploy-docs.yaml +62 -0
  5. ms_dcat_ap-0.0.1/.github/workflows/main.yaml +55 -0
  6. ms_dcat_ap-0.0.1/.github/workflows/pypi-publish.yaml +101 -0
  7. ms_dcat_ap-0.0.1/.github/workflows/test_pages_build.yaml +75 -0
  8. ms_dcat_ap-0.0.1/.gitignore +144 -0
  9. ms_dcat_ap-0.0.1/.pre-commit-config.yaml +45 -0
  10. ms_dcat_ap-0.0.1/.yamllint.yaml +12 -0
  11. ms_dcat_ap-0.0.1/CODE_OF_CONDUCT.md +76 -0
  12. ms_dcat_ap-0.0.1/CONTRIBUTING.md +121 -0
  13. ms_dcat_ap-0.0.1/LICENSE +21 -0
  14. ms_dcat_ap-0.0.1/PKG-INFO +44 -0
  15. ms_dcat_ap-0.0.1/README.md +33 -0
  16. ms_dcat_ap-0.0.1/config.public.mk +29 -0
  17. ms_dcat_ap-0.0.1/config.yaml +65 -0
  18. ms_dcat_ap-0.0.1/docs/about.md +3 -0
  19. ms_dcat_ap-0.0.1/docs/elements/.gitkeep +0 -0
  20. ms_dcat_ap-0.0.1/docs/index.md +5 -0
  21. ms_dcat_ap-0.0.1/docs/js/extra-loader.js +2 -0
  22. ms_dcat_ap-0.0.1/docs/templates-linkml/README.md +7 -0
  23. ms_dcat_ap-0.0.1/examples/README.md +9 -0
  24. ms_dcat_ap-0.0.1/justfile +266 -0
  25. ms_dcat_ap-0.0.1/mkdocs.yml +68 -0
  26. ms_dcat_ap-0.0.1/project.justfile +5 -0
  27. ms_dcat_ap-0.0.1/pyproject.toml +73 -0
  28. ms_dcat_ap-0.0.1/src/ms_dcat_ap/__init__.py +5 -0
  29. ms_dcat_ap-0.0.1/src/ms_dcat_ap/_version.py +8 -0
  30. ms_dcat_ap-0.0.1/src/ms_dcat_ap/datamodel/__init__.py +7 -0
  31. ms_dcat_ap-0.0.1/src/ms_dcat_ap/schema/README.md +3 -0
  32. ms_dcat_ap-0.0.1/src/ms_dcat_ap/schema/ms_dcat_ap.yaml +236 -0
  33. ms_dcat_ap-0.0.1/tests/__init__.py +1 -0
  34. ms_dcat_ap-0.0.1/tests/data/README.md +14 -0
  35. ms_dcat_ap-0.0.1/tests/data/invalid/.gitkeep +0 -0
  36. ms_dcat_ap-0.0.1/tests/data/problem/invalid/.gitkeep +0 -0
  37. ms_dcat_ap-0.0.1/tests/data/problem/valid/.gitkeep +0 -0
  38. ms_dcat_ap-0.0.1/tests/data/valid/.gitkeep +0 -0
  39. ms_dcat_ap-0.0.1/uv.lock +4271 -0
@@ -0,0 +1,14 @@
1
+ # Changes here will be overwritten by Copier
2
+ _commit: v0.4.2
3
+ _src_path: https://github.com/linkml/linkml-project-copier
4
+ add_example: false
5
+ copyright_year: '2026'
6
+ email: rmeier@ipb-halle.de
7
+ full_name: René Meier
8
+ gh_action_docs_preview: true
9
+ gh_action_pypi: true
10
+ github_org: meier-rene
11
+ license: MIT
12
+ project_description: This is the project description.
13
+ project_name: ms-dcat-ap
14
+ project_slug: ms_dcat_ap
@@ -0,0 +1,18 @@
1
+ # Check http://editorconfig.org for more information
2
+ # This is the main config file for this project:
3
+ root = true
4
+
5
+ [*]
6
+ charset = utf-8
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ indent_style = space
10
+ indent_size = 2
11
+ trim_trailing_whitespace = true
12
+
13
+ [*.py]
14
+ indent_style = space
15
+ indent_size = 4
16
+
17
+ [*.md]
18
+ trim_trailing_whitespace = false
@@ -0,0 +1,9 @@
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
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: Deploy docs
3
+ on: # yamllint disable-line rule:truthy
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions: {}
9
+
10
+ jobs:
11
+ build-docs:
12
+ runs-on: ubuntu-latest
13
+
14
+ strategy:
15
+ matrix:
16
+ pyversion: ["3.13"]
17
+
18
+ # Grant GITHUB_TOKEN the permissions required to make a gh-pages deployment
19
+ permissions:
20
+ contents: write # to let mkdocs write the new docs
21
+ pages: write # to deploy to Pages
22
+ id-token: write # allow to generate an OpenID Connect (OIDC) token
23
+
24
+ steps:
25
+ # https://github.com/actions/checkout
26
+ - name: Checkout
27
+ uses: actions/checkout@v6.0.2
28
+ with:
29
+ fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
30
+
31
+ - name: Configure git for the bot
32
+ # Gives the bot that commits to gh-pages a name & email address
33
+ # so that the commits have an author in the commit log.
34
+ run: |
35
+ git config user.name github-actions[bot]
36
+ git config user.email github-actions[bot]@users.noreply.github.com
37
+
38
+ # https://github.com/astral-sh/setup-uv
39
+ - name: Install uv
40
+ uses: astral-sh/setup-uv@v7.2.1
41
+ with:
42
+ python-version: ${{ matrix.pyversion }}
43
+ enable-cache: true
44
+ cache-dependency-glob: "uv.lock"
45
+
46
+ # https://github.com/actions/setup-python
47
+ - name: Set up Python
48
+ uses: actions/setup-python@v6.2.0
49
+ with:
50
+ python-version: ${{ matrix.pyversion }}
51
+
52
+ - name: Install just
53
+ run: |
54
+ uv tool install rust-just
55
+
56
+ - name: Install dependencies
57
+ run: uv sync --dev --no-progress
58
+
59
+ - name: Generate schema documentation
60
+ run: |
61
+ just gen-doc
62
+ uv run mkdocs gh-deploy
@@ -0,0 +1,55 @@
1
+ # Built from:
2
+ # https://docs.github.com/en/actions/guides/building-and-testing-python
3
+ ---
4
+ name: Build and test
5
+
6
+ on: # yamllint disable-line rule:truthy
7
+ push:
8
+ branches: [main]
9
+ pull_request:
10
+
11
+ env:
12
+ FORCE_COLOR: "1" # Make tools pretty.
13
+
14
+ permissions: {}
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
23
+ fail-fast: false
24
+
25
+ steps:
26
+
27
+ # https://github.com/actions/checkout
28
+ - name: Check out repository
29
+ uses: actions/checkout@v6.0.2
30
+ with:
31
+ persist-credentials: false
32
+
33
+ # https://github.com/astral-sh/setup-uv
34
+ - name: Install uv
35
+ uses: astral-sh/setup-uv@v7.2.1
36
+ with:
37
+ python-version: ${{ matrix.python-version }}
38
+ enable-cache: true
39
+ cache-dependency-glob: "uv.lock"
40
+
41
+ # https://github.com/actions/setup-python
42
+ - name: Set up Python ${{ matrix.python-version }}
43
+ uses: actions/setup-python@v6.2.0
44
+ with:
45
+ python-version: ${{ matrix.python-version }}
46
+
47
+ - name: Install just
48
+ run: |
49
+ uv tool install rust-just
50
+
51
+ - name: Install project
52
+ run: uv sync --dev
53
+
54
+ - name: Run test suite
55
+ run: just test
@@ -0,0 +1,101 @@
1
+ ---
2
+ name: Publish Python Package
3
+
4
+ # Publishes with trusted publishing to
5
+ # - PyPI on releases created in GitHub UI if status is published.
6
+ # For draft status, nothing happens.
7
+ # - TestPyPI on new tags "v1.2.3" or "v1.2.3.something" on main branch
8
+ #
9
+ # More on trusted publishing: https://docs.pypi.org/trusted-publishers/
10
+
11
+ on: # yamllint disable-line rule:truthy
12
+ push:
13
+ tags:
14
+ # GitHub glob matching is limited [1]. So we can't define a pattern matching
15
+ # pep 440 version definition [N!]N(.N)*[{a|b|rc}N][.postN][.devN]
16
+ - 'v[0-9]+.[0-9]+.[0-9]+.?*'
17
+ - 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]'
18
+ release:
19
+ types: [published]
20
+
21
+ permissions: {}
22
+
23
+ jobs:
24
+ build:
25
+ name: Build Python 🐍 distributions 📦 for publishing
26
+ runs-on: ubuntu-latest
27
+
28
+ strategy:
29
+ matrix:
30
+ pyversion: ["3.13"]
31
+
32
+ steps:
33
+ # https://github.com/actions/checkout
34
+ - name: Check out repository
35
+ uses: actions/checkout@v5.0.0
36
+ with:
37
+ persist-credentials: false
38
+
39
+ # https://github.com/astral-sh/setup-uv
40
+ - name: Install uv
41
+ uses: astral-sh/setup-uv@v7.1.2
42
+ with:
43
+
44
+ python-version: ${{ matrix.pyversion }}
45
+
46
+ enable-cache: true
47
+
48
+ # https://github.com/actions/setup-python
49
+ - name: Set up Python
50
+ uses: actions/setup-python@v6.0.0
51
+ with:
52
+
53
+ python-version: ${{ matrix.pyversion }}
54
+
55
+
56
+ - name: Install just
57
+ run: |
58
+ uv tool install rust-just
59
+
60
+ - name: Build source and wheel archives
61
+ run: uv build
62
+
63
+ # https://github.com/actions/upload-artifact
64
+ - name: Store built distribution
65
+ uses: actions/upload-artifact@v5.0.0
66
+ with:
67
+ name: distribution-files
68
+ path: dist/
69
+
70
+ pypi-publish:
71
+ name: Build and publish Python 🐍 package 📦 to PyPI and TestPyPI
72
+ needs: build
73
+ runs-on: ubuntu-latest
74
+ environment:
75
+ name: pypi-release
76
+ url: https://pypi.org/p/ms_dcat_ap
77
+ permissions:
78
+ id-token: write # this permission is mandatory for trusted publishing
79
+ steps:
80
+ # https://github.com/actions/download-artifact
81
+ - name: Download built distribution
82
+ uses: actions/download-artifact@v6.0.0
83
+ with:
84
+ name: distribution-files
85
+ path: dist
86
+
87
+ # https://github.com/pypa/gh-action-pypi-publish
88
+ - name: Publish package 📦 to Test PyPI
89
+ if: github.event_name == 'push'
90
+ uses: pypa/gh-action-pypi-publish@v1.13.0
91
+ with:
92
+ repository-url: https://test.pypi.org/legacy/
93
+ verbose: true
94
+
95
+ - name: Publish package 📦 to PyPI
96
+ if: github.event_name == 'release'
97
+ uses: pypa/gh-action-pypi-publish@v1.13.0
98
+ with:
99
+ verbose: true
100
+
101
+ # [1] https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet
@@ -0,0 +1,75 @@
1
+ name: Preview documentation build
2
+
3
+ on: # yamllint disable-line rule:truthy
4
+ pull_request:
5
+ types:
6
+ - opened
7
+ - reopened
8
+ - synchronize
9
+
10
+ env:
11
+ CLICOLOR: 1
12
+
13
+ concurrency: preview-${{ github.ref }}
14
+
15
+ permissions: {}
16
+
17
+ jobs:
18
+ run:
19
+ # Don't run for PRs from forks which fails due to lack of permissions.
20
+ if: github.event.pull_request.head.repo.full_name == github.repository
21
+ # Grant GITHUB_TOKEN the permissions required to make a gh-pages deployment
22
+ permissions:
23
+ contents: write # to let mkdocs write the new docs
24
+ pages: write # to deploy to Pages
25
+ id-token: write # allow to generate an OpenID Connect (OIDC) token
26
+ pull-requests: write # add comment on the PR with the preview URL
27
+ runs-on: ubuntu-latest
28
+
29
+ strategy:
30
+ matrix:
31
+ pyversion: ["3.13"]
32
+
33
+ steps:
34
+ # https://github.com/actions/checkout
35
+ - name: Checkout
36
+ uses: actions/checkout@v5.0.0
37
+ with:
38
+ fetch-depth: 0
39
+
40
+ # https://github.com/actions/setup-python
41
+ - name: Set up Python
42
+ uses: actions/setup-python@v6.0.0
43
+ with:
44
+
45
+ python-version: ${{ matrix.pyversion }}
46
+
47
+ # https://github.com/astral-sh/setup-uv
48
+ - name: Install uv
49
+ uses: astral-sh/setup-uv@v7.1.2
50
+ with:
51
+
52
+ python-version: ${{ matrix.pyversion }}
53
+
54
+ enable-cache: true
55
+ cache-dependency-glob: "uv.lock"
56
+
57
+ - name: Install just
58
+ run: |
59
+ uv tool install rust-just
60
+
61
+ - name: Install dependencies
62
+ run: uv sync --dev --no-progress
63
+
64
+ - name: Build documentation
65
+ run: |
66
+ just gen-doc
67
+ uv run mkdocs build -d site
68
+ touch site/.nojekyll
69
+
70
+ # https://github.com/rossjrw/pr-preview-action
71
+ - name: Deploy preview
72
+ uses: rossjrw/pr-preview-action@v1.6.2
73
+ with:
74
+ source-dir: site/
75
+ preview-branch: gh-pages
@@ -0,0 +1,144 @@
1
+ # generated part of documentation
2
+ /docs/elements/*.md
3
+ # linkml-run-examples output (not useful to have in git in its current form)
4
+ /examples/output/
5
+
6
+ # Derived schemas, generated from the schema.yaml
7
+ tmp/
8
+ project/
9
+ !project/README.md
10
+
11
+ # Byte-compiled / optimized / DLL files
12
+ __pycache__/
13
+ *.py[cod]
14
+ *$py.class
15
+
16
+ # C extensions
17
+ *.so
18
+
19
+ # Distribution / packaging
20
+ .Python
21
+ build/
22
+ develop-eggs/
23
+ dist/
24
+ downloads/
25
+ eggs/
26
+ .eggs/
27
+ lib/
28
+ lib64/
29
+ parts/
30
+ sdist/
31
+ var/
32
+ wheels/
33
+ pip-wheel-metadata/
34
+ share/python-wheels/
35
+ *.egg-info/
36
+ .installed.cfg
37
+ *.egg
38
+ MANIFEST
39
+
40
+ # PyInstaller
41
+ # Usually these files are written by a python script from a template
42
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Installer logs
47
+ pip-log.txt
48
+ pip-delete-this-directory.txt
49
+
50
+ # Unit test / coverage reports
51
+ htmlcov/
52
+ .tox/
53
+ .nox/
54
+ .coverage
55
+ .coverage.*
56
+ .cache
57
+ nosetests.xml
58
+ coverage.xml
59
+ *.cover
60
+ *.py,cover
61
+ .hypothesis/
62
+ .pytest_cache/
63
+
64
+ # Translations
65
+ *.mo
66
+ *.pot
67
+
68
+ # Django stuff:
69
+ *.log
70
+ local_settings.py
71
+ db.sqlite3
72
+ db.sqlite3-journal
73
+
74
+ # Flask stuff:
75
+ instance/
76
+ .webassets-cache
77
+
78
+ # Scrapy stuff:
79
+ .scrapy
80
+
81
+ # Sphinx documentation
82
+ docs/_build/
83
+
84
+ # PyBuilder
85
+ target/
86
+
87
+ # Jupyter Notebook
88
+ .ipynb_checkpoints
89
+
90
+ # IPython
91
+ profile_default/
92
+ ipython_config.py
93
+
94
+ # pyenv
95
+ .python-version
96
+
97
+ # pipenv
98
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
99
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
100
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
101
+ # install all needed dependencies.
102
+ #Pipfile.lock
103
+
104
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
105
+ __pypackages__/
106
+
107
+ # Celery stuff
108
+ celerybeat-schedule
109
+ celerybeat.pid
110
+
111
+ # SageMath parsed files
112
+ *.sage.py
113
+
114
+ # Environments
115
+ .env
116
+ .venv
117
+ env/
118
+ venv/
119
+ ENV/
120
+ env.bak/
121
+ venv.bak/
122
+
123
+ # Spyder project settings
124
+ .spyderproject
125
+ .spyproject
126
+
127
+ # Rope project settings
128
+ .ropeproject
129
+
130
+ # mkdocs documentation
131
+ /site
132
+
133
+ # mypy
134
+ .mypy_cache/
135
+ .dmypy.json
136
+ dmypy.json
137
+
138
+ # Pyre type checker
139
+ .pyre/
140
+
141
+ # pycharm
142
+ .idea
143
+ # Local vscode editor config
144
+ .vscode
@@ -0,0 +1,45 @@
1
+ ---
2
+ # https://pre-commit.com/
3
+ repos:
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v5.0.0
6
+ hooks:
7
+ - id: check-toml
8
+ - id: check-yaml
9
+ - id: end-of-file-fixer
10
+ - id: trailing-whitespace
11
+ args: [--markdown-linebreak-ext=md]
12
+
13
+ - repo: https://github.com/adrienverge/yamllint.git
14
+ rev: v1.37.0
15
+ hooks:
16
+ - id: yamllint
17
+ args: [-c=.yamllint.yaml]
18
+
19
+ - repo: https://github.com/codespell-project/codespell
20
+ rev: v2.4.1
21
+ hooks:
22
+ - id: codespell
23
+ additional_dependencies:
24
+ - tomli
25
+
26
+ - repo: https://github.com/crate-ci/typos
27
+ rev: v1.31.1
28
+ hooks:
29
+ - id: typos
30
+
31
+ - repo: https://github.com/astral-sh/ruff-pre-commit
32
+ # Ruff version.
33
+ rev: v0.11.3
34
+ hooks:
35
+ # Run the linter.
36
+ - id: ruff
37
+ args: [--fix, --exit-non-zero-on-fix]
38
+ # Run the formatter.
39
+ - id: ruff-format
40
+
41
+ - repo: https://github.com/astral-sh/uv-pre-commit
42
+ # uv version.
43
+ rev: 0.6.12
44
+ hooks:
45
+ - id: uv-lock
@@ -0,0 +1,12 @@
1
+ # Configuration for https://github.com/adrienverge/yamllint
2
+
3
+ extends: default
4
+
5
+ rules:
6
+ document-start: disable # Don't check if document has a start marker (---).
7
+ line-length:
8
+ max: 80
9
+ level: warning
10
+ allow-non-breakable-words: true
11
+ allow-non-breakable-inline-mappings: true
12
+ new-lines: disable # Don't check for type of new line characters.
@@ -0,0 +1,76 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to make participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age,
8
+ body size, disability, ethnicity, gender identity and expression, level of
9
+ experience, nationality, personal appearance, race, religion, or sexual
10
+ identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an
52
+ appointed representative at an online or offline event. Representation of a
53
+ project may be further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by [contacting the project team](contact.md). All complaints will be
59
+ reviewed and investigated and will result in a response that is deemed
60
+ necessary and appropriate to the circumstances. The project team is obligated
61
+ to maintain confidentiality with regard to the reporter of an incident. Further
62
+ details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This code of conduct has been derived from the excellent code of conduct of the
71
+ [ATOM project](https://github.com/atom/atom/blob/master/CODE_OF_CONDUCT.md)
72
+ which in turn is adapted from the [Contributor Covenant][homepage], version
73
+ 1.4, available at [https://contributor-covenant.org/version/1/4][version]
74
+
75
+ [homepage]: https://contributor-covenant.org
76
+ [version]: https://contributor-covenant.org/version/1/4/