bioregistry 0.13.10__tar.gz → 0.13.12__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.
- {bioregistry-0.13.10 → bioregistry-0.13.12}/PKG-INFO +1 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/pyproject.toml +2 -2
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/__init__.py +2 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/base.html +6 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/collection.html +13 -6
- bioregistry-0.13.12/src/bioregistry/app/templates/resource-bibliometrics.html +79 -0
- bioregistry-0.13.12/src/bioregistry/app/templates/resource-standards.html +89 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resource.html +10 -177
- bioregistry-0.13.12/src/bioregistry/curation/add_linkml.py +89 -0
- bioregistry-0.13.12/src/bioregistry/curation/add_nfdi_section_collections.py +60 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/bioregistry.json +300 -38
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/collections.json +528 -9
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/curated_papers.tsv +1 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/aberowl/processed.json +49 -20
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bartoc/processed.json +133 -11
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/agroportal.json +11 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/fairsharing/processed.json +96 -4
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/integbio/processed.json +6 -4
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/lov/processed.json +10 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/obofoundry/processed.json +4 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/processed.json +39 -27
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/re3data/processed.json +22 -8
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/resource_manager.py +4 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/schema.json +21 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/struct.py +9 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema_utils.py +6 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/validate/cli.py +16 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/validate/utils.py +28 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/version.py +1 -1
- {bioregistry-0.13.10 → bioregistry-0.13.12}/LICENSE +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/README.md +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/__main__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/analysis/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/analysis/bioregistry_diff.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/analysis/mapping_checking.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/analysis/paper_ranking.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/api.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/cli.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/constants.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/impl.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/proxies.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/czi.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/dalia.png +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/dfg.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/funding-manifest-urls.txt +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/logo.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/nfdi4chem.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/northeastern.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/static/rwth-iac.svg +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/collections.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/context.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/contexts.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/contributor.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/contributors.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/highlights/owners.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/highlights/relations.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/highlights/twitter.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/home.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/keyword.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/keywords.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/macros.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/access.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/acknowledgements.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/download.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/related.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/schema.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/summary.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/meta/sustainability.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/metaresource.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/metaresources.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/prose.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/reference.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resolve_errors/disallowed_identifier.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resolve_errors/invalid_identifier.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resolve_errors/missing_prefix.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resolve_errors/missing_providers.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/templates/resources.html +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/test.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/ui.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/utils.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/app/wsgi.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/__main__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/cli.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/curie_parsing.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/curie_validation.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/benchmarks/uri_parsing.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/bibliometrics.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/cli.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/collection_api.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/compare.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/constants.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_cessda.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_co_providers.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_descriptions_from_gs.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_examples.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_examples_from_ols.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_ontology_regexes.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_provider_status_curations.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_sweet.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/add_wikidata_database.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/bulk_import.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/clean_licenses.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/clean_name_suffixes.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/clean_publications.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/cleanup_authors.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/deprecation_diff.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/enrich_publications.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/find_contact_groups.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/fix_obo_purls.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/import_pc_semiautomatic.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/ingest_prefixmaps_bioportal.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/literature.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/make_description_curation_sheet.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/make_health_report_curation_sheet.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/map_bartoc_via_wikidata.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/map_re3data_via_fairsharing.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/nfdi_collections.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/odk_usage.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/rename_metaprefix.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/review_pc.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/seed_collection.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/suggest_author_curation.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/curation/suggest_uniprot_providers.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/README.md +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/contexts.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/curated_mappings.sssom.tsv +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/data/metaregistry.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/__main__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/cli.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/prefix_maps.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/prefixcc.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/rdf_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/schema_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/sssom_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/tables_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/tsv_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/warnings_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/export/yaml_export.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/aberowl/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/align.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/alignment_utils.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bartoc/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/biocontext/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/biocontext/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/biolink/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/biolink/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/biolink/processing_biolink.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/agroportal.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/bioportal.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/bioportal.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/ecoportal.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/bioportal/ecoportal.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cellosaurus/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cellosaurus/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cheminf/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cheminf/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cropoct/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/cropoct/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/edam/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/edam/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/fairsharing/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/go/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/go/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/go/processing_go.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/hl7/OID_Report.csv +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/hl7/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/integbio/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/lov/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/miriam/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/miriam/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/miriam/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/n2t/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/n2t/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ncbi/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ncbi/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/obofoundry/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/processing_ols.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/tib-processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/tib-processing-config.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ols/tib.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ontobee/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/ontobee/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/pathguide/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/prefixcommons/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/prefixcommons/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/re3data/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/rrid/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/togoid/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/togoid/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/uniprot/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/uniprot/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/wikidata/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/wikidata/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/zazuko/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/external/zazuko/processed.json +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/gh/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/gh/github_client.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/gh/new_prefix.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/health/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/health/__main__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/health/check_homepages.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/health/check_providers.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/health/cli.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/license_standardizer.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/lint.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/metaresource_api.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/pandas.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/parse_iri.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/parse_version_iri.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/py.typed +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/record_accumulator.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/reference.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/resolve.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/resolve_identifier.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/.DS_Store +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/__init__.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/constants.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/schema/utils.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/summary.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/upload_ndex.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/uri_format.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/utils.py +0 -0
- {bioregistry-0.13.10 → bioregistry-0.13.12}/src/bioregistry/validate/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: bioregistry
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.12
|
|
4
4
|
Summary: Integrated registry of biological databases and nomenclatures
|
|
5
5
|
Keywords: snekpack,cookiecutter,databases,biological databases,biomedical databases,persistent identifiers
|
|
6
6
|
Author: Charles Tapley Hoyt
|
|
@@ -10,7 +10,7 @@ markers = [
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "bioregistry"
|
|
13
|
-
version = "0.13.
|
|
13
|
+
version = "0.13.12"
|
|
14
14
|
description = "Integrated registry of biological databases and nomenclatures"
|
|
15
15
|
readme = "README.md"
|
|
16
16
|
authors = [
|
|
@@ -254,7 +254,7 @@ known-first-party = [
|
|
|
254
254
|
docstring-code-format = true
|
|
255
255
|
|
|
256
256
|
[tool.bumpversion]
|
|
257
|
-
current_version = "0.13.
|
|
257
|
+
current_version = "0.13.12"
|
|
258
258
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:-(?P<release>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+(?P<build>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?"
|
|
259
259
|
serialize = [
|
|
260
260
|
"{major}.{minor}.{patch}-{release}+{build}",
|
|
@@ -131,6 +131,7 @@ from .schema import (
|
|
|
131
131
|
Author,
|
|
132
132
|
Collection,
|
|
133
133
|
Context,
|
|
134
|
+
Organization,
|
|
134
135
|
Provider,
|
|
135
136
|
Registry,
|
|
136
137
|
Resource,
|
|
@@ -164,6 +165,7 @@ __all__ = [
|
|
|
164
165
|
"NormalizedNamableReference",
|
|
165
166
|
"NormalizedNamedReference",
|
|
166
167
|
"NormalizedReference",
|
|
168
|
+
"Organization",
|
|
167
169
|
"Provider",
|
|
168
170
|
"Registry",
|
|
169
171
|
"Resource",
|
|
@@ -42,14 +42,21 @@
|
|
|
42
42
|
<dt>Identifier</dt>
|
|
43
43
|
<dd><code>{{ identifier }}</code></dd>
|
|
44
44
|
<dt>Contributors</dt>
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
{%- for author in entry.authors %}
|
|
46
|
+
<dd style="margin-bottom: 0;">
|
|
47
47
|
<a href="{{ url_for("metaregistry_ui.contributor", orcid=author.orcid) }}">
|
|
48
48
|
{{ author.name }}
|
|
49
49
|
<i class="fab fa-orcid"></i>
|
|
50
|
-
</a>
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
</a>
|
|
51
|
+
</dd>
|
|
52
|
+
{%- endfor %}
|
|
53
|
+
{%- if entry.organizations %}
|
|
54
|
+
{%- for organization in entry.organizations %}
|
|
55
|
+
<dd style="margin-bottom: 0;">
|
|
56
|
+
<a href="{{ organization.link }}">{{ organization.name }}</a>
|
|
57
|
+
</dd>
|
|
58
|
+
{%- endfor %}
|
|
59
|
+
{%- endif %}
|
|
53
60
|
<dt>Size</dt>
|
|
54
61
|
<dd>{{ entry.resources | length }}</dd>
|
|
55
62
|
{% if entry.references %}
|
|
@@ -60,7 +67,7 @@
|
|
|
60
67
|
{% endif %}
|
|
61
68
|
</dl>
|
|
62
69
|
</div>
|
|
63
|
-
<table class="table table-striped">
|
|
70
|
+
<table class="table table-striped" style="margin-bottom: 0;">
|
|
64
71
|
<thead>
|
|
65
72
|
<tr>
|
|
66
73
|
<th scope="col">Prefix</th>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
<div class="card" style="margin-top: 20px">
|
|
2
|
+
<h5 class="card-header">Contacts</h5>
|
|
3
|
+
<div class="card-body">
|
|
4
|
+
{%- if resource.contact_group_email %}
|
|
5
|
+
<a class="badge badge-pill badge-light" href="{{ resource.contact_group_email }}">
|
|
6
|
+
Mailing List <i class="fas fa-address-book"></i></i></a>
|
|
7
|
+
{%- endif %}
|
|
8
|
+
{%- if resource.contact_page %}
|
|
9
|
+
<a class="badge badge-pill badge-light" href="{{ resource.contact_page }}">
|
|
10
|
+
Contact Page <i class="fas fa-address-book"></i></i></a>
|
|
11
|
+
{%- endif %}
|
|
12
|
+
<dl>
|
|
13
|
+
<dt>
|
|
14
|
+
Contact
|
|
15
|
+
{% if contact %}
|
|
16
|
+
<a type="button" data-toggle="modal" data-target="#contact-modal">
|
|
17
|
+
<i class="far fa-question-circle"></i>
|
|
18
|
+
</a>
|
|
19
|
+
{% endif %}
|
|
20
|
+
</dt>
|
|
21
|
+
<dd>
|
|
22
|
+
{% if contact %}
|
|
23
|
+
{{ utils.render_author(contact, link=none) }}
|
|
24
|
+
{% else %}
|
|
25
|
+
<span class="badge badge-pill badge-warning">Missing Contact</span>
|
|
26
|
+
{% endif %}
|
|
27
|
+
</dd>
|
|
28
|
+
{%- for secondary_contact in resource.contact_extras or [] %}
|
|
29
|
+
<dd>
|
|
30
|
+
{{ utils.render_author(secondary_contact, link=none) }}
|
|
31
|
+
</dd>
|
|
32
|
+
{%- endfor %}
|
|
33
|
+
|
|
34
|
+
{% if resource.owners %}
|
|
35
|
+
<dt>Identifier Space Owner{% if resource.owners | length > 1 %}s{% endif %}</dt>
|
|
36
|
+
{% for owner in resource.owners %}
|
|
37
|
+
<dd>
|
|
38
|
+
<a href="{{ owner.link }}">{{ owner.name }}</a>
|
|
39
|
+
{% if owner.partnered %}
|
|
40
|
+
<a href="{{ config.METAREGISTRY_REPOSITORY }}/blob/main/docs/GOVERNANCE.md#partners"
|
|
41
|
+
class="badge badge-pill badge-info" data-toggle="tooltip"
|
|
42
|
+
title="This organization has partnered with the {{ config.METAREGISTRY_TITLE }} to proactively maintain this record. Click to see related project governance.">
|
|
43
|
+
Partnered
|
|
44
|
+
</a>
|
|
45
|
+
{% endif %}
|
|
46
|
+
</dd>
|
|
47
|
+
{% endfor %}
|
|
48
|
+
{% endif %}
|
|
49
|
+
{% if resource.contributor or resource.contributor_extras %}
|
|
50
|
+
<dt>Contributors</dt>
|
|
51
|
+
{% if resource.contributor %}
|
|
52
|
+
<dd>
|
|
53
|
+
<span class="badge badge-info">submitter</span> {{ utils.render_author(resource.contributor,
|
|
54
|
+
link=url_for('metaregistry_ui.contributor', orcid=resource.contributor.orcid)) }}
|
|
55
|
+
</dd>
|
|
56
|
+
{% endif %}
|
|
57
|
+
{% for contributor in resource.contributor_extras or [] %}
|
|
58
|
+
<dd>
|
|
59
|
+
<span class="badge badge-info">contributor</span> {{ utils.render_author(contributor,
|
|
60
|
+
link=url_for('metaregistry_ui.contributor', orcid=contributor.orcid)) }}
|
|
61
|
+
</dd>
|
|
62
|
+
{% endfor %}
|
|
63
|
+
{% endif %}
|
|
64
|
+
|
|
65
|
+
{% if resource.reviewer %}
|
|
66
|
+
<dt>Reviewer</dt>
|
|
67
|
+
<dd>
|
|
68
|
+
{{ utils.render_author(resource.reviewer, link=url_for('metaregistry_ui.contributor',
|
|
69
|
+
orcid=resource.reviewer.orcid)) }}
|
|
70
|
+
</dd>
|
|
71
|
+
{%- for reviewer in resource.reviewer_extras or [] %}
|
|
72
|
+
<dd>
|
|
73
|
+
{{ utils.render_author(reviewer, link=url_for('metaregistry_ui.contributor', orcid=reviewer.orcid)) }}
|
|
74
|
+
</dd>
|
|
75
|
+
{%- endfor %}
|
|
76
|
+
{% endif %}
|
|
77
|
+
</dl>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<div class="card" style="margin-top: 20px">
|
|
2
|
+
<h5 class="card-header">Identifier Standards</h5>
|
|
3
|
+
<div class="card-body">
|
|
4
|
+
<dl>
|
|
5
|
+
<dt>Pattern for Local Unique Identifiers</dt>
|
|
6
|
+
<dd>
|
|
7
|
+
{% if pattern %}
|
|
8
|
+
<p>
|
|
9
|
+
Local identifiers in {{ name_pack.value }} should match this
|
|
10
|
+
regular expression:<br/><kbd>{{ pattern }}</kbd>
|
|
11
|
+
</p>
|
|
12
|
+
{% elif has_no_terms %}
|
|
13
|
+
<span class="badge badge-pill badge-secondary">No terms in {{ prefix }}</span>
|
|
14
|
+
{% else %}
|
|
15
|
+
<span class="badge badge-pill badge-warning">Missing LUI pattern</span>
|
|
16
|
+
{% endif %}
|
|
17
|
+
</dd>
|
|
18
|
+
<dt>Example Local Unique Identifier{% if resource.example_extras %}s{% endif %}</dt>
|
|
19
|
+
<dd>
|
|
20
|
+
{% if example %}
|
|
21
|
+
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example) }}">{{ example
|
|
22
|
+
}}</a>
|
|
23
|
+
{% if providers %}
|
|
24
|
+
|
|
25
|
+
<a class="badge badge-pill badge-info" href="{{ url_for("metaregistry_ui.resolve", prefix=prefix,
|
|
26
|
+
identifier=example) }}"><i class="fas fa-share-square"></i> Resolve</a>
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% for extra_example in example_extras %}
|
|
29
|
+
<br/>
|
|
30
|
+
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=extra_example) }}">{{
|
|
31
|
+
extra_example }}</a>
|
|
32
|
+
{% if providers %}
|
|
33
|
+
|
|
34
|
+
<a class="badge badge-pill badge-info" href="{{ url_for("metaregistry_ui.resolve", prefix=prefix,
|
|
35
|
+
identifier=extra_example) }}"><i class="fas fa-share-square"></i> Resolve</a>
|
|
36
|
+
{% endif %}
|
|
37
|
+
{% endfor %}
|
|
38
|
+
{% elif has_no_terms %}
|
|
39
|
+
<span class="badge badge-pill badge-secondary">No Terms in {{ prefix }}</span>
|
|
40
|
+
{% else %}
|
|
41
|
+
<span class="badge badge-pill badge-warning">Missing Example Local Unique Identifier</span>
|
|
42
|
+
{% endif %}
|
|
43
|
+
</dd>
|
|
44
|
+
{% if pattern and curie_pattern %}
|
|
45
|
+
<dt>Pattern for CURIES</dt>
|
|
46
|
+
<dd>
|
|
47
|
+
<p>
|
|
48
|
+
Compact URIs (CURIEs) constructed from {{ name_pack.value }} should match
|
|
49
|
+
this regular expression:<br/><kbd>{{ curie_pattern }}</kbd>
|
|
50
|
+
</p>
|
|
51
|
+
</dd>
|
|
52
|
+
{% endif %}
|
|
53
|
+
{% if example and example_curie %}
|
|
54
|
+
<dt>Example CURIE{% if resource.example_extras %}s{% endif %}</dt>
|
|
55
|
+
<dd>
|
|
56
|
+
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example) }}">{{
|
|
57
|
+
example_curie }}</a>
|
|
58
|
+
{% for example_curie_extra, example_extra in zip(example_curie_extras, example_extras) %}
|
|
59
|
+
<br/>
|
|
60
|
+
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example_extra) }}">{{
|
|
61
|
+
example_curie_extra }}</a>
|
|
62
|
+
{% endfor %}
|
|
63
|
+
</dd>
|
|
64
|
+
{% endif %}
|
|
65
|
+
{% if resource.get_rdf_uri_format() %}
|
|
66
|
+
<dt>Pattern for RDF URIs</dt>
|
|
67
|
+
<dd><kbd>{{ resource.get_rdf_uri_format() }}</kbd></dd>
|
|
68
|
+
<dt>Example RDF URI</dt>
|
|
69
|
+
{% set rdf_uri_example = resource.get_rdf_uri_format().replace("$1", example) %}
|
|
70
|
+
<dd><a href="{{ rdf_uri_example }}">{{ rdf_uri_example }}</a></dd>
|
|
71
|
+
{% endif %}
|
|
72
|
+
{% if namespace_in_lui %}
|
|
73
|
+
<dt><i class="fas fa-info-circle"></i> MIRIAM Namespace Embedded in LUI</dt>
|
|
74
|
+
<dd>
|
|
75
|
+
The legacy MIRIAM standard for generating CURIEs with this resource
|
|
76
|
+
annotates the <code>namespaceEmbeddedInLUI</code> as true.
|
|
77
|
+
{{ get_banana_text() }}
|
|
78
|
+
</dd>
|
|
79
|
+
{% elif banana %}
|
|
80
|
+
<dt><i class="fas fa-info-circle"></i> Namespace Embedded in LUI</dt>
|
|
81
|
+
<dd>
|
|
82
|
+
This resource has been annotated by the {{ config.METAREGISTRY_TITLE }} as having a potential
|
|
83
|
+
namespace embedded in LUI.
|
|
84
|
+
{{ get_banana_text() }}
|
|
85
|
+
</dd>
|
|
86
|
+
{% endif %}
|
|
87
|
+
</dl>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
@@ -189,14 +189,6 @@
|
|
|
189
189
|
Repository <i class="fab fa-github"></i>
|
|
190
190
|
</a>
|
|
191
191
|
{% endif %}
|
|
192
|
-
{%- if resource.contact_group_email %}
|
|
193
|
-
<a class="badge badge-pill badge-light" href="{{ resource.contact_group_email }}">
|
|
194
|
-
Mailing List <i class="fas fa-address-book"></i></i></a>
|
|
195
|
-
{%- endif %}
|
|
196
|
-
{%- if resource.contact_page %}
|
|
197
|
-
<a class="badge badge-pill badge-light" href="{{ resource.contact_page }}">
|
|
198
|
-
Contact Page <i class="fas fa-address-book"></i></i></a>
|
|
199
|
-
{%- endif %}
|
|
200
192
|
{% if obo_download %}
|
|
201
193
|
<a class="badge badge-pill badge-light" href="{{ obo_download }}">
|
|
202
194
|
OBO <i class="fas fa-download"></i>
|
|
@@ -238,173 +230,28 @@
|
|
|
238
230
|
</a>
|
|
239
231
|
{% endif %}
|
|
240
232
|
</dd>
|
|
241
|
-
<dt>
|
|
242
|
-
Contact
|
|
243
|
-
{% if contact %}
|
|
244
|
-
<a type="button" data-toggle="modal" data-target="#contact-modal">
|
|
245
|
-
<i class="far fa-question-circle"></i>
|
|
246
|
-
</a>
|
|
247
|
-
{% endif %}
|
|
248
|
-
</dt>
|
|
249
|
-
<dd>
|
|
250
|
-
{% if contact %}
|
|
251
|
-
{{ utils.render_author(contact, link=none) }}
|
|
252
|
-
{% else %}
|
|
253
|
-
<span class="badge badge-pill badge-warning">Missing Contact</span>
|
|
254
|
-
{% endif %}
|
|
255
|
-
</dd>
|
|
256
|
-
{%- for secondary_contact in resource.contact_extras or [] %}
|
|
257
|
-
<dd>
|
|
258
|
-
{{ utils.render_author(secondary_contact, link=none) }}
|
|
259
|
-
</dd>
|
|
260
|
-
{%- endfor %}
|
|
261
|
-
{% if resource.owners %}
|
|
262
|
-
<dt>Identifier Space Owner{% if resource.owners | length > 1 %}s{% endif %}</dt>
|
|
263
|
-
{% for owner in resource.owners %}
|
|
264
|
-
<dd>
|
|
265
|
-
<a href="{{ owner.link }}">{{ owner.name }}</a>
|
|
266
|
-
{% if owner.partnered %}
|
|
267
|
-
<a href="{{ config.METAREGISTRY_REPOSITORY }}/blob/main/docs/GOVERNANCE.md#partners"
|
|
268
|
-
class="badge badge-pill badge-info" data-toggle="tooltip"
|
|
269
|
-
title="This organization has partnered with the {{ config.METAREGISTRY_TITLE }} to proactively maintain this record. Click to see related project governance.">
|
|
270
|
-
Partnered
|
|
271
|
-
</a>
|
|
272
|
-
{% endif %}
|
|
273
|
-
</dd>
|
|
274
|
-
{% endfor %}
|
|
275
|
-
{% endif %}
|
|
276
|
-
<dt>Pattern for Local Unique Identifiers</dt>
|
|
277
|
-
<dd>
|
|
278
|
-
{% if pattern %}
|
|
279
|
-
<p>
|
|
280
|
-
Local identifiers in {{ name_pack.value }} should match this
|
|
281
|
-
regular expression:<br/><kbd>{{ pattern }}</kbd>
|
|
282
|
-
</p>
|
|
283
|
-
{% elif has_no_terms %}
|
|
284
|
-
<span class="badge badge-pill badge-secondary">No terms in {{ prefix }}</span>
|
|
285
|
-
{% else %}
|
|
286
|
-
<span class="badge badge-pill badge-warning">Missing LUI pattern</span>
|
|
287
|
-
{% endif %}
|
|
288
|
-
</dd>
|
|
289
|
-
<dt>Example Local Unique Identifier{% if resource.example_extras %}s{% endif %}</dt>
|
|
290
|
-
<dd>
|
|
291
|
-
{% if example %}
|
|
292
|
-
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example) }}">{{ example }}</a>
|
|
293
|
-
{% if providers %}
|
|
294
|
-
|
|
295
|
-
<a class="badge badge-pill badge-info" href="{{ url_for("metaregistry_ui.resolve", prefix=prefix, identifier=example) }}"><i class="fas fa-share-square"></i> Resolve</a>
|
|
296
|
-
{% endif %}
|
|
297
|
-
{% for extra_example in example_extras %}
|
|
298
|
-
<br />
|
|
299
|
-
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=extra_example) }}">{{ extra_example }}</a>
|
|
300
|
-
{% if providers %}
|
|
301
|
-
|
|
302
|
-
<a class="badge badge-pill badge-info" href="{{ url_for("metaregistry_ui.resolve", prefix=prefix, identifier=extra_example) }}"><i class="fas fa-share-square"></i> Resolve</a>
|
|
303
|
-
{% endif %}
|
|
304
|
-
{% endfor %}
|
|
305
|
-
{% elif has_no_terms %}
|
|
306
|
-
<span class="badge badge-pill badge-secondary">No Terms in {{ prefix }}</span>
|
|
307
|
-
{% else %}
|
|
308
|
-
<span class="badge badge-pill badge-warning">Missing Example Local Unique Identifier</span>
|
|
309
|
-
{% endif %}
|
|
310
|
-
</dd>
|
|
311
|
-
{% if pattern and curie_pattern %}
|
|
312
|
-
<dt>Pattern for CURIES</dt>
|
|
313
|
-
<dd>
|
|
314
|
-
<p>
|
|
315
|
-
Compact URIs (CURIEs) constructed from {{ name_pack.value }} should match
|
|
316
|
-
this regular expression:<br/><kbd>{{ curie_pattern }}</kbd>
|
|
317
|
-
</p>
|
|
318
|
-
</dd>
|
|
319
|
-
{% endif %}
|
|
320
|
-
{% if example and example_curie %}
|
|
321
|
-
<dt>Example CURIE{% if resource.example_extras %}s{% endif %}</dt>
|
|
322
|
-
<dd>
|
|
323
|
-
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example) }}">{{ example_curie }}</a>
|
|
324
|
-
{% for example_curie_extra, example_extra in zip(example_curie_extras, example_extras) %}
|
|
325
|
-
<br />
|
|
326
|
-
<a href="{{ url_for("metaregistry_ui.reference", prefix=prefix, identifier=example_extra) }}">{{ example_curie_extra }}</a>
|
|
327
|
-
{% endfor %}
|
|
328
|
-
</dd>
|
|
329
|
-
{% endif %}
|
|
330
|
-
{% if namespace_in_lui %}
|
|
331
|
-
<dt><i class="fas fa-info-circle"></i> MIRIAM Namespace Embedded in LUI</dt>
|
|
332
|
-
<dd>
|
|
333
|
-
The legacy MIRIAM standard for generating CURIEs with this resource
|
|
334
|
-
annotates the <code>namespaceEmbeddedInLUI</code> as true.
|
|
335
|
-
{{ get_banana_text() }}
|
|
336
|
-
</dd>
|
|
337
|
-
{% elif banana %}
|
|
338
|
-
<dt><i class="fas fa-info-circle"></i> Namespace Embedded in LUI</dt>
|
|
339
|
-
<dd>
|
|
340
|
-
This resource has been annotated by the {{ config.METAREGISTRY_TITLE }} as having a potential
|
|
341
|
-
namespace embedded in LUI.
|
|
342
|
-
{{ get_banana_text() }}
|
|
343
|
-
</dd>
|
|
344
|
-
{% endif %}
|
|
345
233
|
|
|
346
234
|
{% set publications = resource.get_publications() %}
|
|
347
235
|
{% if publications %}
|
|
348
236
|
<dt>Publications</dt>
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
{% else %}
|
|
353
|
-
<ul>
|
|
354
|
-
{% for publication in publications %}
|
|
355
|
-
<li>{{ utils.render_publication(publication) }}</li>
|
|
356
|
-
{% endfor %}
|
|
357
|
-
</ul>
|
|
358
|
-
{% endif %}
|
|
359
|
-
</dd>
|
|
237
|
+
{%- for publication in publications %}
|
|
238
|
+
<dd>{{ utils.render_publication(publication) }}</dd>
|
|
239
|
+
{%- endfor %}
|
|
360
240
|
{% endif %}
|
|
361
241
|
{% if resource.references %}
|
|
362
242
|
<dt>References</dt>
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
{{ utils.render_reference(resource.references[0]) }}
|
|
366
|
-
{% else %}
|
|
367
|
-
<ul>
|
|
368
|
-
{% for reference in resource.references %}
|
|
369
|
-
<li>{{ utils.render_reference(reference) }}</li>
|
|
370
|
-
{% endfor %}
|
|
371
|
-
</ul>
|
|
372
|
-
{% endif %}
|
|
373
|
-
</dd>
|
|
374
|
-
{% endif %}
|
|
375
|
-
{% if resource.contributor or resource.contributor_extras %}
|
|
376
|
-
<dt>Contributors</dt>
|
|
377
|
-
<dd>
|
|
378
|
-
<ul>
|
|
379
|
-
{% if resource.contributor %}
|
|
380
|
-
<li>
|
|
381
|
-
<span class="badge badge-info">submitter</span> {{ utils.render_author(resource.contributor, link=url_for('metaregistry_ui.contributor', orcid=resource.contributor.orcid)) }}
|
|
382
|
-
</li>
|
|
383
|
-
{% endif %}
|
|
384
|
-
{% for contributor in resource.contributor_extras or [] %}
|
|
385
|
-
<li>
|
|
386
|
-
<span class="badge badge-info">contributor</span> {{ utils.render_author(contributor, link=url_for('metaregistry_ui.contributor', orcid=contributor.orcid)) }}
|
|
387
|
-
</li>
|
|
388
|
-
{% endfor %}
|
|
389
|
-
</ul>
|
|
390
|
-
</dd>
|
|
391
|
-
{% endif %}
|
|
392
|
-
{% if resource.reviewer %}
|
|
393
|
-
<dt>Reviewer</dt>
|
|
394
|
-
<dd>
|
|
395
|
-
{{ utils.render_author(resource.reviewer, link=url_for('metaregistry_ui.contributor', orcid=resource.reviewer.orcid)) }}
|
|
396
|
-
</dd>
|
|
397
|
-
{%- for reviewer in resource.reviewer_extras or [] %}
|
|
398
|
-
<dd>
|
|
399
|
-
{{ utils.render_author(reviewer, link=url_for('metaregistry_ui.contributor', orcid=reviewer.orcid)) }}
|
|
400
|
-
</dd>
|
|
243
|
+
{%- for reference in resource.references %}
|
|
244
|
+
<dd>{{ utils.render_reference(reference) }}</dd>
|
|
401
245
|
{%- endfor %}
|
|
402
246
|
{% endif %}
|
|
403
247
|
</dl>
|
|
404
248
|
</div>
|
|
405
|
-
|
|
406
249
|
</div>
|
|
407
250
|
|
|
251
|
+
{% include "resource-standards.html" %}
|
|
252
|
+
|
|
253
|
+
{% include "resource-bibliometrics.html" %}
|
|
254
|
+
|
|
408
255
|
{% if provides or provided_by or part_of or has_parts or has_canonical or canonical_for or depends_on or appears_in or in_collections %}
|
|
409
256
|
<div class="card" style="margin-top: 20px">
|
|
410
257
|
<a id="ontology"></a>
|
|
@@ -572,20 +419,6 @@
|
|
|
572
419
|
</div>
|
|
573
420
|
{% endif %}
|
|
574
421
|
|
|
575
|
-
{% if resource.get_rdf_uri_format() %}
|
|
576
|
-
<div class="card" style="margin-top: 20px">
|
|
577
|
-
<h5 class="card-header">RDF Information</h5>
|
|
578
|
-
<div class="card-body">
|
|
579
|
-
<p>
|
|
580
|
-
When using this resource in RDF, the following URI format should be used:
|
|
581
|
-
</p>
|
|
582
|
-
<p>
|
|
583
|
-
<code>{{ resource.get_rdf_uri_format() }}</code>
|
|
584
|
-
</p>
|
|
585
|
-
</div>
|
|
586
|
-
</div>
|
|
587
|
-
{% endif %}
|
|
588
|
-
|
|
589
422
|
{% if not resource.no_own_terms %}
|
|
590
423
|
<div class="card" style="margin-top: 20px">
|
|
591
424
|
<a id="providers"></a>
|
|
@@ -623,7 +456,7 @@
|
|
|
623
456
|
{% if providers %}
|
|
624
457
|
<p>
|
|
625
458
|
The local unique identifier <code>{{ example }}</code> is used to demonstrate the providers
|
|
626
|
-
available for {{ name_pack.value }}. Some providers may use a different example, which is displayed in the table below.
|
|
459
|
+
available for {{ name_pack.value }}. Some providers may use a different example, which is displayed in the table below.
|
|
627
460
|
A guide for curating additional providers can be found
|
|
628
461
|
<a href="{{ config.METAREGISTRY_REPOSITORY_PAGES }}/curation/providers">here</a>.
|
|
629
462
|
</p>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"""Import a resource from a LinkML configuration.
|
|
2
|
+
|
|
3
|
+
This curation workflow can be called from the command line by passing a URL to a LinkML
|
|
4
|
+
YAML configuration file like in the following:
|
|
5
|
+
|
|
6
|
+
.. code-block:: console
|
|
7
|
+
|
|
8
|
+
$ python -m bioregistry.curation.add_linkml https://github.com/HendrikBorgelt/CatCore/blob/main/src/catcore/schema/catcore.yaml
|
|
9
|
+
|
|
10
|
+
Here are some more example LinkML YAML configuration files:
|
|
11
|
+
|
|
12
|
+
- https://github.com/HendrikBorgelt/CatCore/blob/main/src/catcore/schema/catcore.yaml
|
|
13
|
+
- https://github.com/mapping-commons/sssom/blob/master/src/sssom_schema/schema/sssom_schema.yaml
|
|
14
|
+
|
|
15
|
+
.. warning::
|
|
16
|
+
|
|
17
|
+
This workflow doesn't produce complete Bioregistry records! You still must add:
|
|
18
|
+
|
|
19
|
+
1. ``homepage``
|
|
20
|
+
2. ``contributor``
|
|
21
|
+
|
|
22
|
+
Given most LinkML configurations are on GitHub, you can probably figure out:
|
|
23
|
+
|
|
24
|
+
- ``repository``
|
|
25
|
+
- ``contact``
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
import click
|
|
29
|
+
import requests
|
|
30
|
+
import yaml
|
|
31
|
+
|
|
32
|
+
import bioregistry
|
|
33
|
+
|
|
34
|
+
__all__ = [
|
|
35
|
+
"get_resource_from_linkml",
|
|
36
|
+
"import_from_linkml",
|
|
37
|
+
"import_from_linkml_cli",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def import_from_linkml(url: str) -> None:
|
|
42
|
+
"""Get a resource from a LinkML configuration and write it to the registry.
|
|
43
|
+
|
|
44
|
+
:param url: The URL to a LinkML YAML configuration file.
|
|
45
|
+
:returns: A Bioregistry resource object
|
|
46
|
+
"""
|
|
47
|
+
resource = get_resource_from_linkml(url)
|
|
48
|
+
bioregistry.manager.add_resource(resource)
|
|
49
|
+
bioregistry.manager.write_registry()
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def get_resource_from_linkml(url: str) -> bioregistry.Resource:
|
|
53
|
+
"""Get a resource from a LinkML configuration.
|
|
54
|
+
|
|
55
|
+
:param url: The URL to a LinkML YAML configuration file.
|
|
56
|
+
:returns: A Bioregistry resource object
|
|
57
|
+
"""
|
|
58
|
+
res = requests.get(url, timeout=5)
|
|
59
|
+
res.raise_for_status()
|
|
60
|
+
data = yaml.safe_load(res.text)
|
|
61
|
+
|
|
62
|
+
prefix = data.pop("default_prefix")
|
|
63
|
+
prefix_map = data.pop("prefixes")
|
|
64
|
+
uri_prefix = prefix_map.pop(prefix)
|
|
65
|
+
|
|
66
|
+
classes = data.pop("classes")
|
|
67
|
+
first_class = next(iter(classes))
|
|
68
|
+
|
|
69
|
+
rv = bioregistry.Resource(
|
|
70
|
+
prefix=prefix,
|
|
71
|
+
name=data.pop("title"),
|
|
72
|
+
description=data.pop("description").replace("\n", " ").replace(" ", " "),
|
|
73
|
+
license=data.pop("license", None),
|
|
74
|
+
uri_format=f"{uri_prefix}$1",
|
|
75
|
+
example=first_class,
|
|
76
|
+
version=data.pop("version", None),
|
|
77
|
+
)
|
|
78
|
+
return rv
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
@click.command()
|
|
82
|
+
@click.argument("url")
|
|
83
|
+
def import_from_linkml_cli(url: str) -> None:
|
|
84
|
+
"""Add a resource from the URL."""
|
|
85
|
+
import_from_linkml(url)
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
if __name__ == "__main__":
|
|
89
|
+
import_from_linkml_cli()
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"""Summarize NFDI consortia that don't have a collection."""
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
import wikidata_client
|
|
5
|
+
|
|
6
|
+
import bioregistry
|
|
7
|
+
from bioregistry import Author, Collection, Organization
|
|
8
|
+
|
|
9
|
+
SPARQL = """\
|
|
10
|
+
SELECT ?wikidata ?name ?ror
|
|
11
|
+
WHERE {
|
|
12
|
+
?wikidata wdt:P361 wd:Q61658497; wdt:P31 wd:Q98270496 ; rdfs:label ?name .
|
|
13
|
+
FILTER (LANG(?name) = 'en')
|
|
14
|
+
OPTIONAL { ?wikidata wdt:P6782 ?ror . }
|
|
15
|
+
}
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@click.command()
|
|
20
|
+
def main() -> None:
|
|
21
|
+
"""Summarize NFDI consortia that don't have a collection."""
|
|
22
|
+
collections = bioregistry.read_collections()
|
|
23
|
+
max_collection_id = max(map(int, collections))
|
|
24
|
+
|
|
25
|
+
wikidata_client.query(SPARQL)
|
|
26
|
+
|
|
27
|
+
nfdi_organizations = [
|
|
28
|
+
Organization.model_validate(record) for record in wikidata_client.query(SPARQL)
|
|
29
|
+
]
|
|
30
|
+
wikidata_to_organization: dict[str, Organization] = {
|
|
31
|
+
organization.wikidata: organization
|
|
32
|
+
for organization in nfdi_organizations
|
|
33
|
+
if organization.wikidata
|
|
34
|
+
}
|
|
35
|
+
covered_wikidata: set[str] = {
|
|
36
|
+
organization.wikidata
|
|
37
|
+
for collection in collections.values()
|
|
38
|
+
for organization in collection.organizations or []
|
|
39
|
+
if organization.wikidata
|
|
40
|
+
}
|
|
41
|
+
missing = set(wikidata_to_organization) - covered_wikidata
|
|
42
|
+
if missing:
|
|
43
|
+
nfdi = Organization(name="NFDI", wikidata="Q61658497", ror="05qj6w324")
|
|
44
|
+
for wikidata in sorted(missing):
|
|
45
|
+
organization = wikidata_to_organization[wikidata]
|
|
46
|
+
max_collection_id += 1
|
|
47
|
+
collection = Collection(
|
|
48
|
+
identifier=f"{max_collection_id:07}",
|
|
49
|
+
name=f"{organization.name} Collection",
|
|
50
|
+
description=f"A collection of ontologies, controlled vocabularies, database, and schemas relevant for {organization.name}",
|
|
51
|
+
resources=["bioregistry"],
|
|
52
|
+
authors=[Author.get_charlie()],
|
|
53
|
+
organizations=[organization, nfdi],
|
|
54
|
+
)
|
|
55
|
+
bioregistry.manager.add_collection(collection)
|
|
56
|
+
bioregistry.manager.write_collections()
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
if __name__ == "__main__":
|
|
60
|
+
main()
|