.gitignore
.python-version
LICENSE
MANIFEST.in
README.md
development.md
install.sh
justfile
pyproject.toml
uv.lock
packages/.gitignore
packages/fiab-core/.python-version
packages/fiab-core/LICENSE
packages/fiab-core/README.md
packages/fiab-core/justfile
packages/fiab-core/pyproject.toml
packages/fiab-core/requirements.scripts.txt
packages/fiab-core/scripts/blueprint_to_template.py
packages/fiab-core/scripts/parse_test_artifacts_catalog.py
packages/fiab-core/scripts/run_types_conformance.py
packages/fiab-core/scripts/performanceSuite/__init__.py
packages/fiab-core/scripts/performanceSuite/pluginPerf.py
packages/fiab-core/scripts/performanceSuite/pluginProf.py
packages/fiab-core/scripts/performanceSuite/profilers.py
packages/fiab-core/src/fiab_core/__init__.py
packages/fiab-core/src/fiab_core/artifacts.py
packages/fiab-core/src/fiab_core/fable.py
packages/fiab-core/src/fiab_core/metkit.py
packages/fiab-core/src/fiab_core/plugin.py
packages/fiab-core/src/fiab_core/pydantic_utils.py
packages/fiab-core/src/fiab_core/tools/__init__.py
packages/fiab-core/src/fiab_core/tools/blocks.py
packages/fiab-core/src/fiab_core/tools/convert.py
packages/fiab-core/src/fiab_core/tools/plugins.py
packages/fiab-core/src/fiab_core/types/__init__.py
packages/fiab-core/src/fiab_core/types/definitions.py
packages/fiab-core/src/fiab_core/types/dt_util.py
packages/fiab-core/src/fiab_core/types/exceptions.py
packages/fiab-core/src/fiab_core/types/fable_types.lark
packages/fiab-core/src/fiab_core/types/parser.py
packages/fiab-core/src/fiab_core/types/traits.py
packages/fiab-core/tests/conformance/invalid_types.jsonl
packages/fiab-core/tests/conformance/valid_types.jsonl
packages/fiab-core/tests/unit/test_artifacts.py
packages/fiab-core/tests/unit/test_base.py
packages/fiab-core/tests/unit/test_dt_util.py
packages/fiab-core/tests/unit/test_fable.py
packages/fiab-core/tests/unit/test_providers.py
packages/fiab-core/tests/unit/test_traits.py
packages/fiab-core/tests/unit/test_types.py
packages/fiab-core/tests/unit/test_types_ast.py
packages/fiab-core/tests/unit/tools/__init__.py
packages/fiab-core/tests/unit/tools/test_blocks.py
packages/fiab-core/tests/unit/tools/test_convert.py
packages/fiab-mcp-server/LICENSE
packages/fiab-mcp-server/README.md
packages/fiab-mcp-server/justfile
packages/fiab-mcp-server/pyproject.toml
packages/fiab-mcp-server/src/fiab_mcp_server/__init__.py
packages/fiab-mcp-server/src/fiab_mcp_server/__main__.py
packages/fiab-mcp-server/src/fiab_mcp_server/server.py
packages/fiab-mcp-server/tests/test_ok.py
packages/fiab-plugin-demo/.python-version
packages/fiab-plugin-demo/LICENSE
packages/fiab-plugin-demo/README.md
packages/fiab-plugin-demo/justfile
packages/fiab-plugin-demo/pyproject.toml
packages/fiab-plugin-demo/src/fiab_plugin_demo/__init__.py
packages/fiab-plugin-demo/src/fiab_plugin_demo/blocks.py
packages/fiab-plugin-demo/src/fiab_plugin_demo/py.typed
packages/fiab-plugin-demo/tests/test_base.py
packages/fiab-plugin-demo/tests/test_blocks.py
packages/fiab-plugin-ecmwf/.python-version
packages/fiab-plugin-ecmwf/LICENSE
packages/fiab-plugin-ecmwf/README.md
packages/fiab-plugin-ecmwf/justfile
packages/fiab-plugin-ecmwf/pyproject.toml
packages/fiab-plugin-ecmwf/scripts/get_metadata_from_anemoi.py
packages/fiab-plugin-ecmwf/scripts/opendata_dataset.py
packages/fiab-plugin-ecmwf/scripts/swap_attention.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/block_utils.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/blocks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/constants.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/environments.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/py.typed
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/qubed_utils.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/anemoi/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/anemoi/blocks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/anemoi/utils.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/datasets/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/datasets/configs/aifs-ens.json
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/datasets/configs/ifs-ens.json
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/output/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/output/blocks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/output/runtime.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/plotting/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/plotting/blocks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/plotting/runtime.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/products/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/products/blocks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/products/pproc/schema.yaml
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/runtime/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/runtime/source.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/templates/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/templates/aifs_forecast.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/templates/common.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/templates/ifs_ensemble_statistics.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/templates/prototype.py
packages/fiab-plugin-ecmwf/tests/conftest.py
packages/fiab-plugin-ecmwf/tests/perf/aifsOperational2mapAndGrib.json
packages/fiab-plugin-ecmwf/tests/perf/ifsOperational2select2ensembleStats2mapAndGrib.json
packages/fiab-plugin-ecmwf/tests/perf/ifsOperational2select2mapAndGrib.json
packages/fiab-plugin-ecmwf/tests/runtime/test_anemoi_blocks.py
packages/fiab-plugin-ecmwf/tests/runtime/test_qubedinstanceoutput.py
packages/fiab-plugin-ecmwf/tests/unit/conftest.py
packages/fiab-plugin-ecmwf/tests/unit/test_base.py
packages/fiab-plugin-ecmwf/tests/unit/test_blocks.py
packages/fiab-plugin-ecmwf/tests/unit/test_product_blocks.py
packages/fiab-plugin-ecmwf/tests/unit/test_templates.py
packages/fiab-plugin-test/.python-version
packages/fiab-plugin-test/LICENSE
packages/fiab-plugin-test/README.md
packages/fiab-plugin-test/justfile
packages/fiab-plugin-test/pyproject.toml
packages/fiab-plugin-test/src/fiab_plugin_test/__init__.py
packages/fiab-plugin-test/src/fiab_plugin_test/py.typed
packages/fiab-plugin-test/src/fiab_plugin_test/runtime.py
packages/fiab-plugin-test/tests/conftest.py
packages/fiab-plugin-test/tests/test_base.py
packages/fiab-plugin-test/tests/perf/artifactSource.json
packages/fiab-plugin-test/tests/perf/chainIncrement.json
packages/fiab-plugin-test/tests/perf/productJoin.json
packages/fiab-plugin-test/tests/perf/textSources.json
src/forecast_in_a_box.egg-info/PKG-INFO
src/forecast_in_a_box.egg-info/SOURCES.txt
src/forecast_in_a_box.egg-info/dependency_links.txt
src/forecast_in_a_box.egg-info/requires.txt
src/forecast_in_a_box.egg-info/scm_file_list.json
src/forecast_in_a_box.egg-info/top_level.txt
src/forecastbox/__init__.py
src/forecastbox/_version.py
src/forecastbox/domain/__init__.py
src/forecastbox/domain/admin/__init__.py
src/forecastbox/domain/artifact/__init__.py
src/forecastbox/domain/artifact/base.py
src/forecastbox/domain/artifact/catalog.py
src/forecastbox/domain/artifact/compatibility.py
src/forecastbox/domain/artifact/events.py
src/forecastbox/domain/artifact/io.py
src/forecastbox/domain/artifact/manager.py
src/forecastbox/domain/auth/__init__.py
src/forecastbox/domain/auth/db.py
src/forecastbox/domain/auth/oidc.py
src/forecastbox/domain/auth/users.py
src/forecastbox/domain/blueprint/__init__.py
src/forecastbox/domain/blueprint/cascade.py
src/forecastbox/domain/blueprint/configuration_values.py
src/forecastbox/domain/blueprint/db.py
src/forecastbox/domain/blueprint/display.py
src/forecastbox/domain/blueprint/exceptions.py
src/forecastbox/domain/blueprint/service.py
src/forecastbox/domain/blueprint/types.py
src/forecastbox/domain/experiment/__init__.py
src/forecastbox/domain/experiment/db.py
src/forecastbox/domain/experiment/exceptions.py
src/forecastbox/domain/experiment/service.py
src/forecastbox/domain/experiment/types.py
src/forecastbox/domain/experiment/scheduling/__init__.py
src/forecastbox/domain/experiment/scheduling/background.py
src/forecastbox/domain/experiment/scheduling/db.py
src/forecastbox/domain/experiment/scheduling/dt_utils.py
src/forecastbox/domain/experiment/scheduling/job_utils.py
src/forecastbox/domain/gateway/__init__.py
src/forecastbox/domain/gateway/events.py
src/forecastbox/domain/gateway/exceptions.py
src/forecastbox/domain/gateway/service.py
src/forecastbox/domain/glyphs/__init__.py
src/forecastbox/domain/glyphs/exceptions.py
src/forecastbox/domain/glyphs/global_db.py
src/forecastbox/domain/glyphs/intrinsic.py
src/forecastbox/domain/glyphs/jinja_interpolation.py
src/forecastbox/domain/glyphs/resolution.py
src/forecastbox/domain/glyphs/types.py
src/forecastbox/domain/glyphs/validation.py
src/forecastbox/domain/lens/__init__.py
src/forecastbox/domain/lens/core.py
src/forecastbox/domain/lens/exceptions.py
src/forecastbox/domain/lens/manager.py
src/forecastbox/domain/lens/metadata_db.py
src/forecastbox/domain/lens/proxy.py
src/forecastbox/domain/notification/__init__.py
src/forecastbox/domain/notification/dispatchers.py
src/forecastbox/domain/notification/events.py
src/forecastbox/domain/notification/models.py
src/forecastbox/domain/notification/service.py
src/forecastbox/domain/plugin/__init__.py
src/forecastbox/domain/plugin/compatibility.py
src/forecastbox/domain/plugin/db.py
src/forecastbox/domain/plugin/detail.py
src/forecastbox/domain/plugin/errors.py
src/forecastbox/domain/plugin/events.py
src/forecastbox/domain/plugin/exceptions.py
src/forecastbox/domain/plugin/loading.py
src/forecastbox/domain/plugin/settings.py
src/forecastbox/domain/plugin/state.py
src/forecastbox/domain/plugin/status.py
src/forecastbox/domain/plugin/store.py
src/forecastbox/domain/plugin/submit.py
src/forecastbox/domain/plugin/template_ingest.py
src/forecastbox/domain/run/__init__.py
src/forecastbox/domain/run/background.py
src/forecastbox/domain/run/cascade.py
src/forecastbox/domain/run/compile.py
src/forecastbox/domain/run/db.py
src/forecastbox/domain/run/detail.py
src/forecastbox/domain/run/exceptions.py
src/forecastbox/domain/run/service.py
src/forecastbox/domain/run/stop.py
src/forecastbox/domain/run/types.py
src/forecastbox/entrypoint/__init__.py
src/forecastbox/entrypoint/app.py
src/forecastbox/entrypoint/initializers.py
src/forecastbox/entrypoint/main.py
src/forecastbox/entrypoint/warmup.py
src/forecastbox/entrypoint/bootstrap/__init__.py
src/forecastbox/entrypoint/bootstrap/checks.py
src/forecastbox/entrypoint/bootstrap/config.py
src/forecastbox/entrypoint/bootstrap/launchers.py
src/forecastbox/entrypoint/bootstrap/procs.py
src/forecastbox/entrypoint/bootstrap/service.py
src/forecastbox/entrypoint/templates/share.html
src/forecastbox/routes/__init__.py
src/forecastbox/routes/admin.py
src/forecastbox/routes/artifacts.py
src/forecastbox/routes/auth.py
src/forecastbox/routes/blueprint.py
src/forecastbox/routes/experiment.py
src/forecastbox/routes/gateway.py
src/forecastbox/routes/lens.py
src/forecastbox/routes/notification.py
src/forecastbox/routes/plugins.py
src/forecastbox/routes/run.py
src/forecastbox/routes/status.py
src/forecastbox/schemata/__init__.py
src/forecastbox/schemata/blueprint.py
src/forecastbox/schemata/experiment.py
src/forecastbox/schemata/glyphs.py
src/forecastbox/schemata/jobs.py
src/forecastbox/schemata/lens.py
src/forecastbox/schemata/plugin.py
src/forecastbox/schemata/run.py
src/forecastbox/schemata/user.py
src/forecastbox/static/apple-touch-icon.png
src/forecastbox/static/community-news.json
src/forecastbox/static/empty-font.css
src/forecastbox/static/favicon.ico
src/forecastbox/static/icon-192.png
src/forecastbox/static/icon-512-maskable.png
src/forecastbox/static/icon-512.png
src/forecastbox/static/icon.svg
src/forecastbox/static/index.html
src/forecastbox/static/manifest.json
src/forecastbox/static/mockServiceWorker.js
src/forecastbox/static/robots.txt
src/forecastbox/static/theme-init.js
src/forecastbox/static/assets/ArtifactCompatibilityBadge-BNIpmJE5.js
src/forecastbox/static/assets/CatalogueBusy-BuucW7rH.js
src/forecastbox/static/assets/CollapsedSidebarHandle-DOmuEQXv.js
src/forecastbox/static/assets/ComboboxEmpty-CTU57tGD.js
src/forecastbox/static/assets/CommandPalette-BUVBbja3.js
src/forecastbox/static/assets/CompositeRoot-CYBLfkUG.js
src/forecastbox/static/assets/ConfirmDeleteArtifactDialog-DQVGJM6W.js
src/forecastbox/static/assets/CoreVersionMismatchBadge-DoWK4BNW.js
src/forecastbox/static/assets/DialogTrigger-bC3v2kPz.js
src/forecastbox/static/assets/DirectionContext-D2Gk_p9i.js
src/forecastbox/static/assets/EditScheduleDialog-Cyu4cXML.js
src/forecastbox/static/assets/EmptyState-DAA_kWGh.js
src/forecastbox/static/assets/ErrorPanel-BRbEi9uR.js
src/forecastbox/static/assets/FableBuilderPage-DUrFOYc5.js
src/forecastbox/static/assets/FableMiniFlow-BAChQuk3.js
src/forecastbox/static/assets/FacetSearchBar-B6Ia5bzs.js
src/forecastbox/static/assets/Footer-BKFxj3TC.js
src/forecastbox/static/assets/ForecastRunList-DdNhPvGS.js
src/forecastbox/static/assets/ForecastRunSearchHeader-DuadQlU-.js
src/forecastbox/static/assets/GeoDomainMap-N-iVQIah.js
src/forecastbox/static/assets/GeoViewer-Bu13wBtO.js
src/forecastbox/static/assets/GlobeView-BN19gGY8.js
src/forecastbox/static/assets/GlyphFormDialog-OeZ4FVYS.js
src/forecastbox/static/assets/ImageViewer-Bm9Lxz6w.js
src/forecastbox/static/assets/JournalChip-BDmthyFr.js
src/forecastbox/static/assets/ListPageContainer-CxRViQDV.js
src/forecastbox/static/assets/LoadingSpinner-BkdRWqMS.js
src/forecastbox/static/assets/MapLibreGlobeEngine-5V2oI7LL.js
src/forecastbox/static/assets/MapLibreGlobeEngine-B8-mEBLf.css
src/forecastbox/static/assets/PageHeader-weH2K8Et.js
src/forecastbox/static/assets/Pagination-CzT7ukwM.js
src/forecastbox/static/assets/ParamOptionLabel-D5uZeSBd.js
src/forecastbox/static/assets/PdfViewer-FZdu3W2S.js
src/forecastbox/static/assets/PluginStatusBadge-BgxvGLbI.js
src/forecastbox/static/assets/PublicLayout-DqQcA00_.js
src/forecastbox/static/assets/RotatingGlobe-DTP_a-Cc.js
src/forecastbox/static/assets/RunActivityChart-BHjV7nfu.js
src/forecastbox/static/assets/RunCanvas-CSOSSzb-.js
src/forecastbox/static/assets/RunMetadataDialog-BDyTYsPK.js
src/forecastbox/static/assets/ScheduleFields-BS2RrIiy.js
src/forecastbox/static/assets/Separator-Bkwp_DDs.js
src/forecastbox/static/assets/SplitResizeHandle-DqkNEG1M.js
src/forecastbox/static/assets/StatCard-BySE23fk.js
src/forecastbox/static/assets/StatusBadge-CFlYt7Ma.js
src/forecastbox/static/assets/StatusDetailsPopover-DWijG_6G.js
src/forecastbox/static/assets/ToolbarRootContext-DXXFWtsi.js
src/forecastbox/static/assets/Trans-DwnkMBLK.js
src/forecastbox/static/assets/TutorialRunner-CARYmF1o.js
src/forecastbox/static/assets/WelcomeGate-r96G-2lo.js
src/forecastbox/static/assets/_authenticated-BNYuIC0P.js
src/forecastbox/static/assets/about-DvMSbnsD.js
src/forecastbox/static/assets/activityStore-CI4wmI1H.js
src/forecastbox/static/assets/admin-CeX5iZ7m.js
src/forecastbox/static/assets/admin-bj6NvDNd.js
src/forecastbox/static/assets/alert-D-_i_E5M.js
src/forecastbox/static/assets/alert-dialog-BebfVXX6.js
src/forecastbox/static/assets/anchors-DUGbEVcX.js
src/forecastbox/static/assets/arrow-down-PRfqP6ep.js
src/forecastbox/static/assets/arrow-left-B7VuSO3z.js
src/forecastbox/static/assets/arrow-right-0uH15r-8.js
src/forecastbox/static/assets/artifacts-CeX5iZ7m.js
src/forecastbox/static/assets/artifacts._artifactId-W9Yj0T5P.js
src/forecastbox/static/assets/artifacts.index-BHoCHdrG.js
src/forecastbox/static/assets/artifacts.types-B4uDvSQx.js
src/forecastbox/static/assets/badge-B6VkOn3k.js
src/forecastbox/static/assets/block-names-DfO1ykzF.js
src/forecastbox/static/assets/bookmark-poE81Rdg.js
src/forecastbox/static/assets/button-BzOt49Zn.js
src/forecastbox/static/assets/calendar-C5hTbNE5.js
src/forecastbox/static/assets/calendar-clock-DAZMvoKA.js
src/forecastbox/static/assets/canvas-measured-BAF2WQa5.js
src/forecastbox/static/assets/card-IIQnzqCG.js
src/forecastbox/static/assets/charts-uZHkVl14.js
src/forecastbox/static/assets/check-BgenlTq9.js
src/forecastbox/static/assets/checkbox-frGM02nm.js
src/forecastbox/static/assets/chevron-down-_AABsEMo.js
src/forecastbox/static/assets/chevron-left-DuilPRiZ.js
src/forecastbox/static/assets/chevron-right-1fC3ev2e.js
src/forecastbox/static/assets/chevrons-up-down-DraA75wj.js
src/forecastbox/static/assets/circle-alert-BpwRJ4a1.js
src/forecastbox/static/assets/circle-check-i1nupOLc.js
src/forecastbox/static/assets/circle-question-mark-eGIco6a9.js
src/forecastbox/static/assets/clamp-D0kAXd-u.js
src/forecastbox/static/assets/client-zOGo30Ra.js
src/forecastbox/static/assets/clipboard-CzNu-0Bp.js
src/forecastbox/static/assets/clock-Dkh9jvd2.js
src/forecastbox/static/assets/coastlines-low-BFbFN6WI.js
src/forecastbox/static/assets/collapsible-UpTBgZJ-.js
src/forecastbox/static/assets/commandStore-CTqnq-RF.js
src/forecastbox/static/assets/composite-CsNU7oXb.js
src/forecastbox/static/assets/config-DPyoWh4E.js
src/forecastbox/static/assets/configure-DtKDTZTx.js
src/forecastbox/static/assets/configure._fableId-GLDHWSo5.js
src/forecastbox/static/assets/constants-DFVtdc7M.js
src/forecastbox/static/assets/copy-2g_4uXWn.js
src/forecastbox/static/assets/countries.geo-DvPP6zfo.js
src/forecastbox/static/assets/datefns-DgnoVoKP.js
src/forecastbox/static/assets/datetime-D43GkCS1.js
src/forecastbox/static/assets/dialog-reBIq_6Q.js
src/forecastbox/static/assets/dropdown-menu-B8P4iV-h.js
src/forecastbox/static/assets/earth-CO809S_K.js
src/forecastbox/static/assets/easing-BGt8EUf9.js
src/forecastbox/static/assets/ecmwfKeyStore-COWW4xwo.js
src/forecastbox/static/assets/ellipsis-vertical-PNkY-e4z.js
src/forecastbox/static/assets/endpoints-Cpui1ft2.js
src/forecastbox/static/assets/entry-ref-DyPONqcr.js
src/forecastbox/static/assets/execute._jobId-6-CTp-Y5.js
src/forecastbox/static/assets/execute.index-AFVnrQro.js
src/forecastbox/static/assets/eye-CO0qiDPT.js
src/forecastbox/static/assets/eye-off-DAnRFwOA.js
src/forecastbox/static/assets/fable-Bjb9wRHj.js
src/forecastbox/static/assets/fable.types-BY0MlT9q.js
src/forecastbox/static/assets/fableBuilderStore-BPefkIyA.js
src/forecastbox/static/assets/file-text-CMvNbGGv.js
src/forecastbox/static/assets/flow-CJk-oxAo.js
src/forecastbox/static/assets/flow-DLioOiRN.css
src/forecastbox/static/assets/getPseudoElementBounds-BsAZDn1A.js
src/forecastbox/static/assets/graduation-cap-CeQqy__k.js
src/forecastbox/static/assets/grib-BYaV3yHd.js
src/forecastbox/static/assets/group-by-DORKdX4w.js
src/forecastbox/static/assets/hard-drive-DnutQRDg.js
src/forecastbox/static/assets/i18next-DOICz7ZY.js
src/forecastbox/static/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2
src/forecastbox/static/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2
src/forecastbox/static/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2
src/forecastbox/static/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2
src/forecastbox/static/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2
src/forecastbox/static/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2
src/forecastbox/static/assets/index-BkFGPoX6.js
src/forecastbox/static/assets/index-D7PQ_kLH.css
src/forecastbox/static/assets/input-CGO-jjc0.js
src/forecastbox/static/assets/input-group-Cy6NLms6.js
src/forecastbox/static/assets/label-BoxnwVvo.js
src/forecastbox/static/assets/layout-blocks-uDggyQ5q.js
src/forecastbox/static/assets/list-Bx6EFgmL.js
src/forecastbox/static/assets/loader-circle-D3-kcXnk.js
src/forecastbox/static/assets/locales-D9sRVtve.js
src/forecastbox/static/assets/lock-CPWQXEaM.js
src/forecastbox/static/assets/logger-CEiTDgHd.js
src/forecastbox/static/assets/maplibre-gl-worker-MfjJLauD.js
src/forecastbox/static/assets/middleware-DxuPU33M.js
src/forecastbox/static/assets/minimize-2-CWnagDNk.js
src/forecastbox/static/assets/ol-basemap-CWhgqbQz.js
src/forecastbox/static/assets/ol-basemap-c_1sG1-7.css
src/forecastbox/static/assets/overlay-requests-Dp_AG0qG.js
src/forecastbox/static/assets/overview-Cx10fd56.js
src/forecastbox/static/assets/package-EJWHapBa.js
src/forecastbox/static/assets/page-width-DQWty3Yf.js
src/forecastbox/static/assets/param-display-IKnbfA5e.js
src/forecastbox/static/assets/pdf.worker.min-CjEcRF4W.mjs
src/forecastbox/static/assets/pdfjs-BCSqB6Au.js
src/forecastbox/static/assets/pencil-DzQouFz4.js
src/forecastbox/static/assets/play-BQlexjF_.js
src/forecastbox/static/assets/plugins-CeX5iZ7m.js
src/forecastbox/static/assets/plugins._pluginId-Ux_KGtv2.js
src/forecastbox/static/assets/plugins.index-DIYvX5No.js
src/forecastbox/static/assets/plus-bL2K-aBm.js
src/forecastbox/static/assets/pollIntervals-BDciLhfi.js
src/forecastbox/static/assets/popover-DRS5cHuZ.js
src/forecastbox/static/assets/preload-helper-DjzSQ1t3.js
src/forecastbox/static/assets/presets-8WjbS7zT.js
src/forecastbox/static/assets/prop-types-BL-ZXD3G.js
src/forecastbox/static/assets/puzzle-0g34nzoS.js
src/forecastbox/static/assets/query-C0paqLmU.js
src/forecastbox/static/assets/react-0T6wOjxm.js
src/forecastbox/static/assets/refresh-cw-n2jIyefw.js
src/forecastbox/static/assets/resolveValueLabel-BcgnLunK.js
src/forecastbox/static/assets/rolldown-runtime-hePW80VL.js
src/forecastbox/static/assets/rotate-ccw-Ct9IV5QL.js
src/forecastbox/static/assets/router-BYl17EYI.js
src/forecastbox/static/assets/routes-BPGg2FxG.js
src/forecastbox/static/assets/safePolygon-ChUP5rdX.js
src/forecastbox/static/assets/schedules._scheduleId-DI175fbl.js
src/forecastbox/static/assets/schedules.index-Dog8w11b.js
src/forecastbox/static/assets/search-Cqq6kA3X.js
src/forecastbox/static/assets/select-DcDXmnL1.js
src/forecastbox/static/assets/separator-FaLnX49I.js
src/forecastbox/static/assets/settings-2-C3nulx8N.js
src/forecastbox/static/assets/skeleton-8cEWYcvx.js
src/forecastbox/static/assets/sparkles-BmLnlNWI.js
src/forecastbox/static/assets/spinner-BL8pkRst.js
src/forecastbox/static/assets/star-KYjhtzdI.js
src/forecastbox/static/assets/storage-DYtO4SE5.js
src/forecastbox/static/assets/storage-keys-CD2dUk9l.js
src/forecastbox/static/assets/stored-dir-DVygTcsx.js
src/forecastbox/static/assets/stringifyLocale-CkHjdQTJ.js
src/forecastbox/static/assets/switch-DSlVLJRI.js
src/forecastbox/static/assets/system-tags-D6xXLHWL.js
src/forecastbox/static/assets/templateBookmarksStore-CgSsi7IC.js
src/forecastbox/static/assets/textarea-CEOBMVXX.js
src/forecastbox/static/assets/three-LHD2kwH4.js
src/forecastbox/static/assets/toggle-group-BNHUkYgh.js
src/forecastbox/static/assets/tooltip-BI7iy1Lc.js
src/forecastbox/static/assets/trash-Dc9PiQ_Z.js
src/forecastbox/static/assets/triangle-alert-Dkk0DdiE.js
src/forecastbox/static/assets/tutorialsStore-5ev2t6nq.js
src/forecastbox/static/assets/typography-VjBFgjAB.js
src/forecastbox/static/assets/uri-BxnEtZ2H.js
src/forecastbox/static/assets/url-state-smL3kySn.js
src/forecastbox/static/assets/useAriaLabelledBy-BNb8z5Is.js
src/forecastbox/static/assets/useArtifacts-CxT3pZOV.js
src/forecastbox/static/assets/useBlockDisplayNames-DM5zj9o-.js
src/forecastbox/static/assets/useCompositeItem-CsBklYAl.js
src/forecastbox/static/assets/useCompositeListItem-DtU2i2Mc.js
src/forecastbox/static/assets/useFable-B6QkJ8Ey.js
src/forecastbox/static/assets/useFocus-CXsChzvB.js
src/forecastbox/static/assets/useForecastRuns-BaONzj6i.js
src/forecastbox/static/assets/useHoldPan-Cl_f7z-d.js
src/forecastbox/static/assets/useHotkey-B5vp9kV9.js
src/forecastbox/static/assets/useJobStatusCounts-_jXrMiX3.js
src/forecastbox/static/assets/useJobs-B0Lfu3GX.js
src/forecastbox/static/assets/useLabelableId-BvGn_ROf.js
src/forecastbox/static/assets/useLocalStorage-CNCzRXme.js
src/forecastbox/static/assets/useMedia-CaxNJeQM.js
src/forecastbox/static/assets/usePlugins-hmbCIPrk.js
src/forecastbox/static/assets/usePositioner-BQwGJ8n3.js
src/forecastbox/static/assets/useRunFavourites-c08Xh7L2.js
src/forecastbox/static/assets/useSchedules-DwNLoKBL.js
src/forecastbox/static/assets/useStatus-TdoVLIU2.js
src/forecastbox/static/assets/useTemplatePresets-BfcAc0XC.js
src/forecastbox/static/assets/useTriggerFocusGuards-BzqwyS-w.js
src/forecastbox/static/assets/useUser-BerFO8yu.js
src/forecastbox/static/assets/useValueChanged-BdWj_w-t.js
src/forecastbox/static/assets/useViewportFill-DRYD9-ru.js
src/forecastbox/static/assets/user-BmZU2nwu.js
src/forecastbox/static/assets/utils-GNu9uWE7.js
src/forecastbox/static/assets/value-type-parser-DYLgSNK7.js
src/forecastbox/static/assets/valueToPercent-D-AfpwsF.js
src/forecastbox/static/assets/variables-CeX5iZ7m.js
src/forecastbox/static/assets/variables.index-Dx3_hYkf.js
src/forecastbox/static/assets/vendor-CR5VJ85Q.js
src/forecastbox/static/assets/viewerHeaderBtn-nikxy53q.js
src/forecastbox/static/assets/visualise-B8OTlrS0.js
src/forecastbox/static/assets/wms-capabilities-CDbZAZ7w.js
src/forecastbox/static/assets/x-DQelpRZ1.js
src/forecastbox/static/assets/zod-BAGrS3sC.js
src/forecastbox/static/assets/zoom-out-b4EsNZzg.js
src/forecastbox/static/era5/sprite_sheet.png
src/forecastbox/static/logos/destination_earth_logo.svg
src/forecastbox/static/logos/ecmwf-core-logo.svg
src/forecastbox/static/logos/ecmwf-globe-mesh.webp
src/forecastbox/static/logos/ecmwf-member-states.svg
src/forecastbox/static/logos/ecmwf-roundel.svg
src/forecastbox/static/logos/ecmwf.svg
src/forecastbox/static/logos/fiab-mark-blue.svg
src/forecastbox/static/logos/fiab-mark.svg
src/forecastbox/static/logos/wmo.svg
src/forecastbox/static/logos/org/ECMWF.png
src/forecastbox/static/logos/org/FMI-dark.png
src/forecastbox/static/logos/org/FMI.png
src/forecastbox/static/logos/org/MetNorway.png
src/forecastbox/static/logos/org/destine-fund.png
src/forecastbox/static/logos/org/destine.png
src/forecastbox/static/logos/packages/anemoi.webp
src/forecastbox/static/logos/packages/earthkit-dark.svg
src/forecastbox/static/logos/packages/earthkit-light.svg
src/forecastbox/utility/__init__.py
src/forecastbox/utility/auth.py
src/forecastbox/utility/config.py
src/forecastbox/utility/db.py
src/forecastbox/utility/dispatcher.py
src/forecastbox/utility/fastapi.py
src/forecastbox/utility/git.py
src/forecastbox/utility/graph.py
src/forecastbox/utility/http_pools.py
src/forecastbox/utility/httpx.py
src/forecastbox/utility/initializer.py
src/forecastbox/utility/memcache.py
src/forecastbox/utility/metkit.py
src/forecastbox/utility/packages.py
src/forecastbox/utility/pagination.py
src/forecastbox/utility/pth_activation.py
src/forecastbox/utility/pydantic.py
src/forecastbox/utility/structural.py
src/forecastbox/utility/time.py
src/forecastbox/utility/tunnel.py
src/forecastbox/utility/concurrency/__init__.py
src/forecastbox/utility/concurrency/manager.py
src/forecastbox/utility/concurrency/ports.py
src/forecastbox/utility/concurrency/shutdown.py
src/forecastbox/utility/concurrency/synchronization.py
src/forecastbox/utility/rsjf/__init__.py
src/forecastbox/utility/rsjf/forms.py
src/forecastbox/utility/rsjf/from_pydantic.py
src/forecastbox/utility/rsjf/jsonSchema.py
src/forecastbox/utility/rsjf/uiSchema.py
src/forecastbox/utility/rsjf/utils.py
tests/adhoc/.gitignore
tests/adhoc/README.md
tests/adhoc/justfile
tests/adhoc/run_scenarios.py
tests/adhoc/packages/plugin_alpha_v1/pyproject.toml
tests/adhoc/packages/plugin_alpha_v1/src/fiab_adhoctest_plugin_alpha/__init__.py
tests/adhoc/packages/plugin_alpha_v2/pyproject.toml
tests/adhoc/packages/plugin_alpha_v2/src/fiab_adhoctest_plugin_alpha/__init__.py
tests/adhoc/packages/plugin_beta/pyproject.toml
tests/adhoc/packages/plugin_beta/src/fiab_adhoctest_plugin_beta/__init__.py
tests/adhoc/packages/plugin_delta_v1/pyproject.toml
tests/adhoc/packages/plugin_delta_v1/src/fiab_adhoctest_plugin_delta/__init__.py
tests/adhoc/packages/plugin_delta_v2/pyproject.toml
tests/adhoc/packages/plugin_delta_v2/src/fiab_adhoctest_plugin_delta/__init__.py
tests/adhoc/packages/plugin_epsilon/pyproject.toml
tests/adhoc/packages/plugin_epsilon/src/fiab_adhoctest_plugin_epsilon/__init__.py
tests/adhoc/packages/plugin_gamma/pyproject.toml
tests/adhoc/packages/plugin_gamma/src/fiab_adhoctest_plugin_gamma/__init__.py
tests/adhoc/packages/pseudonumpy_v1/pyproject.toml
tests/adhoc/packages/pseudonumpy_v1/src/fiab_adhoctest_pseudonumpy/__init__.py
tests/adhoc/packages/pseudonumpy_v2/pyproject.toml
tests/adhoc/packages/pseudonumpy_v2/src/fiab_adhoctest_pseudonumpy/__init__.py
tests/adhoc/packages/widget/pyproject.toml
tests/adhoc/packages/widget/src/fiab_adhoctest_widget/__init__.py
tests/integration/__init__.py
tests/integration/conftest.py
tests/integration/test_admin_flows.py
tests/integration/test_blueprint.py
tests/integration/test_db_startup.py
tests/integration/test_model.py
tests/integration/test_notification.py
tests/integration/test_schedule.py
tests/integration/utils.py
tests/integration/data/.gitignore
tests/integration/static/index.html
tests/largeE2E/.gitignore
tests/largeE2E/README.md
tests/largeE2E/case_modelForecast.py
tests/largeE2E/case_scheduledJob.py
tests/largeE2E/common.py
tests/largeE2E/justfile
tests/largeE2E/run_backendCheck.py
tests/largeE2E/run_scenarios.py
tests/largeE2E/scripts/start_backend.sh
tests/largeE2E/scripts/stop_backend.sh
tests/unit/conftest.py
tests/unit/test_artifacts.py
tests/unit/test_graph.py
tests/unit/test_jobs.py
tests/unit/test_updates.py
tests/unit/checkpoints/simple.yaml
tests/unit/domain/__init__.py
tests/unit/domain/artifact/__init__.py
tests/unit/domain/artifact/test_artifact_manager_refresh.py
tests/unit/domain/artifact/test_compatibility.py
tests/unit/domain/auth/test_db.py
tests/unit/domain/blueprint/test_blueprint_db.py
tests/unit/domain/blueprint/test_blueprint_service.py
tests/unit/domain/blueprint/test_configuration_values.py
tests/unit/domain/blueprint/test_display.py
tests/unit/domain/gateway/test_service.py
tests/unit/domain/glyphs/__init__.py
tests/unit/domain/glyphs/test_global.py
tests/unit/domain/glyphs/test_resolution.py
tests/unit/domain/glyphs/test_validation.py
tests/unit/domain/lens/__init__.py
tests/unit/domain/lens/test_lens_manager.py
tests/unit/domain/lens/test_metadata_db.py
tests/unit/domain/lens/test_proxy.py
tests/unit/domain/notification/__init__.py
tests/unit/domain/notification/test_events.py
tests/unit/domain/notification/test_service.py
tests/unit/domain/plugins/__init__.py
tests/unit/domain/plugins/test_compatibility.py
tests/unit/domain/plugins/test_plugin_db.py
tests/unit/domain/plugins/test_plugin_detail.py
tests/unit/domain/plugins/test_plugin_events.py
tests/unit/domain/plugins/test_plugin_operations.py
tests/unit/domain/plugins/test_plugin_state.py
tests/unit/domain/plugins/test_plugin_status.py
tests/unit/domain/plugins/test_plugin_template_ingest.py
tests/unit/domain/run/__init__.py
tests/unit/domain/run/test_cascade.py
tests/unit/domain/run/test_compile.py
tests/unit/domain/run/test_detail.py
tests/unit/domain/run/test_run_detailed_report.py
tests/unit/domain/run/test_service.py
tests/unit/domain/run/test_stop.py
tests/unit/ecpyutil/test_deepunion.py
tests/unit/ecpyutil/test_fetch_file.py
tests/unit/entrypoint/test_config.py
tests/unit/entrypoint/test_warmup.py
tests/unit/plugins/test_stores.py
tests/unit/rjsf/__init__.py
tests/unit/rjsf/test_forms.py
tests/unit/rjsf/test_from_pydantic.py
tests/unit/rjsf/test_jsonSchema.py
tests/unit/rjsf/test_uiSchema.py
tests/unit/rjsf/test_utils.py
tests/unit/routes/__init__.py
tests/unit/routes/test_blueprint.py
tests/unit/routes/test_lens.py
tests/unit/routes/test_plugins.py
tests/unit/routes/test_status.py
tests/unit/scheduling/test_dt_utils.py
tests/unit/scheduling/test_experiment_runnable.py
tests/unit/utility/__init__.py
tests/unit/utility/test_dispatcher.py
tests/unit/utility/test_git.py
tests/unit/utility/test_initializer.py
tests/unit/utility/test_memcache.py
tests/unit/utility/test_metkit.py
tests/unit/utility/test_packages.py
tests/unit/utility/test_pagination.py
tests/unit/utility/test_pth_activation.py
tests/unit/utility/test_time.py
tests/unit/utility/test_tunnel.py