commonmeta-py 0.20__tar.gz → 0.21__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.
- {commonmeta_py-0.20 → commonmeta_py-0.21}/PKG-INFO +1 -1
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/author_utils.py +2 -2
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/constants.py +11 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/doi_utils.py +13 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/metadata.py +3 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/utils.py +28 -8
- commonmeta_py-0.21/commonmeta/writers/inveniordm_writer.py +94 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/pyproject.toml +1 -1
- commonmeta_py-0.21/tests/cassettes/test-inveniordm_writer/test_from_json_feed.yaml +189 -0
- commonmeta_py-0.21/tests/cassettes/test-inveniordm_writer/test_journal_article.yaml +181 -0
- commonmeta_py-0.21/tests/cassettes/test-inveniordm_writer/test_publication.yaml +128 -0
- commonmeta_py-0.21/tests/cassettes/test-inveniordm_writer/test_rogue_scholar.yaml +152 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-doi_utils.py +9 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-inveniordm_reader.py +1 -0
- commonmeta_py-0.21/tests/test-inveniordm_writer.py +153 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/uv.lock +18 -14
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.gitattributes +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/FUNDING.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/dependabot.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/issue_template.md +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/pull_request_template.md +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/workflows/build.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.github/workflows/publish.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.gitignore +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.gitmodules +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/.pylintrc +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/CITATION.cff +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/CODE_OF_CONDUCT.md +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/LICENSE +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/README.md +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/__init__.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/api_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/base_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/cli.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/crossref_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/date_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/__init__.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/bibtex_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/cff_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/codemeta_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/commonmeta_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/crossref_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/crossref_xml_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/csl_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/datacite_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/datacite_xml_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/inveniordm_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/json_feed_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/kbase_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/ris_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/readers/schema_org_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/cff_v1.2.0.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/commonmeta_v0.12.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/commonmeta_v0.13.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/commonmeta_v0.14.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/AccessIndicators.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1-elements.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3-elements.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1-mathml3.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/JATS-journalpublishing1.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/clinicaltrials.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/common5.3.1.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/crossref5.3.1.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/crossref_query_output3.0.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/fundref.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/module-ali.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref/relations.xsd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/crossref-v0.2.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/csl-data.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/datacite-v4.5.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/datacite-v4.5pr.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/ietf-bcp-47.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/iso-8601.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/spdx/licenses.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/spdx-schema..json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/apa.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/chicago-author-date.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/harvard-cite-them-right.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/ieee.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/modern-language-association.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/resources/styles/vancouver.csl +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/schema_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/translators.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/__init__.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/bibtex_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/citation_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/commonmeta_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/crossref_xml_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/csl_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/datacite_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/ris_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/commonmeta/writers/schema_org_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.gitignore +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/_freeze/cli/execute-results/html.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/_freeze/index/execute-results/html.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/_freeze/site_libs/clipboard/clipboard.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/cli.qmd.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/index.qmd.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/readers/cff_reader.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/readers/crossref_reader.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/readers/crossref_xml_reader.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/readers/datacite_reader.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/readers/schema_org_reader.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/writers/bibtex_writer.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/writers/citation_writer.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/writers/commonmeta_writer.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/writers/csl_writer.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/idx/writers/ris_writer.ipynb.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/07ee3f98 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/0a8010f6 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/1ada7a4d +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/1e7679b5 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/1faeef3c +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/215c909e +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/37babf0c +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/47758bac +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/4f20cda4 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/5f0cb144 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/63a25eca +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/681e249a +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/69d5a287 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/74bdd512 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/8157fa69 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/84aea158 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/865bbcbf +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/881794db +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/8c405949 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/8dff600d +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/8ffa3f9e +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/93136bcf +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/INDEX +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/a0d81684 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/aec1232c +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/c8bfb0af +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/e04dc8d0 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/f812800f +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/.quarto/xref/fd09fdd3 +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_freeze/cli/execute-results/html.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_freeze/index/execute-results/html.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_freeze/site_libs/clipboard/clipboard.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_publish.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_quarto.yml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/cli.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/favicon.ico +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/images/icon.png +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/index.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/readers/cff_reader.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/readers/crossref_reader.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/readers/crossref_xml_reader.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/readers/datacite_reader.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/readers/schema_org_reader.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/search.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/bootstrap/bootstrap-dark.min.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/bootstrap/bootstrap-icons.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/bootstrap/bootstrap-icons.woff +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/bootstrap/bootstrap.min.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/bootstrap/bootstrap.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/clipboard/clipboard.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/anchor.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/popper.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/quarto-syntax-highlighting-dark.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/quarto-syntax-highlighting.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/quarto.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/tippy.css +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-html/tippy.umd.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-nav/headroom.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-nav/quarto-nav.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-search/autocomplete.umd.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-search/fuse.min.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/site_libs/quarto-search/quarto-search.js +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/writers/bibtex_writer.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/writers/citation_writer.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/writers/commonmeta_writer.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/writers/csl_writer.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/_site/writers/ris_writer.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/cli.qmd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/favicon.ico +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/images/icon.png +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/index.qmd +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/readers/cff_reader.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/readers/crossref_reader.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/readers/crossref_xml_reader.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/readers/datacite_reader.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/readers/schema_org_reader.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/theme.scss +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/writers/bibtex_writer.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/writers/citation_writer.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/writers/commonmeta_writer.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/writers/csl_writer.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/docs/writers/ris_writer.ipynb +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/mypy.ini +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/objects.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/pytest.ini +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/setup.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/sonar-project.properties +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/src/commonmeta_py/__init__.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/__init__.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_article_dlib_magazine.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_article_with_pages.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_blog_post.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_book_chapter.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_conference_proceedings.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_doi_for_blog_post.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_doi_with_data_citation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inproceedings.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inveniordm_dataset.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inveniordm_preprint.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inveniordm_presentation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inveniordm_publication.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_inveniordm_report.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_phd_thesis.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-bibtex_writer/test_post_without_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cff_reader/test_ruby_cff.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-citation_writer/test_journal_article.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-citation_writer/test_post_without_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_citation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_commonmeta_from_json_feed_no_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_crossref_xml.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_crossref_xml_from_json_feed.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_crossref_xml_from_json_feed_no_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_datacite.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_convert_datacite_from_json_feed.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_encode_by_id.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-cli/test_json_feed_blog_slug.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-commonmeta_writer/test_journal_article.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_reader/test_blog_post.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_reader/test_doi_with_data_citation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_reader/test_get_crossref_list.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_reader/test_get_random_crossref_id.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_reader/test_multipe_titles.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_reader/test_doi_with_data_citation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_ghost_with_affiliations.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_upstream_blog.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_anonymous_author.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_archived_content.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_organizational_author.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_references.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_relations.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_with_relations_and_funding.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_json_feed_item_without_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_software.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_another_schema_org_front_matter.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_embedded_schema_org_front_matter.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_journal_article_from_datacite.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_schema_org_from_another_science_blog.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_schema_org_front_matter.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_schema_org_upstream_blog.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_xml_journal_article_plos.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-crossref_xml_writer/test_write_crossref_xml_posted_content.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-csl_writer/test_doi_with_data_citation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-csl_writer/test_post_without_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_dataset.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_date.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_get_datacite.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_multiple_identifiers.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_read_datacite.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_reader/test_subject_scheme_for.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-datacite_writer/test_write_metadata_as_datacite_json.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-inveniordm_reader/test_dataset.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-inveniordm_reader/test_presentation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-inveniordm_reader/test_publication.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-inveniordm_reader/test_rogue_scholar.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_ghost_with_affiliations.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_ghost_with_institutional_author.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_ghost_with_personal_name_parsing.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_medium_post_with_institutional_author.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_medium_post_with_multiple_authors.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_post_with_funding.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_post_with_funding_ror.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_post_with_more_funding.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_post_with_relationships.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_post_with_relationships_as_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-json_feed_reader/test_wordpress_with_references.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-metadata/test_crossref_doi.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-metadata/test_crossref_doi_as_url.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-metadata/test_list_of_pids.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-ris_writer/test_journal_article.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_arxiv.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_blog_posting.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_dataverse.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_journal_page.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_orcid_blog.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_pangaea.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_pdf_file.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_reader/test_zenodo.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_inveniordm_dataset.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_inveniordm_preprint.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_inveniordm_presentation.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_inveniordm_publication.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_inveniordm_report.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_journal_article.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/cassettes/test-schema_org_writer/test_json_feed_item_upstream_blog.yaml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/10.25982_86723.65_1778009_kbcms.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/CITATION.cff +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/JDP_5fa4fb4647675a20c852c60b_kbcms.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/aida.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/arxiv.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/cgimp_package.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/cit_package.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/citeproc-no-author.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/citeproc-no-categories.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/citeproc.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/citeproc_missing_doi.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/codemeta.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/codemeta_v2.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/commonmeta-list.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/commonmeta.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crosscite.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref-list.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref-list_missing_doi.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref.bib +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref.ris +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/crossref.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/csl-list.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-dataset_v4.5.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-empty-sizes.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-affiliation.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-ancientdates-v4.3.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-complicated-tba.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-complicated-v3.0.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-complicated-v4.0.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-complicated-v4.1.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-dissertation-v4.4.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-escaped-text.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-full-v4.4.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-geolocation-2.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-geolocation.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-polygon-v4.1.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-relateditems.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-example-xs-string.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-formats-with-xs.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-funderIdentifier.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-geolocation-empty.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-geolocationpolygons-multiple.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-instrument.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-multiple-language.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-multiple-rights.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-schema-2.2.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-seriesinformation.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-space-in-sizes.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite-xml-lang.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_dataset.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_malformed_creator.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_missing_creator.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_schema_3.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_software.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_software_missing_comma.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_software_overlapping_keys.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/datacite_software_version.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/edam_package.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/funding_reference.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/gtex.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/inveniordm-software.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/journal_article.commonmeta.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/json_feed.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/json_feed_item.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/json_feed_item_no_id.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/json_feed_item_no_prefix.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/json_feed_no_doi.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/nist.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/ns0.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/pan.html +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/pure.bib +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/pure.ris +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/pure.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/ris_bug.ris +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_4.0.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_front-matter.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_geolocation.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_geoshape.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_gtex.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_list.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_topmed.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/schema_org_type_as_array.json +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/fixtures/vivli.xml +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-api_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-author_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-base_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-bibtex_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-bibtex_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-cff_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-citation_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-cli.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-codemeta_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-commonmeta_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-commonmeta_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-crossref_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-crossref_xml_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-crossref_xml_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-csl_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-csl_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-datacite_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-datacite_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-datacite_xml_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-date_utils.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-json_feed_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-kbase_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-metadata.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-ris_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-ris_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-schema_org_reader.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-schema_org_writer.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-translators.py +0 -0
- {commonmeta_py-0.20 → commonmeta_py-0.21}/tests/test-utils.py +0 -0
@@ -63,7 +63,7 @@ def get_one_author(author, **kwargs):
|
|
63
63
|
) or parse_attributes(
|
64
64
|
author.get("contributorName", None), content="type", first=True
|
65
65
|
)
|
66
|
-
|
66
|
+
print(author)
|
67
67
|
# also handle Crossref, JSON Feed, or DataCite metadata
|
68
68
|
_id = (
|
69
69
|
author.get("id", None)
|
@@ -72,7 +72,7 @@ def get_one_author(author, **kwargs):
|
|
72
72
|
or next(
|
73
73
|
(
|
74
74
|
format_name_identifier(i)
|
75
|
-
for i in wrap(author.get("nameIdentifiers", None))
|
75
|
+
for i in wrap(author.get("nameIdentifiers", None or author.get("identifiers", None)))
|
76
76
|
),
|
77
77
|
None,
|
78
78
|
)
|
@@ -266,6 +266,17 @@ INVENIORDM_TO_CM_TRANSLATIONS = {
|
|
266
266
|
"other": "Other",
|
267
267
|
}
|
268
268
|
|
269
|
+
CM_TO_INVENIORDM_TRANSLATIONS = {
|
270
|
+
"Article": "publication-preprint",
|
271
|
+
"Book": "book",
|
272
|
+
"Dataset": "dataset",
|
273
|
+
"Image": "image-other",
|
274
|
+
"JournalArticle": "publication-article",
|
275
|
+
"Presentation": "presentation",
|
276
|
+
"Software": "software",
|
277
|
+
"Other": "other",
|
278
|
+
}
|
279
|
+
|
269
280
|
CM_TO_DC_TRANSLATIONS = {
|
270
281
|
"Article": "Preprint",
|
271
282
|
"Audiovisual": "Audiovisual",
|
@@ -34,6 +34,19 @@ def validate_prefix(doi: Optional[str]) -> Optional[str]:
|
|
34
34
|
return match.group(6)
|
35
35
|
|
36
36
|
|
37
|
+
def validate_suffix(doi: Optional[str]) -> Optional[str]:
|
38
|
+
"""Validate a DOI suffix for a given DOI"""
|
39
|
+
if doi is None:
|
40
|
+
return None
|
41
|
+
match = re.search(
|
42
|
+
r"\A(?:(http|https):/(/)?(dx\.)?(doi\.org|handle\.stage\.datacite\.org|handle\.test\.datacite\.org)/)?(doi:)?(10\.\d{4,5})/(.+)\Z", # noqa: E501
|
43
|
+
doi,
|
44
|
+
)
|
45
|
+
if match is None:
|
46
|
+
return None
|
47
|
+
return match.group(7)
|
48
|
+
|
49
|
+
|
37
50
|
def doi_from_url(url: Optional[str]) -> Optional[str]:
|
38
51
|
"""Return a DOI from a URL"""
|
39
52
|
if url is None:
|
@@ -45,6 +45,7 @@ from .writers.csl_writer import write_csl, write_csl_list
|
|
45
45
|
from .writers.ris_writer import write_ris, write_ris_list
|
46
46
|
from .writers.schema_org_writer import write_schema_org
|
47
47
|
from .writers.commonmeta_writer import write_commonmeta, write_commonmeta_list
|
48
|
+
from .writers.inveniordm_writer import write_inveniordm
|
48
49
|
from .utils import normalize_id, find_from_format
|
49
50
|
from .base_utils import parse_xml, wrap
|
50
51
|
from .doi_utils import doi_from_url
|
@@ -216,6 +217,8 @@ class Metadata:
|
|
216
217
|
return write_ris(self)
|
217
218
|
elif to == "schema_org":
|
218
219
|
return write_schema_org(self)
|
220
|
+
elif to == "inveniordm":
|
221
|
+
return write_inveniordm(self)
|
219
222
|
elif to == "datacite":
|
220
223
|
instance = json.loads(write_datacite(self))
|
221
224
|
self.write_errors = json_schema_errors(instance, schema="datacite")
|
@@ -264,16 +264,20 @@ def format_name_identifier(ni):
|
|
264
264
|
return None
|
265
265
|
elif isinstance(ni, str):
|
266
266
|
return normalize_orcid(ni) or normalize_ror(ni) or normalize_isni(ni)
|
267
|
-
name_identifier =
|
268
|
-
"
|
267
|
+
name_identifier = (
|
268
|
+
ni.get("nameIdentifier", None)
|
269
|
+
or ni.get("identifier", None)
|
270
|
+
or ni.get("publisherIdentifier", None)
|
269
271
|
)
|
270
|
-
name_identifier_scheme =
|
271
|
-
"
|
272
|
+
name_identifier_scheme = (
|
273
|
+
ni.get("nameIdentifierScheme", None)
|
274
|
+
or ni.get("scheme", None)
|
275
|
+
or ni.get("publisherIdentifierScheme", None)
|
272
276
|
)
|
273
277
|
scheme_uri = ni.get("schemeURI", None) or ni.get("schemeUri", None)
|
274
278
|
if name_identifier is None:
|
275
279
|
return None
|
276
|
-
elif name_identifier_scheme
|
280
|
+
elif name_identifier_scheme in ["ORCID", "orcid"]:
|
277
281
|
return normalize_orcid(name_identifier)
|
278
282
|
elif name_identifier_scheme == "ISNI":
|
279
283
|
return normalize_isni(name_identifier)
|
@@ -388,6 +392,22 @@ def from_inveniordm(elements: list) -> list:
|
|
388
392
|
return [format_element(i) for i in elements]
|
389
393
|
|
390
394
|
|
395
|
+
def to_inveniordm(elements: list) -> list:
|
396
|
+
"""Convert elements to InvenioRDM"""
|
397
|
+
|
398
|
+
def format_element(i):
|
399
|
+
"""format element"""
|
400
|
+
element = {}
|
401
|
+
element["familyName"] = i.get("familyName", None)
|
402
|
+
element["givenName"] = i.get("givenName", None)
|
403
|
+
element["name"] = i.get("name", None)
|
404
|
+
element["type"] = i.get("type", None)
|
405
|
+
element["ORCID"] = i.get("ORCID", None)
|
406
|
+
return compact(element)
|
407
|
+
|
408
|
+
return [format_element(i) for i in elements]
|
409
|
+
|
410
|
+
|
391
411
|
def from_crossref_xml(elements: list) -> list:
|
392
412
|
"""Convert from crossref_xml elements"""
|
393
413
|
|
@@ -1043,9 +1063,9 @@ def issn_as_url(issn: str) -> Optional[str]:
|
|
1043
1063
|
return f"https://portal.issn.org/resource/ISSN/{issn}"
|
1044
1064
|
|
1045
1065
|
|
1046
|
-
def get_language(lang: str, format: str="alpha_2") -> Optional[str]:
|
1066
|
+
def get_language(lang: str, format: str = "alpha_2") -> Optional[str]:
|
1047
1067
|
"""Provide a language string based on ISO 639, with either a name in English,
|
1048
|
-
ISO 639-1, or ISO 639-3 code as input. Optionally format as alpha_2 (defaul),
|
1068
|
+
ISO 639-1, or ISO 639-3 code as input. Optionally format as alpha_2 (defaul),
|
1049
1069
|
alpha_3, or name.
|
1050
1070
|
"""
|
1051
1071
|
if not lang:
|
@@ -1056,7 +1076,7 @@ def get_language(lang: str, format: str="alpha_2") -> Optional[str]:
|
|
1056
1076
|
language = pycountry.languages.get(alpha_3=lang)
|
1057
1077
|
else:
|
1058
1078
|
language = pycountry.languages.get(name=lang)
|
1059
|
-
|
1079
|
+
|
1060
1080
|
if language is None:
|
1061
1081
|
return None
|
1062
1082
|
elif format == "name":
|
@@ -0,0 +1,94 @@
|
|
1
|
+
"""InvenioRDM writer for commonmeta-py"""
|
2
|
+
|
3
|
+
import orjson as json
|
4
|
+
|
5
|
+
from ..utils import to_inveniordm
|
6
|
+
from ..base_utils import compact, wrap, presence, parse_attributes
|
7
|
+
from ..doi_utils import doi_from_url, validate_suffix
|
8
|
+
from ..constants import CM_TO_INVENIORDM_TRANSLATIONS
|
9
|
+
from ..utils import pages_as_string, get_language, validate_orcid
|
10
|
+
|
11
|
+
|
12
|
+
def write_inveniordm(metadata):
|
13
|
+
"""Write inveniordm"""
|
14
|
+
if metadata is None or metadata.write_errors is not None:
|
15
|
+
return None
|
16
|
+
_type = CM_TO_INVENIORDM_TRANSLATIONS.get(metadata.type, "Other")
|
17
|
+
creators = [
|
18
|
+
to_inveniordm_creator(i)
|
19
|
+
for i in wrap(metadata.contributors)
|
20
|
+
if i.get("contributorRoles", None) == ["Author"]
|
21
|
+
]
|
22
|
+
identifiers = [
|
23
|
+
{
|
24
|
+
"identifier": i.get("identifier", None),
|
25
|
+
"scheme": i.get("identifierType", None),
|
26
|
+
}
|
27
|
+
for i in wrap(metadata.identifiers)
|
28
|
+
if i.get("id", None) != metadata.id
|
29
|
+
]
|
30
|
+
publisher = metadata.publisher or {}
|
31
|
+
data = compact(
|
32
|
+
{
|
33
|
+
"metadata": {
|
34
|
+
"resource_type": {"id": _type},
|
35
|
+
"doi": doi_from_url(metadata.id),
|
36
|
+
"creators": creators,
|
37
|
+
"title": parse_attributes(metadata.titles, content="title", first=True),
|
38
|
+
"publisher": publisher.get("name", None),
|
39
|
+
"publication_date": metadata.date.get("published")
|
40
|
+
if metadata.date.get("published", None)
|
41
|
+
else None,
|
42
|
+
"subjects": parse_attributes(
|
43
|
+
wrap(metadata.subjects), content="subject", first=False
|
44
|
+
),
|
45
|
+
"contributors": to_inveniordm(wrap(metadata.contributors)),
|
46
|
+
"description": parse_attributes(
|
47
|
+
metadata.descriptions, content="description", first=True
|
48
|
+
),
|
49
|
+
"license": metadata.license.get("id", None)
|
50
|
+
if metadata.license
|
51
|
+
else None,
|
52
|
+
"languages": [{"id": get_language(metadata.language, format="alpha_3")}]
|
53
|
+
if metadata.language
|
54
|
+
else None,
|
55
|
+
"identifiers": identifiers,
|
56
|
+
"version": metadata.version,
|
57
|
+
},
|
58
|
+
}
|
59
|
+
)
|
60
|
+
return json.dumps(data)
|
61
|
+
|
62
|
+
|
63
|
+
def to_inveniordm_creator(creator: dict) -> dict:
|
64
|
+
"""Convert creators to inveniordm creators"""
|
65
|
+
|
66
|
+
def format_identifier(id):
|
67
|
+
identifier = validate_orcid(id)
|
68
|
+
if identifier:
|
69
|
+
return [
|
70
|
+
{
|
71
|
+
"identifier": identifier,
|
72
|
+
"scheme": "orcid",
|
73
|
+
}
|
74
|
+
]
|
75
|
+
return None
|
76
|
+
|
77
|
+
_type = creator.get("type", None)
|
78
|
+
if creator.get("familyName", None):
|
79
|
+
name = ", ".join([creator.get("familyName", ""), creator.get("givenName", "")])
|
80
|
+
elif creator.get("name", None):
|
81
|
+
name = creator.get("name", None)
|
82
|
+
|
83
|
+
return {
|
84
|
+
"person_or_org": compact(
|
85
|
+
{
|
86
|
+
"name": name,
|
87
|
+
"given_name": creator.get("givenName", None),
|
88
|
+
"family_name": creator.get("familyName", None),
|
89
|
+
"type": _type.lower() + "al" if _type else None,
|
90
|
+
"identifiers": format_identifier(creator.get("id", None)),
|
91
|
+
"affiliation": creator.get("affiliations", None),
|
92
|
+
}
|
93
|
+
)
|
94
|
+
}
|
@@ -0,0 +1,189 @@
|
|
1
|
+
interactions:
|
2
|
+
- request:
|
3
|
+
body: ''
|
4
|
+
headers:
|
5
|
+
accept:
|
6
|
+
- '*/*'
|
7
|
+
accept-encoding:
|
8
|
+
- gzip, deflate
|
9
|
+
connection:
|
10
|
+
- keep-alive
|
11
|
+
host:
|
12
|
+
- api.rogue-scholar.org
|
13
|
+
user-agent:
|
14
|
+
- python-httpx/0.27.2
|
15
|
+
method: GET
|
16
|
+
uri: https://api.rogue-scholar.org/posts/9e24e4be-1915-48cc-a6b0-c23da5bc2857
|
17
|
+
response:
|
18
|
+
body:
|
19
|
+
string: !!binary |
|
20
|
+
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
|
163
|
+
headers:
|
164
|
+
content-encoding:
|
165
|
+
- gzip
|
166
|
+
content-type:
|
167
|
+
- application/json
|
168
|
+
date:
|
169
|
+
- Sun, 29 Sep 2024 12:09:52 GMT
|
170
|
+
fly-request-id:
|
171
|
+
- 01J8YTZTQG2Z0HE3V153FB4V24-cdg
|
172
|
+
ratelimit-limit:
|
173
|
+
- '15'
|
174
|
+
ratelimit-remaining:
|
175
|
+
- '14'
|
176
|
+
ratelimit-reset:
|
177
|
+
- '3'
|
178
|
+
server:
|
179
|
+
- Fly/a06ddcf9d (2024-09-27)
|
180
|
+
transfer-encoding:
|
181
|
+
- chunked
|
182
|
+
vary:
|
183
|
+
- Origin
|
184
|
+
via:
|
185
|
+
- 1.1 fly.io
|
186
|
+
status:
|
187
|
+
code: 200
|
188
|
+
message: ''
|
189
|
+
version: 1
|
@@ -0,0 +1,181 @@
|
|
1
|
+
interactions:
|
2
|
+
- request:
|
3
|
+
body: ''
|
4
|
+
headers:
|
5
|
+
accept:
|
6
|
+
- '*/*'
|
7
|
+
accept-encoding:
|
8
|
+
- gzip, deflate
|
9
|
+
connection:
|
10
|
+
- keep-alive
|
11
|
+
host:
|
12
|
+
- doi.org
|
13
|
+
user-agent:
|
14
|
+
- python-httpx/0.27.2
|
15
|
+
method: GET
|
16
|
+
uri: https://doi.org/ra/10.7554
|
17
|
+
response:
|
18
|
+
body:
|
19
|
+
string: !!binary |
|
20
|
+
H4sIAAAAAAAAA4vmUlCoBmIFBSUXf08lKwUlQwM9c1NTEyUdiGiQI0jQuSi/uLgoNU0JKFjLFQsA
|
21
|
+
4VlVnTYAAAA=
|
22
|
+
headers:
|
23
|
+
CF-Cache-Status:
|
24
|
+
- DYNAMIC
|
25
|
+
CF-RAY:
|
26
|
+
- 8cad04074e2dc7f4-DUS
|
27
|
+
Connection:
|
28
|
+
- keep-alive
|
29
|
+
Content-Encoding:
|
30
|
+
- gzip
|
31
|
+
Content-Type:
|
32
|
+
- application/json;charset=UTF-8
|
33
|
+
Date:
|
34
|
+
- Sun, 29 Sep 2024 15:30:39 GMT
|
35
|
+
NEL:
|
36
|
+
- '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
|
37
|
+
Report-To:
|
38
|
+
- '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=nzeor7BACYs8k9tQrbMnaPByRWn%2Bq6%2BxSQzZ7%2FAG1oj3GIu8eCud2%2BBarAW7jgi0iy1Yk28IzmpVRi0puKz51KioQvGmEvi2rMZjNb%2FuXiptf7mA2EY6eoW9VkULA8qBISaiq40%3D"}],"group":"cf-nel","max_age":604800}'
|
39
|
+
Server:
|
40
|
+
- cloudflare
|
41
|
+
Strict-Transport-Security:
|
42
|
+
- max-age=31536000; includeSubDomains; preload
|
43
|
+
Transfer-Encoding:
|
44
|
+
- chunked
|
45
|
+
permissions-policy:
|
46
|
+
- interest-cohort=(),browsing-topics=()
|
47
|
+
vary:
|
48
|
+
- Origin
|
49
|
+
status:
|
50
|
+
code: 200
|
51
|
+
message: OK
|
52
|
+
- request:
|
53
|
+
body: ''
|
54
|
+
headers:
|
55
|
+
accept:
|
56
|
+
- '*/*'
|
57
|
+
accept-encoding:
|
58
|
+
- gzip, deflate
|
59
|
+
connection:
|
60
|
+
- keep-alive
|
61
|
+
host:
|
62
|
+
- api.crossref.org
|
63
|
+
user-agent:
|
64
|
+
- python-httpx/0.27.2
|
65
|
+
method: GET
|
66
|
+
uri: https://api.crossref.org/works/10.7554/elife.01567
|
67
|
+
response:
|
68
|
+
body:
|
69
|
+
string: !!binary |
|
70
|
+
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
|
143
|
+
tAY3kB8N2V77HsJ8+vr1fwAh+tClVTcAAA==
|
144
|
+
headers:
|
145
|
+
access-control-allow-headers:
|
146
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
147
|
+
Accept-Ranges, Cache-Control
|
148
|
+
access-control-allow-origin:
|
149
|
+
- '*'
|
150
|
+
access-control-expose-headers:
|
151
|
+
- Link
|
152
|
+
connection:
|
153
|
+
- close
|
154
|
+
content-encoding:
|
155
|
+
- gzip
|
156
|
+
content-length:
|
157
|
+
- '4186'
|
158
|
+
content-type:
|
159
|
+
- application/json
|
160
|
+
date:
|
161
|
+
- Sun, 29 Sep 2024 15:30:40 GMT
|
162
|
+
permissions-policy:
|
163
|
+
- interest-cohort=()
|
164
|
+
server:
|
165
|
+
- Jetty(9.4.40.v20210413)
|
166
|
+
vary:
|
167
|
+
- Accept-Encoding
|
168
|
+
x-api-pool:
|
169
|
+
- public
|
170
|
+
x-rate-limit-interval:
|
171
|
+
- 1s
|
172
|
+
x-rate-limit-limit:
|
173
|
+
- '50'
|
174
|
+
x-ratelimit-interval:
|
175
|
+
- 1s
|
176
|
+
x-ratelimit-limit:
|
177
|
+
- '50'
|
178
|
+
status:
|
179
|
+
code: 200
|
180
|
+
message: OK
|
181
|
+
version: 1
|