From c25b43dbd8ce25e5fb46adae894b0dbe3ffb630e Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Tue, 12 Nov 2024 15:14:50 -0500 Subject: [PATCH 01/14] doc: A comment on current identification of URI and missing space into a description string --- dandischema/models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dandischema/models.py b/dandischema/models.py index eaa9826..943ad03 100644 --- a/dandischema/models.py +++ b/dandischema/models.py @@ -567,6 +567,7 @@ def __get_pydantic_json_schema__( if value.get("title") is None or value["title"] == prop.title(): value["title"] = name2title(prop) if re.match("\\^https?://", value.get("pattern", "")): + # triggers only for ROR in identifier value["format"] = "uri" if value.get("format", None) == "uri": value["maxLength"] = 1000 @@ -623,7 +624,7 @@ class PropertyValue(DandiBaseModel): ) # Note: recursive (circular or not) propertyID: Optional[Union[IdentifierType, AnyHttpUrl]] = Field( None, - description="A commonly used identifier for" + description="A commonly used identifier for " "the characteristic represented by the property. " "For example, a known prefix like DOI or a full URL.", json_schema_extra={"nskey": "schema"}, From f101d6666c2b4adeaf6beb53a357402739edb95a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 4 Nov 2024 09:35:14 -0500 Subject: [PATCH 02/14] RF: replace use of "identifiers" with "alternateIdentifiers" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Situation with "identifiers" is messy. We relied on it but it was not in datacite schema, but was allowed by API: https://support.datacite.org/docs/what-is-the-identifiers-attribute-in-the-rest-api > When creating or updating DOI alternateIdentifier metadata, the REST API accepts values in either the alternateIdentifiers or identifiers attributes. Including metadata in either attribute will populate the identifiers and alternateIdentifiers attributes in the REST API response and the alternateIdentifiers property in DataCite XML. And in jsonschema serialization of 4.5 "identifiers" was removed, see more in https://github.com/inveniosoftware/datacite/issues/81#issuecomment-1921727400 and there in. But I guess currently used 4.3 from datacite (not inveniosoftware) is still requiring identifiers, and hence this commit/solution is incomplete since does fail validation (see below). "identifiers" was removed from required only in 4.5 from inveniosoftware. ❯ python -m pytest -s -v dandischema/tests/test_datacite.py ============================================================= test session starts ============================================================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 -- /home/yoh/proj/dandi/dandischema/venv/3/bin/python cachedir: .pytest_cache rootdir: /home/yoh/proj/dandi/dandischema configfile: tox.ini plugins: rerunfailures-14.0, cov-6.0.0 collected 14 items dandischema/tests/test_datacite.py::test_datacite[000004] FAILED dandischema/tests/test_datacite.py::test_datacite[000008] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta0-datacite_checks0] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta1-datacite_checks1] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta2-datacite_checks2] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta3-datacite_checks3] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta4-datacite_checks4] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta5-datacite_checks5] FAILED dandischema/tests/test_datacite.py::test_dandimeta_datacite[additional_meta6-datacite_checks6] FAILED dandischema/tests/test_datacite.py::test_datacite_publish PASSED dandischema/tests/test_datacite.py::test_datacite_related_res_url[related_res_url0-related_ident_exp0] PASSED dandischema/tests/test_datacite.py::test_datacite_related_res_url[related_res_url1-related_ident_exp1] PASSED dandischema/tests/test_datacite.py::test_datacite_related_res_url[related_res_url2-related_ident_exp2] PASSED dandischema/tests/test_datacite.py::test_datacite_related_res_url[related_res_url3-related_ident_exp3] PASSED =================================================================== FAILURES =================================================================== ____________________________________________________________ test_datacite[000004] _____________________________________________________________ dandischema/tests/test_datacite.py:160: in test_datacite datacite = to_datacite(meta=meta, validate=True) dandischema/datacite.py:238: in to_datacite validate_datacite(datacite_dict) dandischema/datacite.py:258: in validate_datacite validator.validate(datacite_dict["data"]["attributes"]) venv/3/lib/python3.12/site-packages/jsonschema/validators.py:451: in validate raise error E jsonschema.exceptions.ValidationError: 'identifiers' is a required property E E Failed validating 'required' in schema: E {'$schema': 'http://json-schema.org/draft-07/schema#', E 'definitions': {'nameType': {'type': 'string', E 'enum': ['Organizational', 'Personal']}, E 'nameIdentifiers': {'type': 'array', E 'items': {'type': 'object', E 'properties': {'nameIdentifier': {'type': 'string'}, E 'nameIdentifierScheme': {'type': 'string'}, E 'schemeURI': {'type': 'string', E 'format': 'uri'}}, E 'required': ['nameIdentifier', E 'nameIdentifierScheme']}, --- dandischema/datacite/__init__.py | 15 +++++++++------ dandischema/datacite/tests/test_datacite.py | 14 +++++++------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/dandischema/datacite/__init__.py b/dandischema/datacite/__init__.py index 8a8040d..98365f5 100644 --- a/dandischema/datacite/__init__.py +++ b/dandischema/datacite/__init__.py @@ -78,16 +78,19 @@ def to_datacite( if publish: attributes["event"] = "publish" - attributes["identifiers"] = [ + attributes["alternateIdentifiers"] = [ # TODO: the first element is ignored, not sure how to fix it... - {"identifier": f"https://doi.org/{meta.doi}", "identifierType": "DOI"}, { - "identifier": f"https://identifiers.org/{meta.id}", - "identifierType": "URL", + "alternateIdentifier": f"https://doi.org/{meta.doi}", + "alternateIdentifierType": "DOI", }, { - "identifier": str(meta.url), - "identifierType": "URL", + "alternateIdentifier": f"https://identifiers.org/{meta.id}", + "alternateIdentifierType": "URL", + }, + { + "alternateIdentifier": str(meta.url), + "alternateIdentifierType": "URL", }, ] diff --git a/dandischema/datacite/tests/test_datacite.py b/dandischema/datacite/tests/test_datacite.py index f1d129a..d3ab158 100644 --- a/dandischema/datacite/tests/test_datacite.py +++ b/dandischema/datacite/tests/test_datacite.py @@ -441,24 +441,24 @@ def test_datacite_publish(metadata_basic: Dict[str, Any]) -> None: {"description": "testing", "descriptionType": "Abstract"} ], "doi": f"10.80507/dandi.{dandi_id_noprefix}/{version}", - "identifiers": [ + "alternateIdentifiers": [ { - "identifier": ( + "alternateIdentifier": ( f"https://doi.org/10.80507" f"/dandi.{dandi_id_noprefix}/{version}" ), - "identifierType": "DOI", + "alternateIdentifierType": "DOI", }, { - "identifier": f"https://identifiers.org/{dandi_id}/{version}", - "identifierType": "URL", + "alternateIdentifier": f"https://identifiers.org/{dandi_id}/{version}", + "alternateIdentifierType": "URL", }, { - "identifier": ( + "alternateIdentifier": ( f"https://dandiarchive.org/dandiset" f"/{dandi_id_noprefix}/{version}" ), - "identifierType": "URL", + "alternateIdentifierType": "URL", }, ], "publicationYear": "1970", From 2095d3e04a90ac88afa5353f97b3ffe7b9c5f677 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 4 Nov 2024 10:11:38 -0500 Subject: [PATCH 03/14] RF: "upgrade" to datacite v4.5 jsonschema serialization, now from inveniosoftware Done in hope to see "non-standard" identifiers being gone but immediate fail is ___ test_dandimeta_datacite[additional_meta6-datacite_checks6] _ dandischema/tests/test_datacite.py:407: in test_dandimeta_datacite validator.validate(datacite["data"]["attributes"]) venv/3/lib/python3.12/site-packages/jsonschema/validators.py:451: in validate raise error E jsonschema.exceptions.ValidationError: 'DANDI Archive' is not of type 'object' E E Failed validating 'type' in schema['properties']['publisher']: E {'type': 'object', E 'additionalProperties': False, E 'properties': {'name': {'type': 'string'}, E 'publisherIdentifier': {'type': 'string'}, E 'publisherIdentifierScheme': {'type': 'string'}, E 'schemeUri': {'type': 'string', 'format': 'uri'}, E 'lang': {'type': 'string'}}, E 'required': ['name']} E E On instance['publisher']: E 'DANDI Archive' So we need to standardize "publisher" better --- dandischema/datacite/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dandischema/datacite/__init__.py b/dandischema/datacite/__init__.py index 98365f5..238a5d0 100644 --- a/dandischema/datacite/__init__.py +++ b/dandischema/datacite/__init__.py @@ -255,7 +255,7 @@ def to_datacite( @lru_cache() -def _get_datacite_schema(version_id: str = "datacite-4.3-17-gaa5db56") -> Any: +def _get_datacite_schema(version_id: str = "inveniosoftware-4.5-81-g160250d") -> Any: """Load datacite schema based on the version id provided.""" schema_folder = Path(__file__).parent / "schema" return json.loads((schema_folder / f"{version_id}.json").read_text()) From dc1916835a61aef8db84ae7957337167fed63df4 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 4 Nov 2024 18:44:09 -0500 Subject: [PATCH 04/14] Elaborate "publisher" into expected record, and schemeURI -> schemeUri --- dandischema/datacite/__init__.py | 12 +++++++--- dandischema/datacite/tests/test_datacite.py | 25 ++++++++++++++++----- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/dandischema/datacite/__init__.py b/dandischema/datacite/__init__.py index 238a5d0..96e17c2 100644 --- a/dandischema/datacite/__init__.py +++ b/dandischema/datacite/__init__.py @@ -101,7 +101,13 @@ def to_datacite( attributes["descriptions"] = [ {"description": meta.description, "descriptionType": "Abstract"} ] - attributes["publisher"] = "DANDI Archive" + attributes["publisher"] = { + "name": "DANDI Archive", + "schemeUri": "https://scicrunch.org/resolver/", + "publisherIdentifier": "https://scicrunch.org/resolver/RRID:SCR_017571", + "publisherIdentifierScheme": "RRID", + "lang": "en", + } attributes["publicationYear"] = str(meta.datePublished.year) # not sure about it dandi-api had "resourceTypeGeneral": "NWB" attributes["types"] = { @@ -113,7 +119,7 @@ def to_datacite( # assuming that all licenses are from SPDX? attributes["rightsList"] = [ { - "schemeURI": "https://spdx.org/licenses/", + "schemeUri": "https://spdx.org/licenses/", "rightsIdentifierScheme": "SPDX", "rightsIdentifier": el.name, } @@ -150,7 +156,7 @@ def to_datacite( contr_dict: Dict[str, Any] = { "name": contr_el.name, "contributorName": contr_el.name, - "schemeURI": "orcid.org", + "schemeUri": "orcid.org", } if isinstance(contr_el, Person): contr_dict["nameType"] = "Personal" diff --git a/dandischema/datacite/tests/test_datacite.py b/dandischema/datacite/tests/test_datacite.py index d3ab158..43d7480 100644 --- a/dandischema/datacite/tests/test_datacite.py +++ b/dandischema/datacite/tests/test_datacite.py @@ -150,7 +150,16 @@ def test_datacite(dandi_id: str, schema: Any) -> None: 1, {"description": "testing", "descriptionType": "Abstract"}, ), - "publisher": (None, "DANDI Archive"), + "publisher": ( + None, + { + "name": "DANDI Archive", + "publisherIdentifier": "https://scicrunch.org/resolver/RRID:SCR_017571", + "publisherIdentifierScheme": "RRID", + "schemeUri": "https://scicrunch.org/resolver/", + "lang": "en", + }, + ), "rightsList": ( 1, {"rightsIdentifierScheme": "SPDX", "rightsIdentifier": "CC_BY_40"}, @@ -423,7 +432,7 @@ def test_datacite_publish(metadata_basic: Dict[str, Any]) -> None: "givenName": "A_first", "name": "A_last, A_first", "nameType": "Personal", - "schemeURI": "orcid.org", + "schemeUri": "orcid.org", } ], "creators": [ @@ -434,7 +443,7 @@ def test_datacite_publish(metadata_basic: Dict[str, Any]) -> None: "givenName": "A_first", "name": "A_last, A_first", "nameType": "Personal", - "schemeURI": "orcid.org", + "schemeUri": "orcid.org", } ], "descriptions": [ @@ -462,12 +471,18 @@ def test_datacite_publish(metadata_basic: Dict[str, Any]) -> None: }, ], "publicationYear": "1970", - "publisher": "DANDI Archive", + "publisher": { + "name": "DANDI Archive", + "publisherIdentifier": "https://scicrunch.org/resolver/RRID:SCR_017571", + "publisherIdentifierScheme": "RRID", + "schemeUri": "https://scicrunch.org/resolver/", + "lang": "en", + }, "rightsList": [ { "rightsIdentifier": "CC_BY_40", "rightsIdentifierScheme": "SPDX", - "schemeURI": "https://spdx.org/licenses/", + "schemeUri": "https://spdx.org/licenses/", } ], "schemaVersion": "http://datacite.org/schema/kernel-4", From 1c83b9ac16dbe417179d88e6b4e28e64ccd81a87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Nov 2024 06:40:59 +0000 Subject: [PATCH 05/14] [gh-actions](deps): Bump codecov/codecov-action from 4 to 5 Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v4...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-nonetwork.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-nonetwork.yml b/.github/workflows/test-nonetwork.yml index 2f2302b..b4d3fd7 100644 --- a/.github/workflows/test-nonetwork.yml +++ b/.github/workflows/test-nonetwork.yml @@ -47,7 +47,7 @@ jobs: DANDI_TESTS_NONETWORK: 1 - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: file: ./coverage.xml flags: unittests diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cdf236a..e17943c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: run: tox -e py -- -s --cov-report=xml - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: file: ./coverage.xml flags: unittests From ba9df7f99eb48cc15f695e3bf0689b70ba59f55b Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 20 Nov 2024 12:49:25 -0500 Subject: [PATCH 06/14] fix: nameIdentifiers should also be URLs This makes it all consistend with funderIdentifier, alternateIdentifier and may be others. rightsIdentifier was found to be different (thereis rightsURI, no schemeUri) --- dandischema/datacite/__init__.py | 2 +- dandischema/datacite/tests/test_datacite.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dandischema/datacite/__init__.py b/dandischema/datacite/__init__.py index 96e17c2..93e05be 100644 --- a/dandischema/datacite/__init__.py +++ b/dandischema/datacite/__init__.py @@ -172,7 +172,7 @@ def to_datacite( contr_dict["affiliation"] = [] if getattr(contr_el, "identifier"): orcid_dict = { - "nameIdentifier": contr_el.identifier, + "nameIdentifier": f"https://orcid.org/{contr_el.identifier}", "nameIdentifierScheme": "ORCID", "schemeUri": "https://orcid.org/", } diff --git a/dandischema/datacite/tests/test_datacite.py b/dandischema/datacite/tests/test_datacite.py index 43d7480..862b238 100644 --- a/dandischema/datacite/tests/test_datacite.py +++ b/dandischema/datacite/tests/test_datacite.py @@ -311,7 +311,7 @@ def test_datacite(dandi_id: str, schema: Any) -> None: "name": "A_last, A_first", "nameIdentifiers": [ { - "nameIdentifier": "0000-0001-0000-0000", + "nameIdentifier": "https://orcid.org/0000-0001-0000-0000", "nameIdentifierScheme": "ORCID", "schemeUri": "https://orcid.org/", } @@ -325,7 +325,7 @@ def test_datacite(dandi_id: str, schema: Any) -> None: "contributorType": "Other", "nameIdentifiers": [ { - "nameIdentifier": "0000-0001-0000-0000", + "nameIdentifier": "https://orcid.org/0000-0001-0000-0000", "nameIdentifierScheme": "ORCID", "schemeUri": "https://orcid.org/", } From c48079cd6e566c8de5117cf1ac0c6210eb2a8716 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 20 Nov 2024 13:11:02 -0500 Subject: [PATCH 07/14] fix: remove the "DOI" from alternateIdentifiers It kinda historically dragged through time from the original 1056afb49fd945afc471e200d782bbff9de43cf1 in dandi-cli where it was added to "identifiers". As the wise @tmorell has mentioned, since it is the datacite which is to provide DOI, it would ignore DOI "alternateIdentifiers". I think it makes sensse overall, although there could potentially be multiple DOIs for a single dandiset -- nothing in DOI principle forbids it. But since original purpose here is not clear -- we better just strip it away since it should be the DOI minted by datacite fabrica as the one for the PublishedDandiset --- dandischema/datacite/__init__.py | 5 ----- dandischema/datacite/tests/test_datacite.py | 7 ------- 2 files changed, 12 deletions(-) diff --git a/dandischema/datacite/__init__.py b/dandischema/datacite/__init__.py index 93e05be..9475c43 100644 --- a/dandischema/datacite/__init__.py +++ b/dandischema/datacite/__init__.py @@ -79,11 +79,6 @@ def to_datacite( attributes["event"] = "publish" attributes["alternateIdentifiers"] = [ - # TODO: the first element is ignored, not sure how to fix it... - { - "alternateIdentifier": f"https://doi.org/{meta.doi}", - "alternateIdentifierType": "DOI", - }, { "alternateIdentifier": f"https://identifiers.org/{meta.id}", "alternateIdentifierType": "URL", diff --git a/dandischema/datacite/tests/test_datacite.py b/dandischema/datacite/tests/test_datacite.py index 862b238..c9e0d72 100644 --- a/dandischema/datacite/tests/test_datacite.py +++ b/dandischema/datacite/tests/test_datacite.py @@ -451,13 +451,6 @@ def test_datacite_publish(metadata_basic: Dict[str, Any]) -> None: ], "doi": f"10.80507/dandi.{dandi_id_noprefix}/{version}", "alternateIdentifiers": [ - { - "alternateIdentifier": ( - f"https://doi.org/10.80507" - f"/dandi.{dandi_id_noprefix}/{version}" - ), - "alternateIdentifierType": "DOI", - }, { "alternateIdentifier": f"https://identifiers.org/{dandi_id}/{version}", "alternateIdentifierType": "URL", From 6bafca4a76016db0f06f0d756b82e8e3df5ec620 Mon Sep 17 00:00:00 2001 From: Roni Choudhury Date: Tue, 10 Dec 2024 15:42:48 -0500 Subject: [PATCH 08/14] Use `title` in place of `examples` The `title` property is rendered by VJSF as dimmed placeholder text inside the field itself, which is a subtle but clear hint to the user to format the name correctly. This is simpler and less obtrusive than using `examples`, which causes VJSF to instead render a dropdown menu containing the examples. This prevents editing of an existing name and implies that the example names are the only suggested names in the system. --- dandischema/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dandischema/models.py b/dandischema/models.py index 943ad03..06d0a25 100644 --- a/dandischema/models.py +++ b/dandischema/models.py @@ -946,10 +946,10 @@ class Person(Contributor): json_schema_extra={"nskey": "schema"}, ) name: str = Field( + title="Lovelace, Augusta Ada", description="Use the format: familyname, given names ...", pattern=NAME_PATTERN, json_schema_extra={"nskey": "schema"}, - examples=["Lovelace, Augusta Ada", "Smith, John", "Chan, Kong-sang"], ) affiliation: Optional[List[Affiliation]] = Field( None, From b158cfc4dd6097646f2a24fd70b5b74d12131a94 Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Tue, 10 Dec 2024 19:26:05 -0500 Subject: [PATCH 09/14] requires release and schema version update --- dandischema/consts.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dandischema/consts.py b/dandischema/consts.py index 5689aed..029cb30 100644 --- a/dandischema/consts.py +++ b/dandischema/consts.py @@ -11,6 +11,7 @@ "0.6.5", "0.6.6", "0.6.7", + "0.6.8" ] # ATM we allow only for a single target version which is current From daa0d7096e862ff5d56db0547f529191f0b3a24b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 00:26:13 +0000 Subject: [PATCH 10/14] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- dandischema/consts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dandischema/consts.py b/dandischema/consts.py index 029cb30..eaadece 100644 --- a/dandischema/consts.py +++ b/dandischema/consts.py @@ -11,7 +11,7 @@ "0.6.5", "0.6.6", "0.6.7", - "0.6.8" + "0.6.8", ] # ATM we allow only for a single target version which is current From cec33a64becdabab654b88b7791dfd0df1658d94 Mon Sep 17 00:00:00 2001 From: Roni Choudhury <2903332+waxlamp@users.noreply.github.com> Date: Wed, 11 Dec 2024 11:06:34 -0500 Subject: [PATCH 11/14] Use more comprehensive title text Co-authored-by: Satrajit Ghosh --- dandischema/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dandischema/models.py b/dandischema/models.py index 06d0a25..bef8cf2 100644 --- a/dandischema/models.py +++ b/dandischema/models.py @@ -946,7 +946,7 @@ class Person(Contributor): json_schema_extra={"nskey": "schema"}, ) name: str = Field( - title="Lovelace, Augusta Ada", + title="Use Last, First. Example: Lovelace, Augusta Ada", description="Use the format: familyname, given names ...", pattern=NAME_PATTERN, json_schema_extra={"nskey": "schema"}, From 30586fd2e67df2238e0b41965f75383d7fcfd3e6 Mon Sep 17 00:00:00 2001 From: Satrajit Ghosh Date: Mon, 6 Jan 2025 13:31:59 -0500 Subject: [PATCH 12/14] update schema version thanks @candleindark --- dandischema/consts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dandischema/consts.py b/dandischema/consts.py index eaadece..9d9a988 100644 --- a/dandischema/consts.py +++ b/dandischema/consts.py @@ -1,4 +1,4 @@ -DANDI_SCHEMA_VERSION = "0.6.8" +DANDI_SCHEMA_VERSION = "0.6.9" ALLOWED_INPUT_SCHEMAS = [ "0.4.4", "0.5.1", From c86c2659b4648bf101ea46b6779d3399426afc4e Mon Sep 17 00:00:00 2001 From: DANDI Bot Date: Tue, 7 Jan 2025 01:48:12 +0000 Subject: [PATCH 13/14] Update CHANGELOG.md [skip ci] --- CHANGELOG.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5322625..5f6597b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ +# 0.11.0 (Tue Jan 07 2025) + +#### 🚀 Enhancement + +- Upgrade to datacite v4.5 serialization from inveniosoftware [#261](https://github.com/dandi/dandi-schema/pull/261) ([@yarikoptic](https://github.com/yarikoptic)) +- Add "version" to datacite record and bundle datacite json serializations [#260](https://github.com/dandi/dandi-schema/pull/260) ([@yarikoptic](https://github.com/yarikoptic)) +- Drop Python 3.8 support (remove typing_extensions from depends) [#262](https://github.com/dandi/dandi-schema/pull/262) ([@yarikoptic](https://github.com/yarikoptic)) + +#### 🐛 Bug Fix + +- Use `title` in place of `examples` [#271](https://github.com/dandi/dandi-schema/pull/271) ([@waxlamp](https://github.com/waxlamp) [@satra](https://github.com/satra) [@pre-commit-ci[bot]](https://github.com/pre-commit-ci[bot])) +- RF: detect BIDS based on having dataset_description.json [#263](https://github.com/dandi/dandi-schema/pull/263) ([@yarikoptic](https://github.com/yarikoptic)) +- Add support for detection and addition of ome/ngff "standard" into assets summary [#252](https://github.com/dandi/dandi-schema/pull/252) ([@yarikoptic](https://github.com/yarikoptic)) + +#### 🏠 Internal + +- [gh-actions](deps): Bump codecov/codecov-action from 4 to 5 [#267](https://github.com/dandi/dandi-schema/pull/267) ([@dependabot[bot]](https://github.com/dependabot[bot])) +- [pre-commit.ci] pre-commit autoupdate (black 24.8.0 → 24.10.0; pre-commit-hooks: v4.6.0 → v5.0.0) [#253](https://github.com/dandi/dandi-schema/pull/253) ([@pre-commit-ci[bot]](https://github.com/pre-commit-ci[bot])) + +#### 📝 Documentation + +- doc: A comment on current identification of URI and missing space into a description string [#265](https://github.com/dandi/dandi-schema/pull/265) ([@yarikoptic](https://github.com/yarikoptic)) + +#### Authors: 5 + +- [@dependabot[bot]](https://github.com/dependabot[bot]) +- [@pre-commit-ci[bot]](https://github.com/pre-commit-ci[bot]) +- Roni Choudhury ([@waxlamp](https://github.com/waxlamp)) +- Satrajit Ghosh ([@satra](https://github.com/satra)) +- Yaroslav Halchenko ([@yarikoptic](https://github.com/yarikoptic)) + +--- + # 0.10.4 (Thu Sep 05 2024) #### 🐛 Bug Fix From d9761219ccf40fb9abb223e5931b98acb7af4252 Mon Sep 17 00:00:00 2001 From: Kabilar Gunalan Date: Fri, 10 Jan 2025 22:47:34 -0600 Subject: [PATCH 14/14] Update URL for DANDI Docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a8cbe6a..de95db1 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,6 @@ out of the Pydantic models. ## Resources * To learn how to interact with the DANDI archive, -see [the handbook](https://www.dandiarchive.org/handbook/). +see the [DANDI Docs](https://docs.dandiarchive.org). * To file a feature request or bug report, go to https://github.com/dandi/helpdesk/issues/new/choose. * For all other issues, contact the DANDI team: help@dandiarchive.org.