Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add v3.0.0 schema with initial sample schema #72

Merged
merged 20 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
90eb489
add v2.1.0 schema with initial smaple schema
annakrystalli Apr 24, 2024
d89e889
Bump relesease version to breaking v3.0.0
annakrystalli Apr 29, 2024
4c23950
Add v3.0.0 breaking change description to news
annakrystalli Apr 29, 2024
ef43d29
Add missing sample value type specifications
annakrystalli Apr 30, 2024
8f9cee3
Split repository_url property into org name and repository name. Reso…
annakrystalli May 1, 2024
5cf6bab
Minor description improvement
annakrystalli May 1, 2024
a7f81a6
Correct type
annakrystalli May 1, 2024
65226c8
Update v3.0.0/tasks-schema.json
annakrystalli May 7, 2024
25af54a
corrected 'repository_url' to 'repository' as 'required'
kjsato May 16, 2024
2e79b13
Merge pull request #75 from kjsato/br-v3.0.0
annakrystalli May 17, 2024
96c8b4c
remove hub_models property in admin.json
annakrystalli Jun 7, 2024
d975e2c
Update default value for model_output_directory. Resolves #63
annakrystalli Jun 7, 2024
02bba66
Allow additional properties at the round item level. Resolves #74
annakrystalli Jun 7, 2024
ac0a80f
add instruction to update hubTemplate with new versions. Resolves #78
annakrystalli Jun 7, 2024
13db017
Merge pull request #79 from Infectious-Disease-Modeling-Hubs/v3.0.0-h…
annakrystalli Jun 10, 2024
58ec18d
Rename org
annakrystalli Jun 17, 2024
3e8d2ff
Merge pull request #84 from hubverse-org/to-hubverse
annakrystalli Jun 17, 2024
b3f9b71
Merge branch 'main' into br-v3.0.0
annakrystalli Jun 19, 2024
c77ad63
Fix typo
annakrystalli Jun 19, 2024
e23d99e
Add note about orgname change
annakrystalli Jun 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# v3.0.0

* Breaking change: introduction of new `sample` output type id schema specification in `tasks.json`. The main breaking change is the removal of the `output_type_id` property in `sample`. Instead, the collection of samples is defined through a new `output_type_id_params` object (#70).
* Breaking change: The `repository_url` and `repository_host` properties in `admin.json` have been deprecated in favour of a sigle `repository` object with separate `host`, `owner` and `name` properties (#67).
* Breaking change: The optional `hub_models` property in `admin.json` has been removed as it's schema could create conflicts with the `model_abbr` and `team_abbr` schema specification in the hub administered `model-metadata-schema.json (#77).
* Additional properties are now allowed at the round item property level (#74).
* Host organisation name changed in schema `id` properties to `hubverse-org` throughout all schema versions.

# v2.0.1

* Non-breaking change: introduced an optional `cloud` group to `admin-schema.json` to support cloud-enabled Hubs:
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Modeling Hub Schemas
<!--- Badges --->
[![JSON Schema Valid](https://github.com/Infectious-Disease-Modeling-Hubs/schemas/actions/workflows/check-json-schema-valid.yaml/badge.svg)](https://github.com/Infectious-Disease-Modeling-Hubs/schemas/actions/workflows/check-json-schema-valid.yaml)
[![JSON Schema Valid](https://github.com/hubverse-org/schemas/actions/workflows/check-json-schema-valid.yaml/badge.svg)](https://github.com/hubverse-org/schemas/actions/workflows/check-json-schema-valid.yaml)
<!--- Badges-end --->

This repository houses JSON schemas for [the Consortium of Infectious Disease Modeling Hubs](https://github.com/Infectious-Disease-Modeling-Hubs). These schemas define the specifications for the configuration files that are required to be present in a modeling hub. Full documentation about modeling hubs can be found at [the Modeling Hub documentation site](https://hubdocs.readthedocs.io/en/latest/), with some [specific documentation about the schema files](https://hubdocs.readthedocs.io/en/latest/user-guide/model-metadata.html).

This repository houses JSON schemas for [the Consortium of Infectious Disease Modeling Hubs](https://github.com/hubverse-org). These schemas define the specifications for the configuration files that are required to be present in a modeling hub. Full documentation about modeling hubs can be found at [the Modeling Hub documentation site](https://hubdocs.readthedocs.io/en/latest/), with some [specific documentation about the schema files](https://hubverse.io/en/latest/user-guide/hub-config.html).

# Versioning

Expand All @@ -13,8 +14,10 @@ Wen creating new versions and making changes to the schema file, make sure to re

## Schema documentation


The [`HubDocs`](https://hubdocs.readthedocs.io/en/latest/index.html) documentation site is the primary location for documenting schema usage. It is also [versioned by using releases](https://docs.readthedocs.io/en/stable/versions.html) and should track releases in this repository.


After making a new release to the schema repository, ensure `hubDocs` are also appropriately updated and an associated new release in the `hubDocs` repository also created.

## New schema version development process
Expand All @@ -24,6 +27,4 @@ After making a new release to the schema repository, ensure `hubDocs` are also a
- Merging into `main` should be accompanied by creating an associated formal release in the repository.
- Update `HubDocs` site with any additional relevant information associated with the new schema release.
- Create a new release on `hubDocs` using the same version number but without the `v` (e.g. `v0.0.1` would be released as `0.0.1` on `hubDocs`).



- Update the [`hubTemplate`](https://github.com/hubverse-org/hubTemplate) config to reflect the most up to date schema. Create a new release using the same version.
2 changes: 1 addition & 1 deletion v0.0.0.9/admin-schema.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://github.com/Infectious-Disease-Modeling-Hubs/schemas/blob/main/v0.0.0.9/admin-schema.json",
"$id": "https://github.com/hubverse-org/schemas/blob/main/v0.0.0.9/admin-schema.json",
"title": "Hub administrative settings",
"description": "This JSON file provides a schema for modeling hub administrative information.",
"type": "object",
Expand Down
2 changes: 1 addition & 1 deletion v0.0.0.9/model-schema.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://github.com/Infectious-Disease-Modeling-Hubs/schemas/blob/main/v0.0.0.9/model-schema.json",
"$id": "https://github.com/hubverse-org/schemas/blob/main/v0.0.0.9/model-schema.json",
"title": "ForecastHub model metadata",
"description": "This is the schema of the model metadata file, please refer to https://github.com/epiforecasts/covid19-forecast-hub-europe/wiki/Metadata[an] for more information.",
"type": "object",
Expand Down
2 changes: 1 addition & 1 deletion v0.0.0.9/tasks-schema.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/Infectious-Disease-Modeling-Hubs/schemas/blob/main/v0.0.0.9/tasks-schema.json",
"$id": "https://github.com/hubverse-org/schemas/blob/main/v0.0.0.9/tasks-schema.json",
"title": "Hub model task definitions",
"type": "object",
"properties": {
Expand Down
6 changes: 3 additions & 3 deletions v0.0.1/admin-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/admin-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/admin-schema.json",
"title": "Schema for Modeling Hub administrative settings",
"description": "This JSON file provides a schema for modeling hub administrative information.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/admin-schema.json"],
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/admin-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v0.0.1/tasks-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/tasks-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/tasks-schema.json",
"title": "Schema for Modeling Hub model task definitions",
"description": "This is the schema of the tasks.json configuration file that defines the tasks within a modeling hub.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/tasks-schema.json"],
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/tasks-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v1.0.0/admin-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v1.0.0/admin-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v1.0.0/admin-schema.json",
"title": "Schema for Modeling Hub administrative settings",
"description": "This JSON file provides a schema for modeling hub administrative information.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/admin-schema.json"],
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/admin-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v1.0.0/tasks-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v1.0.0/tasks-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v1.0.0/tasks-schema.json",
"title": "Schema for Modeling Hub model task definitions",
"description": "This is the schema of the tasks.json configuration file that defines the tasks within a modeling hub.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/tasks-schema.json"],
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/tasks-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v2.0.0/admin-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v2.0.0/admin-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v2.0.0/admin-schema.json",
"title": "Schema for Modeling Hub administrative settings",
"description": "This JSON file provides a schema for modeling hub administrative information.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/admin-schema.json"],
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/admin-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v2.0.0/tasks-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v2.0.0/tasks-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v2.0.0/tasks-schema.json",
"title": "Schema for Modeling Hub model task definitions",
"description": "This is the schema of the tasks.json configuration file that defines the tasks within a modeling hub.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/tasks-schema.json"],
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/tasks-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v2.0.1/admin-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v2.0.1/admin-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v2.0.1/admin-schema.json",
"title": "Schema for Modeling Hub administrative settings",
"description": "This JSON file provides a schema for modeling hub administrative information.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/admin-schema.json"],
"description": "URL to a version of the Modeling Hub schema admin-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version an 'admin.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/admin-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
6 changes: 3 additions & 3 deletions v2.0.1/tasks-schema.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v2.0.1/tasks-schema.json",
"$id": "https://raw.githubusercontent.com/hubverse-org/schemas/main/v2.0.1/tasks-schema.json",
"title": "Schema for Modeling Hub model task definitions",
"description": "This is the schema of the tasks.json configuration file that defines the tasks within a modeling hub.",
"type": "object",
"properties": {
"schema_version": {
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/Infectious-Disease-Modeling-Hubs/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/Infectious-Disease-Modeling-Hubs/schemas/main/v0.0.1/tasks-schema.json"],
"description": "URL to a version of the Modeling Hub schema tasks-schema.json file (see https://github.com/hubverse-org/schemas). Used to declare the schema version a 'tasks.json' file is written for and for config file validation. The URL provided should be the URL to the raw content of the schema file on GitHub.",
"examples": ["https://raw.githubusercontent.com/hubverse-org/schemas/main/v0.0.1/tasks-schema.json"],
"type": "string",
"format": "uri"
},
Expand Down
Loading
Loading