{ "cells": [ { "cell_type": "markdown", "id": "1c7851b5-fbc1-4477-985d-59efa6c1e75f", "metadata": {}, "source": [ "# Catalog metadata vocabulary" ] }, { "cell_type": "code", "execution_count": null, "id": "e2fd4577-ce04-4eb4-b003-73baba74fdea", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hide-input" ] }, "outputs": [], "source": [ "import pandas as pd\n", "import panel\n", "import json\n", "import fsspec" ] }, { "cell_type": "code", "execution_count": null, "id": "0c39c353-2cd5-4134-a8e1-02cfe88199ac", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "panel.extension(\"tabulator\")" ] }, { "cell_type": "code", "execution_count": null, "id": "fbe2ce62-ce0c-4a55-ac57-ca111c7d9b37", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "metadata_cv=json.load(fsspec.open(\"../metadata_cv.json\").open())" ] }, { "cell_type": "code", "execution_count": null, "id": "357dbc68-d5df-432d-91de-012d2d059de4", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "relation_select=panel.widgets.Select(\n", " name=\"Available relations\",\n", " options=list(metadata_cv[\"relation\"].keys())\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "656b125d-3901-4cc1-a231-de3d840718fd", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "def hoover_info(entry,key=\"relation\"):\n", " markdown=\"\"\n", " if type(metadata_cv[key])==dict:\n", " if \"type\" in metadata_cv[key][entry]:\n", " markdown+=\"#### Type \\n\"\n", " markdown+=metadata_cv[key][entry][\"type\"]\n", " if \"description\" in metadata_cv[key][entry]:\n", " markdown+=\"\\n#### Description \\n\"\n", " markdown+=metadata_cv[key][entry][\"description\"]\n", " return panel.pane.Markdown(markdown)" ] }, { "cell_type": "code", "execution_count": null, "id": "dbd10b28-b942-46e4-a211-1db8470220af", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "relation_bind=panel.bind(hoover_info,relation_select)" ] }, { "cell_type": "code", "execution_count": null, "id": "0b534b48-22a1-45ae-8bf5-93f73a4acfbc", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "accounts_select=panel.widgets.Select(\n", " name=\"Available accounts\",\n", " options=list(metadata_cv[\"account\"])\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "a66be04d-eeed-4229-9d2d-29e6350c6ba7", "metadata": { "jupyter": { "source_hidden": true }, "tags": [ "hidden", "hide-input" ] }, "outputs": [], "source": [ "accounts_bind=panel.bind(hoover_info,accounts_select,\"account\")" ] }, { "cell_type": "code", "execution_count": null, "id": "7fec4689-55e9-4864-b869-543c7557c151", "metadata": { "tags": [ "hide-input" ] }, "outputs": [], "source": [ "layout=panel.Column(\n", " panel.Row(\n", " relation_select,relation_bind\n", " ),\n", " panel.Row(\n", " accounts_select,accounts_bind\n", " )\n", ").embed(max_states=100000)" ] }, { "cell_type": "code", "execution_count": null, "id": "78d3aceb-e30d-4ad6-8c1c-269ed8828f47", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "dkrzcatalog", "language": "python", "name": "dkrzcatalog" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.10" } }, "nbformat": 4, "nbformat_minor": 5 }