.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/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/plugin.py
packages/fiab-core/src/fiab_core/pydantic_utils.py
packages/fiab-core/src/fiab_core/types.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/plugins.py
packages/fiab-core/tests/test_base.py
packages/fiab-core/tests/test_fable.py
packages/fiab-core/tests/test_providers.py
packages/fiab-core/tests/test_types.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/swap_attention.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/blocks.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/runtime/__init__.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/runtime/plots.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/runtime/sinks.py
packages/fiab-plugin-ecmwf/src/fiab_plugin_ecmwf/runtime/source.py
packages/fiab-plugin-ecmwf/tests/conftest.py
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/test_base.py
packages/fiab-plugin-ecmwf/tests/unit/test_blocks.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
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/top_level.txt
src/forecastbox/__init__.py
src/forecastbox/_version.py
src/forecastbox/domain/__init__.py
src/forecastbox/domain/admin.py
src/forecastbox/domain/artifact/__init__.py
src/forecastbox/domain/artifact/base.py
src/forecastbox/domain/artifact/compatibility.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/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/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/lens/__init__.py
src/forecastbox/domain/lens/manager.py
src/forecastbox/domain/plugin/__init__.py
src/forecastbox/domain/plugin/manager.py
src/forecastbox/domain/plugin/store.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/exceptions.py
src/forecastbox/domain/run/service.py
src/forecastbox/domain/run/types.py
src/forecastbox/entrypoint/__init__.py
src/forecastbox/entrypoint/app.py
src/forecastbox/entrypoint/main.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/plugins.py
src/forecastbox/routes/run.py
src/forecastbox/routes/status.py
src/forecastbox/schemata/__init__.py
src/forecastbox/schemata/jobs.py
src/forecastbox/schemata/user.py
src/forecastbox/static/favicon.ico
src/forecastbox/static/index.html
src/forecastbox/static/logo192.png
src/forecastbox/static/logo512.png
src/forecastbox/static/manifest.json
src/forecastbox/static/mockServiceWorker.js
src/forecastbox/static/robots.txt
src/forecastbox/static/assets/CommandPalette-Eh6GPnZZ.js
src/forecastbox/static/assets/CronExpressionInput-CaGMI5tT.js
src/forecastbox/static/assets/DialogTitle-xnQgLnwm.js
src/forecastbox/static/assets/ExecutionCanvas-DrFUuvBh.js
src/forecastbox/static/assets/FableBuilderPage-5js0r9cK.js
src/forecastbox/static/assets/Footer-BieBLehC.js
src/forecastbox/static/assets/GlyphFormDialog-sEf_Jl6J.js
src/forecastbox/static/assets/ImageViewer-NsxcOMPK.js
src/forecastbox/static/assets/JobStatusIcon-DHvGnyet.js
src/forecastbox/static/assets/LoadingSpinner-DDwfMRbC.js
src/forecastbox/static/assets/PageHeader-AU2K0bcl.js
src/forecastbox/static/assets/PdfViewer-CXLxyyol.js
src/forecastbox/static/assets/PluginStatusBadge-QOaJFfuL.js
src/forecastbox/static/assets/PublicLayout-BcT7fNVG.js
src/forecastbox/static/assets/RotatingGlobe-DWc3FVkH.js
src/forecastbox/static/assets/Separator-DUoNn2FX.js
src/forecastbox/static/assets/StatCard-DrkrrNY5.js
src/forecastbox/static/assets/StatusBadge-poy62Hqf.js
src/forecastbox/static/assets/StatusDetailsPopover-DVVeBWs2.js
src/forecastbox/static/assets/ToolbarRootContext-DCFhTP4W.js
src/forecastbox/static/assets/_authenticated-3GZ-9ybT.js
src/forecastbox/static/assets/about-OVMxjT9U.js
src/forecastbox/static/assets/activityStore-CoiPBVaE.js
src/forecastbox/static/assets/admin-CZH_tmzv.js
src/forecastbox/static/assets/alert-n26Vz15f.js
src/forecastbox/static/assets/arrow-left-CIPZyHlg.js
src/forecastbox/static/assets/arrow-right-BYULhXDn.js
src/forecastbox/static/assets/artifacts-CR5fUTxn.js
src/forecastbox/static/assets/artifacts._artifactId-aijhQWyB.js
src/forecastbox/static/assets/artifacts.index-4tGc5yHq.js
src/forecastbox/static/assets/badge-BoFutMZk.js
src/forecastbox/static/assets/bookmark-8ZhHrKK0.js
src/forecastbox/static/assets/check-DQEy8abq.js
src/forecastbox/static/assets/chevron-left-BD40o2WV.js
src/forecastbox/static/assets/chevron-right-CdxE14be.js
src/forecastbox/static/assets/circle-alert-DB6OjtCW.js
src/forecastbox/static/assets/circle-check-DY7rgJsw.js
src/forecastbox/static/assets/circle-question-mark-DWgjycFK.js
src/forecastbox/static/assets/clock-Ct8BfHN3.js
src/forecastbox/static/assets/collapsible-BMZG2gkG.js
src/forecastbox/static/assets/config-_uPqfDLf.js
src/forecastbox/static/assets/configure-BVpah8Su.js
src/forecastbox/static/assets/configure._fableId-DCIjkKmT.js
src/forecastbox/static/assets/cron-CtuXaZXA.js
src/forecastbox/static/assets/dashboard-4-5sfceS.js
src/forecastbox/static/assets/dialog-Cw7lqnOQ.js
src/forecastbox/static/assets/download-B3aQfegd.js
src/forecastbox/static/assets/dropdown-menu-DZlvCqbY.js
src/forecastbox/static/assets/ellipsis-vertical-BpcufI4E.js
src/forecastbox/static/assets/executions._jobId-BLjSUjb3.js
src/forecastbox/static/assets/executions.index-BLMa8qfv.js
src/forecastbox/static/assets/external-link-BS4hqVcw.js
src/forecastbox/static/assets/eye-vf5IX992.js
src/forecastbox/static/assets/fable-DhSTiX83.js
src/forecastbox/static/assets/fable-to-graph-BZV40eAE.css
src/forecastbox/static/assets/fable-to-graph-CbPLJS6k.js
src/forecastbox/static/assets/file-text-BI9x8rbJ.js
src/forecastbox/static/assets/formatDistanceToNow-Ctx6mZEP.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-BQ1JjrsQ.js
src/forecastbox/static/assets/index-Bsa9uLoR.css
src/forecastbox/static/assets/index-Cjoa6Bib.js
src/forecastbox/static/assets/index-D6QyJFp9.js
src/forecastbox/static/assets/input-CQAqVDZ7.js
src/forecastbox/static/assets/input-group-1bCsLGc4.js
src/forecastbox/static/assets/job-status-BicTWYJZ.js
src/forecastbox/static/assets/label-CvdrMAu6.js
src/forecastbox/static/assets/layers-CDZujHWB.js
src/forecastbox/static/assets/layout-grid-BWjUVcWx.js
src/forecastbox/static/assets/list-Bmd8C5ZG.js
src/forecastbox/static/assets/loader-circle-m6P6bcyJ.js
src/forecastbox/static/assets/maximize-2-DQnQecAY.js
src/forecastbox/static/assets/package-UhL3kyZ9.js
src/forecastbox/static/assets/pdf.worker.min-iDqQPrd3.mjs
src/forecastbox/static/assets/pdfjs-D5g2pMba.js
src/forecastbox/static/assets/pencil-BvYLZ3wZ.js
src/forecastbox/static/assets/pipeline-generator-BXM_OQD1.js
src/forecastbox/static/assets/play-CohiPvDd.js
src/forecastbox/static/assets/plugins-CR5fUTxn.js
src/forecastbox/static/assets/plugins._pluginId-Dm8RsMth.js
src/forecastbox/static/assets/plugins.index-CJj1Nm7g.js
src/forecastbox/static/assets/popover-CMqn24Nu.js
src/forecastbox/static/assets/presets-pNChzwlU.js
src/forecastbox/static/assets/progress-BnFyITl7.js
src/forecastbox/static/assets/puzzle-BDTCVYXU.js
src/forecastbox/static/assets/query-FTZUEppU.js
src/forecastbox/static/assets/refresh-cw-Bj9c4J4K.js
src/forecastbox/static/assets/router-BuboK1JW.js
src/forecastbox/static/assets/schedules._scheduleId-Dkvz0otY.js
src/forecastbox/static/assets/schedules.index-Mn9Q4r-A.js
src/forecastbox/static/assets/select-BaZ7Vzqn.js
src/forecastbox/static/assets/separator-D_Q7XpHh.js
src/forecastbox/static/assets/settings-2-D152C8JK.js
src/forecastbox/static/assets/settings-DzWACgX_.js
src/forecastbox/static/assets/shadowDom-ns0sAeij.js
src/forecastbox/static/assets/spinner-bm6HxP4H.js
src/forecastbox/static/assets/switch-B4eNIYOU.js
src/forecastbox/static/assets/tabs-C7RtCWV8.js
src/forecastbox/static/assets/tooltip-Dsz-Wy8n.js
src/forecastbox/static/assets/trash-2-BQgRFUn5.js
src/forecastbox/static/assets/triangle-alert-qMRo6OuJ.js
src/forecastbox/static/assets/url-state-C84hsvg-.js
src/forecastbox/static/assets/useArtifacts-C_DWLs6i.js
src/forecastbox/static/assets/useBaseUiId-DaiXyWXO.js
src/forecastbox/static/assets/useClick-BqR_Tgn-.js
src/forecastbox/static/assets/useConfigPresets-CyeDQ85o.js
src/forecastbox/static/assets/useFable-XGRvSlp2.js
src/forecastbox/static/assets/useFocus-BmBIesOe.js
src/forecastbox/static/assets/useJobs-C8rQ7Vtu.js
src/forecastbox/static/assets/useLabelableId-Df8986-x.js
src/forecastbox/static/assets/useMedia-CmBAfpS7.js
src/forecastbox/static/assets/useOnFirstRender-D1bLSRnf.js
src/forecastbox/static/assets/useOpenChangeComplete-DxyvvA7D.js
src/forecastbox/static/assets/useOpenInteractionType-CxVf92I2.js
src/forecastbox/static/assets/usePositioner-CvMeBV4M.js
src/forecastbox/static/assets/useStatus-O8sFzK-v.js
src/forecastbox/static/assets/useTranslation-2tSlwAzl.js
src/forecastbox/static/assets/useUser-Cn2Zukp2.js
src/forecastbox/static/assets/useValueChanged-dkK1lH_F.js
src/forecastbox/static/assets/user-BqYegeTw.js
src/forecastbox/static/assets/value-DI5aKHLv.js
src/forecastbox/static/assets/variables-CR5fUTxn.js
src/forecastbox/static/assets/variables.index-Bt_dQH52.js
src/forecastbox/static/assets/vendor-l0sNRNKZ.js
src/forecastbox/static/assets/visuallyHidden-0bPfqETH.js
src/forecastbox/static/assets/x-C44A-_mA.js
src/forecastbox/static/assets/zoom-out-lGEerqJF.js
src/forecastbox/static/dag/example.html
src/forecastbox/static/era5/sprite_sheet.png
src/forecastbox/static/logos/fiab.png
src/forecastbox/static/logos/org/ECMWF.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/concurrent.py
src/forecastbox/utility/config.py
src/forecastbox/utility/db.py
src/forecastbox/utility/graph.py
src/forecastbox/utility/httpx.py
src/forecastbox/utility/pagination.py
src/forecastbox/utility/pydantic.py
src/forecastbox/utility/structural.py
src/forecastbox/utility/time.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/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_schedule.py
tests/integration/utils.py
tests/integration/data/.gitignore
tests/integration/static/index.html
tests/largeE2E/__init__.py
tests/largeE2E/bigtest.py
tests/largeE2E/blueprint.py
tests/largeE2E/scheduler_helper.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/blueprint/test_configuration_values.py
tests/unit/domain/glyphs/__init__.py
tests/unit/domain/glyphs/test_global.py
tests/unit/domain/glyphs/test_resolution.py
tests/unit/domain/lens/__init__.py
tests/unit/domain/lens/test_lens_manager.py
tests/unit/domain/run/__init__.py
tests/unit/domain/run/test_compile.py
tests/unit/ecpyutil/test_deepunion.py
tests/unit/ecpyutil/test_fetch_file.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/scheduling/test_dt_utils.py
tests/unit/scheduling/test_experiment_runnable.py
tests/unit/utility/__init__.py
tests/unit/utility/test_pagination.py