From a0ee08ed72b574737059574f18ad9c755c0b36da Mon Sep 17 00:00:00 2001 From: Casper Welzel Andersen Date: Mon, 23 Nov 2020 15:02:45 +0100 Subject: [PATCH 1/6] Add clients page The clients page showcases the various available clients to query OPTIMADE databases. There are currently 3 different clients: - Swagger/OpenAPI UI (petstore.swagger.io) - MaterialsCloud Tool (materialscloud.org/optimadeclient) - optimade.science To access this new page, a new menu item "Try It!" has been added. --- _layouts/default.html | 5 +++-- clients.md | 31 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 clients.md diff --git a/_layouts/default.html b/_layouts/default.html index 3a2bbc2..7984122 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -24,8 +24,9 @@ Documentation Specification Contributors - GitHub - Forum + GitHub + Forum + Try It! diff --git a/clients.md b/clients.md new file mode 100644 index 0000000..1a0ec73 --- /dev/null +++ b/clients.md @@ -0,0 +1,31 @@ +# Clients + +There are already a few ways to try out OPTIMADE implementations: + +## Swagger + +Through the [Swagger/OpenAPI UI](https://petstore.swagger.io){:target=_blank}, one can try making queries to implementations hosting an OpenAPI specification. +Implementations based on the Python [`optimade`](https://pypi.org/project/optimade/){:target=_blank} package from the [`optimade-python-tools`](https://github.com/Materials-Consortia/optimade-python-tools){:target=_blank} repository automatically creates and hosts an OpenAPI specification at `/extensions/openapi.json`. +Note, this is the default location and may not be where the OpenAPI specification is found for individual implementations. + +**Try this**: + +- [Open Database of Crystals (ODBX)](https://petstore.swagger.io/?url=https://optimade.odbx.science/v1/extensions/openapi.json){:target=_blank} +- [The Materials Project](https://petstore.swagger.io/?url=https://optimade.materialsproject.org/v1/extensions/openapi.json){:target=_blank} +- [MaterialsCloud (sample DB)](https://petstore.swagger.io/?url=https://aiida-dev.materialscloud.org/optimade-sample/optimade/v1/extensions/openapi.json){:target=_blank} + +## MaterialsCloud Tool + +An [open-source](https://github.com/CasperWA/voila-optimade-client){target=_blank} web and local executable client developed by [Casper W. Andersen (THEOS, EPFL)](https://casper.welzel.nu){target=_blank} using [Voilà](https://voila.readthedocs.io){:target=_blank} is available on [MaterialsCloud](https://materialscloud.org){:target=_blank}. +It allows for searching through OPTIMADE databases, filtering on the structure property fields defined in the [OPTIMADE API specification](optimade), and inspect and download found structures in various file formats (CIF, PDB, VASP POSCAR, XYZ, Quantum ESPRESSO input, and more) utilizing the adapters from the Python [`optimade`](https://pypi.org/project/optimade/){:target=_blank} package in the [`optimade-python-tools`](https://github.com/Materials-Consortia/optimade-python-tools){:target=_blank} repository. + +The filtering can be done either using the OPTIMADE filter language (see the specification for more information) directly, or one can use the friendly filtering widgets (default). + +**Try this**: [materialscloud.org/optimadeclient](https://materialscloud.org/optimadeclient){:target=_blank} + +## optimade.science + +An [open-source](https://github.com/tilde-lab/optimade.science){:target=_blank} web client developed by [Evgeny Blokhin](https://tilde.pro){:target=_blank} utilizing [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS){:target=_blank} is available. +It allows for searching through _multiple_ OPTIMADE databases using the OPTIMADE filter language (see the specification for more information) and the power of CORS. + +**Try this**: [optimade.science](https://optimade.science){:target=_blank} From 924809e1349f178addc18a15d079efa5cc17d022 Mon Sep 17 00:00:00 2001 From: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com> Date: Tue, 24 Nov 2020 16:48:02 +0100 Subject: [PATCH 2/6] Update clients.md Fix link targets Co-authored-by: Matthew Evans <7916000+ml-evs@users.noreply.github.com> --- clients.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients.md b/clients.md index 1a0ec73..a08416c 100644 --- a/clients.md +++ b/clients.md @@ -16,7 +16,7 @@ Note, this is the default location and may not be where the OpenAPI specificatio ## MaterialsCloud Tool -An [open-source](https://github.com/CasperWA/voila-optimade-client){target=_blank} web and local executable client developed by [Casper W. Andersen (THEOS, EPFL)](https://casper.welzel.nu){target=_blank} using [Voilà](https://voila.readthedocs.io){:target=_blank} is available on [MaterialsCloud](https://materialscloud.org){:target=_blank}. +An [open-source](https://github.com/CasperWA/voila-optimade-client){:target=_blank} web and local executable client developed by [Casper W. Andersen (THEOS, EPFL)](https://casper.welzel.nu){:target=_blank} using [Voilà](https://voila.readthedocs.io){:target=_blank} is available on [MaterialsCloud](https://materialscloud.org){:target=_blank}. It allows for searching through OPTIMADE databases, filtering on the structure property fields defined in the [OPTIMADE API specification](optimade), and inspect and download found structures in various file formats (CIF, PDB, VASP POSCAR, XYZ, Quantum ESPRESSO input, and more) utilizing the adapters from the Python [`optimade`](https://pypi.org/project/optimade/){:target=_blank} package in the [`optimade-python-tools`](https://github.com/Materials-Consortia/optimade-python-tools){:target=_blank} repository. The filtering can be done either using the OPTIMADE filter language (see the specification for more information) directly, or one can use the friendly filtering widgets (default). From d04a7231e6cfaa5e3f61e65280be84812c0f9cb9 Mon Sep 17 00:00:00 2001 From: Casper Welzel Andersen Date: Tue, 24 Nov 2020 16:53:53 +0100 Subject: [PATCH 3/6] Remove optimade.science In accordance with the wish of @blokhin. --- clients.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/clients.md b/clients.md index a08416c..c4a8da8 100644 --- a/clients.md +++ b/clients.md @@ -22,10 +22,3 @@ It allows for searching through OPTIMADE databases, filtering on the structure p The filtering can be done either using the OPTIMADE filter language (see the specification for more information) directly, or one can use the friendly filtering widgets (default). **Try this**: [materialscloud.org/optimadeclient](https://materialscloud.org/optimadeclient){:target=_blank} - -## optimade.science - -An [open-source](https://github.com/tilde-lab/optimade.science){:target=_blank} web client developed by [Evgeny Blokhin](https://tilde.pro){:target=_blank} utilizing [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS){:target=_blank} is available. -It allows for searching through _multiple_ OPTIMADE databases using the OPTIMADE filter language (see the specification for more information) and the power of CORS. - -**Try this**: [optimade.science](https://optimade.science){:target=_blank} From b450a5d4bbc03bd5088e8c769971d628f37308b8 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Tue, 24 Nov 2020 22:55:03 +0000 Subject: [PATCH 4/6] Added highlighted menu option --- _layouts/default.html | 2 +- assets/css/style.scss | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/_layouts/default.html b/_layouts/default.html index 7984122..f589166 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -26,7 +26,7 @@ Contributors GitHub Forum - Try It! + Try It! diff --git a/assets/css/style.scss b/assets/css/style.scss index f3f6839..a355b95 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -65,6 +65,18 @@ img { background-color: #e75254; border: 2px solid #e75254; } + +.menu .special_menu a { + background-color: #00acd9; + border: 2px solid #00acd9; + display: inline-flex; +} + +.menu .special_menu a:hover { + background-color: #e75254; + border: 2px solid #e75254; +} + #logo img { max-width: 640px; width: 100%; From c771e4f22c42aa35e9f20a17ac659a4c5e5f91f2 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 26 Mar 2021 16:54:30 +0000 Subject: [PATCH 5/6] Reintroduced optimade.science --- clients.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/clients.md b/clients.md index c4a8da8..a08416c 100644 --- a/clients.md +++ b/clients.md @@ -22,3 +22,10 @@ It allows for searching through OPTIMADE databases, filtering on the structure p The filtering can be done either using the OPTIMADE filter language (see the specification for more information) directly, or one can use the friendly filtering widgets (default). **Try this**: [materialscloud.org/optimadeclient](https://materialscloud.org/optimadeclient){:target=_blank} + +## optimade.science + +An [open-source](https://github.com/tilde-lab/optimade.science){:target=_blank} web client developed by [Evgeny Blokhin](https://tilde.pro){:target=_blank} utilizing [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS){:target=_blank} is available. +It allows for searching through _multiple_ OPTIMADE databases using the OPTIMADE filter language (see the specification for more information) and the power of CORS. + +**Try this**: [optimade.science](https://optimade.science){:target=_blank} From fa1ad615103ab05788f9033ca7fe0ec9b07212a9 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 26 Mar 2021 17:04:13 +0000 Subject: [PATCH 6/6] Add link to arXiv paper --- index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index de9c071..d75e100 100644 --- a/index.md +++ b/index.md @@ -27,6 +27,7 @@ existing and hypothetical materials, many of which have appeared online: - [the Joint Automated Repository for Various Integrated Simulations](https://jarvis.nist.gov) - ... -Should you wish to cite the OPTIMADE specification, please use +Should you wish to cite the OPTIMADE specification, please use the following: -> Andersen *et al*, The OPTIMADE Specification, [10.5281/zenodo.4195050](https://doi.org/10.5281/zenodo.4195050) +- Andersen *et al*, OPTIMADE: an API for exchanging materials data (2021) [arXiv:2103.02068](https://arxiv.org/abs/2103.02068){:target=_blank} +- Andersen *et al*, The OPTIMADE Specification, [10.5281/zenodo.4195050](https://doi.org/10.5281/zenodo.4195050){:target=blank}