invenio-vocabularies 6.6.0__tar.gz → 6.8.0__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.

Potentially problematic release.


This version of invenio-vocabularies might be problematic. Click here for more details.

Files changed (433) hide show
  1. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.github/workflows/tests.yml +1 -1
  2. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/CHANGES.rst +21 -0
  3. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/PKG-INFO +24 -1
  4. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/__init__.py +1 -1
  5. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingModal.js +3 -27
  6. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/cli.py +2 -0
  7. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/config.py +43 -1
  8. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/config.py +21 -10
  9. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/datastreams.py +103 -1
  10. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/datastreams.py +7 -0
  11. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/jsonschemas/awards/award-v1.0.0.json +9 -0
  12. {invenio-vocabularies-6.6.0/invenio_vocabularies/contrib/awards/mappings/v7 → invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/awards/mappings/os-v1}/awards/award-v1.0.0.json +22 -1
  13. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/mappings/os-v2/awards/award-v1.0.0.json +22 -1
  14. {invenio-vocabularies-6.6.0/invenio_vocabularies/contrib/awards/mappings/os-v1 → invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/awards/mappings/v7}/awards/award-v1.0.0.json +22 -1
  15. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/schema.py +9 -3
  16. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/config.py +19 -12
  17. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/config.py +13 -10
  18. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/datastreams.py +182 -57
  19. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v1/names/name-v2.0.0.json +11 -0
  20. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v2/names/name-v2.0.0.json +11 -0
  21. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/names.py +1 -1
  22. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/schema.py +10 -2
  23. invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/subjects/bodc/__init__.py +9 -0
  24. invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/subjects/bodc/datastreams.py +111 -0
  25. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/config.py +19 -5
  26. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/datastreams.py +4 -2
  27. invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/subjects/euroscivoc/datastreams.py +101 -0
  28. invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/subjects/gemet/__init__.py +9 -0
  29. invenio-vocabularies-6.8.0/invenio_vocabularies/contrib/subjects/gemet/datastreams.py +140 -0
  30. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/jsonschemas/subjects/subject-v1.0.0.json +13 -2
  31. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/schema.py +18 -3
  32. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/datastreams.py +18 -7
  33. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/factories.py +3 -1
  34. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/readers.py +99 -9
  35. invenio-vocabularies-6.8.0/invenio_vocabularies/datastreams/transformers.py +130 -0
  36. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/writers.py +6 -2
  37. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/factories.py +56 -0
  38. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/fixtures.py +2 -0
  39. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/jsonschemas/vocabularies/definitions-v1.0.0.json +9 -0
  40. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/config.py +1 -7
  41. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/querystr.py +5 -0
  42. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/tasks.py +2 -0
  43. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/PKG-INFO +24 -1
  44. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/SOURCES.txt +6 -0
  45. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/requires.txt +8 -1
  46. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/setup.cfg +6 -1
  47. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_datastreams.py +118 -0
  48. invenio-vocabularies-6.8.0/tests/contrib/names/test_names_datastreams.py +444 -0
  49. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_names_resource.py +1 -4
  50. invenio-vocabularies-6.8.0/tests/contrib/subjects/bodc/test_subjects_bodc_datastream.py +122 -0
  51. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/euroscivoc/test_subjects_euroscivoc_datastream.py +12 -7
  52. invenio-vocabularies-6.8.0/tests/contrib/subjects/gemet/test_subjects_gemet_datastream.py +92 -0
  53. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_resource.py +21 -15
  54. invenio-vocabularies-6.8.0/tests/datastreams/test_transformers.py +98 -0
  55. invenio-vocabularies-6.6.0/invenio_vocabularies/contrib/subjects/euroscivoc/datastreams.py +0 -171
  56. invenio-vocabularies-6.6.0/invenio_vocabularies/datastreams/transformers.py +0 -63
  57. invenio-vocabularies-6.6.0/tests/contrib/names/test_names_datastreams.py +0 -241
  58. invenio-vocabularies-6.6.0/tests/datastreams/test_transformers.py +0 -63
  59. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.dockerignore +0 -0
  60. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.editorconfig +0 -0
  61. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.git-blame-ignore-revs +0 -0
  62. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.github/workflows/i18n-pull.yml +0 -0
  63. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.github/workflows/i18n-push.yml +0 -0
  64. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.github/workflows/pypi-publish.yml +0 -0
  65. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/.tx/config +0 -0
  66. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/AUTHORS.rst +0 -0
  67. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/CONTRIBUTING.rst +0 -0
  68. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/INSTALL.rst +0 -0
  69. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/LICENSE +0 -0
  70. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/MANIFEST.in +0 -0
  71. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/README.rst +0 -0
  72. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/babel.ini +0 -0
  73. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/Makefile +0 -0
  74. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/api.rst +0 -0
  75. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/authors.rst +0 -0
  76. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/changes.rst +0 -0
  77. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/conf.py +0 -0
  78. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/configuration.rst +0 -0
  79. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/contributing.rst +0 -0
  80. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/index.rst +0 -0
  81. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/installation.rst +0 -0
  82. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/license.rst +0 -0
  83. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/make.bat +0 -0
  84. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/requirements.txt +0 -0
  85. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/docs/usage.rst +0 -0
  86. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/gen-migration.sh +0 -0
  87. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/administration/__init__.py +0 -0
  88. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/administration/views/__init__.py +0 -0
  89. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/administration/views/vocabularies.py +0 -0
  90. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/17c703ce1eb7_create_names_table.py +0 -0
  91. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/4a9a4fd235f8_create_vocabulary_schemes.py +0 -0
  92. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/4f365fced43f_create_vocabularies_tables.py +0 -0
  93. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/55a700f897b6_add_names_and_afiliations_pid_column.py +0 -0
  94. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/6312f33645c1_create_affiliations_table.py +0 -0
  95. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/676dd587542d_create_funders_vocabulary_table.py +0 -0
  96. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/8ff82dfb0be8_create_vocabularies_branch.py +0 -0
  97. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/__init__.py +0 -0
  98. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/alembic/e1146238edd3_create_awards_table.py +0 -0
  99. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.eslintrc.yml +0 -0
  100. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/.prettierrc +0 -0
  101. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/index.js +0 -0
  102. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/package.json +0 -0
  103. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/AwardResults.js +0 -0
  104. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/CustomAwardForm.js +0 -0
  105. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FunderDropdown.js +0 -0
  106. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.js +0 -0
  107. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingField.test.js +0 -0
  108. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/FundingFieldItem.js +0 -0
  109. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/NoAwardResults.js +0 -0
  110. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/Funding/index.js +0 -0
  111. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/forms/index.js +0 -0
  112. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/contrib/index.js +0 -0
  113. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/js/invenio_vocabularies/src/index.js +0 -0
  114. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next-scanner.config.js +0 -0
  115. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next.js +0 -0
  116. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/index.js +0 -0
  117. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/package.json +0 -0
  118. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/compileCatalog.js +0 -0
  119. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/initCatalog.js +0 -0
  120. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/__init__.py +0 -0
  121. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/__init__.py +0 -0
  122. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/affiliations.py +0 -0
  123. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/api.py +0 -0
  124. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/facets.py +0 -0
  125. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/__init__.py +0 -0
  126. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/jsonschemas/affiliations/affiliation-v1.0.0.json +0 -0
  127. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/__init__.py +0 -0
  128. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/__init__.py +0 -0
  129. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v1.0.0.json +0 -0
  130. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v1/affiliations/affiliation-v2.0.0.json +0 -0
  131. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/__init__.py +0 -0
  132. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v1.0.0.json +0 -0
  133. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/os-v2/affiliations/affiliation-v2.0.0.json +0 -0
  134. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/__init__.py +0 -0
  135. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/mappings/v7/affiliations/affiliation-v1.0.0.json +0 -0
  136. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/models.py +0 -0
  137. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/resources.py +0 -0
  138. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/schema.py +0 -0
  139. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/affiliations/services.py +0 -0
  140. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/__init__.py +0 -0
  141. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/api.py +0 -0
  142. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/awards.py +0 -0
  143. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/config.py +0 -0
  144. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/jsonschemas/__init__.py +0 -0
  145. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/mappings/__init__.py +0 -0
  146. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/mappings/os-v1/__init__.py +0 -0
  147. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/mappings/os-v2/__init__.py +0 -0
  148. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/mappings/v7/__init__.py +0 -0
  149. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/models.py +0 -0
  150. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/resources.py +0 -0
  151. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/serializer.py +0 -0
  152. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/awards/services.py +0 -0
  153. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/common/__init__.py +0 -0
  154. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/common/openaire/__init__.py +0 -0
  155. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/common/openaire/datastreams.py +0 -0
  156. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/common/ror/__init__.py +0 -0
  157. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/common/ror/datastreams.py +0 -0
  158. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/__init__.py +0 -0
  159. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/api.py +0 -0
  160. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/datastreams.py +0 -0
  161. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/facets.py +0 -0
  162. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/funders.py +0 -0
  163. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/jsonschemas/__init__.py +0 -0
  164. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/jsonschemas/funders/funder-v1.0.0.json +0 -0
  165. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/__init__.py +0 -0
  166. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/__init__.py +0 -0
  167. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v1.0.0.json +0 -0
  168. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v1/funders/funder-v2.0.0.json +0 -0
  169. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/__init__.py +0 -0
  170. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v1.0.0.json +0 -0
  171. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/os-v2/funders/funder-v2.0.0.json +0 -0
  172. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/v7/__init__.py +0 -0
  173. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/mappings/v7/funders/funder-v1.0.0.json +0 -0
  174. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/models.py +0 -0
  175. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/resources.py +0 -0
  176. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/schema.py +0 -0
  177. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/serializer.py +0 -0
  178. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/funders/services.py +0 -0
  179. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/__init__.py +0 -0
  180. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/api.py +0 -0
  181. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/jsonschemas/__init__.py +0 -0
  182. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/jsonschemas/names/name-v1.0.0.json +0 -0
  183. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/__init__.py +0 -0
  184. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v1/__init__.py +0 -0
  185. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v1/names/name-v1.0.0.json +0 -0
  186. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v2/__init__.py +0 -0
  187. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/os-v2/names/name-v1.0.0.json +0 -0
  188. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/v7/__init__.py +0 -0
  189. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/mappings/v7/names/name-v1.0.0.json +0 -0
  190. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/models.py +0 -0
  191. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/permissions.py +0 -0
  192. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/resources.py +0 -0
  193. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/s3client.py +0 -0
  194. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/names/services.py +0 -0
  195. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/__init__.py +0 -0
  196. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/api.py +0 -0
  197. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/euroscivoc/__init__.py +0 -0
  198. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/facets.py +0 -0
  199. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/jsonschemas/__init__.py +0 -0
  200. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/__init__.py +0 -0
  201. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/__init__.py +0 -0
  202. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/os-v1/subjects/subject-v1.0.0.json +0 -0
  203. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/__init__.py +0 -0
  204. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/os-v2/subjects/subject-v1.0.0.json +0 -0
  205. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/v7/__init__.py +0 -0
  206. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mappings/v7/subjects/subject-v1.0.0.json +0 -0
  207. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mesh/__init__.py +0 -0
  208. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/mesh/datastreams.py +0 -0
  209. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/models.py +0 -0
  210. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/resources.py +0 -0
  211. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/services.py +0 -0
  212. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/contrib/subjects/subjects.py +0 -0
  213. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/__init__.py +0 -0
  214. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/errors.py +0 -0
  215. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/tasks.py +0 -0
  216. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/datastreams/xml.py +0 -0
  217. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/ext.py +0 -0
  218. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/jobs.py +0 -0
  219. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/proxies.py +0 -0
  220. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/__init__.py +0 -0
  221. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/api.py +0 -0
  222. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/jsonschemas/__init__.py +0 -0
  223. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/jsonschemas/vocabularies/vocabulary-v1.0.0.json +0 -0
  224. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/__init__.py +0 -0
  225. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/os-v1/__init__.py +0 -0
  226. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/os-v1/vocabularies/vocabulary-v1.0.0.json +0 -0
  227. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/os-v2/__init__.py +0 -0
  228. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/os-v2/vocabularies/vocabulary-v1.0.0.json +0 -0
  229. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/v7/__init__.py +0 -0
  230. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/mappings/v7/vocabularies/vocabulary-v1.0.0.json +0 -0
  231. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/models.py +0 -0
  232. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/pidprovider.py +0 -0
  233. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/systemfields/__init__.py +0 -0
  234. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/systemfields/pid.py +0 -0
  235. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/records/systemfields/relations.py +0 -0
  236. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/resources/__init__.py +0 -0
  237. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/resources/config.py +0 -0
  238. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/resources/resource.py +0 -0
  239. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/resources/schema.py +0 -0
  240. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/resources/serializer.py +0 -0
  241. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/__init__.py +0 -0
  242. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/components.py +0 -0
  243. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/custom_fields/__init__.py +0 -0
  244. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/custom_fields/subject.py +0 -0
  245. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/custom_fields/vocabulary.py +0 -0
  246. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/facets.py +0 -0
  247. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/generators.py +0 -0
  248. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/permissions.py +0 -0
  249. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/results.py +0 -0
  250. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/schema.py +0 -0
  251. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/services/service.py +0 -0
  252. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/subjects.html +0 -0
  253. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/vocabularies-list.html +0 -0
  254. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/templates/semantic-ui/invenio_vocabularies/vocabulary-details.html +0 -0
  255. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.mo +0 -0
  256. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/af/LC_MESSAGES/messages.po +0 -0
  257. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.mo +0 -0
  258. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ar/LC_MESSAGES/messages.po +0 -0
  259. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.mo +0 -0
  260. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/bg/LC_MESSAGES/messages.po +0 -0
  261. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.mo +0 -0
  262. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ca/LC_MESSAGES/messages.po +0 -0
  263. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.mo +0 -0
  264. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/cs/LC_MESSAGES/messages.po +0 -0
  265. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.mo +0 -0
  266. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/da/LC_MESSAGES/messages.po +0 -0
  267. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.mo +0 -0
  268. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de/LC_MESSAGES/messages.po +0 -0
  269. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.mo +0 -0
  270. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de_AT/LC_MESSAGES/messages.po +0 -0
  271. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.mo +0 -0
  272. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/de_DE/LC_MESSAGES/messages.po +0 -0
  273. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.mo +0 -0
  274. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/el/LC_MESSAGES/messages.po +0 -0
  275. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.mo +0 -0
  276. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en/LC_MESSAGES/messages.po +0 -0
  277. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.mo +0 -0
  278. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en_AT/LC_MESSAGES/messages.po +0 -0
  279. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.mo +0 -0
  280. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/en_HU/LC_MESSAGES/messages.po +0 -0
  281. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.mo +0 -0
  282. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es/LC_MESSAGES/messages.po +0 -0
  283. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.mo +0 -0
  284. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es_CU/LC_MESSAGES/messages.po +0 -0
  285. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.mo +0 -0
  286. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/es_MX/LC_MESSAGES/messages.po +0 -0
  287. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.mo +0 -0
  288. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/et/LC_MESSAGES/messages.po +0 -0
  289. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.mo +0 -0
  290. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/et_EE/LC_MESSAGES/messages.po +0 -0
  291. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.mo +0 -0
  292. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fa/LC_MESSAGES/messages.po +0 -0
  293. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.mo +0 -0
  294. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fa_IR/LC_MESSAGES/messages.po +0 -0
  295. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.mo +0 -0
  296. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr/LC_MESSAGES/messages.po +0 -0
  297. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.mo +0 -0
  298. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr_CI/LC_MESSAGES/messages.po +0 -0
  299. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.mo +0 -0
  300. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/fr_FR/LC_MESSAGES/messages.po +0 -0
  301. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.mo +0 -0
  302. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/gl/LC_MESSAGES/messages.po +0 -0
  303. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.mo +0 -0
  304. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hi_IN/LC_MESSAGES/messages.po +0 -0
  305. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.mo +0 -0
  306. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hr/LC_MESSAGES/messages.po +0 -0
  307. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.mo +0 -0
  308. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hu/LC_MESSAGES/messages.po +0 -0
  309. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.mo +0 -0
  310. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/hu_HU/LC_MESSAGES/messages.po +0 -0
  311. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.mo +0 -0
  312. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/it/LC_MESSAGES/messages.po +0 -0
  313. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.mo +0 -0
  314. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ja/LC_MESSAGES/messages.po +0 -0
  315. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.mo +0 -0
  316. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ka/LC_MESSAGES/messages.po +0 -0
  317. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.mo +0 -0
  318. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/lt/LC_MESSAGES/messages.po +0 -0
  319. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/messages.pot +0 -0
  320. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.mo +0 -0
  321. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ne/LC_MESSAGES/messages.po +0 -0
  322. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.mo +0 -0
  323. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/no/LC_MESSAGES/messages.po +0 -0
  324. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.mo +0 -0
  325. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/pl/LC_MESSAGES/messages.po +0 -0
  326. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.mo +0 -0
  327. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/pt/LC_MESSAGES/messages.po +0 -0
  328. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.mo +0 -0
  329. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ro/LC_MESSAGES/messages.po +0 -0
  330. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.mo +0 -0
  331. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/ru/LC_MESSAGES/messages.po +0 -0
  332. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.mo +0 -0
  333. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/rw/LC_MESSAGES/messages.po +0 -0
  334. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.mo +0 -0
  335. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sk/LC_MESSAGES/messages.po +0 -0
  336. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.mo +0 -0
  337. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sv/LC_MESSAGES/messages.po +0 -0
  338. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.mo +0 -0
  339. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/sv_SE/LC_MESSAGES/messages.po +0 -0
  340. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.mo +0 -0
  341. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/tr/LC_MESSAGES/messages.po +0 -0
  342. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.mo +0 -0
  343. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/uk/LC_MESSAGES/messages.po +0 -0
  344. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.mo +0 -0
  345. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/uk_UA/LC_MESSAGES/messages.po +0 -0
  346. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
  347. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.po +0 -0
  348. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
  349. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.po +0 -0
  350. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/views.py +0 -0
  351. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies/webpack.py +0 -0
  352. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/dependency_links.txt +0 -0
  353. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/entry_points.txt +0 -0
  354. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/not-zip-safe +0 -0
  355. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/invenio_vocabularies.egg-info/top_level.txt +0 -0
  356. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/pyproject.toml +0 -0
  357. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/requirements-feature.txt +0 -0
  358. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/run-js-linter.sh +0 -0
  359. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/run-tests.sh +0 -0
  360. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/setup.py +0 -0
  361. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/conftest.py +0 -0
  362. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/conftest.py +0 -0
  363. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_api.py +0 -0
  364. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_jsonschema.py +0 -0
  365. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_resource.py +0 -0
  366. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_schema.py +0 -0
  367. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/affiliations/test_affiliations_service.py +0 -0
  368. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/conftest.py +0 -0
  369. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_api.py +0 -0
  370. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_datastreams.py +0 -0
  371. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_jsonschema.py +0 -0
  372. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_resource.py +0 -0
  373. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_schema.py +0 -0
  374. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/awards/test_awards_service.py +0 -0
  375. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/common/openaire/test_openaire_datastreams.py +0 -0
  376. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/common/ror/test_ror_datastreams.py +0 -0
  377. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/conftest.py +0 -0
  378. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_api.py +0 -0
  379. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_datastreams.py +0 -0
  380. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_jsonschema.py +0 -0
  381. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_resource.py +0 -0
  382. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_schema.py +0 -0
  383. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/funders/test_funders_service.py +0 -0
  384. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/conftest.py +0 -0
  385. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_name_permissions.py +0 -0
  386. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_names_api.py +0 -0
  387. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_names_jsonschema.py +0 -0
  388. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_names_schema.py +0 -0
  389. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/names/test_names_service.py +0 -0
  390. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/conftest.py +0 -0
  391. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_api.py +0 -0
  392. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_datastreams.py +0 -0
  393. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_facets.py +0 -0
  394. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_jsonschema.py +0 -0
  395. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_schema.py +0 -0
  396. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/contrib/subjects/test_subjects_service.py +0 -0
  397. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/custom_fields/test_custom_fields.py +0 -0
  398. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/conftest.py +0 -0
  399. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/test_datastreams.py +0 -0
  400. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/test_datastreams_tasks.py +0 -0
  401. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/test_fixtures.py +0 -0
  402. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/test_readers.py +0 -0
  403. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/test_writers.py +0 -0
  404. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/datastreams/vocabularies.yaml +0 -0
  405. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/__init__.py +0 -0
  406. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/api.py +0 -0
  407. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/jsonschemas/__init__.py +0 -0
  408. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/jsonschemas/records/record-v1.0.0.json +0 -0
  409. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/mappings/__init__.py +0 -0
  410. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/mappings/v6/__init__.py +0 -0
  411. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/mappings/v6/records/record-v1.0.0.json +0 -0
  412. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/mappings/v7/__init__.py +0 -0
  413. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/mappings/v7/records/record-v1.0.0.json +0 -0
  414. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/mock_module/models.py +0 -0
  415. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/records/conftest.py +0 -0
  416. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/records/test_api.py +0 -0
  417. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/records/test_jsonschema.py +0 -0
  418. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/records/test_models.py +0 -0
  419. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/records/test_relationship.py +0 -0
  420. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/resources/conftest.py +0 -0
  421. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/resources/test_resources_get.py +0 -0
  422. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/resources/test_resources_l10n.py +0 -0
  423. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/resources/test_resources_search.py +0 -0
  424. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/resources/test_tasks_resources.py +0 -0
  425. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/services/conftest.py +0 -0
  426. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/services/test_labels.py +0 -0
  427. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/services/test_permissions.py +0 -0
  428. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/services/test_schema.py +0 -0
  429. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/services/test_service.py +0 -0
  430. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/test_alembic.py +0 -0
  431. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/test_cli.py +0 -0
  432. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/test_factory.py +0 -0
  433. {invenio-vocabularies-6.6.0 → invenio-vocabularies-6.8.0}/tests/test_invenio_vocabularies.py +0 -0
@@ -34,7 +34,7 @@ jobs:
34
34
  Python:
35
35
  uses: inveniosoftware/workflows/.github/workflows/tests-python.yml@master
36
36
  with:
37
- extras: "tests,oaipmh"
37
+ extras: "tests,oaipmh,rdf,sparql"
38
38
 
39
39
  JS:
40
40
  uses: inveniosoftware/workflows/.github/workflows/tests-js.yml@master
@@ -8,6 +8,27 @@
8
8
  Changes
9
9
  =======
10
10
 
11
+ Version v6.8.0 (released 2024-12-09)
12
+
13
+ - names: extract affiliation identifiers from employments
14
+ - names: optimize memory usage on ORCID sync
15
+ - subjects: improve search with CompositeSuggestQueryParser
16
+ - subjects: added datastream for bodc
17
+
18
+ Version v6.7.0 (released 2024-11-27)
19
+
20
+ - contrib: improve search accuracy for names, funders, affiliations
21
+ - names: add affiliation acronym in mappings and schema
22
+ * Dereferences the affiliation `acronym` when indexing names and serving
23
+ REST API results. This is useful for disambiguating authors in search.
24
+ - affiliations: move RDF and SPARQL as extra dependencies
25
+ * Moves `rdflib` and `SPARQLWrapper` to extras.
26
+ - affiliation: refactored edmo datastreams
27
+ - subjects: added datastream for GEMET vocabulary
28
+ - awards/schema.py: read app config for alternate funding validation (#429)
29
+ - awards: fix description field and mappings
30
+ - awards: add fields start/end date and description
31
+
11
32
  Version v6.6.0 (released 2024-11-15)
12
33
 
13
34
  - mesh: add title en if not present
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: invenio-vocabularies
3
- Version: 6.6.0
3
+ Version: 6.8.0
4
4
  Summary: Invenio module for managing vocabularies.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-vocabularies
6
6
  Author: CERN
@@ -50,6 +50,27 @@ Description: ..
50
50
  Changes
51
51
  =======
52
52
 
53
+ Version v6.8.0 (released 2024-12-09)
54
+
55
+ - names: extract affiliation identifiers from employments
56
+ - names: optimize memory usage on ORCID sync
57
+ - subjects: improve search with CompositeSuggestQueryParser
58
+ - subjects: added datastream for bodc
59
+
60
+ Version v6.7.0 (released 2024-11-27)
61
+
62
+ - contrib: improve search accuracy for names, funders, affiliations
63
+ - names: add affiliation acronym in mappings and schema
64
+ * Dereferences the affiliation `acronym` when indexing names and serving
65
+ REST API results. This is useful for disambiguating authors in search.
66
+ - affiliations: move RDF and SPARQL as extra dependencies
67
+ * Moves `rdflib` and `SPARQLWrapper` to extras.
68
+ - affiliation: refactored edmo datastreams
69
+ - subjects: added datastream for GEMET vocabulary
70
+ - awards/schema.py: read app config for alternate funding validation (#429)
71
+ - awards: fix description field and mappings
72
+ - awards: add fields start/end date and description
73
+
53
74
  Version v6.6.0 (released 2024-11-15)
54
75
 
55
76
  - mesh: add title en if not present
@@ -343,6 +364,8 @@ Classifier: Development Status :: 5 - Production/Stable
343
364
  Requires-Python: >=3.7
344
365
  Provides-Extra: s3fs
345
366
  Provides-Extra: oaipmh
367
+ Provides-Extra: rdf
368
+ Provides-Extra: sparql
346
369
  Provides-Extra: tests
347
370
  Provides-Extra: elasticsearch7
348
371
  Provides-Extra: opensearch1
@@ -10,6 +10,6 @@
10
10
 
11
11
  from .ext import InvenioVocabularies
12
12
 
13
- __version__ = "6.6.0"
13
+ __version__ = "6.8.0"
14
14
 
15
15
  __all__ = ("__version__", "InvenioVocabularies")
@@ -52,37 +52,13 @@ const CustomFundingSchema = Yup.object().shape({
52
52
  id: Yup.string().required(i18next.t("Funder is required.")),
53
53
  }),
54
54
  award: Yup.object().shape({
55
- title: Yup.string().test({
56
- name: "testTitle",
57
- message: i18next.t("Title must be set alongside number."),
58
- test: function testTitle(value) {
59
- const { number } = this.parent;
60
-
61
- if (number && !value) {
62
- return false;
63
- }
64
-
65
- return true;
66
- },
67
- }),
68
- number: Yup.string().test({
69
- name: "testNumber",
70
- message: i18next.t("Number must be set alongside title."),
71
- test: function testNumber(value) {
72
- const { title } = this.parent;
73
-
74
- if (title && !value) {
75
- return false;
76
- }
77
-
78
- return true;
79
- },
80
- }),
55
+ title: Yup.string(),
56
+ number: Yup.string(),
81
57
  url: Yup.string()
82
58
  .url(i18next.t("URL must be valid."))
83
59
  .test({
84
60
  name: "validateUrlDependencies",
85
- message: i18next.t("URL must be set alongside title and number."),
61
+ message: i18next.t("URL must be set alongside title or number."),
86
62
  test: function testUrl(value) {
87
63
  const { title, number } = this.parent;
88
64
 
@@ -29,6 +29,8 @@ def _process_vocab(config, num_samples=None):
29
29
  readers_config=config["readers"],
30
30
  transformers_config=config.get("transformers"),
31
31
  writers_config=config["writers"],
32
+ batch_size=config.get("batch_size", 1000),
33
+ write_many=config.get("write_many", False),
32
34
  )
33
35
 
34
36
  success, errored, filtered = 0, 0, 0
@@ -10,6 +10,8 @@
10
10
 
11
11
  """Vocabularies configuration."""
12
12
 
13
+ import re
14
+
13
15
  import idutils
14
16
  from invenio_i18n import lazy_gettext as _
15
17
 
@@ -19,6 +21,9 @@ from .datastreams.readers import (
19
21
  JsonLinesReader,
20
22
  JsonReader,
21
23
  OAIPMHReader,
24
+ RDFReader,
25
+ SimpleHTTPReader,
26
+ SPARQLReader,
22
27
  TarReader,
23
28
  XMLReader,
24
29
  YamlReader,
@@ -43,6 +48,8 @@ VOCABULARIES_IDENTIFIER_SCHEMES = {
43
48
  }
44
49
  """"Generic identifier schemes, usable by other vocabularies."""
45
50
 
51
+ edmo_regexp = re.compile(r"^https://edmo\.seadatanet\.org/report/\d+$")
52
+
46
53
 
47
54
  def is_pic(val):
48
55
  """Test if argument is a Participant Identification Code (PIC)."""
@@ -51,9 +58,15 @@ def is_pic(val):
51
58
  return val.isdigit()
52
59
 
53
60
 
61
+ def is_edmo(val):
62
+ """Test if argument is a European Directory of Marine Organisations (EDMO) identifier."""
63
+ return edmo_regexp.match(val)
64
+
65
+
54
66
  VOCABULARIES_AFFILIATION_SCHEMES = {
55
67
  **VOCABULARIES_IDENTIFIER_SCHEMES,
56
68
  "pic": {"label": _("PIC"), "validator": is_pic},
69
+ "edmo": {"label": _("EDMO"), "validator": is_edmo},
57
70
  }
58
71
  """Affiliations allowed identifier schemes."""
59
72
 
@@ -135,6 +148,9 @@ VOCABULARIES_DATASTREAM_READERS = {
135
148
  "jsonl": JsonLinesReader,
136
149
  "gzip": GzipReader,
137
150
  "tar": TarReader,
151
+ "http": SimpleHTTPReader,
152
+ "rdf": RDFReader,
153
+ "sparql": SPARQLReader,
138
154
  "yaml": YamlReader,
139
155
  "zip": ZipReader,
140
156
  "xml": XMLReader,
@@ -172,9 +188,22 @@ VOCABULARIES_TYPES_SEARCH = {
172
188
  }
173
189
  """Vocabulary type search configuration."""
174
190
 
175
- SUBJECTS_EUROSCIVOC_FILE_URL = "https://publications.europa.eu/resource/distribution/euroscivoc/rdf/skos_ap_eu/EuroSciVoc-skos-ap-eu.rdf"
191
+ VOCABULARIES_SUBJECTS_EUROSCIVOC_FILE_URL = "https://publications.europa.eu/resource/distribution/euroscivoc/rdf/skos_ap_eu/EuroSciVoc-skos-ap-eu.rdf"
176
192
  """Subject EuroSciVoc file download link."""
177
193
 
194
+ VOCABULARIES_SUBJECTS_GEMET_FILE_URL = (
195
+ "https://www.eionet.europa.eu/gemet/latest/gemet.rdf.gz"
196
+ )
197
+ """Subject GEMET file download link."""
198
+
199
+ VOCABULARIES_SUBJECTS_BODC_PUV_FILE_URL = "http://vocab.nerc.ac.uk/collection/P01/current/?_profile=nvs&_mediatype=application/rdf+xml"
200
+ """Subject BODC-PUV file download link."""
201
+
202
+ VOCABULARIES_AFFILIATIONS_EDMO_COUNTRY_MAPPING = {
203
+ "Cape Verde": "Cabo Verde",
204
+ }
205
+ """Affiliations EDMO Country name remapping dictionary."""
206
+
178
207
  VOCABULARIES_ORCID_ACCESS_KEY = "TODO"
179
208
  """ORCID access key to access the s3 bucket."""
180
209
  VOCABULARIES_ORCID_SECRET_KEY = "TODO"
@@ -187,3 +216,16 @@ VOCABULARIES_ORCID_SYNC_SINCE = {
187
216
  "days": 1,
188
217
  }
189
218
  """ORCID time shift to sync. Parameters accepted are the ones passed to 'datetime.timedelta'."""
219
+
220
+ VOCABULARIES_ORCID_ORG_IDS_MAPPING_PATH = None
221
+ """Path to the CSV file for mapping ORCiD organization IDs to affiliation IDs.
222
+
223
+ The path can be specified as either an absolute path or a relative path within the
224
+ Flask app instance folder (i.e. ``current_app.instance_path``).
225
+
226
+ The CSV file should have the following columns:
227
+
228
+ - `org_scheme`: The ORCiD organization ID.
229
+ - `org_id`: The ORCiD organization ID.
230
+ - `aff_id`: The affiliation ID to map to.
231
+ """
@@ -13,7 +13,9 @@ from invenio_i18n import get_locale
13
13
  from invenio_i18n import lazy_gettext as _
14
14
  from invenio_records_resources.services import SearchOptions
15
15
  from invenio_records_resources.services.records.components import DataComponent
16
- from invenio_records_resources.services.records.params import SuggestQueryParser
16
+ from invenio_records_resources.services.records.queryparser import (
17
+ CompositeSuggestQueryParser,
18
+ )
17
19
  from werkzeug.local import LocalProxy
18
20
 
19
21
  from ...services.components import PIDComponent
@@ -21,23 +23,32 @@ from ...services.components import PIDComponent
21
23
  affiliation_schemes = LocalProxy(
22
24
  lambda: current_app.config["VOCABULARIES_AFFILIATION_SCHEMES"]
23
25
  )
24
- localized_title = LocalProxy(lambda: f"title.{get_locale()}^20")
26
+ affiliation_edmo_country_mappings = LocalProxy(
27
+ lambda: current_app.config["VOCABULARIES_AFFILIATIONS_EDMO_COUNTRY_MAPPING"]
28
+ )
29
+ localized_title = LocalProxy(lambda: f"title.{get_locale()}^2")
25
30
 
26
31
 
27
32
  class AffiliationsSearchOptions(SearchOptions):
28
33
  """Search options."""
29
34
 
30
- suggest_parser_cls = SuggestQueryParser.factory(
35
+ suggest_parser_cls = CompositeSuggestQueryParser.factory(
31
36
  fields=[
32
- "name^100",
33
- "acronym.keyword^100",
34
- "acronym^40",
37
+ # We boost the acronym fields, since they're smaller words and are more
38
+ # likely to be used in a query.
39
+ "acronym.keyword^50",
40
+ "acronym^10",
41
+ "name^10",
42
+ # Aliases can sometimes be shorter, so we boost them a bit.
43
+ "aliases^5",
35
44
  localized_title,
36
- "id^20",
37
- "aliases^20",
45
+ "id^2",
46
+ # Allow to search identifiers directly (e.g. ROR)
47
+ "identifiers.identifier",
48
+ "country",
49
+ "country_name",
50
+ "types",
38
51
  ],
39
- type="most_fields", # https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#multi-match-types
40
- fuzziness="AUTO", # https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness
41
52
  )
42
53
 
43
54
  sort_default = "bestmatch"
@@ -11,12 +11,14 @@
11
11
 
12
12
  from copy import deepcopy
13
13
 
14
+ import pycountry
14
15
  from flask import current_app
15
16
 
16
17
  from ...datastreams import StreamEntry
17
- from ...datastreams.errors import TransformerError, WriterError
18
+ from ...datastreams.errors import TransformerError
18
19
  from ...datastreams.transformers import BaseTransformer
19
20
  from ...datastreams.writers import ServiceWriter
21
+ from ..affiliations.config import affiliation_edmo_country_mappings
20
22
  from ..common.ror.datastreams import RORTransformer
21
23
 
22
24
 
@@ -119,6 +121,66 @@ class OpenAIREAffiliationsServiceWriter(ServiceWriter):
119
121
  return StreamEntry(self._service.update(self._identity, vocab_id, updated))
120
122
 
121
123
 
124
+ class EDMOOrganizationTransformer(BaseTransformer):
125
+ """Transformer class to convert EDMO RDF data to a dictionary format."""
126
+
127
+ def apply(self, stream_entry, **kwargs):
128
+ """Applies the transformation to the stream entry."""
129
+ record = stream_entry.entry
130
+ edmo_uri = record["org"]["value"]
131
+ id_ = "edmo:" + edmo_uri.split("/")[-1]
132
+ name = record["name"]["value"]
133
+ alt_name = record.get("altName", {}).get("value")
134
+ country_name = record.get("countryName", {}).get("value")
135
+ locality = record.get("locality", {}).get("value")
136
+ deprecated = record["deprecated"]["value"]
137
+
138
+ # Fix organizations with the old country name "Cape Verde".
139
+ # "Cabo Verde" is the new official name also used by ROR, e.g. https://api.ror.org/v2/organizations/001fphc23
140
+ if country_name in affiliation_edmo_country_mappings:
141
+ country_name = affiliation_edmo_country_mappings[country_name]
142
+
143
+ # Logic to convert a country name to a 2 letters country code.
144
+ country = None
145
+ if country_name:
146
+ country_dict = pycountry.countries.get(name=country_name)
147
+ if country_dict:
148
+ country = country_dict.alpha_2
149
+ else:
150
+ raise TransformerError([f"No alpha_2 country found for: {record}"])
151
+
152
+ # Mandatory fields
153
+ organization = {
154
+ "id": id_,
155
+ "identifiers": [
156
+ {
157
+ "scheme": "edmo",
158
+ "identifier": edmo_uri,
159
+ }
160
+ ],
161
+ "name": name,
162
+ "title": {
163
+ "en": name,
164
+ },
165
+ }
166
+
167
+ # Optional fields
168
+ if alt_name:
169
+ organization["acronym"] = alt_name
170
+
171
+ if country_name:
172
+ organization["country_name"] = country_name
173
+
174
+ if country:
175
+ organization["country"] = country
176
+
177
+ if locality:
178
+ organization["location_name"] = locality
179
+
180
+ stream_entry.entry = organization
181
+ return stream_entry
182
+
183
+
122
184
  VOCABULARIES_DATASTREAM_READERS = {}
123
185
  """Affiliations datastream readers."""
124
186
 
@@ -131,6 +193,7 @@ VOCABULARIES_DATASTREAM_WRITERS = {
131
193
  VOCABULARIES_DATASTREAM_TRANSFORMERS = {
132
194
  "ror-affiliations": AffiliationsRORTransformer,
133
195
  "openaire-organization": OpenAIREOrganizationTransformer,
196
+ "edmo-organization": EDMOOrganizationTransformer,
134
197
  }
135
198
  """Affiliations datastream transformers."""
136
199
 
@@ -196,3 +259,42 @@ DATASTREAM_CONFIG_OPENAIRE = {
196
259
  ],
197
260
  }
198
261
  """Alternative Data Stream configuration for OpenAIRE Affiliations."""
262
+
263
+ DATASTREAM_CONFIG_EDMO = {
264
+ "readers": [
265
+ {
266
+ "type": "sparql",
267
+ "args": {
268
+ "origin": "https://edmo.seadatanet.org/sparql/sparql",
269
+ "query": """
270
+ SELECT ?org ?name ?altName ?countryName ?locality ?deprecated
271
+ WHERE {
272
+ ?org a <http://www.w3.org/ns/org#Organization> .
273
+ ?org <http://www.w3.org/ns/org#name> ?name .
274
+ OPTIONAL { ?org <http://www.w3.org/2004/02/skos/core#altName> ?altName } .
275
+ OPTIONAL { ?org <http://www.w3.org/2006/vcard/ns#country-name> ?countryName } .
276
+ OPTIONAL { ?org <http://www.w3.org/2006/vcard/ns#locality> ?locality } .
277
+ OPTIONAL { ?org <http://www.w3.org/2002/07/owl#deprecated> ?deprecated } .
278
+ FILTER (!?deprecated)
279
+ }
280
+ """,
281
+ },
282
+ }
283
+ ],
284
+ "transformers": [
285
+ {
286
+ "type": "edmo-organization",
287
+ },
288
+ ],
289
+ "writers": [
290
+ {
291
+ "type": "async",
292
+ "args": {
293
+ "writer": {
294
+ "type": "affiliations-service",
295
+ }
296
+ },
297
+ },
298
+ ],
299
+ }
300
+ """Alternative Data Stream configuration for EDMO Affiliations."""
@@ -117,6 +117,13 @@ class OpenAIREProjectTransformer(BaseTransformer):
117
117
  if acronym:
118
118
  award["acronym"] = acronym
119
119
 
120
+ if "startDate" in record:
121
+ award["start_date"] = record["startDate"]
122
+ if "endDate" in record:
123
+ award["end_date"] = record["endDate"]
124
+ if "summary" in record:
125
+ award["description"] = {"en": record["summary"]}
126
+
120
127
  stream_entry.entry = award
121
128
  return stream_entry
122
129
 
@@ -43,6 +43,15 @@
43
43
  "program": {
44
44
  "type": "string"
45
45
  },
46
+ "start_date": {
47
+ "type": "string"
48
+ },
49
+ "end_date": {
50
+ "type": "string"
51
+ },
52
+ "description": {
53
+ "$ref": "local://vocabularies/definitions-v1.0.0.json#/description"
54
+ },
46
55
  "subjects": {
47
56
  "description": "Award's subjects.",
48
57
  "type": "array",
@@ -9,6 +9,15 @@
9
9
  "type": "search_as_you_type"
10
10
  }
11
11
  }
12
+ },
13
+ {
14
+ "i18n_description": {
15
+ "path_match": "description.*",
16
+ "match_mapping_type": "string",
17
+ "mapping": {
18
+ "type": "text"
19
+ }
20
+ }
12
21
  }
13
22
  ],
14
23
  "dynamic": "strict",
@@ -58,9 +67,21 @@
58
67
  "acronym": {
59
68
  "type": "keyword",
60
69
  "fields": {
61
- "text": { "type": "text" }
70
+ "text": {
71
+ "type": "text"
72
+ }
62
73
  }
63
74
  },
75
+ "start_date": {
76
+ "type": "date"
77
+ },
78
+ "end_date": {
79
+ "type": "date"
80
+ },
81
+ "description": {
82
+ "type": "object",
83
+ "dynamic": "true"
84
+ },
64
85
  "program": {
65
86
  "type": "keyword"
66
87
  },
@@ -9,6 +9,15 @@
9
9
  "type": "search_as_you_type"
10
10
  }
11
11
  }
12
+ },
13
+ {
14
+ "i18n_description": {
15
+ "path_match": "description.*",
16
+ "match_mapping_type": "string",
17
+ "mapping": {
18
+ "type": "text"
19
+ }
20
+ }
12
21
  }
13
22
  ],
14
23
  "dynamic": "strict",
@@ -58,9 +67,21 @@
58
67
  "acronym": {
59
68
  "type": "keyword",
60
69
  "fields": {
61
- "text": { "type": "text" }
70
+ "text": {
71
+ "type": "text"
72
+ }
62
73
  }
63
74
  },
75
+ "start_date": {
76
+ "type": "date"
77
+ },
78
+ "end_date": {
79
+ "type": "date"
80
+ },
81
+ "description": {
82
+ "type": "object",
83
+ "dynamic": "true"
84
+ },
64
85
  "program": {
65
86
  "type": "keyword"
66
87
  },
@@ -9,6 +9,15 @@
9
9
  "type": "search_as_you_type"
10
10
  }
11
11
  }
12
+ },
13
+ {
14
+ "i18n_description": {
15
+ "path_match": "description.*",
16
+ "match_mapping_type": "string",
17
+ "mapping": {
18
+ "type": "text"
19
+ }
20
+ }
12
21
  }
13
22
  ],
14
23
  "dynamic": "strict",
@@ -58,9 +67,21 @@
58
67
  "acronym": {
59
68
  "type": "keyword",
60
69
  "fields": {
61
- "text": { "type": "text" }
70
+ "text": {
71
+ "type": "text"
72
+ }
62
73
  }
63
74
  },
75
+ "start_date": {
76
+ "type": "date"
77
+ },
78
+ "end_date": {
79
+ "type": "date"
80
+ },
81
+ "description": {
82
+ "type": "object",
83
+ "dynamic": "true"
84
+ },
64
85
  "program": {
65
86
  "type": "keyword"
66
87
  },
@@ -12,7 +12,7 @@ from functools import partial
12
12
 
13
13
  from invenio_i18n import lazy_gettext as _
14
14
  from marshmallow import Schema, ValidationError, fields, validate, validates_schema
15
- from marshmallow_utils.fields import IdentifierSet, SanitizedUnicode
15
+ from marshmallow_utils.fields import IdentifierSet, ISODateString, SanitizedUnicode
16
16
  from marshmallow_utils.schemas import IdentifierSchema
17
17
 
18
18
  from ...services.schema import (
@@ -61,6 +61,10 @@ class AwardSchema(BaseVocabularySchema, ModePIDFieldVocabularyMixin):
61
61
 
62
62
  organizations = fields.List(fields.Nested(AwardOrganizationRelationSchema))
63
63
 
64
+ start_date = ISODateString()
65
+
66
+ end_date = ISODateString()
67
+
64
68
  id = SanitizedUnicode(
65
69
  validate=validate.Length(min=1, error=_("PID cannot be blank."))
66
70
  )
@@ -90,9 +94,11 @@ class AwardRelationSchema(Schema):
90
94
  id_ = data.get("id")
91
95
  number = data.get("number")
92
96
  title = data.get("title")
93
- if not id_ and not (number and title):
97
+
98
+ if not id_ and not (number or title):
94
99
  raise ValidationError(
95
- _("An existing id or number/title must be present."), "award"
100
+ _("An existing id or either number or title must be present."),
101
+ "award",
96
102
  )
97
103
 
98
104
 
@@ -13,7 +13,9 @@ from invenio_i18n import get_locale
13
13
  from invenio_i18n import lazy_gettext as _
14
14
  from invenio_records_resources.services import SearchOptions
15
15
  from invenio_records_resources.services.records.components import DataComponent
16
- from invenio_records_resources.services.records.params import SuggestQueryParser
16
+ from invenio_records_resources.services.records.queryparser import (
17
+ CompositeSuggestQueryParser,
18
+ )
17
19
  from werkzeug.local import LocalProxy
18
20
 
19
21
  from ...services.components import ModelPIDComponent
@@ -23,24 +25,29 @@ funder_schemes = LocalProxy(lambda: current_app.config["VOCABULARIES_FUNDER_SCHE
23
25
  funder_fundref_doi_prefix = LocalProxy(
24
26
  lambda: current_app.config["VOCABULARIES_FUNDER_DOI_PREFIX"]
25
27
  )
26
- localized_title = LocalProxy(lambda: f"title.{get_locale()}^20")
28
+ localized_title = LocalProxy(lambda: f"title.{get_locale()}^2")
27
29
 
28
30
 
29
31
  class FundersSearchOptions(SearchOptions):
30
32
  """Search options."""
31
33
 
32
- suggest_parser_cls = SuggestQueryParser.factory(
34
+ suggest_parser_cls = CompositeSuggestQueryParser.factory(
33
35
  fields=[
34
- "name^100",
35
- "acronym.keyword^100",
36
- "acronym^40",
36
+ # We boost the acronym fields, since they're smaller words and are more
37
+ # likely to be used in a query.
38
+ "acronym.keyword^50",
39
+ "acronym^10",
40
+ "name^10",
41
+ # Aliases can sometimes be shorter, so we boost them a bit.
42
+ "aliases^5",
37
43
  localized_title,
38
- "id^20",
39
- "aliases^20",
40
- "identifiers.identifier^10",
41
- ],
42
- type="most_fields", # https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#multi-match-types
43
- fuzziness="AUTO", # https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#fuzziness
44
+ "id^2",
45
+ # Allow to search identifiers directly (e.g. ROR)
46
+ "identifiers.identifier",
47
+ "country",
48
+ "country_name",
49
+ "types",
50
+ ]
44
51
  )
45
52
 
46
53
  sort_default = "bestmatch"