Skip to content

Commit

Permalink
Merge pull request #72 from hubverse-org/br-v3.0.0
Browse files Browse the repository at this point in the history
add v3.0.0 schema with initial sample schema
  • Loading branch information
annakrystalli authored Jun 19, 2024
2 parents a9e7fd8 + e23d99e commit 0f35d3b
Show file tree
Hide file tree
Showing 15 changed files with 2,169 additions and 32 deletions.
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

0 comments on commit 0f35d3b

Please sign in to comment.