From 159419c90d23c5f9984c4fca3d1677ea44eac821 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Mon, 12 Sep 2022 08:49:18 -0500 Subject: [PATCH 1/8] fix: Use codemetapy v2.2.1+ API --- .github/workflows/release_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_tests.yml b/.github/workflows/release_tests.yml index 62d34ea0f6..57e16b0700 100644 --- a/.github/workflows/release_tests.yml +++ b/.github/workflows/release_tests.yml @@ -45,6 +45,6 @@ jobs: # FIXME: c.f. https://github.com/proycon/codemetapy/issues/24 - name: Verify requirements in codemeta.json run: | - python -m pip install jq "codemetapy==0.3.5" + python -m pip install jq "codemetapy>=2.2.1" codemetapy --no-extras pyhf > codemeta_generated.json diff <(jq -S .softwareRequirements codemeta.json) <(jq -S .softwareRequirements codemeta_generated.json) From 2353713ca46e710b75c17e4c294bae6e3c120e6c Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Mon, 12 Sep 2022 08:50:03 -0500 Subject: [PATCH 2/8] Use --inputetype python --- .github/workflows/release_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_tests.yml b/.github/workflows/release_tests.yml index 57e16b0700..6fe16a93e6 100644 --- a/.github/workflows/release_tests.yml +++ b/.github/workflows/release_tests.yml @@ -46,5 +46,5 @@ jobs: - name: Verify requirements in codemeta.json run: | python -m pip install jq "codemetapy>=2.2.1" - codemetapy --no-extras pyhf > codemeta_generated.json + codemetapy --inputtype python --no-extras pyhf > codemeta_generated.json diff <(jq -S .softwareRequirements codemeta.json) <(jq -S .softwareRequirements codemeta_generated.json) From 018dca80a7561b07f60ccf971fd4ad05c5812685 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Mon, 12 Sep 2022 09:17:42 -0500 Subject: [PATCH 3/8] Update to new codemeta style --- codemeta.json | 173 ++++++++++++++++++++++---------------------------- 1 file changed, 76 insertions(+), 97 deletions(-) diff --git a/codemeta.json b/codemeta.json index 4ed05eed12..75ab02b553 100644 --- a/codemeta.json +++ b/codemeta.json @@ -1,159 +1,138 @@ { "@context": [ - "https://doi.org/10.5063/schema/codemeta-2.0", - "http://schema.org" + "https://raw.githubusercontent.com/codemeta/codemeta/2.0/codemeta.jsonld", + "https://raw.githubusercontent.com/schemaorg/schemaorg/main/data/releases/13.0/schemaorgcontext.jsonld", + "https://w3id.org/software-types", + "https://w3id.org/software-iodata" ], + "@id": "https://github.com/scikit-hep/pyhf", "@type": "SoftwareSourceCode", - "identifier": "pyhf", - "name": "pyhf", - "version": "0.7.0rc4", - "description": "pure-Python HistFactory implementation with tensors and autodiff", - "license": "Apache, OSI Approved :: Apache Software License", + "applicationCategory": [ + "Scientific/Engineering > Physics", + "Scientific/Engineering" + ], + "audience": { + "@id": "/audience/science-research", + "@type": "Audience", + "audienceType": "Science/Research" + }, "author": [ { - "@id": "https://orcid.org/0000-0002-4048-7584", + "@id": "/person/lukas-heinrich", "@type": "Person", - "givenName": "Lukas", + "email": "lukas.heinrich@cern.ch", "familyName": "Heinrich", - "email": "lukas.heinrich@cern.ch" + "givenName": "Lukas", + "position": 1 }, { - "@id": "https://orcid.org/0000-0003-4124-7862", + "@id": "/person/matthew-feickert", "@type": "Person", - "givenName": "Matthew", + "email": " matthew.feickert@cern.ch", "familyName": "Feickert", - "email": "matthew.feickert@cern.ch" + "givenName": "Matthew", + "position": 2 }, { - "@id": "https://orcid.org/0000-0001-6616-3433", + "@id": "/person/giordon-stark", "@type": "Person", - "givenName": "Giordon", + "email": " gstark@cern.ch", "familyName": "Stark", - "email": "gstark@cern.ch" + "givenName": "Giordon", + "position": 3 } ], + "codeRepository": "https://github.com/scikit-hep/pyhf", + "description": "pure-Python HistFactory implementation with tensors and autodiff", + "developmentStatus": "https://www.repostatus.org/#wip", + "identifier": "pyhf", + "issueTracker": "https://github.com/scikit-hep/pyhf/issues", + "keywords": "physics fitting numpy scipy tensorflow pytorch jax", + "license": "http://spdx.org/licenses/Apache-2.0", + "name": "pyhf", + "runtimePlatform": [ + "Python 3", + "Python 3.10", + "Python 3.7", + "Python 3.9", + "Python 3.8", + "Python 3 Only", + "Python Implementation CPython" + ], "softwareRequirements": [ { + "@id": "/dependency/jsonschema-ge-3.0.0", "@type": "SoftwareApplication", - "identifier": "scipy", - "name": "scipy", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, + "identifier": "jsonschema", + "name": "jsonschema", "runtimePlatform": "Python 3", - "version": ">=1.1.0" + "version": ">=3.0.0" }, { + "@id": "/dependency/scipy-ge-1.1.0", "@type": "SoftwareApplication", - "identifier": "click", - "name": "click", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, + "identifier": "scipy", + "name": "scipy", "runtimePlatform": "Python 3", - "version": ">=8.0.0" + "version": ">=1.1.0" }, { + "@id": "/dependency/typing-extensions-ge-3.7.4.3", "@type": "SoftwareApplication", - "identifier": "tqdm", - "name": "tqdm", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, + "identifier": "typing-extensions", + "name": "typing-extensions", "runtimePlatform": "Python 3", - "version": ">=4.56.0" + "version": ">=3.7.4.3" }, { + "@id": "/dependency/click-ge-8.0.0", "@type": "SoftwareApplication", - "identifier": "jsonschema", - "name": "jsonschema", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, + "identifier": "click", + "name": "click", "runtimePlatform": "Python 3", - "version": ">=4.15.0" + "version": ">=8.0.0" }, { + "@id": "/dependency/jsonpatch-ge-1.15", "@type": "SoftwareApplication", "identifier": "jsonpatch", "name": "jsonpatch", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, "runtimePlatform": "Python 3", "version": ">=1.15" }, { + "@id": "/dependency/pyyaml-ge-5.1", "@type": "SoftwareApplication", "identifier": "pyyaml", "name": "pyyaml", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, "runtimePlatform": "Python 3", "version": ">=5.1" }, { + "@id": "/dependency/importlib-resources-ge-1.3.0", "@type": "SoftwareApplication", "identifier": "importlib-resources", "name": "importlib-resources", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, "runtimePlatform": "Python 3", - "version": ">=1.4.0" + "version": ">=1.3.0" }, { + "@id": "/dependency/tqdm-ge-4.56.0", "@type": "SoftwareApplication", - "identifier": "typing-extensions", - "name": "typing-extensions", - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" - }, + "identifier": "tqdm", + "name": "tqdm", "runtimePlatform": "Python 3", - "version": ">=3.7.4.3" - } - ], - "audience": [ - { - "@type": "Audience", - "audienceType": "Science/Research" + "version": ">=4.56.0" } ], - "provider": { - "@id": "https://pypi.org", - "@type": "Organization", - "name": "The Python Package Index", - "url": "https://pypi.org" + "targetProduct": { + "@id": "/commandlineapplication/pyhf", + "@type": "CommandLineApplication", + "description": "The pyhf command line interface.", + "executableName": "pyhf", + "name": "pyhf", + "runtimePlatform": "Python 3" }, - "runtimePlatform": "Python 3", - "url": "https://github.com/scikit-hep/pyhf", - "keywords": "physics fitting numpy scipy tensorflow pytorch jax", - "developmentStatus": "4 - Beta", - "applicationCategory": "Scientific/Engineering, Scientific/Engineering :: Physics", - "programmingLanguage": "Python 3, Python 3 Only, Python 3.7, Python 3.8, Python 3.9, Python 3.10, Python Implementation CPython" + "url": "https://pyhf.readthedocs.io/en/stable/release-notes.html", + "version": "0.7.0rc4" } From 5864d9133ccef26adfa1ea79fe07028d78a552c8 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Mon, 12 Sep 2022 09:26:35 -0500 Subject: [PATCH 4/8] Update codemeta again --- codemeta.json | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/codemeta.json b/codemeta.json index 75ab02b553..03f2166989 100644 --- a/codemeta.json +++ b/codemeta.json @@ -8,8 +8,8 @@ "@id": "https://github.com/scikit-hep/pyhf", "@type": "SoftwareSourceCode", "applicationCategory": [ - "Scientific/Engineering > Physics", - "Scientific/Engineering" + "Scientific/Engineering", + "Scientific/Engineering > Physics" ], "audience": { "@id": "/audience/science-research", @@ -51,22 +51,38 @@ "license": "http://spdx.org/licenses/Apache-2.0", "name": "pyhf", "runtimePlatform": [ - "Python 3", - "Python 3.10", - "Python 3.7", "Python 3.9", "Python 3.8", "Python 3 Only", - "Python Implementation CPython" + "Python Implementation CPython", + "Python 3.10", + "Python 3", + "Python 3.7" ], "softwareRequirements": [ { - "@id": "/dependency/jsonschema-ge-3.0.0", + "@id": "/dependency/click-ge-8.0.0", + "@type": "SoftwareApplication", + "identifier": "click", + "name": "click", + "runtimePlatform": "Python 3", + "version": ">=8.0.0" + }, + { + "@id": "/dependency/jsonschema-ge-4.15.0", "@type": "SoftwareApplication", "identifier": "jsonschema", "name": "jsonschema", "runtimePlatform": "Python 3", - "version": ">=3.0.0" + "version": ">=4.15.0" + }, + { + "@id": "/dependency/importlib-resources-ge-1.4.0", + "@type": "SoftwareApplication", + "identifier": "importlib-resources", + "name": "importlib-resources", + "runtimePlatform": "Python 3", + "version": ">=1.4.0" }, { "@id": "/dependency/scipy-ge-1.1.0", @@ -84,22 +100,6 @@ "runtimePlatform": "Python 3", "version": ">=3.7.4.3" }, - { - "@id": "/dependency/click-ge-8.0.0", - "@type": "SoftwareApplication", - "identifier": "click", - "name": "click", - "runtimePlatform": "Python 3", - "version": ">=8.0.0" - }, - { - "@id": "/dependency/jsonpatch-ge-1.15", - "@type": "SoftwareApplication", - "identifier": "jsonpatch", - "name": "jsonpatch", - "runtimePlatform": "Python 3", - "version": ">=1.15" - }, { "@id": "/dependency/pyyaml-ge-5.1", "@type": "SoftwareApplication", @@ -109,12 +109,12 @@ "version": ">=5.1" }, { - "@id": "/dependency/importlib-resources-ge-1.3.0", + "@id": "/dependency/jsonpatch-ge-1.15", "@type": "SoftwareApplication", - "identifier": "importlib-resources", - "name": "importlib-resources", + "identifier": "jsonpatch", + "name": "jsonpatch", "runtimePlatform": "Python 3", - "version": ">=1.3.0" + "version": ">=1.15" }, { "@id": "/dependency/tqdm-ge-4.56.0", From 6a61f3a98266ec00a5802b281ac40c2c69738f18 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 13 Sep 2022 15:08:15 -0500 Subject: [PATCH 5/8] Update codemta.json for reproduciblity --- codemeta.json | 64 +++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/codemeta.json b/codemeta.json index 03f2166989..16c277a6e0 100644 --- a/codemeta.json +++ b/codemeta.json @@ -1,9 +1,9 @@ { "@context": [ "https://raw.githubusercontent.com/codemeta/codemeta/2.0/codemeta.jsonld", + "https://w3id.org/software-iodata", "https://raw.githubusercontent.com/schemaorg/schemaorg/main/data/releases/13.0/schemaorgcontext.jsonld", - "https://w3id.org/software-types", - "https://w3id.org/software-iodata" + "https://w3id.org/software-types" ], "@id": "https://github.com/scikit-hep/pyhf", "@type": "SoftwareSourceCode", @@ -28,7 +28,7 @@ { "@id": "/person/matthew-feickert", "@type": "Person", - "email": " matthew.feickert@cern.ch", + "email": "matthew.feickert@cern.ch", "familyName": "Feickert", "givenName": "Matthew", "position": 2 @@ -36,7 +36,7 @@ { "@id": "/person/giordon-stark", "@type": "Person", - "email": " gstark@cern.ch", + "email": "gstark@cern.ch", "familyName": "Stark", "givenName": "Giordon", "position": 3 @@ -50,15 +50,19 @@ "keywords": "physics fitting numpy scipy tensorflow pytorch jax", "license": "http://spdx.org/licenses/Apache-2.0", "name": "pyhf", + "releaseNotes": "https://pyhf.readthedocs.io/en/stable/release-notes.html", "runtimePlatform": [ - "Python 3.9", - "Python 3.8", + "Python 3", "Python 3 Only", - "Python Implementation CPython", "Python 3.10", - "Python 3", - "Python 3.7" + "Python 3.7", + "Python 3.8", + "Python 3.9", + "Python Implementation CPython" ], + "softwareHelp": { + "@id": "https://pyhf.readthedocs.io/" + }, "softwareRequirements": [ { "@id": "/dependency/click-ge-8.0.0", @@ -68,14 +72,6 @@ "runtimePlatform": "Python 3", "version": ">=8.0.0" }, - { - "@id": "/dependency/jsonschema-ge-4.15.0", - "@type": "SoftwareApplication", - "identifier": "jsonschema", - "name": "jsonschema", - "runtimePlatform": "Python 3", - "version": ">=4.15.0" - }, { "@id": "/dependency/importlib-resources-ge-1.4.0", "@type": "SoftwareApplication", @@ -85,20 +81,20 @@ "version": ">=1.4.0" }, { - "@id": "/dependency/scipy-ge-1.1.0", + "@id": "/dependency/jsonpatch-ge-1.15", "@type": "SoftwareApplication", - "identifier": "scipy", - "name": "scipy", + "identifier": "jsonpatch", + "name": "jsonpatch", "runtimePlatform": "Python 3", - "version": ">=1.1.0" + "version": ">=1.15" }, { - "@id": "/dependency/typing-extensions-ge-3.7.4.3", + "@id": "/dependency/jsonschema-ge-4.15.0", "@type": "SoftwareApplication", - "identifier": "typing-extensions", - "name": "typing-extensions", + "identifier": "jsonschema", + "name": "jsonschema", "runtimePlatform": "Python 3", - "version": ">=3.7.4.3" + "version": ">=4.15.0" }, { "@id": "/dependency/pyyaml-ge-5.1", @@ -109,12 +105,12 @@ "version": ">=5.1" }, { - "@id": "/dependency/jsonpatch-ge-1.15", + "@id": "/dependency/scipy-ge-1.1.0", "@type": "SoftwareApplication", - "identifier": "jsonpatch", - "name": "jsonpatch", + "identifier": "scipy", + "name": "scipy", "runtimePlatform": "Python 3", - "version": ">=1.15" + "version": ">=1.1.0" }, { "@id": "/dependency/tqdm-ge-4.56.0", @@ -123,6 +119,14 @@ "name": "tqdm", "runtimePlatform": "Python 3", "version": ">=4.56.0" + }, + { + "@id": "/dependency/typing-extensions-ge-3.7.4.3", + "@type": "SoftwareApplication", + "identifier": "typing-extensions", + "name": "typing-extensions", + "runtimePlatform": "Python 3", + "version": ">=3.7.4.3" } ], "targetProduct": { @@ -133,6 +137,6 @@ "name": "pyhf", "runtimePlatform": "Python 3" }, - "url": "https://pyhf.readthedocs.io/en/stable/release-notes.html", + "url": "https://github.com/scikit-hep/pyhf", "version": "0.7.0rc4" } From 27cd8f9326c6cac6b4b6a2c312e4da1a2ba88416 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 13 Sep 2022 15:08:40 -0500 Subject: [PATCH 6/8] update for reproducible runs --- .github/workflows/release_tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_tests.yml b/.github/workflows/release_tests.yml index 6fe16a93e6..c161badf75 100644 --- a/.github/workflows/release_tests.yml +++ b/.github/workflows/release_tests.yml @@ -45,6 +45,6 @@ jobs: # FIXME: c.f. https://github.com/proycon/codemetapy/issues/24 - name: Verify requirements in codemeta.json run: | - python -m pip install jq "codemetapy>=2.2.1" + python -m pip install jq "codemetapy>=2.2.2" codemetapy --inputtype python --no-extras pyhf > codemeta_generated.json diff <(jq -S .softwareRequirements codemeta.json) <(jq -S .softwareRequirements codemeta_generated.json) From 892cb253b4e0a32ea56f94f6aacf207eebc0ce28 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 13 Sep 2022 15:17:24 -0500 Subject: [PATCH 7/8] Add ORCID through identifier attribute URL identifier, ideally an ORCID ID for individuals, a FundRef ID for funders c.f. https://codemeta.github.io/terms/ --- codemeta.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/codemeta.json b/codemeta.json index 16c277a6e0..cd7e9c784f 100644 --- a/codemeta.json +++ b/codemeta.json @@ -23,6 +23,7 @@ "email": "lukas.heinrich@cern.ch", "familyName": "Heinrich", "givenName": "Lukas", + "identifier": "https://orcid.org/0000-0002-4048-7584", "position": 1 }, { @@ -31,6 +32,7 @@ "email": "matthew.feickert@cern.ch", "familyName": "Feickert", "givenName": "Matthew", + "identifier": "https://orcid.org/0000-0003-4124-7862", "position": 2 }, { @@ -39,6 +41,7 @@ "email": "gstark@cern.ch", "familyName": "Stark", "givenName": "Giordon", + "identifier": "https://orcid.org/0000-0001-6616-3433", "position": 3 } ], From 26b6aa39f2d6c8d0716e37efbd0087c13d54a6f2 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Tue, 13 Sep 2022 15:20:26 -0500 Subject: [PATCH 8/8] specify developmentStatus --- codemeta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codemeta.json b/codemeta.json index cd7e9c784f..10b19f4781 100644 --- a/codemeta.json +++ b/codemeta.json @@ -47,7 +47,7 @@ ], "codeRepository": "https://github.com/scikit-hep/pyhf", "description": "pure-Python HistFactory implementation with tensors and autodiff", - "developmentStatus": "https://www.repostatus.org/#wip", + "developmentStatus": "4 - Beta", "identifier": "pyhf", "issueTracker": "https://github.com/scikit-hep/pyhf/issues", "keywords": "physics fitting numpy scipy tensorflow pytorch jax",