From eef9cc3f44dae32336506495ec882d2d10fd7a3d Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Mon, 13 Jul 2026 11:23:57 +0200 Subject: [PATCH 01/20] Theme changes --- docs/css/extra.css | 59 + mkdocs.yaml | 96 +- pixi.lock | 2067 ++++++++++++++------------- pixi.toml | 1 + resources/shapes/README.md | 9 - tests/data_module_test/docs_test.py | 2 +- 6 files changed, 1154 insertions(+), 1080 deletions(-) create mode 100644 docs/css/extra.css delete mode 100644 resources/shapes/README.md diff --git a/docs/css/extra.css b/docs/css/extra.css new file mode 100644 index 0000000..97c5d95 --- /dev/null +++ b/docs/css/extra.css @@ -0,0 +1,59 @@ +.rst-badge { + font-size: 0.7rem; +} + +/* reduce font size of rendered math */ +.katex-html { + font-size: 0.8rem; +} + +/* Set this to match the logo */ +:root { + --md-primary-fg-color: #0e9c81ff; + --md-primary-fg-color--light: #23b89cff; + --md-primary-fg-color--dark: #026353ff; +} + +.md-typeset, .md-nav, .md-tabs__link, .md-typeset .admonition, .md-typeset details, .md-typeset table:not([class]) { + font-size: 0.8rem; +} + +.md-typeset h1, .md-typeset h2 { + font-weight: normal; + color: var(--md-typeset-color); +} + +.doc-function h3 { + /* font-size: 1.0rem; */ + margin-top: 3.0rem; +} + +.bubble { + border-radius: 2px; + padding: 1px 4px 1px 4px; +} + + +/* Allow tables to be horizontally scrollable. */ +.md-typeset__scrollwrap { + overflow-x: auto; +} + + +.md-typeset li.xr-var-item, .md-typeset ul.xr-var-list { + display: contents; +} + +.md-typeset .xr-section-details { + display: none; +} + +.md-typeset ul.xr-dim-list li { + margin-bottom: 0; + margin-left: 0; +} + +.md-typeset ul.xr-dim-list { + margin-bottom: 0; + margin-top: 0; +} diff --git a/mkdocs.yaml b/mkdocs.yaml index 72341d7..d460e0a 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -1,75 +1,95 @@ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json -site_name: modelblocks +site_name: Modelblocks documentation site_url: https://modelblocks.readthedocs.io/ repo_name: docs repo_url: https://github.com/modelblocks-org/docs/ edit_uri: edit/main/docs/ +extra_css: + - css/extra.css theme: + font: + text: Lato + code: Fira Code name: material features: - - navigation.footer - - navigation.instant + - navigation.indexes + - navigation.top - navigation.tabs - navigation.tabs.sticky - - navigation.indexes + - content.code.copy + - content.code.annotate - search.suggest - search.highlight + - search.share - toc.follow - palette: - # Palette toggle for automatic mode - - media: "(prefers-color-scheme)" - toggle: - icon: material/brightness-auto - name: Switch to light mode - primary: teal - accent: blue grey - # Palette toggle for light mode - - media: "(prefers-color-scheme: light)" - scheme: default - toggle: - icon: material/weather-sunny - name: Switch to dark mode - primary: teal - accent: blue grey - # Palette toggle for dark mode - - media: "(prefers-color-scheme: dark)" - scheme: slate - toggle: - icon: material/weather-night - name: Switch to system preference - primary: teal - accent: blue grey + # palette: + # # Palette toggle for automatic mode + # - media: "(prefers-color-scheme)" + # toggle: + # icon: material/brightness-auto + # name: Switch to light mode + # primary: teal + # accent: blue grey + # # Palette toggle for light mode + # - media: "(prefers-color-scheme: light)" + # scheme: default + # toggle: + # icon: material/weather-sunny + # name: Switch to dark mode + # primary: teal + # accent: blue grey + # # Palette toggle for dark mode + # - media: "(prefers-color-scheme: dark)" + # scheme: slate + # toggle: + # icon: material/weather-night + # name: Switch to system preference + # primary: teal + # accent: blue grey markdown_extensions: - admonition - - pymdownx.tasklist: - custom_checkbox: true + - attr_list + - md_in_html + # - mkdocs-click + - def_list + - tables - pymdownx.arithmatex: generic: true + - pymdownx.details - pymdownx.betterem: smart_enable: all - - pymdownx.details - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.highlight: anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite - pymdownx.snippets: - check_paths: true - restrict_base_path: true + dedent_subsections: true - pymdownx.superfences: + preserve_tabs: true + # FIXME: remove mermaid? custom_fences: - name: mermaid class: mermaid format: !!python/name:mermaid2.fence_mermaid_custom + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + clickable_checkbox: true - toc: anchorlink: true + permalink: "¶" + toc_depth: 3 plugins: + - autorefs - git-committers: enabled: true repository: modelblocks-org/docs branch: main - - search - mkdocstrings: default_handler: python handlers: @@ -78,12 +98,12 @@ plugins: show_bases: true filters: - "!^_" - heading_level: 2 + heading_level: 1 show_root_heading: true merge_init_into_class: true show_if_no_docstring: true signature_crossrefs: true - show_root_toc_entry: true + show_root_toc_entry: false show_signature_annotations: true inherited_members: false show_labels: false @@ -92,7 +112,7 @@ plugins: - https://docs.python.org/3/objects.inv - https://pandas.pydata.org/docs/objects.inv - https://docs.xarray.dev/en/stable/objects.inv - + - search nav: - Home: index.md - Background: @@ -104,4 +124,4 @@ nav: - Developer_guidelines/requirements.md - Developer_guidelines/templates.md -copyright: Copyright © since 2025 modelblocks contributors (Apache 2.0 licensed) +copyright: Copyright © since 2025 Modelblocks contributors (Apache 2.0 licensed) diff --git a/pixi.lock b/pixi.lock index d58870f..8a74f02 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,19 +1,43 @@ -version: 6 +version: 7 +platforms: +- name: linux-64 +- name: osx-arm64 +- name: win-64 environments: default: channels: - url: https://conda.anaconda.org/conda-forge/ - options: - pypi-prerelease-mode: if-necessary-or-explicit packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314h9e666f3_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda @@ -30,25 +54,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda @@ -59,8 +70,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda @@ -70,34 +79,25 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314h9e666f3_3.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda @@ -114,21 +114,12 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda @@ -139,8 +130,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda @@ -150,34 +139,45 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py314ha14b1ff_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda @@ -199,14 +199,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda @@ -217,7 +210,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda @@ -227,30 +219,40 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda + - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py314hb821551_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -266,47 +268,6 @@ packages: license_family: BSD size: 28948 timestamp: 1770939786096 -- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 - md5: f1976ce927373500cc19d3c0b2c85177 - depends: - - python >=3.10 - - python - constrains: - - pytz >=2015.7 - license: BSD-3-Clause - license_family: BSD - size: 7684321 - timestamp: 1772555330347 -- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - noarch: generic - sha256: c31ab719d256bc6f89926131e88ecd0f0c5d003fe8481852c6424f4ec6c7eb29 - md5: a2ac7763a9ac75055b68f325d3255265 - depends: - - python >=3.14 - license: BSD-3-Clause AND MIT AND EPL-2.0 - size: 7514 - timestamp: 1767044983590 -- conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - sha256: ea22e1ae38622c7872a41708a248ef0b1917ca3d91a0672995a0c8cbfc85c04e - md5: d78c9304d873002ca50e65c33ed6ff0e - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 144933 - timestamp: 1771286293210 -- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - sha256: bf1e71c3c0a5b024e44ff928225a0874fc3c3356ec1a0b6fe719108e6d1288f6 - md5: 5267bef8efea4127aacd1f4e1f149b6e - depends: - - python >=3.10 - - soupsieve >=1.2 - - typing-extensions - license: MIT - license_family: MIT - size: 90399 - timestamp: 1764520638652 - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda sha256: 3ad3500bff54a781c29f16ce1b288b36606e2189d0b0ef2f67036554f47f12b0 md5: 8910d2c46f7e7b519129f486e0fe927a @@ -322,36 +283,6 @@ packages: license_family: MIT size: 367376 timestamp: 1764017265553 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda - sha256: 5c2e471fd262fcc3c5a9d5ea4dae5917b885e0e9b02763dbd0f0d9635ed4cb99 - md5: f9501812fe7c66b6548c7fcaa1c1f252 - depends: - - __osx >=11.0 - - libcxx >=19 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - - python_abi 3.14.* *_cp314 - constrains: - - libbrotlicommon 1.2.0 hc919400_1 - license: MIT - license_family: MIT - size: 359854 - timestamp: 1764018178608 -- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda - sha256: 6854ee7675135c57c73a04849c29cbebc2fb6a3a3bfee1f308e64bf23074719b - md5: 1302b74b93c44791403cbeee6a0f62a3 - depends: - - python >=3.14,<3.15.0a0 - - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - libbrotlicommon 1.2.0 hfd05255_1 - license: MIT - license_family: MIT - size: 335782 - timestamp: 1764018443683 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda sha256: 0b75d45f0bba3e95dc693336fa51f40ea28c980131fec438afb7ce6118ed05f6 md5: d2ffd7602c02f2b316fd921d39876885 @@ -362,273 +293,20 @@ packages: license_family: BSD size: 260182 timestamp: 1771350215188 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda - sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df - md5: 620b85a3f45526a8bc4d23fd78fc22f0 - depends: - - __osx >=11.0 - license: bzip2-1.0.6 - license_family: BSD - size: 124834 - timestamp: 1771350416561 -- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda - sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 - md5: 4cb8e6b48f67de0b018719cdf1136306 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: bzip2-1.0.6 - license_family: BSD - size: 56115 - timestamp: 1771350256444 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 - md5: f001e6e220355b7f87403a4d0e5bf1ca - depends: - - __win - license: ISC - size: 147734 - timestamp: 1772006322223 -- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc - md5: 4492fd26db29495f0ba23f146cd5638d - depends: - - __unix - license: ISC - size: 147413 - timestamp: 1772006283803 -- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - sha256: a6b118fd1ed6099dc4fc03f9c492b88882a780fadaef4ed4f93dc70757713656 - md5: 765c4d97e877cdbbb88ff33152b86125 - depends: - - python >=3.10 - license: ISC - size: 151445 - timestamp: 1772001170301 -- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda - sha256: d86dfd428b2e3c364fa90e07437c8405d635aa4ef54b25ab51d9c712be4112a5 - md5: 49ee13eb9b8f44d63879c69b8a40a74b +- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda + sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a + md5: c80d8a3b84358cb967fa81e7075fbc8a depends: - - python >=3.10 + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libstdcxx >=14 license: MIT license_family: MIT - size: 58510 - timestamp: 1773660086450 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - sha256: 8aee789c82d8fdd997840c952a586db63c6890b00e88c4fb6e80a38edd5f51c0 - md5: 94b550b8d3a614dbd326af798c7dfb40 - depends: - - __unix - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 87749 - timestamp: 1747811451319 -- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda - sha256: 20c2d8ea3d800485245b586a28985cba281dd6761113a49d7576f6db92a0a891 - md5: 3a59475037bc09da916e4062c5cad771 - depends: - - __win - - colorama - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 88117 - timestamp: 1747811467132 -- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 - md5: 962b9857ee8e7018c22f2776ffa0b2d7 - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 27011 - timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda - sha256: 8a09b54f6fe1b7a8d87c8da5426bf295aeb0cdd6e509fa3af02d3eb5675da87a - md5: 946b7c3d528a3d231874322efdc25ed6 - depends: - - python >=3.9 - - python - license: BSD-2-Clause AND PSF-2.0 - size: 23884 - timestamp: 1752059551405 -- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 - md5: 8e662bd460bda79b1ea39194e3c4c9ab - depends: - - python >=3.10 - - typing_extensions >=4.6.0 - license: MIT and PSF-2.0 - size: 21333 - timestamp: 1763918099466 -- conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15 - md5: 93f742fe078a7b34c29a182958d4d765 - depends: - - python >=3.9 - - python-dateutil >=2.8.1 - license: Apache-2.0 - license_family: APACHE - size: 16538 - timestamp: 1734344477841 -- conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda - sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 - md5: 7c14f3706e099f8fcd47af2d494616cc - depends: - - python >=3.9 - - smmap >=3.0.1,<6 - license: BSD-3-Clause - license_family: BSD - size: 53136 - timestamp: 1735887290843 -- conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.46-pyhd8ed1ab_0.conda - sha256: 8043bcb4f59d17467c6c2f8259e7ded18775de5d62a8375a27718554d9440641 - md5: 74c0cfdd5359cd2a1f178a4c3d0bd3a5 - depends: - - gitdb >=4.0.1,<5 - - python >=3.10 - - typing_extensions >=3.10.0.2 - license: BSD-3-Clause - license_family: BSD - size: 158433 - timestamp: 1767358832407 -- conda: https://conda.anaconda.org/conda-forge/noarch/griffe-2.0.2-pyhcf101f3_0.conda - sha256: 14cc12f55b19ddf164fb5df96dd156eaa6a8ab60b8ded337deda43fdcf70c369 - md5: 48dc0933013b4d09bd14373bbca33a44 - depends: - - python >=3.10 - - griffelib >=2.0.2,<2.0.3.0a0 - - griffecli >=2.0.2,<2.0.3.0a0 - - python - license: ISC - size: 17094 - timestamp: 1774621473366 -- conda: https://conda.anaconda.org/conda-forge/noarch/griffecli-2.0.2-pyhcf101f3_0.conda - sha256: 4d54de99b3cf5589bf12e761e704aa00c54e5d567e934871a2d794e0772ab0b3 - md5: df88cbe27def353593a53b8b47adf780 - depends: - - python >=3.10 - - colorama >=0.4 - - griffelib >=2.0.2,<2.0.3.0a0 - - python - license: ISC - size: 19703 - timestamp: 1774621473366 -- conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.0.2-pyhcf101f3_0.conda - sha256: f4d0fe5835a6d1e3e828320a1df2117c96a769c788429d78a75ddcafda3cec67 - md5: f7b9e67b788f78c6facf79b3e12b1e13 - depends: - - python >=3.10 - - python - license: ISC - size: 117111 - timestamp: 1774621473366 -- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda - sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 - md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 - depends: - - python >=3.10 - - hyperframe >=6.1,<7 - - hpack >=4.1,<5 - - python - license: MIT - license_family: MIT - size: 95967 - timestamp: 1756364871835 -- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda - sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba - md5: 0a802cb9888dd14eeefc611f05c40b6e - depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 30731 - timestamp: 1737618390337 -- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda - sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 - md5: 8e6923fc12f1fe8f8c4e5c9f343256ac - depends: - - python >=3.9 - license: MIT - license_family: MIT - size: 17397 - timestamp: 1737618427549 -- conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda - sha256: fbf86c4a59c2ed05bbffb2ba25c7ed94f6185ec30ecb691615d42342baa1a16a - md5: c80d8a3b84358cb967fa81e7075fbc8a - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libstdcxx >=14 - license: MIT - license_family: MIT - size: 12723451 - timestamp: 1773822285671 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda - sha256: 3a7907a17e9937d3a46dfd41cffaf815abad59a569440d1e25177c15fd0684e5 - md5: f1182c91c0de31a7abd40cedf6a5ebef - depends: - - __osx >=11.0 - license: MIT - license_family: MIT - size: 12361647 - timestamp: 1773822915649 -- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda - sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 - md5: 53abe63df7e10a6ba605dc5f9f961d36 - depends: - - python >=3.10 - license: BSD-3-Clause - license_family: BSD - size: 50721 - timestamp: 1760286526795 -- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 - md5: 080594bf4493e6bae2607e65390c520a - depends: - - python >=3.10 - - zipp >=3.20 - - python - license: Apache-2.0 - license_family: APACHE - size: 34387 - timestamp: 1773931568510 -- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 - md5: 9614359868482abba1bd15ce465e3c42 - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 13387 - timestamp: 1760831448842 -- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b - md5: 04558c96691bed63104678757beb4f8d - depends: - - markupsafe >=2.0 - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 120685 - timestamp: 1764517220861 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - sha256: a0b319d71492e2b0b78307e0575b4c5a43a10e0a59da36d5627e5447335bedce - md5: 60c0e0783e98da236b4e0f55242f10c7 - depends: - - editorconfig >=0.12.2 - - python >=3.9 - - six >=1.13.0 - license: MIT - license_family: MIT - size: 74352 - timestamp: 1743602210010 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda - sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c - md5: 18335a698559cdbcd86150a48bf54ba6 + size: 12723451 + timestamp: 1773822285671 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda + sha256: 3d584956604909ff5df353767f3a2a2f60e07d070b328d109f30ac40cd62df6c + md5: 18335a698559cdbcd86150a48bf54ba6 depends: - __glibc >=2.17,<3.0.a0 - zstd >=1.5.7,<1.6.0a0 @@ -638,15 +316,6 @@ packages: license_family: GPL size: 728002 timestamp: 1774197446916 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda - sha256: d1402087c8792461bfc081629e8aa97e6e577a31ae0b84e6b9cc144a18f48067 - md5: 4280e0a7fd613b271e022e60dea0138c - depends: - - __osx >=11.0 - license: Apache-2.0 WITH LLVM-exception - license_family: Apache - size: 568094 - timestamp: 1774439202359 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda sha256: e8c2b57f6aacabdf2f1b0924bd4831ce5071ba080baa4a9e8c0d720588b6794c md5: 49f570f3bc4c874a06ea69b7225753af @@ -659,30 +328,6 @@ packages: license_family: MIT size: 76624 timestamp: 1774719175983 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda - sha256: 06780dec91dd25770c8cf01e158e1062fbf7c576b1406427475ce69a8af75b7e - md5: a32123f93e168eaa4080d87b0fb5da8a - depends: - - __osx >=11.0 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT - size: 68192 - timestamp: 1774719211725 -- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda - sha256: 6850c3a4d5dc215b86f58518cfb8752998533d6569b08da8df1da72e7c68e571 - md5: bfb43f52f13b7c56e7677aa7a8efdf0c - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - expat 2.7.5.* - license: MIT - license_family: MIT - size: 70609 - timestamp: 1774719377850 - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda sha256: 31f19b6a88ce40ebc0d5a992c131f57d919f73c0b92cd1617a5bec83f6e961e6 md5: a360c33a5abe61c07959e449fa1453eb @@ -693,29 +338,9 @@ packages: license_family: MIT size: 58592 timestamp: 1769456073053 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda - sha256: 6686a26466a527585e6a75cc2a242bf4a3d97d6d6c86424a441677917f28bec7 - md5: 43c04d9cb46ef176bb2a4c77e324d599 - depends: - - __osx >=11.0 - license: MIT - license_family: MIT - size: 40979 - timestamp: 1769456747661 -- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda - sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 - md5: 720b39f5ec0610457b725eb3f396219a - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: MIT - license_family: MIT - size: 45831 - timestamp: 1769456418774 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda - sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 - md5: 0aa00f03f9e39fb9876085dee11a85d4 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda + sha256: faf7d2017b4d718951e3a59d081eb09759152f93038479b768e3d612688f83f5 + md5: 0aa00f03f9e39fb9876085dee11a85d4 depends: - __glibc >=2.17,<3.0.a0 - _openmp_mutex >=4.5 @@ -746,28 +371,6 @@ packages: license: 0BSD size: 113207 timestamp: 1768752626120 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda - sha256: 7bfc7ffb2d6a9629357a70d4eadeadb6f88fa26ebc28f606b1c1e5e5ed99dc7e - md5: 009f0d956d7bfb00de86901d16e486c7 - depends: - - __osx >=11.0 - constrains: - - xz 5.8.2.* - license: 0BSD - size: 92242 - timestamp: 1768752982486 -- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda - sha256: f25bf293f550c8ed2e0c7145eb404324611cfccff37660869d97abf526eb957c - md5: ba0bfd4c3cf73f299ffe46ff0eaeb8e3 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - xz 5.8.2.* - license: 0BSD - size: 106169 - timestamp: 1768752763559 - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda sha256: fe171ed5cf5959993d43ff72de7596e8ac2853e9021dec0344e583734f1e0843 md5: 2c21e66f50753a083cbe6b80f38268fa @@ -778,26 +381,6 @@ packages: license_family: BSD size: 92400 timestamp: 1769482286018 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda - sha256: 1089c7f15d5b62c622625ec6700732ece83be8b705da8c6607f4dabb0c4bd6d2 - md5: 57c4be259f5e0b99a5983799a228ae55 - depends: - - __osx >=11.0 - license: BSD-2-Clause - license_family: BSD - size: 73690 - timestamp: 1769482560514 -- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda - sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 - md5: e4a9fc2bba3b022dad998c78856afe47 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: BSD-2-Clause - license_family: BSD - size: 89411 - timestamp: 1769482314283 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda sha256: d716847b7deca293d2e49ed1c8ab9e4b9e04b9d780aea49a97c26925b28a7993 md5: fd893f6a3002a635b5e50ceb9dd2c0f4 @@ -809,26 +392,6 @@ packages: license: blessing size: 951405 timestamp: 1772818874251 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda - sha256: beb0fd5594d6d7c7cd42c992b6bb4d66cbb39d6c94a8234f15956da99a04306c - md5: f6233a3fddc35a2ec9f617f79d6f3d71 - depends: - - __osx >=11.0 - - icu >=78.2,<79.0a0 - - libzlib >=1.3.1,<2.0a0 - license: blessing - size: 918420 - timestamp: 1772819478684 -- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda - sha256: 5fccf1e4e4062f8b9a554abf4f9735a98e70f82e2865d0bfdb47b9de94887583 - md5: 8830689d537fda55f990620680934bb1 - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: blessing - size: 1297302 - timestamp: 1772818899033 - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda sha256: 78668020064fdaa27e9ab65cd2997e2c837b564ab26ce3bf0e58a2ce1a525c6e md5: 1b08cd684f34175e4514474793d44bcb @@ -862,41 +425,6 @@ packages: license_family: Other size: 63629 timestamp: 1774072609062 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda - sha256: 361415a698514b19a852f5d1123c5da746d4642139904156ddfca7c922d23a05 - md5: bc5a5721b6439f2f62a84f2548136082 - depends: - - __osx >=11.0 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - size: 47759 - timestamp: 1774072956767 -- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda - sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 - md5: dbabbd6234dea34040e631f87676292f - depends: - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - constrains: - - zlib 1.3.2 *_2 - license: Zlib - license_family: Other - size: 58347 - timestamp: 1774072851498 -- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b - md5: ba0a9221ce1063f31692c07370d062f3 - depends: - - importlib-metadata >=4.4 - - python >=3.10 - - python - license: BSD-3-Clause - license_family: BSD - size: 85893 - timestamp: 1770694658918 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda sha256: c279be85b59a62d5c52f5dd9a4cd43ebd08933809a8416c22c3131595607d4cf md5: 9a17c4307d23318476d7fbf0fedc0cde @@ -911,66 +439,428 @@ packages: license_family: BSD size: 27424 timestamp: 1772445227915 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda - sha256: 411153d14ee0d98be6e3751cf5cc0502db17bce2deebebb8779e33d29d0e525f - md5: d33c0a15882b70255abdd54711b06a45 +- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda + sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 + md5: 47e340acb35de30501a76c7c799c41d7 depends: - - __osx >=11.0 - - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 + - __glibc >=2.17,<3.0.a0 + - libgcc >=13 + license: X11 AND BSD-3-Clause + size: 891641 + timestamp: 1738195959188 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda + sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c + md5: f61eb8cd60ff9057122a3d338b99c00f + depends: + - __glibc >=2.17,<3.0.a0 + - ca-certificates + - libgcc >=14 + license: Apache-2.0 + license_family: Apache + size: 3164551 + timestamp: 1769555830639 +- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda + build_number: 101 + sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd + md5: c014ad06e60441661737121d3eae8a60 + depends: + - __glibc >=2.17,<3.0.a0 + - bzip2 >=1.0.8,<2.0a0 + - ld_impl_linux-64 >=2.36.1 + - libexpat >=2.7.3,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - libgcc >=14 + - liblzma >=5.8.2,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libuuid >=2.41.3,<3.0a0 + - libzlib >=1.3.1,<2.0a0 + - ncurses >=6.5,<7.0a0 + - openssl >=3.5.5,<4.0a0 - python_abi 3.14.* *_cp314 - constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause - license_family: BSD - size: 27256 - timestamp: 1772445397216 -- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda - sha256: 02805a0f3cd168dbf13afc5e4aed75cc00fe538ce143527a6471485b36f5887c - md5: 8de7b40f8b30a8fcaa423c2537fe4199 + - readline >=8.3,<9.0a0 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + size: 36702440 + timestamp: 1770675584356 + python_site_packages_path: lib/python3.14/site-packages +- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda + sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d + md5: 2035f68f96be30dc60a5dfd7452c7941 depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 - python >=3.14,<3.15.0a0 - python_abi 3.14.* *_cp314 - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 202391 + timestamp: 1770223462836 +- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda + sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 + md5: d7d95fc8287ea7bf33e0e7116d2b95ec + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 345073 + timestamp: 1765813471974 +- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda + sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac + md5: cffd3bdd58090148f4cfcd831f4b26ab + depends: + - __glibc >=2.17,<3.0.a0 + - libgcc >=14 + - libzlib >=1.3.1,<2.0a0 constrains: - - jinja2 >=3.0.0 - license: BSD-3-Clause + - xorg-libx11 >=1.8.12,<2.0a0 + license: TCL license_family: BSD - size: 30022 - timestamp: 1772445159549 -- conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d - md5: d9a8fc1f01deae61735c88ec242e855c + size: 3301196 + timestamp: 1769460227866 +- conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314h9e666f3_3.conda + sha256: 19605181aa56af8aeef977ec99614194420c96e929eaad2c1d858e5fcb16414c + md5: d0003e6427d81d247aa5ef84ba814d47 depends: - - python >=3.9 + - python + - pyyaml >=3.10 + - python_abi 3.14.* *_cp314 + license: Apache-2.0 + license_family: APACHE + size: 162474 + timestamp: 1772608179138 +- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda + sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad + md5: a77f85f77be52ff59391544bfe73390a + depends: + - libgcc >=14 + - __glibc >=2.17,<3.0.a0 license: MIT license_family: MIT - size: 11676 - timestamp: 1734157119152 -- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda - sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35 - md5: 14661160be39d78f2b210f2cc2766059 + size: 85189 + timestamp: 1753484064210 +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda + sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 + md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 depends: - - click >=7.0,<8.3.0a0 - - colorama >=0.4 - - ghp-import >=1.0 - - importlib-metadata >=4.4 - - jinja2 >=2.11.1 - - markdown >=3.3.6 - - markupsafe >=2.0.1 - - mergedeep >=1.3.4 - - mkdocs-get-deps >=0.2.0 - - packaging >=20.5 - - pathspec >=0.11.1 - - python >=3.9 - - pyyaml >=5.1 - - pyyaml-env-tag >=0.1 - - watchdog >=2.0 - constrains: - - babel >=2.9.0 - license: BSD-2-Clause + - __glibc >=2.17,<3.0.a0 + - libzlib >=1.3.1,<2.0a0 + license: BSD-3-Clause + license_family: BSD + size: 601375 + timestamp: 1764777111296 +- conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda + sha256: a14a9ad02101aab25570543a59c5193043b73dc311a25650134ed9e6cb691770 + md5: f1976ce927373500cc19d3c0b2c85177 + depends: + - python >=3.10 + - python + constrains: + - pytz >=2015.7 + license: BSD-3-Clause + license_family: BSD + size: 7684321 + timestamp: 1772555330347 +- conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda + noarch: generic + sha256: c31ab719d256bc6f89926131e88ecd0f0c5d003fe8481852c6424f4ec6c7eb29 + md5: a2ac7763a9ac75055b68f325d3255265 + depends: + - python >=3.14 + license: BSD-3-Clause AND MIT AND EPL-2.0 + size: 7514 + timestamp: 1767044983590 +- conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda + sha256: ea22e1ae38622c7872a41708a248ef0b1917ca3d91a0672995a0c8cbfc85c04e + md5: d78c9304d873002ca50e65c33ed6ff0e + depends: + - python >=3.10 + license: MIT + license_family: MIT + size: 144933 + timestamp: 1771286293210 +- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda + sha256: bf1e71c3c0a5b024e44ff928225a0874fc3c3356ec1a0b6fe719108e6d1288f6 + md5: 5267bef8efea4127aacd1f4e1f149b6e + depends: + - python >=3.10 + - soupsieve >=1.2 + - typing-extensions + license: MIT + license_family: MIT + size: 90399 + timestamp: 1764520638652 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda + sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 + md5: f001e6e220355b7f87403a4d0e5bf1ca + depends: + - __win + license: ISC + size: 147734 + timestamp: 1772006322223 +- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda + sha256: 67cc7101b36421c5913a1687ef1b99f85b5d6868da3abbf6ec1a4181e79782fc + md5: 4492fd26db29495f0ba23f146cd5638d + depends: + - __unix + license: ISC + size: 147413 + timestamp: 1772006283803 +- conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda + sha256: a6b118fd1ed6099dc4fc03f9c492b88882a780fadaef4ed4f93dc70757713656 + md5: 765c4d97e877cdbbb88ff33152b86125 + depends: + - python >=3.10 + license: ISC + size: 151445 + timestamp: 1772001170301 +- conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda + sha256: d86dfd428b2e3c364fa90e07437c8405d635aa4ef54b25ab51d9c712be4112a5 + md5: 49ee13eb9b8f44d63879c69b8a40a74b + depends: + - python >=3.10 + license: MIT + license_family: MIT + size: 58510 + timestamp: 1773660086450 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda + sha256: 8aee789c82d8fdd997840c952a586db63c6890b00e88c4fb6e80a38edd5f51c0 + md5: 94b550b8d3a614dbd326af798c7dfb40 + depends: + - __unix + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + size: 87749 + timestamp: 1747811451319 +- conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda + sha256: 20c2d8ea3d800485245b586a28985cba281dd6761113a49d7576f6db92a0a891 + md5: 3a59475037bc09da916e4062c5cad771 + depends: + - __win + - colorama + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + size: 88117 + timestamp: 1747811467132 +- conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda + sha256: ab29d57dc70786c1269633ba3dff20288b81664d3ff8d21af995742e2bb03287 + md5: 962b9857ee8e7018c22f2776ffa0b2d7 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 27011 + timestamp: 1733218222191 +- conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda + sha256: 8a09b54f6fe1b7a8d87c8da5426bf295aeb0cdd6e509fa3af02d3eb5675da87a + md5: 946b7c3d528a3d231874322efdc25ed6 + depends: + - python >=3.9 + - python + license: BSD-2-Clause AND PSF-2.0 + size: 23884 + timestamp: 1752059551405 +- conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda + sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 + md5: 8e662bd460bda79b1ea39194e3c4c9ab + depends: + - python >=3.10 + - typing_extensions >=4.6.0 + license: MIT and PSF-2.0 + size: 21333 + timestamp: 1763918099466 +- conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda + sha256: 40fdf5a9d5cc7a3503cd0c33e1b90b1e6eab251aaaa74e6b965417d089809a15 + md5: 93f742fe078a7b34c29a182958d4d765 + depends: + - python >=3.9 + - python-dateutil >=2.8.1 + license: Apache-2.0 + license_family: APACHE + size: 16538 + timestamp: 1734344477841 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda + sha256: dbbec21a369872c8ebe23cb9a3b9d63638479ee30face165aa0fccc96e93eec3 + md5: 7c14f3706e099f8fcd47af2d494616cc + depends: + - python >=3.9 + - smmap >=3.0.1,<6 + license: BSD-3-Clause + license_family: BSD + size: 53136 + timestamp: 1735887290843 +- conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.46-pyhd8ed1ab_0.conda + sha256: 8043bcb4f59d17467c6c2f8259e7ded18775de5d62a8375a27718554d9440641 + md5: 74c0cfdd5359cd2a1f178a4c3d0bd3a5 + depends: + - gitdb >=4.0.1,<5 + - python >=3.10 + - typing_extensions >=3.10.0.2 + license: BSD-3-Clause + license_family: BSD + size: 158433 + timestamp: 1767358832407 +- conda: https://conda.anaconda.org/conda-forge/noarch/griffe-2.0.2-pyhcf101f3_0.conda + sha256: 14cc12f55b19ddf164fb5df96dd156eaa6a8ab60b8ded337deda43fdcf70c369 + md5: 48dc0933013b4d09bd14373bbca33a44 + depends: + - python >=3.10 + - griffelib >=2.0.2,<2.0.3.0a0 + - griffecli >=2.0.2,<2.0.3.0a0 + - python + license: ISC + size: 17094 + timestamp: 1774621473366 +- conda: https://conda.anaconda.org/conda-forge/noarch/griffecli-2.0.2-pyhcf101f3_0.conda + sha256: 4d54de99b3cf5589bf12e761e704aa00c54e5d567e934871a2d794e0772ab0b3 + md5: df88cbe27def353593a53b8b47adf780 + depends: + - python >=3.10 + - colorama >=0.4 + - griffelib >=2.0.2,<2.0.3.0a0 + - python + license: ISC + size: 19703 + timestamp: 1774621473366 +- conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.0.2-pyhcf101f3_0.conda + sha256: f4d0fe5835a6d1e3e828320a1df2117c96a769c788429d78a75ddcafda3cec67 + md5: f7b9e67b788f78c6facf79b3e12b1e13 + depends: + - python >=3.10 + - python + license: ISC + size: 117111 + timestamp: 1774621473366 +- conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda + sha256: 84c64443368f84b600bfecc529a1194a3b14c3656ee2e832d15a20e0329b6da3 + md5: 164fc43f0b53b6e3a7bc7dce5e4f1dc9 + depends: + - python >=3.10 + - hyperframe >=6.1,<7 + - hpack >=4.1,<5 + - python + license: MIT + license_family: MIT + size: 95967 + timestamp: 1756364871835 +- conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda + sha256: 6ad78a180576c706aabeb5b4c8ceb97c0cb25f1e112d76495bff23e3779948ba + md5: 0a802cb9888dd14eeefc611f05c40b6e + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 30731 + timestamp: 1737618390337 +- conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda + sha256: 77af6f5fe8b62ca07d09ac60127a30d9069fdc3c68d6b256754d0ffb1f7779f8 + md5: 8e6923fc12f1fe8f8c4e5c9f343256ac + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 17397 + timestamp: 1737618427549 +- conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda + sha256: ae89d0299ada2a3162c2614a9d26557a92aa6a77120ce142f8e0109bbf0342b0 + md5: 53abe63df7e10a6ba605dc5f9f961d36 + depends: + - python >=3.10 + license: BSD-3-Clause + license_family: BSD + size: 50721 + timestamp: 1760286526795 +- conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda + sha256: 82ab2a0d91ca1e7e63ab6a4939356667ef683905dea631bc2121aa534d347b16 + md5: 080594bf4493e6bae2607e65390c520a + depends: + - python >=3.10 + - zipp >=3.20 + - python + license: Apache-2.0 + license_family: APACHE + size: 34387 + timestamp: 1773931568510 +- conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda + sha256: e1a9e3b1c8fe62dc3932a616c284b5d8cbe3124bbfbedcf4ce5c828cb166ee19 + md5: 9614359868482abba1bd15ce465e3c42 + depends: + - python >=3.10 + license: MIT + license_family: MIT + size: 13387 + timestamp: 1760831448842 +- conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda + sha256: fc9ca7348a4f25fed2079f2153ecdcf5f9cf2a0bc36c4172420ca09e1849df7b + md5: 04558c96691bed63104678757beb4f8d + depends: + - markupsafe >=2.0 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + size: 120685 + timestamp: 1764517220861 +- conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda + sha256: a0b319d71492e2b0b78307e0575b4c5a43a10e0a59da36d5627e5447335bedce + md5: 60c0e0783e98da236b4e0f55242f10c7 + depends: + - editorconfig >=0.12.2 + - python >=3.9 + - six >=1.13.0 + license: MIT + license_family: MIT + size: 74352 + timestamp: 1743602210010 +- conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda + sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b + md5: ba0a9221ce1063f31692c07370d062f3 + depends: + - importlib-metadata >=4.4 + - python >=3.10 + - python + license: BSD-3-Clause + license_family: BSD + size: 85893 + timestamp: 1770694658918 +- conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda + sha256: e5b555fd638334a253d83df14e3c913ef8ce10100090e17fd6fb8e752d36f95d + md5: d9a8fc1f01deae61735c88ec242e855c + depends: + - python >=3.9 + license: MIT + license_family: MIT + size: 11676 + timestamp: 1734157119152 +- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda + sha256: 902d2e251f9a7ffa7d86a3e62be5b2395e28614bd4dbe5f50acf921fd64a8c35 + md5: 14661160be39d78f2b210f2cc2766059 + depends: + - click >=7.0,<8.3.0a0 + - colorama >=0.4 + - ghp-import >=1.0 + - importlib-metadata >=4.4 + - jinja2 >=2.11.1 + - markdown >=3.3.6 + - markupsafe >=2.0.1 + - mergedeep >=1.3.4 + - mkdocs-get-deps >=0.2.0 + - packaging >=20.5 + - pathspec >=0.11.1 + - python >=3.9 + - pyyaml >=5.1 + - pyyaml-env-tag >=0.1 + - watchdog >=2.0 + constrains: + - babel >=2.9.0 + license: BSD-2-Clause license_family: BSD size: 3524754 timestamp: 1734344673481 @@ -984,6 +874,7 @@ packages: - pymdown-extensions - python >=3.10 license: ISC + run_exports: {} size: 35803 timestamp: 1770749168710 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-get-deps-0.2.2-pyhd8ed1ab_0.conda @@ -1089,56 +980,6 @@ packages: license: ISC size: 57013 timestamp: 1770730332317 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - sha256: 3fde293232fa3fca98635e1167de6b7c7fda83caf24b9d6c91ec9eefb4f4d586 - md5: 47e340acb35de30501a76c7c799c41d7 - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=13 - license: X11 AND BSD-3-Clause - size: 891641 - timestamp: 1738195959188 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda - sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733 - md5: 068d497125e4bf8a66bf707254fff5ae - depends: - - __osx >=11.0 - license: X11 AND BSD-3-Clause - size: 797030 - timestamp: 1738196177597 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda - sha256: 44c877f8af015332a5d12f5ff0fb20ca32f896526a7d0cdb30c769df1144fb5c - md5: f61eb8cd60ff9057122a3d338b99c00f - depends: - - __glibc >=2.17,<3.0.a0 - - ca-certificates - - libgcc >=14 - license: Apache-2.0 - license_family: Apache - size: 3164551 - timestamp: 1769555830639 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda - sha256: 361f5c5e60052abc12bdd1b50d7a1a43e6a6653aab99a2263bf2288d709dcf67 - md5: f4f6ad63f98f64191c3e77c5f5f29d76 - depends: - - __osx >=11.0 - - ca-certificates - license: Apache-2.0 - license_family: Apache - size: 3104268 - timestamp: 1769556384749 -- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda - sha256: 53a5ad2e5553b8157a91bb8aa375f78c5958f77cb80e9d2ce59471ea8e5c0bd6 - md5: eb585509b815415bc964b2c7e11c7eb3 - depends: - - ca-certificates - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - license: Apache-2.0 - license_family: Apache - size: 9343023 - timestamp: 1769557547888 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda sha256: c1fc0f953048f743385d31c468b4a678b3ad20caffdeaa94bed85ba63049fd58 md5: b76541e68fea4d511b1ac46a28dcd2c6 @@ -1156,123 +997,381 @@ packages: - python >=3.9 license: MIT license_family: MIT - size: 18865 - timestamp: 1734618649164 -- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda - sha256: 29ea20d0faf20374fcd61c25f6d32fb8e9a2c786a7f1473a0c3ead359470fbe1 - md5: 2908273ac396d2cd210a8127f5f1c0d6 + size: 18865 + timestamp: 1734618649164 +- conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda + sha256: 29ea20d0faf20374fcd61c25f6d32fb8e9a2c786a7f1473a0c3ead359470fbe1 + md5: 2908273ac396d2cd210a8127f5f1c0d6 + depends: + - python >=3.10 + license: MPL-2.0 + license_family: MOZILLA + size: 53739 + timestamp: 1769677743677 +- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda + sha256: 0289f0a38337ee201d984f8f31f11f6ef076cfbbfd0ab9181d12d9d1d099bf46 + md5: 82c1787f2a65c0155ef9652466ee98d6 + depends: + - python >=3.10 + - python + license: MIT + license_family: MIT + size: 25646 + timestamp: 1773199142345 +- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda + sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e + md5: d7585b6550ad04c8c5e21097ada2888e + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + size: 25877 + timestamp: 1764896838868 +- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda + sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 + md5: 16c18772b340887160c79a6acc022db0 + depends: + - python >=3.10 + license: BSD-2-Clause + size: 893031 + timestamp: 1774796815820 +- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda + sha256: f0513cb5a1ad722025771e7c5a45fa163dfab965d608a82d058cde47abb02d48 + md5: 8e693ba2664eaa3306d7084642e2e4a2 + depends: + - markdown >=3.6 + - python >=3.10 + - pyyaml + license: MIT + license_family: MIT + size: 173156 + timestamp: 1774803071462 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda + sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca + md5: e2fd202833c4a981ce8a65974fe4abd1 + depends: + - __win + - python >=3.9 + - win_inet_pton + license: BSD-3-Clause + license_family: BSD + size: 21784 + timestamp: 1733217448189 +- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda + sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 + md5: 461219d1a5bd61342293efa2c0c90eac + depends: + - __unix + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 21085 + timestamp: 1733217331982 +- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda + sha256: 9e749fb465a8bedf0184d8b8996992a38de351f7c64e967031944978de03a520 + md5: 2b694bad8a50dc2f712f5368de866480 + depends: + - pygments >=2.7.2 + - python >=3.10 + - iniconfig >=1.0.1 + - packaging >=22 + - pluggy >=1.5,<2 + - tomli >=1 + - colorama >=0.4 + - exceptiongroup >=1 + - python + constrains: + - pytest-faulthandler >=2 + license: MIT + license_family: MIT + size: 299581 + timestamp: 1765062031645 +- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda + sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 + md5: 5b8d21249ff20967101ffa321cab24e8 + depends: + - python >=3.9 + - six >=1.5 + - python + license: Apache-2.0 + license_family: APACHE + size: 233310 + timestamp: 1751104122689 +- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda + build_number: 8 + sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 + md5: 0539938c55b6b1a59b560e843ad864a4 + constrains: + - python 3.14.* *_cp314 + license: BSD-3-Clause + license_family: BSD + size: 6989 + timestamp: 1752805904792 +- conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda + sha256: 69ab63bd45587406ae911811fc4d4c1bf972d643fa57a009de7c01ac978c4edd + md5: e8e53c4150a1bba3b160eacf9d53a51b + depends: + - python >=3.9 + - pyyaml + license: MIT + license_family: MIT + size: 11137 + timestamp: 1747237061448 +- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda + sha256: fbc7183778e1f9976ae7d812986c227f9d43f841326ac03b5f43f1ac93fa8f3b + md5: bee5ed456361bfe8af502beaf5db82e2 + depends: + - python >=3.10 + - certifi >=2023.5.7 + - charset-normalizer >=2,<4 + - idna >=2.5,<4 + - urllib3 >=1.26,<3 + - python + constrains: + - chardet >=3.0.2,<6 + license: Apache-2.0 + license_family: APACHE + size: 63788 + timestamp: 1774462091279 +- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda + sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 + md5: 8e194e7b992f99a5015edbd4ebd38efd + depends: + - python >=3.10 + license: MIT + license_family: MIT + size: 639697 + timestamp: 1773074868565 +- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda + sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d + md5: 3339e3b65d58accf4ca4fb8748ab16b3 + depends: + - python >=3.9 + - python + license: MIT + license_family: MIT + size: 18455 + timestamp: 1753199211006 +- conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda + sha256: eb92d0ad94b65af16c73071cc00cc0e10f2532be807beb52758aab2b06eb21e2 + md5: 87f47a78808baf2fa1ea9c315a1e48f1 + depends: + - python >=3.9 + license: BSD-3-Clause + license_family: BSD + size: 26051 + timestamp: 1739781801801 +- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda + sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac + md5: 18de09b20462742fe093ba39185d9bac + depends: + - python >=3.10 + license: MIT + license_family: MIT + size: 38187 + timestamp: 1769034509657 +- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda + sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd + md5: b5325cf06a000c5b14970462ff5e4d58 depends: - python >=3.10 - license: MPL-2.0 - license_family: MOZILLA - size: 53739 - timestamp: 1769677743677 -- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda - sha256: 0289f0a38337ee201d984f8f31f11f6ef076cfbbfd0ab9181d12d9d1d099bf46 - md5: 82c1787f2a65c0155ef9652466ee98d6 + - python + license: MIT + license_family: MIT + size: 21561 + timestamp: 1774492402955 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda + sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c + md5: edd329d7d3a4ab45dcf905899a7a6115 + depends: + - typing_extensions ==4.15.0 pyhcf101f3_0 + license: PSF-2.0 + license_family: PSF + size: 91383 + timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda + sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 + md5: 0caa1af407ecff61170c9437a808404d depends: - python >=3.10 - python + license: PSF-2.0 + license_family: PSF + size: 51692 + timestamp: 1756220668932 +- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda + sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c + md5: ad659d0a2b3e47e38d829aa8cad2d610 + license: LicenseRef-Public-Domain + size: 119135 + timestamp: 1767016325805 +- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda + sha256: af641ca7ab0c64525a96fd9ad3081b0f5bcf5d1cbb091afb3f6ed5a9eee6111a + md5: 9272daa869e03efe68833e3dc7a02130 + depends: + - backports.zstd >=1.0.0 + - brotli-python >=1.2.0 + - h2 >=4,<5 + - pysocks >=1.5.6,<2.0,!=1.5.7 + - python >=3.10 license: MIT license_family: MIT - size: 25646 - timestamp: 1773199142345 -- conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda - sha256: e14aafa63efa0528ca99ba568eaf506eb55a0371d12e6250aaaa61718d2eb62e - md5: d7585b6550ad04c8c5e21097ada2888e + size: 103172 + timestamp: 1767817860341 +- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda + sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f + md5: 46e441ba871f524e2b067929da3051c2 depends: + - __win - python >=3.9 + license: LicenseRef-Public-Domain + size: 9555 + timestamp: 1733130678956 +- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae + md5: 30cd29cb87d819caead4d55184c1d115 + depends: + - python >=3.10 - python license: MIT license_family: MIT - size: 25877 - timestamp: 1764896838868 -- conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda - sha256: cf70b2f5ad9ae472b71235e5c8a736c9316df3705746de419b59d442e8348e86 - md5: 16c18772b340887160c79a6acc022db0 - depends: - - python >=3.10 - license: BSD-2-Clause - size: 893031 - timestamp: 1774796815820 -- conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda - sha256: f0513cb5a1ad722025771e7c5a45fa163dfab965d608a82d058cde47abb02d48 - md5: 8e693ba2664eaa3306d7084642e2e4a2 + size: 24194 + timestamp: 1764460141901 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda + sha256: 5c2e471fd262fcc3c5a9d5ea4dae5917b885e0e9b02763dbd0f0d9635ed4cb99 + md5: f9501812fe7c66b6548c7fcaa1c1f252 depends: - - markdown >=3.6 - - python >=3.10 - - pyyaml + - __osx >=11.0 + - libcxx >=19 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 + - python_abi 3.14.* *_cp314 + constrains: + - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT - size: 173156 - timestamp: 1774803071462 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda - sha256: d016e04b0e12063fbee4a2d5fbb9b39a8d191b5a0042f0b8459188aedeabb0ca - md5: e2fd202833c4a981ce8a65974fe4abd1 + size: 359854 + timestamp: 1764018178608 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda + sha256: 540fe54be35fac0c17feefbdc3e29725cce05d7367ffedfaaa1bdda234b019df + md5: 620b85a3f45526a8bc4d23fd78fc22f0 depends: - - __win - - python >=3.9 - - win_inet_pton - license: BSD-3-Clause + - __osx >=11.0 + license: bzip2-1.0.6 license_family: BSD - size: 21784 - timestamp: 1733217448189 -- conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda - sha256: ba3b032fa52709ce0d9fd388f63d330a026754587a2f461117cac9ab73d8d0d8 - md5: 461219d1a5bd61342293efa2c0c90eac + size: 124834 + timestamp: 1771350416561 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda + sha256: 3a7907a17e9937d3a46dfd41cffaf815abad59a569440d1e25177c15fd0684e5 + md5: f1182c91c0de31a7abd40cedf6a5ebef depends: - - __unix - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 21085 - timestamp: 1733217331982 -- conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda - sha256: 9e749fb465a8bedf0184d8b8996992a38de351f7c64e967031944978de03a520 - md5: 2b694bad8a50dc2f712f5368de866480 + - __osx >=11.0 + license: MIT + license_family: MIT + size: 12361647 + timestamp: 1773822915649 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda + sha256: d1402087c8792461bfc081629e8aa97e6e577a31ae0b84e6b9cc144a18f48067 + md5: 4280e0a7fd613b271e022e60dea0138c depends: - - pygments >=2.7.2 - - python >=3.10 - - iniconfig >=1.0.1 - - packaging >=22 - - pluggy >=1.5,<2 - - tomli >=1 - - colorama >=0.4 - - exceptiongroup >=1 - - python + - __osx >=11.0 + license: Apache-2.0 WITH LLVM-exception + license_family: Apache + size: 568094 + timestamp: 1774439202359 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda + sha256: 06780dec91dd25770c8cf01e158e1062fbf7c576b1406427475ce69a8af75b7e + md5: a32123f93e168eaa4080d87b0fb5da8a + depends: + - __osx >=11.0 constrains: - - pytest-faulthandler >=2 + - expat 2.7.5.* license: MIT license_family: MIT - size: 299581 - timestamp: 1765062031645 -- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda - build_number: 101 - sha256: cb0628c5f1732f889f53a877484da98f5a0e0f47326622671396fb4f2b0cd6bd - md5: c014ad06e60441661737121d3eae8a60 + size: 68192 + timestamp: 1774719211725 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda + sha256: 6686a26466a527585e6a75cc2a242bf4a3d97d6d6c86424a441677917f28bec7 + md5: 43c04d9cb46ef176bb2a4c77e324d599 depends: - - __glibc >=2.17,<3.0.a0 - - bzip2 >=1.0.8,<2.0a0 - - ld_impl_linux-64 >=2.36.1 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - libgcc >=14 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libuuid >=2.41.3,<3.0a0 + - __osx >=11.0 + license: MIT + license_family: MIT + size: 40979 + timestamp: 1769456747661 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda + sha256: 7bfc7ffb2d6a9629357a70d4eadeadb6f88fa26ebc28f606b1c1e5e5ed99dc7e + md5: 009f0d956d7bfb00de86901d16e486c7 + depends: + - __osx >=11.0 + constrains: + - xz 5.8.2.* + license: 0BSD + size: 92242 + timestamp: 1768752982486 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda + sha256: 1089c7f15d5b62c622625ec6700732ece83be8b705da8c6607f4dabb0c4bd6d2 + md5: 57c4be259f5e0b99a5983799a228ae55 + depends: + - __osx >=11.0 + license: BSD-2-Clause + license_family: BSD + size: 73690 + timestamp: 1769482560514 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda + sha256: beb0fd5594d6d7c7cd42c992b6bb4d66cbb39d6c94a8234f15956da99a04306c + md5: f6233a3fddc35a2ec9f617f79d6f3d71 + depends: + - __osx >=11.0 + - icu >=78.2,<79.0a0 - libzlib >=1.3.1,<2.0a0 - - ncurses >=6.5,<7.0a0 - - openssl >=3.5.5,<4.0a0 + license: blessing + size: 918420 + timestamp: 1772819478684 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda + sha256: 361415a698514b19a852f5d1123c5da746d4642139904156ddfca7c922d23a05 + md5: bc5a5721b6439f2f62a84f2548136082 + depends: + - __osx >=11.0 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + size: 47759 + timestamp: 1774072956767 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda + sha256: 411153d14ee0d98be6e3751cf5cc0502db17bce2deebebb8779e33d29d0e525f + md5: d33c0a15882b70255abdd54711b06a45 + depends: + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 - python_abi 3.14.* *_cp314 - - readline >=8.3,<9.0a0 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 36702440 - timestamp: 1770675584356 - python_site_packages_path: lib/python3.14/site-packages + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 27256 + timestamp: 1772445397216 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda + sha256: 2827ada40e8d9ca69a153a45f7fd14f32b2ead7045d3bbb5d10964898fe65733 + md5: 068d497125e4bf8a66bf707254fff5ae + depends: + - __osx >=11.0 + license: X11 AND BSD-3-Clause + size: 797030 + timestamp: 1738196177597 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda + sha256: 361f5c5e60052abc12bdd1b50d7a1a43e6a6653aab99a2263bf2288d709dcf67 + md5: f4f6ad63f98f64191c3e77c5f5f29d76 + depends: + - __osx >=11.0 + - ca-certificates + license: Apache-2.0 + license_family: Apache + size: 3104268 + timestamp: 1769556384749 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda build_number: 101 sha256: fccce2af62d11328d232df9f6bbf63464fd45f81f718c661757f9c628c4378ce @@ -1297,77 +1396,218 @@ packages: size: 13522698 timestamp: 1770675365241 python_site_packages_path: lib/python3.14/site-packages -- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda - build_number: 101 - sha256: 3f99d83bfd95b9bdae64a42a1e4bf5131dc20b724be5ac8a9a7e1ac2c0f006d7 - md5: 7ec2be7eaf59f83f3e5617665f3fbb2e +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda + sha256: 95f385f9606e30137cf0b5295f63855fd22223a4cf024d306cf9098ea1c4a252 + md5: dcf51e564317816cb8d546891019b3ab depends: - - bzip2 >=1.0.8,<2.0a0 - - libexpat >=2.7.3,<3.0a0 - - libffi >=3.5.2,<3.6.0a0 - - liblzma >=5.8.2,<6.0a0 - - libmpdec >=4.0.0,<5.0a0 - - libsqlite >=3.51.2,<4.0a0 - - libzlib >=1.3.1,<2.0a0 - - openssl >=3.5.5,<4.0a0 + - __osx >=11.0 + - python >=3.14,<3.15.0a0 + - python >=3.14,<3.15.0a0 *_cp314 - python_abi 3.14.* *_cp314 - - tk >=8.6.13,<8.7.0a0 - - tzdata - - ucrt >=10.0.20348.0 - - vc >=14.3,<15 - - vc14_runtime >=14.44.35208 - - zstd >=1.5.7,<1.6.0a0 - license: Python-2.0 - size: 18273230 - timestamp: 1770675442998 - python_site_packages_path: Lib/site-packages -- conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda - sha256: d6a17ece93bbd5139e02d2bd7dbfa80bee1a4261dced63f65f679121686bf664 - md5: 5b8d21249ff20967101ffa321cab24e8 + - yaml >=0.2.5,<0.3.0a0 + license: MIT + license_family: MIT + size: 189475 + timestamp: 1770223788648 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda + sha256: a77010528efb4b548ac2a4484eaf7e1c3907f2aec86123ed9c5212ae44502477 + md5: f8381319127120ce51e081dce4865cf4 + depends: + - __osx >=11.0 + - ncurses >=6.5,<7.0a0 + license: GPL-3.0-only + license_family: GPL + size: 313930 + timestamp: 1765813902568 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda + sha256: 799cab4b6cde62f91f750149995d149bc9db525ec12595e8a1d91b9317f038b3 + md5: a9d86bc62f39b94c4661716624eb21b0 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 + license: TCL + license_family: BSD + size: 3127137 + timestamp: 1769460817696 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py314ha14b1ff_3.conda + sha256: dfdd3d45401568c164cc54d12c455bb740c84ad08cee04c13aa22855d91242f0 + md5: 2519c58dc35157f1b1a044041934815a depends: - - python >=3.9 - - six >=1.5 - python + - pyyaml >=3.10 + - python 3.14.* *_cp314 + - __osx >=11.0 + - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE - size: 233310 - timestamp: 1751104122689 -- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - build_number: 8 - sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5 - md5: 0539938c55b6b1a59b560e843ad864a4 - constrains: - - python 3.14.* *_cp314 + size: 176720 + timestamp: 1772608060730 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda + sha256: b03433b13d89f5567e828ea9f1a7d5c5d697bf374c28a4168d71e9464f5dafac + md5: 78a0fe9e9c50d2c381e8ee47e3ea437d + depends: + - __osx >=11.0 + license: MIT + license_family: MIT + size: 83386 + timestamp: 1753484079473 +- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + sha256: 9485ba49e8f47d2b597dd399e88f4802e100851b27c21d7525625b0b4025a5d9 + md5: ab136e4c34e97f34fb621d2592a393d8 + depends: + - __osx >=11.0 + - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD - size: 6989 - timestamp: 1752805904792 -- conda: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.3-py314h67df5f8_1.conda - sha256: b318fb070c7a1f89980ef124b80a0b5ccf3928143708a85e0053cde0169c699d - md5: 2035f68f96be30dc60a5dfd7452c7941 + size: 433413 + timestamp: 1764777166076 +- conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda + sha256: 6854ee7675135c57c73a04849c29cbebc2fb6a3a3bfee1f308e64bf23074719b + md5: 1302b74b93c44791403cbeee6a0f62a3 depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - python >=3.14,<3.15.0a0 - python_abi 3.14.* *_cp314 - - yaml >=0.2.5,<0.3.0a0 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT - size: 202391 - timestamp: 1770223462836 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda - sha256: 95f385f9606e30137cf0b5295f63855fd22223a4cf024d306cf9098ea1c4a252 - md5: dcf51e564317816cb8d546891019b3ab + size: 335782 + timestamp: 1764018443683 +- conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda + sha256: 76dfb71df5e8d1c4eded2dbb5ba15bb8fb2e2b0fe42d94145d5eed4c75c35902 + md5: 4cb8e6b48f67de0b018719cdf1136306 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: bzip2-1.0.6 + license_family: BSD + size: 56115 + timestamp: 1771350256444 +- conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda + sha256: 6850c3a4d5dc215b86f58518cfb8752998533d6569b08da8df1da72e7c68e571 + md5: bfb43f52f13b7c56e7677aa7a8efdf0c + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - expat 2.7.5.* + license: MIT + license_family: MIT + size: 70609 + timestamp: 1774719377850 +- conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda + sha256: 59d01f2dfa8b77491b5888a5ab88ff4e1574c9359f7e229da254cdfe27ddc190 + md5: 720b39f5ec0610457b725eb3f396219a + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: MIT + license_family: MIT + size: 45831 + timestamp: 1769456418774 +- conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda + sha256: f25bf293f550c8ed2e0c7145eb404324611cfccff37660869d97abf526eb957c + md5: ba0bfd4c3cf73f299ffe46ff0eaeb8e3 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - xz 5.8.2.* + license: 0BSD + size: 106169 + timestamp: 1768752763559 +- conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda + sha256: 40dcd0b9522a6e0af72a9db0ced619176e7cfdb114855c7a64f278e73f8a7514 + md5: e4a9fc2bba3b022dad998c78856afe47 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: BSD-2-Clause + license_family: BSD + size: 89411 + timestamp: 1769482314283 +- conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda + sha256: 5fccf1e4e4062f8b9a554abf4f9735a98e70f82e2865d0bfdb47b9de94887583 + md5: 8830689d537fda55f990620680934bb1 + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: blessing + size: 1297302 + timestamp: 1772818899033 +- conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda + sha256: 88609816e0cc7452bac637aaf65783e5edf4fee8a9f8e22bdc3a75882c536061 + md5: dbabbd6234dea34040e631f87676292f + depends: + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - zlib 1.3.2 *_2 + license: Zlib + license_family: Other + size: 58347 + timestamp: 1774072851498 +- conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda + sha256: 02805a0f3cd168dbf13afc5e4aed75cc00fe538ce143527a6471485b36f5887c + md5: 8de7b40f8b30a8fcaa423c2537fe4199 depends: - - __osx >=11.0 - python >=3.14,<3.15.0a0 - - python >=3.14,<3.15.0a0 *_cp314 - python_abi 3.14.* *_cp314 - - yaml >=0.2.5,<0.3.0a0 - license: MIT - license_family: MIT - size: 189475 - timestamp: 1770223788648 + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + constrains: + - jinja2 >=3.0.0 + license: BSD-3-Clause + license_family: BSD + size: 30022 + timestamp: 1772445159549 +- conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda + sha256: 53a5ad2e5553b8157a91bb8aa375f78c5958f77cb80e9d2ce59471ea8e5c0bd6 + md5: eb585509b815415bc964b2c7e11c7eb3 + depends: + - ca-certificates + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + license: Apache-2.0 + license_family: Apache + size: 9343023 + timestamp: 1769557547888 +- conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda + build_number: 101 + sha256: 3f99d83bfd95b9bdae64a42a1e4bf5131dc20b724be5ac8a9a7e1ac2c0f006d7 + md5: 7ec2be7eaf59f83f3e5617665f3fbb2e + depends: + - bzip2 >=1.0.8,<2.0a0 + - libexpat >=2.7.3,<3.0a0 + - libffi >=3.5.2,<3.6.0a0 + - liblzma >=5.8.2,<6.0a0 + - libmpdec >=4.0.0,<5.0a0 + - libsqlite >=3.51.2,<4.0a0 + - libzlib >=1.3.1,<2.0a0 + - openssl >=3.5.5,<4.0a0 + - python_abi 3.14.* *_cp314 + - tk >=8.6.13,<8.7.0a0 + - tzdata + - ucrt >=10.0.20348.0 + - vc >=14.3,<15 + - vc14_runtime >=14.44.35208 + - zstd >=1.5.7,<1.6.0a0 + license: Python-2.0 + size: 18273230 + timestamp: 1770675442998 + python_site_packages_path: Lib/site-packages - conda: https://conda.anaconda.org/conda-forge/win-64/pyyaml-6.0.3-py314h2359020_1.conda sha256: a2aff34027aa810ff36a190b75002d2ff6f9fbef71ec66e567616ac3a679d997 md5: 0cd9b88826d0f8db142071eb830bce56 @@ -1382,113 +1622,6 @@ packages: license_family: MIT size: 181257 timestamp: 1770223460931 -- conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - sha256: 69ab63bd45587406ae911811fc4d4c1bf972d643fa57a009de7c01ac978c4edd - md5: e8e53c4150a1bba3b160eacf9d53a51b - depends: - - python >=3.9 - - pyyaml - license: MIT - license_family: MIT - size: 11137 - timestamp: 1747237061448 -- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda - sha256: 12ffde5a6f958e285aa22c191ca01bbd3d6e710aa852e00618fa6ddc59149002 - md5: d7d95fc8287ea7bf33e0e7116d2b95ec - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 345073 - timestamp: 1765813471974 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda - sha256: a77010528efb4b548ac2a4484eaf7e1c3907f2aec86123ed9c5212ae44502477 - md5: f8381319127120ce51e081dce4865cf4 - depends: - - __osx >=11.0 - - ncurses >=6.5,<7.0a0 - license: GPL-3.0-only - license_family: GPL - size: 313930 - timestamp: 1765813902568 -- conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - sha256: fbc7183778e1f9976ae7d812986c227f9d43f841326ac03b5f43f1ac93fa8f3b - md5: bee5ed456361bfe8af502beaf5db82e2 - depends: - - python >=3.10 - - certifi >=2023.5.7 - - charset-normalizer >=2,<4 - - idna >=2.5,<4 - - urllib3 >=1.26,<3 - - python - constrains: - - chardet >=3.0.2,<6 - license: Apache-2.0 - license_family: APACHE - size: 63788 - timestamp: 1774462091279 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 - md5: 8e194e7b992f99a5015edbd4ebd38efd - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 639697 - timestamp: 1773074868565 -- conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d - md5: 3339e3b65d58accf4ca4fb8748ab16b3 - depends: - - python >=3.9 - - python - license: MIT - license_family: MIT - size: 18455 - timestamp: 1753199211006 -- conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - sha256: eb92d0ad94b65af16c73071cc00cc0e10f2532be807beb52758aab2b06eb21e2 - md5: 87f47a78808baf2fa1ea9c315a1e48f1 - depends: - - python >=3.9 - license: BSD-3-Clause - license_family: BSD - size: 26051 - timestamp: 1739781801801 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac - md5: 18de09b20462742fe093ba39185d9bac - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 38187 - timestamp: 1769034509657 -- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda - sha256: cafeec44494f842ffeca27e9c8b0c27ed714f93ac77ddadc6aaf726b5554ebac - md5: cffd3bdd58090148f4cfcd831f4b26ab - depends: - - __glibc >=2.17,<3.0.a0 - - libgcc >=14 - - libzlib >=1.3.1,<2.0a0 - constrains: - - xorg-libx11 >=1.8.12,<2.0a0 - license: TCL - license_family: BSD - size: 3301196 - timestamp: 1769460227866 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda - sha256: 799cab4b6cde62f91f750149995d149bc9db525ec12595e8a1d91b9317f038b3 - md5: a9d86bc62f39b94c4661716624eb21b0 - depends: - - __osx >=11.0 - - libzlib >=1.3.1,<2.0a0 - license: TCL - license_family: BSD - size: 3127137 - timestamp: 1769460817696 - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda sha256: 0e79810fae28f3b69fe7391b0d43f5474d6bd91d451d5f2bde02f55ae481d5e3 md5: 0481bfd9814bf525bd4b3ee4b51494c4 @@ -1500,41 +1633,6 @@ packages: license_family: BSD size: 3526350 timestamp: 1769460339384 -- conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd - md5: b5325cf06a000c5b14970462ff5e4d58 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 21561 - timestamp: 1774492402955 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - sha256: 7c2df5721c742c2a47b2c8f960e718c930031663ac1174da67c1ed5999f7938c - md5: edd329d7d3a4ab45dcf905899a7a6115 - depends: - - typing_extensions ==4.15.0 pyhcf101f3_0 - license: PSF-2.0 - license_family: PSF - size: 91383 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - sha256: 032271135bca55aeb156cee361c81350c6f3fb203f57d024d7e5a1fc9ef18731 - md5: 0caa1af407ecff61170c9437a808404d - depends: - - python >=3.10 - - python - license: PSF-2.0 - license_family: PSF - size: 51692 - timestamp: 1756220668932 -- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c - md5: ad659d0a2b3e47e38d829aa8cad2d610 - license: LicenseRef-Public-Domain - size: 119135 - timestamp: 1767016325805 - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda sha256: 3005729dce6f3d3f5ec91dfc49fc75a0095f9cd23bab49efb899657297ac91a5 md5: 71b24316859acd00bdb8b38f5e2ce328 @@ -1544,19 +1642,6 @@ packages: license: LicenseRef-MicrosoftWindowsSDK10 size: 694692 timestamp: 1756385147981 -- conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - sha256: af641ca7ab0c64525a96fd9ad3081b0f5bcf5d1cbb091afb3f6ed5a9eee6111a - md5: 9272daa869e03efe68833e3dc7a02130 - depends: - - backports.zstd >=1.0.0 - - brotli-python >=1.2.0 - - h2 >=4,<5 - - pysocks >=1.5.6,<2.0,!=1.5.7 - - python >=3.10 - license: MIT - license_family: MIT - size: 103172 - timestamp: 1767817860341 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda sha256: 9dc40c2610a6e6727d635c62cced5ef30b7b30123f5ef67d6139e23d21744b3a md5: 1e610f2416b6acdd231c5f573d754a0f @@ -1591,30 +1676,6 @@ packages: license_family: Proprietary size: 115235 timestamp: 1767320173250 -- conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314h9e666f3_3.conda - sha256: 19605181aa56af8aeef977ec99614194420c96e929eaad2c1d858e5fcb16414c - md5: d0003e6427d81d247aa5ef84ba814d47 - depends: - - python - - pyyaml >=3.10 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - size: 162474 - timestamp: 1772608179138 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py314ha14b1ff_3.conda - sha256: dfdd3d45401568c164cc54d12c455bb740c84ad08cee04c13aa22855d91242f0 - md5: 2519c58dc35157f1b1a044041934815a - depends: - - python - - pyyaml >=3.10 - - python 3.14.* *_cp314 - - __osx >=11.0 - - python_abi 3.14.* *_cp314 - license: Apache-2.0 - license_family: APACHE - size: 176720 - timestamp: 1772608060730 - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py314hb821551_3.conda sha256: 881b1218e8e4a4b28b4b67b4226e490281a16a14ca8f10edd58eddd65ed23872 md5: fb3b994d1855ef29ec5c49dc02708384 @@ -1626,34 +1687,6 @@ packages: license_family: APACHE size: 203875 timestamp: 1772608056341 -- conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda - sha256: 93807369ab91f230cf9e6e2a237eaa812492fe00face5b38068735858fba954f - md5: 46e441ba871f524e2b067929da3051c2 - depends: - - __win - - python >=3.9 - license: LicenseRef-Public-Domain - size: 9555 - timestamp: 1733130678956 -- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda - sha256: 6d9ea2f731e284e9316d95fa61869fe7bbba33df7929f82693c121022810f4ad - md5: a77f85f77be52ff59391544bfe73390a - depends: - - libgcc >=14 - - __glibc >=2.17,<3.0.a0 - license: MIT - license_family: MIT - size: 85189 - timestamp: 1753484064210 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - sha256: b03433b13d89f5567e828ea9f1a7d5c5d697bf374c28a4168d71e9464f5dafac - md5: 78a0fe9e9c50d2c381e8ee47e3ea437d - depends: - - __osx >=11.0 - license: MIT - license_family: MIT - size: 83386 - timestamp: 1753484079473 - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda sha256: 80ee68c1e7683a35295232ea79bcc87279d31ffeda04a1665efdb43cbd50a309 md5: 433699cba6602098ae8957a323da2664 @@ -1668,36 +1701,6 @@ packages: license_family: MIT size: 63944 timestamp: 1753484092156 -- conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda - sha256: b4533f7d9efc976511a73ef7d4a2473406d7f4c750884be8e8620b0ce70f4dae - md5: 30cd29cb87d819caead4d55184c1d115 - depends: - - python >=3.10 - - python - license: MIT - license_family: MIT - size: 24194 - timestamp: 1764460141901 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda - sha256: 68f0206ca6e98fea941e5717cec780ed2873ffabc0e1ed34428c061e2c6268c7 - md5: 4a13eeac0b5c8e5b8ab496e6c4ddd829 - depends: - - __glibc >=2.17,<3.0.a0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 601375 - timestamp: 1764777111296 -- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda - sha256: 9485ba49e8f47d2b597dd399e88f4802e100851b27c21d7525625b0b4025a5d9 - md5: ab136e4c34e97f34fb621d2592a393d8 - depends: - - __osx >=11.0 - - libzlib >=1.3.1,<2.0a0 - license: BSD-3-Clause - license_family: BSD - size: 433413 - timestamp: 1764777166076 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda sha256: 368d8628424966fd8f9c8018326a9c779e06913dd39e646cf331226acc90e5b2 md5: 053b84beec00b71ea8ff7a4f84b55207 diff --git a/pixi.toml b/pixi.toml index 1b4605f..fc3f54e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -18,3 +18,4 @@ mkdocstrings = ">=1.0.3" mkdocs-mermaid2-plugin = ">=1.2.3" mkdocstrings-python = ">=2.0.2" pytest = ">=9.0.2" +mkdocs-autorefs = ">=1.4.4,<2" diff --git a/resources/shapes/README.md b/resources/shapes/README.md deleted file mode 100644 index 44ea1d6..0000000 --- a/resources/shapes/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Shapes - -Lightweight [GeoParquet](https://geoparquet.org/) files to be used for light testing of components. -Generated using [Natural Earth](naturalearthdata.com) data. - - -- **mne_admin0.parquet**: Montenegro at a country-level resolution (i.e., a single shape). Recommended for lightweight testing. -- **prt_admin1.parquet**: Portugal at a regional resolution (20 sub-regions). Recommended for light to medium testing. - diff --git a/tests/data_module_test/docs_test.py b/tests/data_module_test/docs_test.py index 4ea0a84..0498d13 100644 --- a/tests/data_module_test/docs_test.py +++ b/tests/data_module_test/docs_test.py @@ -4,7 +4,7 @@ def test_mkdocs_builds(tmp_path, pytestconfig): - """Run a basic check on the""" + """Basic check to see if the docs build.""" project_root = pytestconfig.rootpath result = subprocess.run( From 345dd07b57b18b9d4a0e346315c9fa83d45425e3 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Mon, 13 Jul 2026 13:49:54 +0200 Subject: [PATCH 02/20] Add intro page --- docs/index.md | 32 ++++++++++++++++++++++++-------- mkdocs.yaml | 2 ++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/docs/index.md b/docs/index.md index 4766520..79618b9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,16 +1,32 @@ # Home -Welcome to the [`modelblocks`](https://www.modelblocks.org/) documentation! -Our main purpose is enabling energy researchers and institutions to share, reuse and improve the data workflows used to construct Energy System Models in a decentralised way. -We aim to do this by providing an expanding collection of high-quality modular workflows used for peer-reviewed research, inspired by `snakemake`'s [workflow catalog](https://snakemake.github.io/snakemake-workflow-catalog/). +Welcome to the **Modelblocks** documentation! -We wish to turn very complex models that are hard to maintain and reuse into a range of digestible, well supported tools that get better and better over time! +**Modelblocks** is a collection of reusable, composable data modules for energy system modelling. +Each module is a self-contained `snakemake` workflow that turns raw data into harmonised, model-ready datasets, and can be dropped into any larger workflow. +This documentation is meant to guide users and developers on how to follow our Convention. -![modules](./images/modular.png) +??? info "Looking for details on available modules?" -Learn about the full list of available [modules](./Modules/modules.md). + Please consult the official [Modelblocks website](https://www.modelblocks.org/) for a full list of **core** and **community** developed modules. -## For developers -If you want to start creating your own data modules, check out our [developer guidelines](./Developer_guidelines/getting_started.md). +
+ +- :fontawesome-solid-rocket:{ .lg .middle } __Using Modelblocks__ + + * [Setting up](user/setup.md): get all the necessary tools installed and ready to use. + * [Background](user/background.md): a brief overview on what Modelblocks is trying to solve. + * [Basic concepts](user/concepts.md): understand the core concepts behind Modelblocks. + * [Examples & tutorials](user/examples.md): how to quickly use and configure modules. + +- :fontawesome-solid-book:{ .lg .middle } __Development Conventions__ + + * [Development tools](developer/setup.md): getting started with development. + * [General overview](developer/overview.md): general rules on how to ensure a workflow is truly modular + * [Convention requirements](developer/convention.md): in depth convention requirements. + * [Best practices](developer/index.md): our preferences for long-lived, successful modules. + +
+ diff --git a/mkdocs.yaml b/mkdocs.yaml index d460e0a..3d55763 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -115,6 +115,8 @@ plugins: - search nav: - Home: index.md + - Getting started: + - getting_started/installation.md - Background: - Background/motivation.md - Background/our_framework.md From c59d52867beef22a4637afbcd4a07a68ae03dae5 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Mon, 13 Jul 2026 16:55:45 +0200 Subject: [PATCH 03/20] Add user setup --- docs/Background/our_framework.md | 2 +- docs/css/extra.css | 11 +++++++ docs/developing/index.md | 15 +++++++++ docs/index.md | 14 +++----- docs/user/index.md | 24 ++++++++++++++ docs/user/setup.md | 55 ++++++++++++++++++++++++++++++++ mkdocs.yaml | 3 ++ 7 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 docs/developing/index.md create mode 100644 docs/user/index.md create mode 100644 docs/user/setup.md diff --git a/docs/Background/our_framework.md b/docs/Background/our_framework.md index ed19e42..2163aa5 100644 --- a/docs/Background/our_framework.md +++ b/docs/Background/our_framework.md @@ -34,7 +34,7 @@ A higher focus is put on following [FAIR principles](https://www.go-fair.org/fai ### Data modules -These are topic-specific data-generating [`snakemake`](https://snakemake.github.io/) workflows that can be configured to produce case-specific data, allowing users to tune certain assumptions via configuration files or by through input data. These modules follow a commonly agreed input/output structure, their methodology is well documented, and they rely on datasets and software libraries that are trustworthy and stable. This is achieved through a standardised template that all data modules must follow. +These are topic-specific data-generating [`Snakemake`](https://snakemake.github.io/) workflows that can be configured to produce case-specific data, allowing users to tune certain assumptions via configuration files or by through input data. These modules follow a commonly agreed input/output structure, their methodology is well documented, and they rely on datasets and software libraries that are trustworthy and stable. This is achieved through a standardised template that all data modules must follow. ??? info "Interfacing" diff --git a/docs/css/extra.css b/docs/css/extra.css index 97c5d95..014ff0c 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -57,3 +57,14 @@ margin-bottom: 0; margin-top: 0; } + +/* Make card links cover the entire grid card. */ +.md-typeset .grid.cards > ul > li { + position: relative; +} + +.md-typeset .grid.cards a.card-link::after { + position: absolute; + inset: 0; + content: ""; +} diff --git a/docs/developing/index.md b/docs/developing/index.md new file mode 100644 index 0000000..29c7366 --- /dev/null +++ b/docs/developing/index.md @@ -0,0 +1,15 @@ +# Developing Modelblocks + +This section explains the necessary steps to import, reconfigure and execute a Modelblocks module in a `Snakemake` workflow. +If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. + +
+ +- :fontawesome-solid-book:{ .lg .middle } __How to develop a module__ + + * [Installation](developer/setup.md): getting started with development. + * [General overview](developer/overview.md): general rules on how to ensure a workflow is truly modular + * [Convention requirements](developer/convention.md): in depth convention requirements. + * [Best practices](developer/index.md): our preferences for long-lived, successful modules. + +
diff --git a/docs/index.md b/docs/index.md index 79618b9..681d4d4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,7 +4,7 @@ Welcome to the **Modelblocks** documentation! **Modelblocks** is a collection of reusable, composable data modules for energy system modelling. -Each module is a self-contained `snakemake` workflow that turns raw data into harmonised, model-ready datasets, and can be dropped into any larger workflow. +Each module is a self-contained `Snakemake` workflow that turns raw data into harmonised, model-ready datasets, and can be dropped into any larger workflow. This documentation is meant to guide users and developers on how to follow our Convention. ??? info "Looking for details on available modules?" @@ -16,17 +16,11 @@ This documentation is meant to guide users and developers on how to follow our C - :fontawesome-solid-rocket:{ .lg .middle } __Using Modelblocks__ - * [Setting up](user/setup.md): get all the necessary tools installed and ready to use. - * [Background](user/background.md): a brief overview on what Modelblocks is trying to solve. - * [Basic concepts](user/concepts.md): understand the core concepts behind Modelblocks. - * [Examples & tutorials](user/examples.md): how to quickly use and configure modules. + [Start here](./user/index.md) if you want to use Modelblocks modules in your own research. -- :fontawesome-solid-book:{ .lg .middle } __Development Conventions__ +- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __Development Conventions__ - * [Development tools](developer/setup.md): getting started with development. - * [General overview](developer/overview.md): general rules on how to ensure a workflow is truly modular - * [Convention requirements](developer/convention.md): in depth convention requirements. - * [Best practices](developer/index.md): our preferences for long-lived, successful modules. + [Start here](./user/index.md) if you want to follow the Modelblocks Convention to share your research as a reproducible workflow. diff --git a/docs/user/index.md b/docs/user/index.md new file mode 100644 index 0000000..3ba66d3 --- /dev/null +++ b/docs/user/index.md @@ -0,0 +1,24 @@ +# Using Modelblocks + +This section explains the necessary steps to import, reconfigure and execute a Modelblocks module in a `Snakemake` workflow. +If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. + +
+ +- :fontawesome-solid-cubes:{ .lg .middle } __[Setting up](setup.md){ .card-link }__ + + How to install all the necessary tools to be ready to use Modelblocks. + +- :fontawesome-solid-cubes:{ .lg .middle } __[Background info](./background.md){ .card-link }__ + + A general overview behind Modelblock's ideology and the problems it is tyring to solve. + +- :fontawesome-solid-cubes:{ .lg .middle } __[Basic concepts](./basics.md){ .card-link }__ + + General concepts behind Modelblocks and how to use modular workflows. + +- :fontawesome-solid-cubes:{ .lg .middle } __[Examples and tutorials](./examples.md){ .card-link }__ + + In depth examples. + +
diff --git a/docs/user/setup.md b/docs/user/setup.md new file mode 100644 index 0000000..334830b --- /dev/null +++ b/docs/user/setup.md @@ -0,0 +1,55 @@ +# Setting up + +Modelblocks relies on a core set of tools to ensure modules can be run on most platforms. +This section details which these tools are, why they are needed, and how to install them. + +## Software environments: `pixi` or `miniconda` + + +Modelblocks modules rely on [`Snakemake`](https://snakemake.readthedocs.io/en/stable/index.html) for environment management and software execution. +`Snakemake` can be installed using either `pixi` or `miniconda`. +In general, we highly recommend `pixi`, as it is a faster and more modern tool. + +???+ info "Setting up a project with `pixi`" + + Follow the installation instructions on the [`pixi` documentation](https://pixi.prefix.dev/latest/). + + Once installed: + + ```shell + # Create and open your project directory + pixi init my_project & cd my_project + # Install snakemake at the project level + pixi workspace channel add conda-forge bioconda + pixi add snakemake-minimal conda + ``` + + +??? info "Setting up a project with `conda`" + + Follow the installation instructions on the [`conda` documenation](https://docs.conda.io/en/latest/). + We recommend `miniconda` for a lightweight, minimal installation. + + Once installed: + + ```shell + # Create and open your project directory + mkdir ./my_project & cd ./my_project + # Create a conda environment for your project + conda create -n my_project -c conda-forge -c bioconda --strict-channel-priority snakemake-minimal + conda activate my_project + ``` + +## Project templating: Modelblocks or `Snakemake` standards + +To setup your `Snakemake` project structure, we recommend using [our own project template](https://github.com/modelblocks-org/data-module-template) (using `pixi`) or the [official `Snakemake` template](https://github.com/snakemake-workflows/snakemake-workflow-template) (using `conda`). +Instructions for either template are available in their respective repositories. + +??? info "What is the difference?" + + Both templates have a very similar structure, and will result in a well organised project. + However, the Modelblocks version offers some additional advantages: + + - More modern setup. + - Automated templated generation and updates via [`copier`](https://copier.readthedocs.io/en/stable/). + - Tuned for modularisation, making it easier to convert your project to a Modelblocks module in the future. diff --git a/mkdocs.yaml b/mkdocs.yaml index 3d55763..419571f 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -115,6 +115,9 @@ plugins: - search nav: - Home: index.md + - Using Modelblocks: + - user/index.md + - user/setup.md - Getting started: - getting_started/installation.md - Background: From 24940031f8b1b6f0bea4bfe6c607905fbe4b9c48 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Mon, 13 Jul 2026 23:28:53 +0200 Subject: [PATCH 04/20] Add background --- .../images/bloat-growth-problem.png | Bin 343917 -> 0 bytes docs/css/extra.css | 8 +++ docs/{developing => developer}/index.md | 0 docs/index.md | 8 +-- docs/user/background.md | 48 ++++++++++++++++++ docs/user/images/bloat.drawio.png | Bin 0 -> 158995 bytes docs/{ => user}/images/modular.png | Bin docs/{ => user}/images/not_modular.png | Bin .../images/toolset_simple.drawio.png | Bin mkdocs.yaml | 1 + 10 files changed, 61 insertions(+), 4 deletions(-) delete mode 100644 docs/Background/images/bloat-growth-problem.png rename docs/{developing => developer}/index.md (100%) create mode 100644 docs/user/background.md create mode 100644 docs/user/images/bloat.drawio.png rename docs/{ => user}/images/modular.png (100%) rename docs/{ => user}/images/not_modular.png (100%) rename docs/{Background => user}/images/toolset_simple.drawio.png (100%) diff --git a/docs/Background/images/bloat-growth-problem.png b/docs/Background/images/bloat-growth-problem.png deleted file mode 100644 index 2eb434f48befcf962b55cf47192ff708c542fda5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343917 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


nkTiS@QnzdH+M|~vqBhLv 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 KtKg#5KmP|{a};v` literal 0 HcmV?d00001 diff --git a/docs/user/images/toolset_simple.drawio.png b/docs/user/images/toolset_simple.drawio.png index 70d6353c79206a4bfb03de1715a02d986f0051a4..70833899e80aab733ee2a7d0557ca41c742ca88a 100644 GIT binary patch literal 162982 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

AY0Ma!sGWNepI#`~Q$-yZ(6l<=UV)M0z0-89 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

v#}n`PJKuMd^!K#~{a!x-WqgwHKFvJ{ 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 literal 84470 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�F)g8O>7@4+1(s6h#+ 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 E0|=uAP5=M^ diff --git a/docs/user/index.md b/docs/user/index.md index 3ba66d3..8be2465 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -5,11 +5,11 @@ If you are new to `Snakemake` workflows, we recommend familiarising yourself wit

-- :fontawesome-solid-cubes:{ .lg .middle } __[Setting up](setup.md){ .card-link }__ +- :fontawesome-solid-rocket:{ .lg .middle } __[Setting up](setup.md){ .card-link }__ How to install all the necessary tools to be ready to use Modelblocks. -- :fontawesome-solid-cubes:{ .lg .middle } __[Background info](./background.md){ .card-link }__ +- :fontawesome-solid-book-open:{ .lg .middle } __[Background info](./background.md){ .card-link }__ A general overview behind Modelblock's ideology and the problems it is tyring to solve. @@ -17,8 +17,8 @@ If you are new to `Snakemake` workflows, we recommend familiarising yourself wit General concepts behind Modelblocks and how to use modular workflows. -- :fontawesome-solid-cubes:{ .lg .middle } __[Examples and tutorials](./examples.md){ .card-link }__ +
diff --git a/docs/user/setup.md b/docs/user/setup.md index 334830b..c20ab46 100644 --- a/docs/user/setup.md +++ b/docs/user/setup.md @@ -5,10 +5,12 @@ This section details which these tools are, why they are needed, and how to inst ## Software environments: `pixi` or `miniconda` +The first step is ensuring you have an appropriate tool to manage your software environments. +We highly recommend `pixi` because it is a fast and modern tool. +Alternatively, you can use `miniconda`. -Modelblocks modules rely on [`Snakemake`](https://snakemake.readthedocs.io/en/stable/index.html) for environment management and software execution. -`Snakemake` can be installed using either `pixi` or `miniconda`. -In general, we highly recommend `pixi`, as it is a faster and more modern tool. +Modelblocks modules rely on [`Snakemake`](https://snakemake.readthedocs.io/en/stable/index.html) during execution. +Below are example of how to install it using either `pixi` or `miniconda`. ???+ info "Setting up a project with `pixi`" @@ -40,12 +42,16 @@ In general, we highly recommend `pixi`, as it is a faster and more modern tool. conda activate my_project ``` -## Project templating: Modelblocks or `Snakemake` standards +## Project templating: Modelblocks or `Snakemake` -To setup your `Snakemake` project structure, we recommend using [our own project template](https://github.com/modelblocks-org/data-module-template) (using `pixi`) or the [official `Snakemake` template](https://github.com/snakemake-workflows/snakemake-workflow-template) (using `conda`). +To save time, you can setup your `Snakemake` project following a template. +These offer standardised structures, which helps in maintainability. + +If you are using `pixi`, we recommend using [our own project template](https://github.com/modelblocks-org/data-module-template). +If you are using `miniconda`, you can instead use the [official `Snakemake` template](https://github.com/snakemake-workflows/snakemake-workflow-template). Instructions for either template are available in their respective repositories. -??? info "What is the difference?" +??? info "What are the differences between these templates?" Both templates have a very similar structure, and will result in a well organised project. However, the Modelblocks version offers some additional advantages: diff --git a/mkdocs.yaml b/mkdocs.yaml index 5fb4fab..e05ed0f 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -119,6 +119,9 @@ nav: - Using Modelblocks: - user/index.md - user/setup.md + - user/background.md + - user/basics.md + # - user/examples.md - Getting started: - getting_started/installation.md - Background: From ff35e2c2b56dd6c0d93b5981a54589a14d483bb0 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Tue, 14 Jul 2026 19:05:37 +0200 Subject: [PATCH 06/20] Development setup --- docs/css/extra.css | 22 ++++++++++ docs/developer/best.md | 1 + docs/developer/convention.md | 1 + docs/developer/index.md | 25 ++++++++--- docs/developer/setup.md | 60 ++++++++++++++++++++++++++ docs/user/index.md | 12 +++++- mkdocs.yaml | 18 +++----- pixi.lock | 83 ------------------------------------ pixi.toml | 1 - 9 files changed, 118 insertions(+), 105 deletions(-) create mode 100644 docs/developer/best.md create mode 100644 docs/developer/convention.md create mode 100644 docs/developer/setup.md diff --git a/docs/css/extra.css b/docs/css/extra.css index 9c51d1c..8d62ce8 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -76,3 +76,25 @@ object-fit: contain; background: white; } + +/* --- tier pills --- */ +.badge { + display: inline-block; + font-size: 0.7rem; + font-weight: 600; + line-height: 1.5; /* match .kv pill height */ + padding: 0.12rem 0.55rem; + border-radius: 999px; +} +.badge-core, +.badge-community { + text-transform: capitalize; +} /* Core / Community, not core / CORE */ +.badge-core { + background: #ede7fb; + color: #5a32b0; +} +.badge-community { + background: #fff3e0; + color: #8a5a00; +} diff --git a/docs/developer/best.md b/docs/developer/best.md new file mode 100644 index 0000000..ce73ddd --- /dev/null +++ b/docs/developer/best.md @@ -0,0 +1 @@ +# Best practices diff --git a/docs/developer/convention.md b/docs/developer/convention.md new file mode 100644 index 0000000..dbc87c4 --- /dev/null +++ b/docs/developer/convention.md @@ -0,0 +1 @@ +# Convention diff --git a/docs/developer/index.md b/docs/developer/index.md index ef18e6a..0a09674 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -1,15 +1,28 @@ # Development Conventions -This section explains the necessary steps to import, reconfigure and execute a Modelblocks module in a `Snakemake` workflow. +This section explains the rules to follow when developing a Modelblocks module in order to comply with our Convention. If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. +??? info "Required reading" + + We assume you are familiar with the basics of [using Modelblocks modules][using-modelblocks] and have a good grasp of [`Snakemake`](https://snakemake.readthedocs.io/en/stable/) basics: + + - [Rules and `wildcards`](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#snakefiles-and-rules) + - [Modules and `pathvars`](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#modularization) + +
-- :fontawesome-solid-book:{ .lg .middle } __How to develop a module__ +- :fontawesome-solid-rocket:{ .lg .middle } __[Setting up](setup.md){ .card-link }__ + + How to install all the necessary tools to develop your own Modelblocks module. + +- :fontawesome-solid-handshake:{ .lg .middle } __[Convention requirements](./convention.md){ .card-link }__ + + An in depth dive into the Modelblocks convention. + +- :fontawesome-solid-worm:{ .lg .middle } __[Best practices](./best.md){ .card-link }__ - * [Installation](developer/setup.md): getting started with development. - * [General overview](developer/overview.md): general rules on how to ensure a workflow is truly modular - * [Convention requirements](developer/convention.md): in depth convention requirements. - * [Best practices](developer/index.md): our preferences for long-lived, successful modules. + Our preferences for long-lived, successful modules.
diff --git a/docs/developer/setup.md b/docs/developer/setup.md new file mode 100644 index 0000000..66c9db5 --- /dev/null +++ b/docs/developer/setup.md @@ -0,0 +1,60 @@ +# Setting up + +Developing a Modelblocks modelblocks module requires careful handling of software dependencies, `Snakemake` requirements, and datasource locations. +This section details how a Modelblocks developer should handle each of these cases to ensure their module is reproducible in the long term. + +## Software environments: `pixi` + +The first step is ensuring you have an appropriate tool to manage your software environments. +We _require_ developers to use [`pixi`](https://pixi.prefix.dev/latest/) as their package management tool because it provides much needed stability to software projects. +In particular: + +- It automatically maintains a stable lockfile (`pixi.lock`). +This helps ensure that modules can be rerun using the _exact_ versions of installed packages, and avoids human errors when updating dependencies. +- It provides multi-platform support which helps with our aim to develop modules that can run on the most popular operating systems (Windows, MacOS, Linux). + +???+ info "Installing `pixi`" + + Follow the installation instructions on the [`pixi` documentation](https://pixi.prefix.dev/latest/). + + For unix-like systems, you can do: + + ```shell + curl -fsSL https://pixi.sh/install.sh | sh + ``` + +## Project templating: Modelblocks template + +The second step is to ensure that your module has little friction with other modules. +We _require_ developers to use our standardised [`Snakemake` project template](https://github.com/modelblocks-org/data-module-template), which has the following advantages: + +- It follows our [Convention][convention] in terms of file structure, interfacing, tests, and environment management. +- Provides pre-made continuous integration via [pre-commit.ci](https://pre-commit.ci/) and [GitHub actions](https://github.com/features/actions), tested in all major platforms. +- Enables developers to easily keep up with the [Convention][convention] via [`copier`'s update functionality](https://copier.readthedocs.io/en/stable/). +- Allows your module to be featured in the [Modelblocks website](https://www.modelblocks.org/). + + +??? info "Running the template" + + Up to date instructions are available in the [template's README](https://github.com/modelblocks-org/data-module-template#how-to-use-this-template). + + Generally: + + ```shell + pixi global install copier # (1)! + mkdir module_name & cd module_name # (2)! + copier copy https://github.com/modelblocks-org/data-module-template.git # (3)! + ``` + + 1. Install `copier` as a global tool in your machine via `pixi`. + 2. Create and open your project folder + 3. Start the templating process + + The templater will ask you a few questions, which will be used to pre-fill files in your project. + + ```html + >🎤 Please enter your module's human readable name. + module_hydropower_potential + >🎤 Please enter your module's human readable name. + Hydropower potential + ``` diff --git a/docs/user/index.md b/docs/user/index.md index 8be2465..ebe5e2c 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -1,7 +1,15 @@ # Using Modelblocks -This section explains the necessary steps to import, reconfigure and execute a Modelblocks module in a `Snakemake` workflow. -If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. +This section explains the necessary steps to import, reconfigure and execute a Modelblocks module. + +There are two types of Modelblocks modules: + +- Core modules are maintained by the Modelblocks organisation. +- Community modules may be hosted anywhere, and should comply with our [Convention][development-conventions]. + +This documentation should apply to either case. +An up to date list of modules is kept in the [Modelblocks website](https://www.modelblocks.org). +
diff --git a/mkdocs.yaml b/mkdocs.yaml index e05ed0f..673ad98 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -72,11 +72,6 @@ markdown_extensions: dedent_subsections: true - pymdownx.superfences: preserve_tabs: true - # FIXME: remove mermaid? - custom_fences: - - name: mermaid - class: mermaid - format: !!python/name:mermaid2.fence_mermaid_custom - pymdownx.tabbed: alternate_style: true - pymdownx.tasklist: @@ -111,8 +106,6 @@ plugins: paths: [src] inventories: - https://docs.python.org/3/objects.inv - - https://pandas.pydata.org/docs/objects.inv - - https://docs.xarray.dev/en/stable/objects.inv - search nav: - Home: index.md @@ -122,15 +115,14 @@ nav: - user/background.md - user/basics.md # - user/examples.md - - Getting started: - - getting_started/installation.md - - Background: - - Background/motivation.md - - Background/our_framework.md - - Modules: Modules/modules.md - Developer guidelines: - Developer_guidelines/getting_started.md - Developer_guidelines/requirements.md - Developer_guidelines/templates.md + - Development conventions: + - developer/index.md + - developer/setup.md + - developer/convention.md + - developer/best.md copyright: Copyright © since 2025 Modelblocks contributors (Apache 2.0 licensed) diff --git a/pixi.lock b/pixi.lock index 8a74f02..bc31ce1 100644 --- a/pixi.lock +++ b/pixi.lock @@ -37,13 +37,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda @@ -58,7 +56,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda @@ -67,7 +64,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-git-committers-plugin-2-2.5.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda @@ -83,10 +79,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda @@ -97,13 +91,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda @@ -118,7 +110,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda @@ -127,7 +118,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-git-committers-plugin-2-2.5.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda @@ -143,10 +133,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda @@ -177,13 +165,11 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda @@ -198,7 +184,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda @@ -207,7 +192,6 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-git-committers-plugin-2-2.5.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda @@ -223,10 +207,8 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda @@ -584,17 +566,6 @@ packages: license_family: MIT size: 144933 timestamp: 1771286293210 -- conda: https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda - sha256: bf1e71c3c0a5b024e44ff928225a0874fc3c3356ec1a0b6fe719108e6d1288f6 - md5: 5267bef8efea4127aacd1f4e1f149b6e - depends: - - python >=3.10 - - soupsieve >=1.2 - - typing-extensions - license: MIT - license_family: MIT - size: 90399 - timestamp: 1764520638652 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda sha256: 37950019c59b99585cee5d30dbc2cc9696ed4e11f5742606a4db1621ed8f94d6 md5: f001e6e220355b7f87403a4d0e5bf1ca @@ -658,15 +629,6 @@ packages: license_family: BSD size: 27011 timestamp: 1733218222191 -- conda: https://conda.anaconda.org/conda-forge/noarch/editorconfig-0.17.1-pyhe01879c_1.conda - sha256: 8a09b54f6fe1b7a8d87c8da5426bf295aeb0cdd6e509fa3af02d3eb5675da87a - md5: 946b7c3d528a3d231874322efdc25ed6 - depends: - - python >=3.9 - - python - license: BSD-2-Clause AND PSF-2.0 - size: 23884 - timestamp: 1752059551405 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda sha256: ee6cf346d017d954255bbcbdb424cddea4d14e4ed7e9813e429db1d795d01144 md5: 8e662bd460bda79b1ea39194e3c4c9ab @@ -808,17 +770,6 @@ packages: license_family: BSD size: 120685 timestamp: 1764517220861 -- conda: https://conda.anaconda.org/conda-forge/noarch/jsbeautifier-1.15.4-pyhd8ed1ab_0.conda - sha256: a0b319d71492e2b0b78307e0575b4c5a43a10e0a59da36d5627e5447335bedce - md5: 60c0e0783e98da236b4e0f55242f10c7 - depends: - - editorconfig >=0.12.2 - - python >=3.9 - - six >=1.13.0 - license: MIT - license_family: MIT - size: 74352 - timestamp: 1743602210010 - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda sha256: 20e0892592a3e7c683e3d66df704a9425d731486a97c34fc56af4da1106b2b6b md5: ba0a9221ce1063f31692c07370d062f3 @@ -935,22 +886,6 @@ packages: license_family: MIT size: 16122 timestamp: 1734641109286 -- conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-mermaid2-plugin-1.2.3-pyhcf101f3_0.conda - sha256: 19af4ad7ac8e23f9a573cf98d8fb2f159f22d12aea054dbde9c8dbc7d1d2c730 - md5: fb9749b701beef30f355b002b6d547e2 - depends: - - python >=3.10 - - beautifulsoup4 >=4.6.3 - - jsbeautifier - - mkdocs >=1.0.4 - - pymdown-extensions >=8.0 - - requests - - setuptools >=18.5 - - python - license: MIT - license_family: MIT - size: 21859 - timestamp: 1768506910902 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda sha256: 01aa08456b569680394caa883b5a02f54e247142b6897e537abee2998ba1de1e md5: 97f68128ed142b9d918d44c785674932 @@ -1134,15 +1069,6 @@ packages: license_family: APACHE size: 63788 timestamp: 1774462091279 -- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-82.0.1-pyh332efcf_0.conda - sha256: 82088a6e4daa33329a30bc26dc19a98c7c1d3f05c0f73ce9845d4eab4924e9e1 - md5: 8e194e7b992f99a5015edbd4ebd38efd - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 639697 - timestamp: 1773074868565 - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda sha256: 458227f759d5e3fcec5d9b7acce54e10c9e1f4f4b7ec978f3bfd54ce4ee9853d md5: 3339e3b65d58accf4ca4fb8748ab16b3 @@ -1162,15 +1088,6 @@ packages: license_family: BSD size: 26051 timestamp: 1739781801801 -- conda: https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda - sha256: 23b71ecf089967d2900126920e7f9ff18cdcef82dbff3e2f54ffa360243a17ac - md5: 18de09b20462742fe093ba39185d9bac - depends: - - python >=3.10 - license: MIT - license_family: MIT - size: 38187 - timestamp: 1769034509657 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda sha256: 91cafdb64268e43e0e10d30bd1bef5af392e69f00edd34dfaf909f69ab2da6bd md5: b5325cf06a000c5b14970462ff5e4d58 diff --git a/pixi.toml b/pixi.toml index fc3f54e..7cbb402 100644 --- a/pixi.toml +++ b/pixi.toml @@ -15,7 +15,6 @@ test = { cmd = "pytest" } mkdocs-material = ">=9.7.6" mkdocs-git-committers-plugin-2 = ">=2.5.0" mkdocstrings = ">=1.0.3" -mkdocs-mermaid2-plugin = ">=1.2.3" mkdocstrings-python = ">=2.0.2" pytest = ">=9.0.2" mkdocs-autorefs = ">=1.4.4,<2" From 672d504e75700f740062f7fc37722b9ee0268a3e Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Tue, 14 Jul 2026 23:28:45 +0200 Subject: [PATCH 07/20] Add THE CONVENTION --- docs/css/extra.css | 14 +-- docs/developer/convention.md | 151 ++++++++++++++++++++++++ docs/developer/index.md | 2 +- docs/user/index.md | 4 +- mkdocs.yaml | 10 +- pixi.lock | 222 +++++++++++++++++++++++++++++++++++ pixi.toml | 3 + 7 files changed, 394 insertions(+), 12 deletions(-) diff --git a/docs/css/extra.css b/docs/css/extra.css index 8d62ce8..88a48af 100644 --- a/docs/css/extra.css +++ b/docs/css/extra.css @@ -77,23 +77,23 @@ background: white; } -/* --- tier pills --- */ -.badge { +/* Module type badges. */ +.badge-core, +.badge-community { display: inline-block; font-size: 0.7rem; font-weight: 600; - line-height: 1.5; /* match .kv pill height */ + line-height: 1.5; padding: 0.12rem 0.55rem; border-radius: 999px; -} -.badge-core, -.badge-community { text-transform: capitalize; -} /* Core / Community, not core / CORE */ +} + .badge-core { background: #ede7fb; color: #5a32b0; } + .badge-community { background: #fff3e0; color: #8a5a00; diff --git a/docs/developer/convention.md b/docs/developer/convention.md index dbc87c4..1bf4879 100644 --- a/docs/developer/convention.md +++ b/docs/developer/convention.md @@ -1 +1,152 @@ # Convention + +This page specifies the Modelblocks convention related to this documentation release version. + +It should be followed by both **Core**{ .badge-core } and **Community**{ .badge-community } modules. + +## Software requirements + +All modules should comply with the following requirements at a software design / execution level. + +### Environment management + +#### `pixi` centralisation + +The `pixi.lock` file should be the primary source of truth when it comes to all the dependencies of the software. + +Other dependency definitions (such as `Snakemake`'s pinned environment files) should be generated using `pixi.lock`. + +The software should export the necessary environments to `Snakemake` via the `pixi run export-snakemake-env [environment_name]` task command. + +#### Environment separation + +The project should separate the environment used for module development (`default`) from the environment used during rule execution (`module`) to keep module execution lean on the user side. + +#### `conda` exclusivity + +The module's `Snakemake` workflow should exclusively rely on `conda` as a software package repository. + +Other indexers, such as `pypi`/`pip` are **explicitly discouraged** as the long-term stability of the software is not guaranteed when repository sources are mixed. + +### Interfacing + +#### Standardised default input / output locations + +Modules should expect user inputs and place processed outputs in the following locations by default. + +- User inputs should be placed in `resources/user/`. +- Intermediate module files should be placed in `resources/automatic/`. +- Module outputs should be placed in `results/`. +- Log files should be placed in `logs/`. + +#### `pathvar` rewiring + +All the input / output files of the module should have the ability to be easily rewired using `Snakemake`'s `pathvar` functionality, with the following characteristics. + +- Each user input file should have its own exclusive `pathvar`. +- Each module output file should have its own exclusive `pathvar`. +- The module should provide directory-wide `pathvars` for `resources/`, `results/` and `logs/`. + +### Input validation + +#### Configuration + +Projects should validate input configurations using a standardised schema located in `workflow/internal/config.schema.yaml`, and provide a configuration example with recommended defaults in `config/config.yaml`. + +#### User files + +When possible, modules should validate input files using data tools like [`pandera`](https://pandera.readthedocs.io/en/stable/) or equivalents. + +## Repository requirements + +All modules show comply with the following requirements at a repository level. + +### Licensing + +Projects must use either Apache-2.0 or MIT open-source licenses, which are [OSI approved](https://opensource.org/licenses). + +Projects should maintain an `AUTHORS` file detailing licensing attribution of the software. + +### Code hosting + +Projects must be openly available on platforms compatible with [`Snakemake`'s code hosting calls](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#code-hosting-providers). +At the time of writing this includes only GitHub and GitLab. + +### Versioning + +Projects must be version controlled with official releases, which can be used to specify the version of the project used in a study and/or dataset. +Project developers are free to choose their preferred approach (e.g., [SemVer](https://semver.org/) or [CalVer](https://calver.org/)). + +### Documentation + +Projects must provide documentation to ensure the methods and reasoning behind their code can be understood. +We recommend a pragmatic approach that balances explainability against maintenance burdens. + +#### General README + +This file, located in `README.md`, should provide the following sections: + +- A summary of the module's purpose with a brief mention of `Snakemake` to aid in automated indexing in the [workflow catalog](https://snakemake.github.io/snakemake-workflow-catalog/). +- An overview of the module's processing stages. +- An overview or reference to the module's interfacing and configuration requirements. +- An brief description of how to initialise the software for development tasks and local testing. +- References related to the module's methodology. +- Contributor attribution following [All Contributors](https://allcontributors.org/) standards. + +#### Configuration README + +This file, located in `config/README.md`, should provide an overview of the module's configuration options and point users to the relevant schema files. + +#### INTERFACE.yaml + +This file should detail the module's input/output file structure from a user's perspective, with the following structure: + +- `pathvars`: describes the pathvars provided by the module in terms of default value and description, grouped into: + - `snakemake_defaults`: defines logs, resources and results. + - `user_resources`: user input files starting with the prefix `/user/`. + - `results`: module outputs starting with the prefix `/`. +- `wildcards`: Descriptions of {wildcards} used in resource or result paths. Every declared wildcard must be used, and every used wildcard must be declared. +- `convention_version`: The Modelblocks convention version, validated as semantic versioning. + +### Continuous integration + +Projects must comply with the following testing requirements at minimum. +These tests should execute successfully before changes are integrated into the repository. +The template should provide pre-configured pull request test setups in `.github/workfows/pr-ci.yml`. + +#### Module testing + +Projects must ensure that the provided `integration_test.py` file excecutes successfully in **all major platforms** (Linux, MacOS, Windows). + +This test should evaluate the following: + +- The module's `conda` environments match their `pixi` counterparts. +- The module's `INTERFACE.yaml` file complies with the schema defined in this convention. +- Essential interfacing and documentation files (as defined by the template) are present in the repository. +- A minimal integration test simulating a user importing and executing the module, defined in `tests/integration/Snakefile`. + +#### Repository health + +Projects should comply with a set of minimal linting and formatting tests to aid in the mantainability of the codebase. +These tests are defined in `.pre-commit-config.yaml`, and make use of [pre-commit.ci](https://pre-commit.ci/). + +Among other things, these tests evaluate the following: + +- Machine redability issues such as removing trailing whitespaces and adding end-of-file newlines. +- Repository quality issues such as large files, the use of GitHub submodules, illegal Windows filenames, and malformed configuration files (e.g., .json or .yaml). +- Code quality for python files (using [`ruff`](https://docs.astral.sh/ruff/)) and `Snakemake` files (using [`snakefmt`](https://github.com/snakemake/snakefmt)). +- Spelling mistakes (using [`codespell`](https://github.com/codespell-project/codespell)). + + +## Templating requirements + +The Modelblocks initiative should maintain a template that respects this Convention with the goal of avoiding chores and reduce human errors. + +### Answers file + +Projects should retain the `.copier-answers.yml` file generated by the templater. +This file should **not** be modified manually to prevent issues during template updates. + +### Periodic updates + +The template should provide automated scheduled checks to identify if a new version of the template has been released. diff --git a/docs/developer/index.md b/docs/developer/index.md index 0a09674..c1fcdaf 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -17,7 +17,7 @@ If you are new to `Snakemake` workflows, we recommend familiarising yourself wit How to install all the necessary tools to develop your own Modelblocks module. -- :fontawesome-solid-handshake:{ .lg .middle } __[Convention requirements](./convention.md){ .card-link }__ +- :fontawesome-solid-handshake:{ .lg .middle } __[Convention](./convention.md){ .card-link }__ An in depth dive into the Modelblocks convention. diff --git a/docs/user/index.md b/docs/user/index.md index ebe5e2c..cef2892 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -4,8 +4,8 @@ This section explains the necessary steps to import, reconfigure and execute a M There are two types of Modelblocks modules: -- Core modules are maintained by the Modelblocks organisation. -- Community modules may be hosted anywhere, and should comply with our [Convention][development-conventions]. +- **Core**{ .badge-core } modules are maintained by the Modelblocks organisation. +- **Community**{ .badge-community } modules may be hosted anywhere, and should comply with our [Convention][development-conventions]. This documentation should apply to either case. An up to date list of modules is kept in the [Modelblocks website](https://www.modelblocks.org). diff --git a/mkdocs.yaml b/mkdocs.yaml index 673ad98..291509d 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -77,9 +77,9 @@ markdown_extensions: - pymdownx.tasklist: clickable_checkbox: true - toc: - anchorlink: true + anchorlink: false permalink: "¶" - toc_depth: 3 + toc_depth: 4 plugins: - autorefs - git-committers: @@ -106,6 +106,12 @@ plugins: paths: [src] inventories: - https://docs.python.org/3/objects.inv + - enumerate-headings: + include: + - developer/convention.md + start_level: 2 + increment_across_pages: false + toc_depth: 4 - search nav: - Home: index.md diff --git a/pixi.lock b/pixi.lock index bc31ce1..5d06fcd 100644 --- a/pixi.lock +++ b/pixi.lock @@ -7,6 +7,8 @@ environments: default: channels: - url: https://conda.anaconda.org/conda-forge/ + indexes: + - https://pypi.org/simple packages: linux-64: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda @@ -87,6 +89,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda + - pypi: https://files.pythonhosted.org/packages/08/6c/2b9fe10a9e2a27e72f88291f6f6957db09215d6782a758785cf1ce40ba6f/mkdocs_enumerate_headings_plugin-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl osx-arm64: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -161,6 +166,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py314ha14b1ff_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda + - pypi: https://files.pythonhosted.org/packages/08/6c/2b9fe10a9e2a27e72f88291f6f6957db09215d6782a758785cf1ce40ba6f/mkdocs_enumerate_headings_plugin-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl win-64: - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -236,6 +244,9 @@ environments: - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py314hb821551_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda + - pypi: https://files.pythonhosted.org/packages/08/6c/2b9fe10a9e2a27e72f88291f6f6957db09215d6782a758785cf1ce40ba6f/mkdocs_enumerate_headings_plugin-0.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl packages: - conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda build_number: 20 @@ -248,6 +259,7 @@ packages: - openmp_impl <0.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 28948 timestamp: 1770939786096 - conda: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda @@ -263,6 +275,8 @@ packages: - libbrotlicommon 1.2.0 hb03c661_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping size: 367376 timestamp: 1764017265553 - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_9.conda @@ -273,6 +287,7 @@ packages: - libgcc >=14 license: bzip2-1.0.6 license_family: BSD + purls: [] size: 260182 timestamp: 1771350215188 - conda: https://conda.anaconda.org/conda-forge/linux-64/icu-78.3-h33c6efd_0.conda @@ -284,6 +299,7 @@ packages: - libstdcxx >=14 license: MIT license_family: MIT + purls: [] size: 12723451 timestamp: 1773822285671 - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45.1-default_hbd61a6d_102.conda @@ -296,6 +312,7 @@ packages: - binutils_impl_linux-64 2.45.1 license: GPL-3.0-only license_family: GPL + purls: [] size: 728002 timestamp: 1774197446916 - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.5-hecca717_0.conda @@ -308,6 +325,7 @@ packages: - expat 2.7.5.* license: MIT license_family: MIT + purls: [] size: 76624 timestamp: 1774719175983 - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda @@ -318,6 +336,7 @@ packages: - libgcc >=14 license: MIT license_family: MIT + purls: [] size: 58592 timestamp: 1769456073053 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_18.conda @@ -331,6 +350,7 @@ packages: - libgomp 15.2.0 he0feb66_18 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL + purls: [] size: 1041788 timestamp: 1771378212382 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-he0feb66_18.conda @@ -340,6 +360,7 @@ packages: - __glibc >=2.17,<3.0.a0 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL + purls: [] size: 603262 timestamp: 1771378117851 - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda @@ -351,6 +372,7 @@ packages: constrains: - xz 5.8.2.* license: 0BSD + purls: [] size: 113207 timestamp: 1768752626120 - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda @@ -361,6 +383,7 @@ packages: - libgcc >=14 license: BSD-2-Clause license_family: BSD + purls: [] size: 92400 timestamp: 1769482286018 - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.52.0-hf4e2dac_0.conda @@ -372,6 +395,7 @@ packages: - libgcc >=14 - libzlib >=1.3.1,<2.0a0 license: blessing + purls: [] size: 951405 timestamp: 1772818874251 - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_18.conda @@ -384,6 +408,7 @@ packages: - libstdcxx-ng ==15.2.0=*_18 license: GPL-3.0-only WITH GCC-exception-3.1 license_family: GPL + purls: [] size: 5852330 timestamp: 1771378262446 - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda @@ -394,6 +419,7 @@ packages: - libgcc >=14 license: BSD-3-Clause license_family: BSD + purls: [] size: 40311 timestamp: 1766271528534 - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_2.conda @@ -405,6 +431,7 @@ packages: - zlib 1.3.2 *_2 license: Zlib license_family: Other + purls: [] size: 63629 timestamp: 1774072609062 - conda: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-3.0.3-py314h67df5f8_1.conda @@ -419,6 +446,8 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping size: 27424 timestamp: 1772445227915 - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda @@ -428,6 +457,7 @@ packages: - __glibc >=2.17,<3.0.a0 - libgcc >=13 license: X11 AND BSD-3-Clause + purls: [] size: 891641 timestamp: 1738195959188 - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda @@ -439,6 +469,7 @@ packages: - libgcc >=14 license: Apache-2.0 license_family: Apache + purls: [] size: 3164551 timestamp: 1769555830639 - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.3-h32b2ec7_101_cp314.conda @@ -465,6 +496,7 @@ packages: - tzdata - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 + purls: [] size: 36702440 timestamp: 1770675584356 python_site_packages_path: lib/python3.14/site-packages @@ -479,6 +511,8 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT + purls: + - pkg:pypi/pyyaml?source=hash-mapping size: 202391 timestamp: 1770223462836 - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda @@ -490,6 +524,7 @@ packages: - ncurses >=6.5,<7.0a0 license: GPL-3.0-only license_family: GPL + purls: [] size: 345073 timestamp: 1765813471974 - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda @@ -503,6 +538,7 @@ packages: - xorg-libx11 >=1.8.12,<2.0a0 license: TCL license_family: BSD + purls: [] size: 3301196 timestamp: 1769460227866 - conda: https://conda.anaconda.org/conda-forge/linux-64/watchdog-6.0.0-py314h9e666f3_3.conda @@ -514,6 +550,8 @@ packages: - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/watchdog?source=hash-mapping size: 162474 timestamp: 1772608179138 - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda @@ -524,6 +562,7 @@ packages: - __glibc >=2.17,<3.0.a0 license: MIT license_family: MIT + purls: [] size: 85189 timestamp: 1753484064210 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda @@ -534,6 +573,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 601375 timestamp: 1764777111296 - conda: https://conda.anaconda.org/conda-forge/noarch/babel-2.18.0-pyhcf101f3_1.conda @@ -546,6 +586,8 @@ packages: - pytz >=2015.7 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/babel?source=hash-mapping size: 7684321 timestamp: 1772555330347 - conda: https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda @@ -555,6 +597,7 @@ packages: depends: - python >=3.14 license: BSD-3-Clause AND MIT AND EPL-2.0 + purls: [] size: 7514 timestamp: 1767044983590 - conda: https://conda.anaconda.org/conda-forge/noarch/backrefs-6.2-pyhd8ed1ab_0.conda @@ -564,6 +607,8 @@ packages: - python >=3.10 license: MIT license_family: MIT + purls: + - pkg:pypi/backrefs?source=hash-mapping size: 144933 timestamp: 1771286293210 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-h4c7d964_0.conda @@ -572,6 +617,7 @@ packages: depends: - __win license: ISC + purls: [] size: 147734 timestamp: 1772006322223 - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.2.25-hbd8a1cb_0.conda @@ -580,6 +626,7 @@ packages: depends: - __unix license: ISC + purls: [] size: 147413 timestamp: 1772006283803 - conda: https://conda.anaconda.org/conda-forge/noarch/certifi-2026.2.25-pyhd8ed1ab_0.conda @@ -588,6 +635,8 @@ packages: depends: - python >=3.10 license: ISC + purls: + - pkg:pypi/certifi?source=hash-mapping size: 151445 timestamp: 1772001170301 - conda: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.6-pyhd8ed1ab_0.conda @@ -597,6 +646,8 @@ packages: - python >=3.10 license: MIT license_family: MIT + purls: + - pkg:pypi/charset-normalizer?source=hash-mapping size: 58510 timestamp: 1773660086450 - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh707e725_0.conda @@ -607,6 +658,8 @@ packages: - python >=3.10 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/click?source=hash-mapping size: 87749 timestamp: 1747811451319 - conda: https://conda.anaconda.org/conda-forge/noarch/click-8.2.1-pyh7428d3b_0.conda @@ -618,6 +671,8 @@ packages: - python >=3.10 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/click?source=hash-mapping size: 88117 timestamp: 1747811467132 - conda: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_1.conda @@ -627,6 +682,8 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/colorama?source=hash-mapping size: 27011 timestamp: 1733218222191 - conda: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda @@ -636,6 +693,8 @@ packages: - python >=3.10 - typing_extensions >=4.6.0 license: MIT and PSF-2.0 + purls: + - pkg:pypi/exceptiongroup?source=hash-mapping size: 21333 timestamp: 1763918099466 - conda: https://conda.anaconda.org/conda-forge/noarch/ghp-import-2.1.0-pyhd8ed1ab_2.conda @@ -646,6 +705,8 @@ packages: - python-dateutil >=2.8.1 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/ghp-import?source=hash-mapping size: 16538 timestamp: 1734344477841 - conda: https://conda.anaconda.org/conda-forge/noarch/gitdb-4.0.12-pyhd8ed1ab_0.conda @@ -656,6 +717,8 @@ packages: - smmap >=3.0.1,<6 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/gitdb?source=hash-mapping size: 53136 timestamp: 1735887290843 - conda: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.46-pyhd8ed1ab_0.conda @@ -667,6 +730,8 @@ packages: - typing_extensions >=3.10.0.2 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/gitpython?source=hash-mapping size: 158433 timestamp: 1767358832407 - conda: https://conda.anaconda.org/conda-forge/noarch/griffe-2.0.2-pyhcf101f3_0.conda @@ -678,6 +743,8 @@ packages: - griffecli >=2.0.2,<2.0.3.0a0 - python license: ISC + purls: + - pkg:pypi/griffe?source=hash-mapping size: 17094 timestamp: 1774621473366 - conda: https://conda.anaconda.org/conda-forge/noarch/griffecli-2.0.2-pyhcf101f3_0.conda @@ -689,6 +756,8 @@ packages: - griffelib >=2.0.2,<2.0.3.0a0 - python license: ISC + purls: + - pkg:pypi/griffecli?source=hash-mapping size: 19703 timestamp: 1774621473366 - conda: https://conda.anaconda.org/conda-forge/noarch/griffelib-2.0.2-pyhcf101f3_0.conda @@ -698,6 +767,8 @@ packages: - python >=3.10 - python license: ISC + purls: + - pkg:pypi/griffelib?source=hash-mapping size: 117111 timestamp: 1774621473366 - conda: https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda @@ -710,6 +781,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/h2?source=hash-mapping size: 95967 timestamp: 1756364871835 - conda: https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda @@ -719,6 +792,8 @@ packages: - python >=3.9 license: MIT license_family: MIT + purls: + - pkg:pypi/hpack?source=hash-mapping size: 30731 timestamp: 1737618390337 - conda: https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda @@ -728,6 +803,8 @@ packages: - python >=3.9 license: MIT license_family: MIT + purls: + - pkg:pypi/hyperframe?source=hash-mapping size: 17397 timestamp: 1737618427549 - conda: https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda @@ -737,6 +814,8 @@ packages: - python >=3.10 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/idna?source=hash-mapping size: 50721 timestamp: 1760286526795 - conda: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.8.0-pyhcf101f3_0.conda @@ -748,6 +827,8 @@ packages: - python license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/importlib-metadata?source=hash-mapping size: 34387 timestamp: 1773931568510 - conda: https://conda.anaconda.org/conda-forge/noarch/iniconfig-2.3.0-pyhd8ed1ab_0.conda @@ -757,6 +838,8 @@ packages: - python >=3.10 license: MIT license_family: MIT + purls: + - pkg:pypi/iniconfig?source=hash-mapping size: 13387 timestamp: 1760831448842 - conda: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda @@ -768,6 +851,8 @@ packages: - python license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/jinja2?source=hash-mapping size: 120685 timestamp: 1764517220861 - conda: https://conda.anaconda.org/conda-forge/noarch/markdown-3.10.2-pyhcf101f3_0.conda @@ -779,6 +864,8 @@ packages: - python license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/markdown?source=hash-mapping size: 85893 timestamp: 1770694658918 - conda: https://conda.anaconda.org/conda-forge/noarch/mergedeep-1.3.4-pyhd8ed1ab_1.conda @@ -788,6 +875,8 @@ packages: - python >=3.9 license: MIT license_family: MIT + purls: + - pkg:pypi/mergedeep?source=hash-mapping size: 11676 timestamp: 1734157119152 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-1.6.1-pyhd8ed1ab_1.conda @@ -813,6 +902,8 @@ packages: - babel >=2.9.0 license: BSD-2-Clause license_family: BSD + purls: + - pkg:pypi/mkdocs?source=hash-mapping size: 3524754 timestamp: 1734344673481 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-autorefs-1.4.4-pyhd8ed1ab_0.conda @@ -825,6 +916,8 @@ packages: - pymdown-extensions - python >=3.10 license: ISC + purls: + - pkg:pypi/mkdocs-autorefs?source=hash-mapping run_exports: {} size: 35803 timestamp: 1770749168710 @@ -839,6 +932,8 @@ packages: - pyyaml >=5.1 license: MIT license_family: MIT + purls: + - pkg:pypi/mkdocs-get-deps?source=hash-mapping size: 15572 timestamp: 1773570672864 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-git-committers-plugin-2-2.5.0-pyhcf101f3_1.conda @@ -852,6 +947,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/mkdocs-git-committers-plugin-2?source=hash-mapping size: 18907 timestamp: 1770590187571 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-9.7.6-pyhcf101f3_1.conda @@ -873,6 +970,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/mkdocs-material?source=hash-mapping size: 4800629 timestamp: 1774620149583 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocs-material-extensions-1.3.1-pyhd8ed1ab_1.conda @@ -884,6 +983,8 @@ packages: - mkdocs-material >=5.0.0 license: MIT license_family: MIT + purls: + - pkg:pypi/mkdocs-material-extensions?source=hash-mapping size: 16122 timestamp: 1734641109286 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-1.0.3-pyhd8ed1ab_0.conda @@ -901,6 +1002,8 @@ packages: - python >=3.10,<4.0 - typing-extensions >=4.1 license: ISC + purls: + - pkg:pypi/mkdocstrings?source=hash-mapping size: 36266 timestamp: 1770555720575 - conda: https://conda.anaconda.org/conda-forge/noarch/mkdocstrings-python-2.0.2-pyh332efcf_0.conda @@ -913,6 +1016,8 @@ packages: - python >=3.10 - typing_extensions >=4.0 license: ISC + purls: + - pkg:pypi/mkdocstrings-python?source=hash-mapping size: 57013 timestamp: 1770730332317 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda @@ -923,6 +1028,8 @@ packages: - python license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/packaging?source=hash-mapping size: 72010 timestamp: 1769093650580 - conda: https://conda.anaconda.org/conda-forge/noarch/paginate-0.5.7-pyhd8ed1ab_1.conda @@ -932,6 +1039,8 @@ packages: - python >=3.9 license: MIT license_family: MIT + purls: + - pkg:pypi/paginate?source=hash-mapping size: 18865 timestamp: 1734618649164 - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-1.0.4-pyhd8ed1ab_0.conda @@ -941,6 +1050,8 @@ packages: - python >=3.10 license: MPL-2.0 license_family: MOZILLA + purls: + - pkg:pypi/pathspec?source=hash-mapping size: 53739 timestamp: 1769677743677 - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.9.4-pyhcf101f3_0.conda @@ -951,6 +1062,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/platformdirs?source=hash-mapping size: 25646 timestamp: 1773199142345 - conda: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.6.0-pyhf9edf01_1.conda @@ -961,6 +1074,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/pluggy?source=hash-mapping size: 25877 timestamp: 1764896838868 - conda: https://conda.anaconda.org/conda-forge/noarch/pygments-2.20.0-pyhd8ed1ab_0.conda @@ -969,6 +1084,8 @@ packages: depends: - python >=3.10 license: BSD-2-Clause + purls: + - pkg:pypi/pygments?source=hash-mapping size: 893031 timestamp: 1774796815820 - conda: https://conda.anaconda.org/conda-forge/noarch/pymdown-extensions-10.21.2-pyhd8ed1ab_0.conda @@ -980,6 +1097,8 @@ packages: - pyyaml license: MIT license_family: MIT + purls: + - pkg:pypi/pymdown-extensions?source=hash-mapping size: 173156 timestamp: 1774803071462 - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyh09c184e_7.conda @@ -991,6 +1110,8 @@ packages: - win_inet_pton license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping size: 21784 timestamp: 1733217448189 - conda: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda @@ -1001,6 +1122,8 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/pysocks?source=hash-mapping size: 21085 timestamp: 1733217331982 - conda: https://conda.anaconda.org/conda-forge/noarch/pytest-9.0.2-pyhcf101f3_0.conda @@ -1020,6 +1143,8 @@ packages: - pytest-faulthandler >=2 license: MIT license_family: MIT + purls: + - pkg:pypi/pytest?source=hash-mapping size: 299581 timestamp: 1765062031645 - conda: https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda @@ -1031,6 +1156,8 @@ packages: - python license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/python-dateutil?source=hash-mapping size: 233310 timestamp: 1751104122689 - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda @@ -1041,6 +1168,7 @@ packages: - python 3.14.* *_cp314 license: BSD-3-Clause license_family: BSD + purls: [] size: 6989 timestamp: 1752805904792 - conda: https://conda.anaconda.org/conda-forge/noarch/pyyaml-env-tag-1.1-pyhd8ed1ab_0.conda @@ -1051,6 +1179,8 @@ packages: - pyyaml license: MIT license_family: MIT + purls: + - pkg:pypi/pyyaml-env-tag?source=hash-mapping size: 11137 timestamp: 1747237061448 - conda: https://conda.anaconda.org/conda-forge/noarch/requests-2.33.0-pyhcf101f3_0.conda @@ -1067,6 +1197,8 @@ packages: - chardet >=3.0.2,<6 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/requests?source=hash-mapping size: 63788 timestamp: 1774462091279 - conda: https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda @@ -1077,6 +1209,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/six?source=hash-mapping size: 18455 timestamp: 1753199211006 - conda: https://conda.anaconda.org/conda-forge/noarch/smmap-5.0.2-pyhd8ed1ab_0.conda @@ -1086,6 +1220,8 @@ packages: - python >=3.9 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/smmap?source=hash-mapping size: 26051 timestamp: 1739781801801 - conda: https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.1-pyhcf101f3_0.conda @@ -1096,6 +1232,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/tomli?source=hash-mapping size: 21561 timestamp: 1774492402955 - conda: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda @@ -1105,6 +1243,7 @@ packages: - typing_extensions ==4.15.0 pyhcf101f3_0 license: PSF-2.0 license_family: PSF + purls: [] size: 91383 timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda @@ -1115,12 +1254,15 @@ packages: - python license: PSF-2.0 license_family: PSF + purls: + - pkg:pypi/typing-extensions?source=hash-mapping size: 51692 timestamp: 1756220668932 - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda sha256: 1d30098909076af33a35017eed6f2953af1c769e273a0626a04722ac4acaba3c md5: ad659d0a2b3e47e38d829aa8cad2d610 license: LicenseRef-Public-Domain + purls: [] size: 119135 timestamp: 1767016325805 - conda: https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda @@ -1134,6 +1276,8 @@ packages: - python >=3.10 license: MIT license_family: MIT + purls: + - pkg:pypi/urllib3?source=hash-mapping size: 103172 timestamp: 1767817860341 - conda: https://conda.anaconda.org/conda-forge/noarch/win_inet_pton-1.1.0-pyh7428d3b_8.conda @@ -1143,6 +1287,8 @@ packages: - __win - python >=3.9 license: LicenseRef-Public-Domain + purls: + - pkg:pypi/win-inet-pton?source=hash-mapping size: 9555 timestamp: 1733130678956 - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda @@ -1153,6 +1299,8 @@ packages: - python license: MIT license_family: MIT + purls: + - pkg:pypi/zipp?source=hash-mapping size: 24194 timestamp: 1764460141901 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/brotli-python-1.2.0-py314h3daef5d_1.conda @@ -1168,6 +1316,8 @@ packages: - libbrotlicommon 1.2.0 hc919400_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping size: 359854 timestamp: 1764018178608 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda @@ -1177,6 +1327,7 @@ packages: - __osx >=11.0 license: bzip2-1.0.6 license_family: BSD + purls: [] size: 124834 timestamp: 1771350416561 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/icu-78.3-hef89b57_0.conda @@ -1186,6 +1337,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 12361647 timestamp: 1773822915649 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-22.1.2-h55c6f16_0.conda @@ -1195,6 +1347,7 @@ packages: - __osx >=11.0 license: Apache-2.0 WITH LLVM-exception license_family: Apache + purls: [] size: 568094 timestamp: 1774439202359 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.7.5-hf6b4638_0.conda @@ -1206,6 +1359,7 @@ packages: - expat 2.7.5.* license: MIT license_family: MIT + purls: [] size: 68192 timestamp: 1774719211725 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.5.2-hcf2aa1b_0.conda @@ -1215,6 +1369,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 40979 timestamp: 1769456747661 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.2-h8088a28_0.conda @@ -1225,6 +1380,7 @@ packages: constrains: - xz 5.8.2.* license: 0BSD + purls: [] size: 92242 timestamp: 1768752982486 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_1.conda @@ -1234,6 +1390,7 @@ packages: - __osx >=11.0 license: BSD-2-Clause license_family: BSD + purls: [] size: 73690 timestamp: 1769482560514 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.52.0-h1ae2325_0.conda @@ -1244,6 +1401,7 @@ packages: - icu >=78.2,<79.0a0 - libzlib >=1.3.1,<2.0a0 license: blessing + purls: [] size: 918420 timestamp: 1772819478684 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_2.conda @@ -1255,6 +1413,7 @@ packages: - zlib 1.3.2 *_2 license: Zlib license_family: Other + purls: [] size: 47759 timestamp: 1774072956767 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/markupsafe-3.0.3-py314h6e9b3f0_1.conda @@ -1269,6 +1428,8 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping size: 27256 timestamp: 1772445397216 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.5-h5e97a16_3.conda @@ -1277,6 +1438,7 @@ packages: depends: - __osx >=11.0 license: X11 AND BSD-3-Clause + purls: [] size: 797030 timestamp: 1738196177597 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.1-hd24854e_1.conda @@ -1287,6 +1449,7 @@ packages: - ca-certificates license: Apache-2.0 license_family: Apache + purls: [] size: 3104268 timestamp: 1769556384749 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.3-h4c637c5_101_cp314.conda @@ -1310,6 +1473,7 @@ packages: - tzdata - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 + purls: [] size: 13522698 timestamp: 1770675365241 python_site_packages_path: lib/python3.14/site-packages @@ -1324,6 +1488,8 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT + purls: + - pkg:pypi/pyyaml?source=hash-mapping size: 189475 timestamp: 1770223788648 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h46df422_0.conda @@ -1334,6 +1500,7 @@ packages: - ncurses >=6.5,<7.0a0 license: GPL-3.0-only license_family: GPL + purls: [] size: 313930 timestamp: 1765813902568 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-h010d191_3.conda @@ -1344,6 +1511,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: TCL license_family: BSD + purls: [] size: 3127137 timestamp: 1769460817696 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/watchdog-6.0.0-py314ha14b1ff_3.conda @@ -1357,6 +1525,8 @@ packages: - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/watchdog?source=hash-mapping size: 176720 timestamp: 1772608060730 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h925e9cb_3.conda @@ -1366,6 +1536,7 @@ packages: - __osx >=11.0 license: MIT license_family: MIT + purls: [] size: 83386 timestamp: 1753484079473 - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda @@ -1376,6 +1547,7 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 433413 timestamp: 1764777166076 - conda: https://conda.anaconda.org/conda-forge/win-64/brotli-python-1.2.0-py314he701e3d_1.conda @@ -1391,6 +1563,8 @@ packages: - libbrotlicommon 1.2.0 hfd05255_1 license: MIT license_family: MIT + purls: + - pkg:pypi/brotli?source=hash-mapping size: 335782 timestamp: 1764018443683 - conda: https://conda.anaconda.org/conda-forge/win-64/bzip2-1.0.8-h0ad9c76_9.conda @@ -1402,6 +1576,7 @@ packages: - vc14_runtime >=14.44.35208 license: bzip2-1.0.6 license_family: BSD + purls: [] size: 56115 timestamp: 1771350256444 - conda: https://conda.anaconda.org/conda-forge/win-64/libexpat-2.7.5-hac47afa_0.conda @@ -1415,6 +1590,7 @@ packages: - expat 2.7.5.* license: MIT license_family: MIT + purls: [] size: 70609 timestamp: 1774719377850 - conda: https://conda.anaconda.org/conda-forge/win-64/libffi-3.5.2-h3d046cb_0.conda @@ -1426,6 +1602,7 @@ packages: - vc14_runtime >=14.44.35208 license: MIT license_family: MIT + purls: [] size: 45831 timestamp: 1769456418774 - conda: https://conda.anaconda.org/conda-forge/win-64/liblzma-5.8.2-hfd05255_0.conda @@ -1438,6 +1615,7 @@ packages: constrains: - xz 5.8.2.* license: 0BSD + purls: [] size: 106169 timestamp: 1768752763559 - conda: https://conda.anaconda.org/conda-forge/win-64/libmpdec-4.0.0-hfd05255_1.conda @@ -1449,6 +1627,7 @@ packages: - vc14_runtime >=14.44.35208 license: BSD-2-Clause license_family: BSD + purls: [] size: 89411 timestamp: 1769482314283 - conda: https://conda.anaconda.org/conda-forge/win-64/libsqlite-3.52.0-hf5d6505_0.conda @@ -1459,6 +1638,7 @@ packages: - vc >=14.3,<15 - vc14_runtime >=14.44.35208 license: blessing + purls: [] size: 1297302 timestamp: 1772818899033 - conda: https://conda.anaconda.org/conda-forge/win-64/libzlib-1.3.2-hfd05255_2.conda @@ -1472,6 +1652,7 @@ packages: - zlib 1.3.2 *_2 license: Zlib license_family: Other + purls: [] size: 58347 timestamp: 1774072851498 - conda: https://conda.anaconda.org/conda-forge/win-64/markupsafe-3.0.3-py314h2359020_1.conda @@ -1487,6 +1668,8 @@ packages: - jinja2 >=3.0.0 license: BSD-3-Clause license_family: BSD + purls: + - pkg:pypi/markupsafe?source=hash-mapping size: 30022 timestamp: 1772445159549 - conda: https://conda.anaconda.org/conda-forge/win-64/openssl-3.6.1-hf411b9b_1.conda @@ -1499,6 +1682,7 @@ packages: - vc14_runtime >=14.44.35208 license: Apache-2.0 license_family: Apache + purls: [] size: 9343023 timestamp: 1769557547888 - conda: https://conda.anaconda.org/conda-forge/win-64/python-3.14.3-h4b44e0e_101_cp314.conda @@ -1522,6 +1706,7 @@ packages: - vc14_runtime >=14.44.35208 - zstd >=1.5.7,<1.6.0a0 license: Python-2.0 + purls: [] size: 18273230 timestamp: 1770675442998 python_site_packages_path: Lib/site-packages @@ -1537,6 +1722,8 @@ packages: - yaml >=0.2.5,<0.3.0a0 license: MIT license_family: MIT + purls: + - pkg:pypi/pyyaml?source=hash-mapping size: 181257 timestamp: 1770223460931 - conda: https://conda.anaconda.org/conda-forge/win-64/tk-8.6.13-h6ed50ae_3.conda @@ -1548,6 +1735,7 @@ packages: - vc14_runtime >=14.44.35208 license: TCL license_family: BSD + purls: [] size: 3526350 timestamp: 1769460339384 - conda: https://conda.anaconda.org/conda-forge/win-64/ucrt-10.0.26100.0-h57928b3_0.conda @@ -1557,6 +1745,7 @@ packages: - vc14_runtime >=14.29.30037 - vs2015_runtime >=14.29.30037 license: LicenseRef-MicrosoftWindowsSDK10 + purls: [] size: 694692 timestamp: 1756385147981 - conda: https://conda.anaconda.org/conda-forge/win-64/vc-14.3-h41ae7f8_34.conda @@ -1568,6 +1757,7 @@ packages: - vc14 license: BSD-3-Clause license_family: BSD + purls: [] size: 19356 timestamp: 1767320221521 - conda: https://conda.anaconda.org/conda-forge/win-64/vc14_runtime-14.44.35208-h818238b_34.conda @@ -1580,6 +1770,7 @@ packages: - vs2015_runtime 14.44.35208.* *_34 license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary + purls: [] size: 683233 timestamp: 1767320219644 - conda: https://conda.anaconda.org/conda-forge/win-64/vcomp14-14.44.35208-h818238b_34.conda @@ -1591,6 +1782,7 @@ packages: - vs2015_runtime 14.44.35208.* *_34 license: LicenseRef-MicrosoftVisualCpp2015-2022Runtime license_family: Proprietary + purls: [] size: 115235 timestamp: 1767320173250 - conda: https://conda.anaconda.org/conda-forge/win-64/watchdog-6.0.0-py314hb821551_3.conda @@ -1602,6 +1794,8 @@ packages: - python_abi 3.14.* *_cp314 license: Apache-2.0 license_family: APACHE + purls: + - pkg:pypi/watchdog?source=hash-mapping size: 203875 timestamp: 1772608056341 - conda: https://conda.anaconda.org/conda-forge/win-64/yaml-0.2.5-h6a83c73_3.conda @@ -1616,6 +1810,7 @@ packages: - ucrt >=10.0.20348.0 license: MIT license_family: MIT + purls: [] size: 63944 timestamp: 1753484092156 - conda: https://conda.anaconda.org/conda-forge/win-64/zstd-1.5.7-h534d264_6.conda @@ -1628,5 +1823,32 @@ packages: - libzlib >=1.3.1,<2.0a0 license: BSD-3-Clause license_family: BSD + purls: [] size: 388453 timestamp: 1764777142545 +- pypi: https://files.pythonhosted.org/packages/08/6c/2b9fe10a9e2a27e72f88291f6f6957db09215d6782a758785cf1ce40ba6f/mkdocs_enumerate_headings_plugin-0.7.0-py3-none-any.whl + name: mkdocs-enumerate-headings-plugin + version: 0.7.0 + sha256: d3c644cdf736d0bfc3468dc7b5b4838870462038039e7fa3b2fd6910e9519c32 + requires_dist: + - mkdocs>=1.0.4 + - beautifulsoup4>=4.9.0 + requires_python: '>=3.7' +- pypi: https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl + name: soupsieve + version: 2.8.4 + sha256: e7e6b0769c8f51ed59acab6e994b00621096cfb1c640a7509295987388fbaf65 + requires_python: '>=3.9' +- pypi: https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl + name: beautifulsoup4 + version: 4.15.0 + sha256: d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9 + requires_dist: + - soupsieve>=1.6.1 + - typing-extensions>=4.0.0 + - cchardet ; extra == 'cchardet' + - chardet ; extra == 'chardet' + - charset-normalizer ; extra == 'charset-normalizer' + - html5lib ; extra == 'html5lib' + - lxml ; extra == 'lxml' + requires_python: '>=3.7.0' diff --git a/pixi.toml b/pixi.toml index 7cbb402..06965a6 100644 --- a/pixi.toml +++ b/pixi.toml @@ -18,3 +18,6 @@ mkdocstrings = ">=1.0.3" mkdocstrings-python = ">=2.0.2" pytest = ">=9.0.2" mkdocs-autorefs = ">=1.4.4,<2" + +[pypi-dependencies] +mkdocs-enumerate-headings-plugin = ">=0.7.0, <0.8" From 1a2beaab01cc5a2bfcdbf7ddbf7a9bb3c96b128c Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:25:46 +0200 Subject: [PATCH 08/20] Add best practices --- docs/Background/our_framework.md | 91 --------------- docs/Developer_guidelines/getting_started.md | 31 ----- docs/Developer_guidelines/requirements.md | 102 ----------------- docs/Developer_guidelines/templates.md | 32 ------ docs/developer/best.md | 114 +++++++++++++++++++ docs/developer/index.md | 2 +- docs/user/basics.md | 6 +- docs/user/index.md | 2 +- mkdocs.yaml | 7 +- 9 files changed, 120 insertions(+), 267 deletions(-) delete mode 100644 docs/Background/our_framework.md delete mode 100644 docs/Developer_guidelines/getting_started.md delete mode 100644 docs/Developer_guidelines/requirements.md delete mode 100644 docs/Developer_guidelines/templates.md diff --git a/docs/Background/our_framework.md b/docs/Background/our_framework.md deleted file mode 100644 index 2163aa5..0000000 --- a/docs/Background/our_framework.md +++ /dev/null @@ -1,91 +0,0 @@ -# Our Framework - -We distinguish four main types of components, all of which are stand alone projects. -Ensuring modularity and containerisation implies a shared approach to the way these access one another. - -Below is a general description of how our set of components achieves this, and how they interface with one another. - -![Our framework](images/toolset_simple.drawio.png) - -## Components - -### Software tools - -These are general-purpose libraries or tools that can be used in other projects via package managers, offering standardised solutions to commonly seen problems. Since users interact with them through code, they must focus on portability, good documentation, and exhaustive testing. - -??? info "Interfacing" - - The default method of access for these is [conda-forge](https://conda-forge.org/). This allows these tools to integrate into other components in a platform independent way via [environment files](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html). Additionally, [snakemake wrappers](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#wrappers) may be created to avoid the need to rewrite common uses of a software tool between data modules. - -### Dataset tools - -These tools are used to create data for reuse in a broad range of cases. The key distinguishing feature of dataset tools as opposed to other components is that they generate a single set of versioned data as output, with no user configuration. -They can vary widely on their methodological complexity, so the choice of programming language or tool used for them should be assessed in a case-by-case basis. -A higher focus is put on following [FAIR principles](https://www.go-fair.org/fair-principles/), solid metadata standards, and thorough data validation. - -??? info "Interfacing" - - Users usually only ever need to interact with the resulting data and will rarely need to run these tools directly. - - The datasets produced by these tools are accessed via downloads, so the size and structure of the data should be kept in mind when choosing how to distribute them. - - - For smaller datasets (< 1 GB), non-queryable databases such as [Zenodo](https://zenodo.org/) are sufficient. - - For larger datasets (> 1 GB), developers should consult with their respective institutions for the possibility of using chunked and queryable data access methods, such as [THREADS](https://www.unidata.ucar.edu/software/tds/), enabling efficient data access via protocols like [OPeNDAP](https://www.opendap.org/). - -### Data modules - -These are topic-specific data-generating [`Snakemake`](https://snakemake.github.io/) workflows that can be configured to produce case-specific data, allowing users to tune certain assumptions via configuration files or by through input data. These modules follow a commonly agreed input/output structure, their methodology is well documented, and they rely on datasets and software libraries that are trustworthy and stable. This is achieved through a standardised template that all data modules must follow. - -??? info "Interfacing" - - These are accessed by other workflows via [snakemake’s module functionality](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#modules). - Below is an example of how a data module can be accessed by another workflow. - - ```python - # Load the module configuration - with open(workflow.source_path("config/geoboundaries.yaml"), "r") as file: - config_geoboundaries = yaml.safe_load(file.read()) - - module geoboundaries: - # Request a specific module version. - snakefile: - github( - "modelblocks-org/module_geo_boundaries", - path="workflow/Snakefile", - tag="v0.1.9" - ) - # Specify the module configuration. - config: config_geoboundaries - # Pathvars let you tune input/output file location. - pathvars: - shapes="results/module_geoboundaries/shapes.parquet" - - # Rewrite rule names to avoid naming conflicts - use rule * from geoboundaries as module_geoboundaries_* - ``` - -??? note "Template" - - All data modules should follow [our standardised template](https://github.com/modelblocks-org/data-module-template). - This template provides a baseline for developers to ensure the following. - - - Version-specific access via version tags. - - Isolated configuration between modules. - - Standardised documentation for module interfacing. - -### Model builders - -These are study-specific workflows that combine the outputs of all other types of components to produce an energy systems model aiming to answer a particular research question. They are highly heterogeneous in their components and are tailored to generating a model for a specific modelling framework. - -??? info "Interfacing" - - Model builders may access all other components above as needed. - Since they tend to be study-specific, they will rarely (if ever) be accessed by other tools or components. - It is perfectly possible to ensure that a model builder can be accessed modularly, but this is not required. - -## The `clio_tools` integration utility - -To save time and enable component developers to check against the latest `modelblocks` standards, we provide the `clio_tools` library. -This is a set of useful utility functions, geared towards ensuring smooth interfacing. - -For more information, check [`clio_tools`](https://github.com/modelblocks-org/clio-tools). diff --git a/docs/Developer_guidelines/getting_started.md b/docs/Developer_guidelines/getting_started.md deleted file mode 100644 index 6de7b61..0000000 --- a/docs/Developer_guidelines/getting_started.md +++ /dev/null @@ -1,31 +0,0 @@ -# How to get started - -Make sure to read about [our framework](../Background/our_framework.md) to familiarise yourself with each type of component -and decide the type of project that best fits your goals. - -We assume you already have `conda` or `mamba` installed in your system. -If you don't, we recommend following `mamba`'s [installation advice](https://github.com/mamba-org/mamba). - -1. Create a new environment and install `copier` in it. - - ```shell - mamba env create -n my_new_module - mamba install -c conda-forge copier - ``` - -2. Call the `copier` template of the type of component you wish to make. Currently, we only support [data modules](https://github.com/modelblocks-org/data-module-template). - - ```shell - copier copy 'https://github.com/modelblocks-org/data-module-template' - ``` - -3. You'll be prompted with some questions. After answering them, `copier` will auto-generate the module for you. - - ```html - >🎤 Please enter the name of your tool in snake_case. - my_new_module - ... - ``` - -You are ready to go! -Please look into our general [requirements and conventions](./requirements.md#requirements-and-conventions) and familiarise yourself with the [templates](./templates.md). diff --git a/docs/Developer_guidelines/requirements.md b/docs/Developer_guidelines/requirements.md deleted file mode 100644 index 65564a0..0000000 --- a/docs/Developer_guidelines/requirements.md +++ /dev/null @@ -1,102 +0,0 @@ -# Requirements and conventions - -## Component requirements - -We enforce the following requirements in all projects. - -1. **Open-source code**: projects must use either Apache 2.0 or MIT open-source licenses, which are [OSI approved](https://opensource.org/licenses), and they must be openly available in platforms such as GitHub. -2. **Open data**: data produced by projects (dataset tools and data modules in particular) should use a [CC-BY-4.0 license](https://creativecommons.org/licenses/by/4.0/) whenever possible. -3. **Versioning**: projects must be version controlled with official releases, which can be used to specify the version of the project used in a study and/or dataset, and an accompanying CHANGELOG. Project developers are free to choose their preferred approach (e.g., [SemVer](https://semver.org/) or [CalVer](https://calver.org/)). -4. **Testing**: projects must employ some type of testing to ensure quality and long-term stability. The approach will vary depending on the type of project: - - 1. **Software tools**: these require using testing frameworks (e.g., [pytest](https://docs.pytest.org/en/stable/)). The chosen approach (e.g., unit testing, functional testing) is up to the developer, but some kind of testing must be present. - 2. **Dataset tools**: the method used to produce the data must contain some kind of assurance or evaluation to ensure its quality. The choice of method is up to the maintainers in a case-by-case basis. - 3. **Data modules**: a minimal set of tests, provided by our template. These will fulfill two goals: - 1. Verifying that module inputs/outputs are placed in the right locations. - 2. Serve as a small example of the module’s operation, which will be used to build standardised module documentation. We recommend delegating more complex testing to the software tools and datasets used by the module. - 4. **Model builders**: we refrain from requiring a specific testing method for these repositories. Nevertheless, we recommend at least using lightweight snakemake [unit tests](https://snakemake.readthedocs.io/en/stable/snakefiles/testing.html) to verify that the steps of the workflow work as intended. - -5. **Documentation**: projects must provide documentation to ensure the methods and reasoning behind their code can be understood: - 1. **Software tools**: versioned domaximum_roof_ratio: 0.80 # unit for a value cumentation website with, at minimum, API documentation and useful examples. - 2. **Dataset tools**: either versioned documentation or a README file explaining the methodology and assumptions employed, to allow others to reuse the tool in the future to reproduce or update the dataset when necessary. - 3. **Data modules**: projects must have versioned and standardised documentation with the following in mind: - 1. A README file explaining the different steps of the workflow, citing relevant material, and detailing their methodology. - 2. To follow our templating, which requires explanations of key components (configuration options, input/output files, wildcards) and will enable standardised documentation generation. - 4. **Model builders**: no specific requirements, but documentation is nevertheless recommended. - -## File conventions - -The following is a list of general advice on how to format files to help tools interact seamlessly. We encourage developers to employ validation for user inputted files, either through [built-in snakemake functionality](https://snakemake.readthedocs.io/en/stable/snakefiles/configuration.html#validation), or through libraries like [pydantic](https://docs.pydantic.dev/latest/) and [pandera](https://pandera.readthedocs.io/en/stable/). - -1. **Configuration data**: we prefer to use YAML (.yaml) files. - 1. These files must always be validated to detect invalid user settings. - 2. Unit-specific configuration settings must state the unit explicitly in their naming. - - ???+ example "Naming configuration variables clearly" - - ```yaml - maximum_installable_mw_per_km2: # unit for the section - pv_tilted: 160 - pv_flat: 80 - maximum_roof_ratio: 0.80 # unit for a value - ``` - -2. **Tabular data**: we prefer [Apache Parquet](https://parquet.apache.org/) (.parquet) files due to their performance, storage efficiency and [metadata compatibility](https://parquet.apache.org/docs/file-format/metadata/), with the following requirements: - 1. Follow [tidy data](https://vita.had.co.nz/papers/tidy-data.pdf) principles (columns are variables, rows are observations) to make data machine-readable. - - ???+ example "Example of a tidy table" - - | year | country_id | shape_id | demand_mwh | - |---------------|------------------|------------------|--------------| - | 2020 | ITA | North | 4500 | - | 2020 | ITA | East | 4800 | - | 2020 | ITA | South | 3000 | - - 2. Embed important metadata within the file, with at minimum the following values: - 1. `units`: a dictionary specifying per-column units, using `no_unit` for unitless cases. Used to simplify parsing and enabling easier integration of unit-checking tools like [pint](https://pint.readthedocs.io/en/stable/). - 2. `source`: a string specifying the source and/or author of a dataset. - 3. `license`: a string specifying the license of the dataset. - - ??? example "Embedding metadata in `pandas`" - - `pandas` will automatically convert data in `df.attrs` into [file-level metadata](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.attrs.html#pandas.DataFrame.attrs) when saving to `.parquet`: - - ```python - dataframe.attrs["units"] = { - "year": "yr", - "country_id": "no_unit", - "shape_id": "no_unit", - "demand": "mwh" - } - dataframe.attrs["source"] = "github.com/modelblocks-org/docs" - dataframe.attrs["license"] = "CC-BY-4.0" - dataframe.to_parquet('my_data.parquet') - ``` - -3. **Raster data**: we prefer to use GeoTIFF (.tiff) files. -4. **Polygon data**: we prefer [GeoParquet](https://geoparquet.org/) (.parquet) files. -5. **Gridded data**: we prefer to use [netCDF](https://www.unidata.ucar.edu/software/netcdf/) (.nc) files. - -## Metadata conventions - -1. For all data: use snake case (`foo_bar`) for headers, keys, indexes, variables, etc. Avoid hyphens (`foo-bar`) and camel case (`FooBar`). -2. For timeseries data: timeseries must follow [ISO 8601 UTC](https://en.wikipedia.org/wiki/ISO_8601) spec (e.g., 2024-08-01T15:00:00Z). -3. For national / subnational data: - 1. Country IDs should always be under the `country_id` naming and follow [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) (e.g., CHE, CHN, GBR, MEX, etc). - 2. Sub-regions must be under the `shape_id` naming. This applies even in cases where national resolution is requested (i.e., `country_id` and `shape_id` should match). - 3. A `shape_spec` key or header should be present, specifying the version of the subregion standard used (e.g., NUTS2024, GADM4.1, ISO 3166-2:2013). This aids in replicability since subregion codes [change quite often](https://ec.europa.eu/eurostat/web/nuts/history). - - ???+ example "Example of tabular subnational data" - - | country_id | shape_id | shape_spec | demand_mwh | - |------------------|------------------|------------------|--------------| - | DEU | DE13 | NUTS2024 | 4500 | - | DEU | DE14 | NUTS2024 | 4800 | - | ITA | ITA0 | GADM4.1 | 20000 | - -4. For spatial data: - 1. Use `longitude` | `latitude` to express position and avoid ambiguous values like `x` | `y`. - 2. Make sure to save the CRS with the spatial data. With the recommended file types for GIS data, see above, this is guaranteed. - 3. For geodetic data, where preserving position matters, use a geodetic CRS (e.g. [EPSG:4326](https://epsg.io/4326)). - 4. For projected data, where preserving distance or area matters, allow users to specify the reference system that best fits the needs of the calculation (e.g. [EPSG:3035](https://epsg.io/3035) for Europe). -5. For currency data: currency codes must follow [ISO 4217 alpha-3](https://en.wikipedia.org/wiki/ISO_4217) codes in combination with the year of the currency (e.g., CHF2024, EUR2015, USD2020) to allow for inflation adjustments. diff --git a/docs/Developer_guidelines/templates.md b/docs/Developer_guidelines/templates.md deleted file mode 100644 index c7be271..0000000 --- a/docs/Developer_guidelines/templates.md +++ /dev/null @@ -1,32 +0,0 @@ -# Templates - -## Software tool template - -For now, we do not provide templates for software tools. -Stay tuned! - -## Dataset tool template - -Dataset tools are run sparingly, often once every couple of years or so. -Since users do not need to interact with these tools themselves, our focus is on ensuring long-term stability of the software. -This can be achieved via lock-files, which "freeze" the specific python libraries used for a tool. -Our preferred tool to achieve this is [pixi](https://pixi.sh/latest/) due to its conda integration and ease of use. - -A template for these tools is in development. -Stay tuned! - -## Data module template - -Data modules will experience higher user interaction due to their user configurable nature. -This would quickly become confusing without some level of standardisation, so our template focuses on the following features: - -- Standardised folder and file names for user inputs and module outputs. -- Automatically generated documentation in a standard format, providing a familiar structure across all data modules. -- Automatic checks for template updates, aiding module developers in keeping up with the latest standard. - -URL: - -## Model builder template - -For now, we do not provide templates for model builders. -Stay tuned for example models using our approach! diff --git a/docs/developer/best.md b/docs/developer/best.md index ce73ddd..f13b6d0 100644 --- a/docs/developer/best.md +++ b/docs/developer/best.md @@ -1 +1,115 @@ # Best practices + +The following is a list of general advice on how to help your module interact seamlessly with others. + +## Configuration files + +1. These files should always be validated to detect invalid user settings following the latest [JSON-schema specification](https://json-schema.org/). +In some cases, it might be necessary to write additional tests to catch problems that regular JSON-schemas cannot guard against. +1. Configuration settings should state units explicitly in their naming. + + ???+ example "Naming configuration variables clearly" + + ```yaml + maximum_installable_mw_per_km2: # (1)! + pv_tilted: 160 + pv_flat: 80 + maximum_roof_ratio: 0.80 # (2)! + ``` + + 1. Sections should state the unit of their subitems. + 2. Use clear names even for unitless cases like ratios. + +### Common configuration structures + +We recommend the following structures for commonly seen configuration settings. + +1. Request users to specify their coordinate reference systems of choice, and group these under the `crs` key. + + ```yaml + crs: + geographic: "EPSG:4326" # (1)! + projected: "EPSG:3035" # (2)! + ``` + + 1. Geographic operations where preserving position matters. + 1. Projected operations where preserving distance or area matters. + +1. If your module supports a flexible temporal scope, define the date range using an inclusive start date and an exclusive end date. + + The range below includes data from `2017-01-01` up to, but not including, `2018-01-01`. + + ```yaml + temporal_scope: + start: "2017-01-01" # (1)! + end: "2018-01-01" # (2)! + ``` + + 1. Will be included in data. + 2. Won't be included in the data. + +## Tabular and Vector GIS data + +1. We _highly_ recommend the use of [Apache Parquet](https://parquet.apache.org/) (`.parquet`) over other formats (such as `.csv`). + - Very good read/write performance + - High storage efficiency and [metadata compatibility](https://parquet.apache.org/docs/file-format/metadata/). + - Supports geospatial data thanks to the [Geoparquet standard](https://geoparquet.org/). +1. Follow [tidy data](https://vita.had.co.nz/papers/tidy-data.pdf) principles to make data machine-readable (prefer "long" tables over "wide" ones when applicable). + + ???+ example "Example of a tidy table" + + | year | country_id | shape_id | demand_mwh | + |---------------|------------------|------------------|--------------| + | 2020 | ITA | North | 4500 | + | 2020 | ITA | East | 4800 | + | 2020 | ITA | South | 3000 | + +1. Embed important metadata within the file instead of saving a separate file. +The following metadata values are often useful: + - `units`: a dictionary specifying per-column units, using `no_unit` for unitless cases. + - `source`: a string specifying the source and/or author of a dataset. + - `license`: a string specifying the license of the dataset. + + ??? example "Embedding metadata in `pandas`" + + `pandas` will automatically convert data in `df.attrs` into [file-level metadata](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.attrs.html#pandas.DataFrame.attrs) when saving to `.parquet`: + + ```python + dataframe.attrs["units"] = { + "year": "yr", + "country_id": "no_unit", + "shape_id": "no_unit", + "demand": "mwh" + } + dataframe.attrs["source"] = "github.com/modelblocks-org/docs" + dataframe.attrs["license"] = "CC-BY-4.0" + dataframe.to_parquet('my_data.parquet') + ``` + +## Other GIS data formats + +1. **Raster data**: we prefer to use GeoTIFF (`.tiff`, `.tif`) files. +1. **Gridded data**: we prefer to use [netCDF](https://www.unidata.ucar.edu/software/netcdf/) (`.nc`) files. + +## Metadata recommendations + +1. Use snake case (`foo_bar`) for headers, keys, indexes, variables, etc. Avoid hyphens (`foo-bar`) and camel case (`FooBar`). +1. For timeseries data, follow [ISO 8601 UTC](https://en.wikipedia.org/wiki/ISO_8601) (e.g., 2024-08-01T15:00:00Z) specifications to avoid date time problems. +1. For national / subnational data: + 1. Country IDs should always be under the `country_id` naming and follow [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) (e.g., CHE, CHN, GBR, MEX, etc). + 1. Unique identifiers related to specific polygons should be under the `shape_id` naming. + This applies even in cases where national resolution is requested (i.e., `country_id` and `shape_id` should match). + + ???+ example "Example of tabular subnational data" + + | country_id | shape_id | demand_mwh | + |------------|----------|--------------| + | DEU | DE13 | 4500 | + | DEU | DE14 | 4800 | + | ITA | ITA0 | 20000 | + +1. For spatial data: + 1. Use `longitude` | `latitude` to express position and avoid ambiguous values like `x` | `y`. + 1. Make sure to save the CRS with the spatial data. + This is guaranteed with the [recommended file types][file-specific-recommendations] for GIS data. +1. For currency data: currency codes must follow [ISO 4217 alpha-3](https://en.wikipedia.org/wiki/ISO_4217) codes in combination with the year of the currency (e.g., CHF2024, EUR2015, USD2020) to allow for inflation adjustments. diff --git a/docs/developer/index.md b/docs/developer/index.md index c1fcdaf..33e8b45 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -1,4 +1,4 @@ -# Development Conventions +# Development Guidelines This section explains the rules to follow when developing a Modelblocks module in order to comply with our Convention. If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. diff --git a/docs/user/basics.md b/docs/user/basics.md index cbae7fc..e35740e 100644 --- a/docs/user/basics.md +++ b/docs/user/basics.md @@ -14,14 +14,14 @@ We only focus on aspects that regular users will interact with when using a modu ??? tip "Looking for more in-depth information on modules?" - Please consult our [development conventions][development-conventions]. + Please consult our [development guidelines][development-guidelines]. ## General structure At their core, Modelblocks modules consist of a sequence of rules that download, filter and transform data. The behaviour of each rule is determined by the module’s internal code, and a user-specified configuration file which alters code behaviour. -Each module also defines how to interface with it through a standardised interface. The location of configuration and interface files is standard across all Modelblocks modules, and is defined by our [Convention][development-conventions]. +Each module also defines how to interface with it through a standardised interface. The location of configuration and interface files is standard across all Modelblocks modules, and is defined by our [Convention][convention]. ![simple module](./images/simple_module.drawio.png) @@ -60,7 +60,7 @@ module_name/ 1. Always located at the top level of the module's repository. -The interface file will always specify the version of our [Convention][development-conventions] that the module complies with, multiple sets of `pathvars` that can re-wire the location of the files consumed / produced by the module, and a set of `wildcards` which can be used to process multiple files using the same module. +The interface file will always specify the version of our [Convention][convention] that the module complies with, multiple sets of `pathvars` that can re-wire the location of the files consumed / produced by the module, and a set of `wildcards` which can be used to process multiple files using the same module. In general, the interface file will define three different sets of `pathvars`: diff --git a/docs/user/index.md b/docs/user/index.md index cef2892..14bf111 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -5,7 +5,7 @@ This section explains the necessary steps to import, reconfigure and execute a M There are two types of Modelblocks modules: - **Core**{ .badge-core } modules are maintained by the Modelblocks organisation. -- **Community**{ .badge-community } modules may be hosted anywhere, and should comply with our [Convention][development-conventions]. +- **Community**{ .badge-community } modules may be hosted anywhere, and should comply with our [Convention][convention]. This documentation should apply to either case. An up to date list of modules is kept in the [Modelblocks website](https://www.modelblocks.org). diff --git a/mkdocs.yaml b/mkdocs.yaml index 291509d..cfee220 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -120,12 +120,7 @@ nav: - user/setup.md - user/background.md - user/basics.md - # - user/examples.md - - Developer guidelines: - - Developer_guidelines/getting_started.md - - Developer_guidelines/requirements.md - - Developer_guidelines/templates.md - - Development conventions: + - Development guidelines: - developer/index.md - developer/setup.md - developer/convention.md From ff0bfa51915243cf4e21285619352ffb2d7ee09b Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 14 Jul 2026 22:27:37 +0000 Subject: [PATCH 09/20] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/index.md | 1 - docs/user/basics.md | 2 -- 2 files changed, 3 deletions(-) diff --git a/docs/index.md b/docs/index.md index 9775e2f..7fe19e6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,4 +23,3 @@ This documentation is meant to guide users and developers on how to follow our C Learn about the Modelblocks Convention to create new Modelblocks modules and share your research with others.
- diff --git a/docs/user/basics.md b/docs/user/basics.md index e35740e..287a893 100644 --- a/docs/user/basics.md +++ b/docs/user/basics.md @@ -176,5 +176,3 @@ This can be easily handled by re-defining `pathvars` when importing modules. ``` 1. Notice how the "shapes" `wildcard` was changed to be the filename instead of the directory name. - - From f4c97b23974d3b88596985c9d6493e6fdf1f8872 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:29:51 +0200 Subject: [PATCH 10/20] Correct typos --- docs/developer/convention.md | 6 +++--- docs/user/background.md | 2 +- docs/user/index.md | 2 +- docs/user/setup.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/developer/convention.md b/docs/developer/convention.md index 1bf4879..b4817bb 100644 --- a/docs/developer/convention.md +++ b/docs/developer/convention.md @@ -112,11 +112,11 @@ This file should detail the module's input/output file structure from a user's p Projects must comply with the following testing requirements at minimum. These tests should execute successfully before changes are integrated into the repository. -The template should provide pre-configured pull request test setups in `.github/workfows/pr-ci.yml`. +The template should provide pre-configured pull request test setups in `.github/workflows/pr-ci.yml`. #### Module testing -Projects must ensure that the provided `integration_test.py` file excecutes successfully in **all major platforms** (Linux, MacOS, Windows). +Projects must ensure that the provided `integration_test.py` file executes successfully on **all major platforms** (Linux, MacOS, Windows). This test should evaluate the following: @@ -132,7 +132,7 @@ These tests are defined in `.pre-commit-config.yaml`, and make use of [pre-commi Among other things, these tests evaluate the following: -- Machine redability issues such as removing trailing whitespaces and adding end-of-file newlines. +- Machine readability issues such as removing trailing whitespaces and adding end-of-file newlines. - Repository quality issues such as large files, the use of GitHub submodules, illegal Windows filenames, and malformed configuration files (e.g., .json or .yaml). - Code quality for python files (using [`ruff`](https://docs.astral.sh/ruff/)) and `Snakemake` files (using [`snakefmt`](https://github.com/snakemake/snakefmt)). - Spelling mistakes (using [`codespell`](https://github.com/codespell-project/codespell)). diff --git a/docs/user/background.md b/docs/user/background.md index 922be1a..1c9eb47 100644 --- a/docs/user/background.md +++ b/docs/user/background.md @@ -31,7 +31,7 @@ We focus on the following core ideals: Model nuances can be added later by users if needed. - **Replicable, reusable, and reconfigurable**: modules should be easy to reuse and reapply on different contexts, with different assumptions, and on different computer systems. - **Easily adoptable**: modules should use well established tools in the field of energy systems and be easy to integrate into pre-existing projects. -- **Improvable and manageable**: modules should allow researchers to collaborate on targetted improvements with minimal complications. +- **Improvable and manageable**: modules should allow researchers to collaborate on targeted improvements with minimal complications. Ultimately, Modelblocks aids in turning monolithic workflows into modular ones that are easier to improve and share. diff --git a/docs/user/index.md b/docs/user/index.md index 14bf111..9012cdb 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -19,7 +19,7 @@ An up to date list of modules is kept in the [Modelblocks website](https://www.m - :fontawesome-solid-book-open:{ .lg .middle } __[Background info](./background.md){ .card-link }__ - A general overview behind Modelblock's ideology and the problems it is tyring to solve. + A general overview behind Modelblock's ideology and the problems it is trying to solve. - :fontawesome-solid-cubes:{ .lg .middle } __[Basic concepts](./basics.md){ .card-link }__ diff --git a/docs/user/setup.md b/docs/user/setup.md index c20ab46..350ea7e 100644 --- a/docs/user/setup.md +++ b/docs/user/setup.md @@ -29,7 +29,7 @@ Below are example of how to install it using either `pixi` or `miniconda`. ??? info "Setting up a project with `conda`" - Follow the installation instructions on the [`conda` documenation](https://docs.conda.io/en/latest/). + Follow the installation instructions on the [`conda` documentation](https://docs.conda.io/en/latest/). We recommend `miniconda` for a lightweight, minimal installation. Once installed: From 27dc7d73523e1a091738fd6f6157de70b34bc9cc Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 00:39:00 +0200 Subject: [PATCH 11/20] Add pills to homepage --- docs/developer/best.md | 4 ++-- docs/index.md | 2 +- docs/user/basics.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/developer/best.md b/docs/developer/best.md index f13b6d0..4677fd7 100644 --- a/docs/developer/best.md +++ b/docs/developer/best.md @@ -1,6 +1,6 @@ # Best practices -The following is a list of general advice on how to help your module interact seamlessly with others. +The following is a list of general advice on how to help your module interact seamlessly with other workflows. ## Configuration files @@ -111,5 +111,5 @@ The following metadata values are often useful: 1. For spatial data: 1. Use `longitude` | `latitude` to express position and avoid ambiguous values like `x` | `y`. 1. Make sure to save the CRS with the spatial data. - This is guaranteed with the [recommended file types][file-specific-recommendations] for GIS data. + This is guaranteed with the recommended file types for GIS data stated above. 1. For currency data: currency codes must follow [ISO 4217 alpha-3](https://en.wikipedia.org/wiki/ISO_4217) codes in combination with the year of the currency (e.g., CHF2024, EUR2015, USD2020) to allow for inflation adjustments. diff --git a/docs/index.md b/docs/index.md index 7fe19e6..b0de7be 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,7 +9,7 @@ This documentation is meant to guide users and developers on how to follow our C ??? info "Looking for details on available modules?" - Please consult the official [Modelblocks website](https://www.modelblocks.org/) for a full list of **core** and **community** developed modules. + Please consult the official [Modelblocks website](https://www.modelblocks.org/) for a full list of **Core**{ .badge-core } and **Community**{ .badge-community } developed modules.
diff --git a/docs/user/basics.md b/docs/user/basics.md index 287a893..d9031e7 100644 --- a/docs/user/basics.md +++ b/docs/user/basics.md @@ -29,7 +29,7 @@ Each module also defines how to interface with it through a standardised interfa ### Configuration Configuration values allow users to tweak module behaviour. -Modules will generally provide example configurations with recommended defaults under `config/`. +Modules will generally provide example configurations and recommended defaults in the `config/` directory. You should expect modules to validate the provided configuration against a schema (`config.schema.yaml`) during execution, with incorrect configurations raising errors. The schema file itself is also a useful resource to understand a module's capabilities. @@ -99,7 +99,7 @@ These are pre-defined by `Snakemake` shapes: geo-political regions to process ``` - 1. Convention version, based on this documentation. + 1. [Convention][convention] version, based on this documentation. 2. Default snakemake `pathvars`. Used to re-wire the location of _all_ files in these directories. 3. Notice that these reuse the `` pathvar! From 604a14a4f5d8dbeaefe0578c44073155cb005514 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 16:20:19 +0200 Subject: [PATCH 12/20] review fixes and improvements to Best practices --- docs/developer/best.md | 264 +++++++++++++----- docs/developer/convention.md | 4 +- .../images/mean_timepoint.drawio.png | Bin 0 -> 12888 bytes docs/developer/index.md | 2 +- docs/index.md | 2 +- docs/user/basics.md | 4 +- mkdocs.yaml | 25 -- 7 files changed, 205 insertions(+), 96 deletions(-) create mode 100644 docs/developer/images/mean_timepoint.drawio.png diff --git a/docs/developer/best.md b/docs/developer/best.md index 4677fd7..55c4747 100644 --- a/docs/developer/best.md +++ b/docs/developer/best.md @@ -1,14 +1,50 @@ # Best practices The following is a list of general advice on how to help your module interact seamlessly with other workflows. +Although not obligatory, **Core**{ .badge-core } modules should strive to comply with these guidelines. -## Configuration files +## Metadata recommendations + +The structure of the configuration, user provided resources, and module results should be clearly structured. +Here are some general recommendations on how to achieve this. + +### Embedded metadata + +When possible, save important metadata within files instead of producing separate ones. +This can vary from adding a `source` column to a table, to adding metadata to a file's attributes. + +The following metadata values are often useful: + +- `units`: a dictionary specifying per-column units, using `no_unit` for unitless cases. +- `source`: a string specifying the source and/or author of a dataset. +- `license`: a string specifying the license of the dataset. + +??? example "Example: embedding metadata with `pandas`" -1. These files should always be validated to detect invalid user settings following the latest [JSON-schema specification](https://json-schema.org/). -In some cases, it might be necessary to write additional tests to catch problems that regular JSON-schemas cannot guard against. -1. Configuration settings should state units explicitly in their naming. + `pandas` will automatically convert data in `df.attrs` into [file-level metadata](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.attrs.html#pandas.DataFrame.attrs) when saving to `.parquet`: + + ```python + dataframe.attrs["units"] = { + "year": "yr", + "country_id": "no_unit", + "shape_id": "no_unit", + "demand": "mwh" + } + dataframe.attrs["source"] = "github.com/modelblocks-org/docs" + dataframe.attrs["license"] = "CC-BY-4.0" + dataframe.to_parquet('my_data.parquet') + ``` - ???+ example "Naming configuration variables clearly" +### Consistent naming + +Follow these principles to avoid confusion and reduce the need for extensive documentation. + +- **Naming convention**: use snake_case (`foo_bar`) for columns, configuration keys, file names, parameters, etc. +Avoid hyphens (`foo-bar`) and camel case (`FooBar`). +- **Prefer explicit names over implicit ones**: A value's purpose should be clear from its name. For example, use `longitude` and `latitude` to represent a position rather than ambiguous labels such as `x` and `y`. +- **Ensure units are explicit**: configuration values and file attributes should state units explicitly in their naming. + + ???+ example "Example: clear naming of configuration values" ```yaml maximum_installable_mw_per_km2: # (1)! @@ -20,11 +56,84 @@ In some cases, it might be necessary to write additional tests to catch problems 1. Sections should state the unit of their subitems. 2. Use clear names even for unitless cases like ratios. -### Common configuration structures +- **Use consistent country / subregion identifiers**: do the following when dealing with national and sub-national identification codes. + + - **Country identifiers**: national IDs should be under the `country_id` key and follow [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) (e.g., CHE, CHN, GBR, MEX, etc). + - **Subnational region identifiers**: identifiers related to (sub)national regions/polygons should be under the `shape_id` key. + This applies even in cases where national resolution is requested (i.e., `country_id` and `shape_id` should match). + + ??? example "Example: table with country and subnational identifiers" + + | country_id | shape_id | demand_mwh | + |------------|----------|--------------| + | DEU | DE13 | 4500 | + | DEU | DE14 | 4800 | + | ITA | ITA0 | 20000 | + +- **Standardise currencies**: currency codes must follow [ISO 4217 alpha-3](https://en.wikipedia.org/wiki/ISO_4217) codes in combination with the year of the currency (e.g., CHF2024, EUR2015, USD2020) to allow for clear currency adjustments. + + +## Timeseries recommendations + +### Timestamp ISO standard + +Follow [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) specifications and ensure timeseries include UTC date and time (e.g., `2026-07-15 12:00:00+00:00`) specifications to avoid time interval issues. + +??? example "Example: convert timeseries to UTC with `pandas`" + + ```python + # if the timeseries is already recorded in UTC. + df["timestamp"] = pd.to_datetime(df["timestamp"], utc=True) # (1)! + # if the timeseries was recorded for a different timezone + df["timestamp"] = ( + pd.to_datetime(df["timestamp"]) + .dt.tz_localize("Australia/Sydney") # (2)! + .dt.tz_convert("UTC") + ) + ``` + + 1. Non-ISO (UTC) -> ISO (UTC) + 2. Non-ISO (Sydney) -> ISO (Sydney) -> ISO (UTC) + +### Time period standard + +We recommend following similar approaches to the [ERA5 reanalysis dataset](https://confluence.ecmwf.int/spaces/CKB/pages/85402030/ERA5+terminology+analysis+and+forecast+time+and+steps+instantaneous+and+accumulated+and+mean+rates+and+min+max+parameters) and the [`atlite` library](https://atlite.readthedocs.io/en/latest/conventions.html#time-points). Timeseries should generally represent metrics during a particular _time period_, starting at the previous time point. + +??? example "Example: time period length" + + Assume each sample represents the mean of some parameter. + + The time period ends at the specified timestamp. + For example: 09:00 would represent the mean _from_ 08:00 _to_ 09:00, 10:00 would be the mean _from_ 09:00 _to_ 10:00, etc. + + ![mean](./images/mean_timepoint.drawio.png) -We recommend the following structures for commonly seen configuration settings. -1. Request users to specify their coordinate reference systems of choice, and group these under the `crs` key. +## Configuration recommendations + +These recommendations relate to the configuration files provided by users (`config/config.yaml`). + +### Extra validation + +Configuration YAML files should always be validated to detect invalid user settings using the latest [JSON-schema specification](https://json-schema.org/). +However, it might be necessary to write additional tests to catch problems that regular JSON-schema logic cannot guard against. +You can write these tests in a separate validation function. + +```python title="Snakefile" +include: "rules/_utils.smk" # (1) +configfile: workflow.source_path("../config/config.yaml") +validate(config, workflow.source_path("internal/config.schema.yaml")) +additional_validation(config) # (2) +``` + +1. Defines `additional_validation`. +2. Used for validation checks with more detailed logic. + +### Common structures + +Here are some recommended structures for configuration settings commonly needed by modules. + +1. **Coordinate reference systems**: request users to specify their CRS of choice, and group these under the `crs` key. ```yaml crs: @@ -35,81 +144,104 @@ We recommend the following structures for commonly seen configuration settings. 1. Geographic operations where preserving position matters. 1. Projected operations where preserving distance or area matters. -1. If your module supports a flexible temporal scope, define the date range using an inclusive start date and an exclusive end date. +1. **Temporal scopes**: if your module supports a flexible temporal scope, define the date range using an _inclusive_ start date and an _exclusive_ end date. - The range below includes data from `2017-01-01` up to, but not including, `2018-01-01`. + The range below includes data from `2017` up to, but not including, `2020` (i.e., 2017, 2018, and 2019). ```yaml temporal_scope: - start: "2017-01-01" # (1)! - end: "2018-01-01" # (2)! + start: "2017" # (1)! + end: "2020" # (2)! ``` 1. Will be included in data. 2. Won't be included in the data. -## Tabular and Vector GIS data -1. We _highly_ recommend the use of [Apache Parquet](https://parquet.apache.org/) (`.parquet`) over other formats (such as `.csv`). - - Very good read/write performance - - High storage efficiency and [metadata compatibility](https://parquet.apache.org/docs/file-format/metadata/). - - Supports geospatial data thanks to the [Geoparquet standard](https://geoparquet.org/). -1. Follow [tidy data](https://vita.had.co.nz/papers/tidy-data.pdf) principles to make data machine-readable (prefer "long" tables over "wide" ones when applicable). +## Tabular file recommendations - ???+ example "Example of a tidy table" +These recommendations relate to tabular data consumed / produced by modules. - | year | country_id | shape_id | demand_mwh | - |---------------|------------------|------------------|--------------| - | 2020 | ITA | North | 4500 | - | 2020 | ITA | East | 4800 | - | 2020 | ITA | South | 3000 | +### Storage format -1. Embed important metadata within the file instead of saving a separate file. -The following metadata values are often useful: - - `units`: a dictionary specifying per-column units, using `no_unit` for unitless cases. - - `source`: a string specifying the source and/or author of a dataset. - - `license`: a string specifying the license of the dataset. - - ??? example "Embedding metadata in `pandas`" - - `pandas` will automatically convert data in `df.attrs` into [file-level metadata](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.attrs.html#pandas.DataFrame.attrs) when saving to `.parquet`: - - ```python - dataframe.attrs["units"] = { - "year": "yr", - "country_id": "no_unit", - "shape_id": "no_unit", - "demand": "mwh" - } - dataframe.attrs["source"] = "github.com/modelblocks-org/docs" - dataframe.attrs["license"] = "CC-BY-4.0" - dataframe.to_parquet('my_data.parquet') - ``` +We _highly_ recommend the use of [Apache Parquet](https://parquet.apache.org/) (`.parquet`) over other formats (such as `.csv`). -## Other GIS data formats +- Very good read/write performance. +- High storage efficiency and [metadata compatibility](https://parquet.apache.org/docs/file-format/metadata/). +- Supports geospatial data thanks to the [Geoparquet standard](https://geoparquet.org/). -1. **Raster data**: we prefer to use GeoTIFF (`.tiff`, `.tif`) files. -1. **Gridded data**: we prefer to use [netCDF](https://www.unidata.ucar.edu/software/netcdf/) (`.nc`) files. +### Tidy data principles -## Metadata recommendations +We also recommend to follow [tidy data](https://vita.had.co.nz/papers/tidy-data.pdf) principles to make data machine-readable (prefer "long" tables over "wide" ones when applicable). -1. Use snake case (`foo_bar`) for headers, keys, indexes, variables, etc. Avoid hyphens (`foo-bar`) and camel case (`FooBar`). -1. For timeseries data, follow [ISO 8601 UTC](https://en.wikipedia.org/wiki/ISO_8601) (e.g., 2024-08-01T15:00:00Z) specifications to avoid date time problems. -1. For national / subnational data: - 1. Country IDs should always be under the `country_id` naming and follow [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) (e.g., CHE, CHN, GBR, MEX, etc). - 1. Unique identifiers related to specific polygons should be under the `shape_id` naming. - This applies even in cases where national resolution is requested (i.e., `country_id` and `shape_id` should match). +???+ example "Example of a tidy table" - ???+ example "Example of tabular subnational data" + | year | country_id | shape_id | demand_mwh | + |---------------|------------------|------------------|--------------| + | 2020 | ITA | North | 4500 | + | 2020 | ITA | East | 4800 | + | 2020 | ITA | South | 3000 | - | country_id | shape_id | demand_mwh | - |------------|----------|--------------| - | DEU | DE13 | 4500 | - | DEU | DE14 | 4800 | - | ITA | ITA0 | 20000 | -1. For spatial data: - 1. Use `longitude` | `latitude` to express position and avoid ambiguous values like `x` | `y`. - 1. Make sure to save the CRS with the spatial data. - This is guaranteed with the recommended file types for GIS data stated above. -1. For currency data: currency codes must follow [ISO 4217 alpha-3](https://en.wikipedia.org/wiki/ISO_4217) codes in combination with the year of the currency (e.g., CHF2024, EUR2015, USD2020) to allow for inflation adjustments. +### Validation + +As stated in our [Convention][convention], modules should validate inputs whenever possible. +In the case of tabular data, we highly recommend to also validate intermediate tabular files produced by the module. + +[`pandera`](https://pandera.readthedocs.io/en/stable/) DataFrame models offer a simple, pragmatic way to achieve this. + +??? example "Validating input shapes" + + Input shape files, a.k.a. (sub)national regions are a common input to many modules. + Below you can find a simple schema that follows the structure of the [Geo-boundaries module](https://github.com/modelblocks-org/module_geo_boundaries). + + + ```python + from pandera import pandas as pa + from pandera.typing.geopandas import GeoSeries + from pandera.typing.pandas import Series + from shapely.geometry import MultiPolygon, Polygon + + class ShapesSchema(pa.DataFrameModel): + """Schema for geographic shapes.""" + + class Config: + coerce = True # (1)! + strict = "filter" # (2)! + + shape_id: Series[str] = pa.Field(unique=True) + "A unique identifier for this shape." + country_id: Series[str] pa.Field(str_length=3) + "Country ISO alpha-3 code." + shape_class: Series[str] = pa.Field(isin=["land", "maritime"]) + "Identifier of the shape's context." + geometry: GeoSeries + + @pa.check("geometry", element_wise=True) + def check_geometries(cls, geom) -> bool: # (3)! + return ( + isinstance(geom, (Polygon, MultiPolygon)) + and not geom.is_empty + and geom.is_valid + ) + ``` + + 1. Attempt to coerce values before raising failures. + 2. Remove columns not specified in the schema. + 3. Check that input geometries are healthy. + + +## Other GIS file formats + +These recommendations relate to non-vectorised GIS files. + +### Raster data + +For raster data we recommend to use GeoTIFF (`.tiff`, `.tif`) files. +When possible, users should rely on Cloud Optimised GeoTIFF (COG) files, which allow [downloads of specific spatial extents](https://cogeo.org/), saving download bandwidth. + +### Gridded data + +For gridded data we prefer to use [netCDF](https://www.unidata.ucar.edu/software/netcdf/) (`.nc`) files. + +We recommend to follow similar conventions as the [`atlite` library](https://atlite.readthedocs.io/en/latest/conventions.html#grid-coordinates), where coordinates represent points in the **center** of each grid cell. diff --git a/docs/developer/convention.md b/docs/developer/convention.md index b4817bb..0cc3fdc 100644 --- a/docs/developer/convention.md +++ b/docs/developer/convention.md @@ -53,6 +53,8 @@ All the input / output files of the module should have the ability to be easily Projects should validate input configurations using a standardised schema located in `workflow/internal/config.schema.yaml`, and provide a configuration example with recommended defaults in `config/config.yaml`. +Following `Snakemake` specifications, the configuration schema should follow the latest [JSON-schema specification](https://json-schema.org/) + #### User files When possible, modules should validate input files using data tools like [`pandera`](https://pandera.readthedocs.io/en/stable/) or equivalents. @@ -63,7 +65,7 @@ All modules show comply with the following requirements at a repository level. ### Licensing -Projects must use either Apache-2.0 or MIT open-source licenses, which are [OSI approved](https://opensource.org/licenses). +Projects should use either Apache-2.0 or MIT open-source licenses, which are [OSI approved](https://opensource.org/licenses). Projects should maintain an `AUTHORS` file detailing licensing attribution of the software. diff --git a/docs/developer/images/mean_timepoint.drawio.png b/docs/developer/images/mean_timepoint.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..a19a9b86bd940f249138f261d528ee87787194f2 GIT binary patch literal 12888 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 IA@b<|0QhZgivR!s literal 0 HcmV?d00001 diff --git a/docs/developer/index.md b/docs/developer/index.md index 33e8b45..1c7559c 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -1,4 +1,4 @@ -# Development Guidelines +# Development guidelines This section explains the rules to follow when developing a Modelblocks module in order to comply with our Convention. If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. diff --git a/docs/index.md b/docs/index.md index b0de7be..2e16100 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,7 +18,7 @@ This documentation is meant to guide users and developers on how to follow our C Learn how to use existing Modelblocks modules in your research. -- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __[Development Conventions](./developer/index.md){ .card-link }__ +- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __[Development guidelines](./developer/index.md){ .card-link }__ Learn about the Modelblocks Convention to create new Modelblocks modules and share your research with others. diff --git a/docs/user/basics.md b/docs/user/basics.md index d9031e7..097cba0 100644 --- a/docs/user/basics.md +++ b/docs/user/basics.md @@ -109,7 +109,7 @@ These are pre-defined by `Snakemake` ## Importing -Modules can be directly imported by other workflows with minimal effort using `module` command. +Modules can be directly imported by other workflows with minimal effort using the `module` command. At minimum, users must specify the module's GitHub repository and version tag under `snakefile`, and provide the necessary module configuration under `config`. @@ -127,7 +127,7 @@ use rule * from module_example as module_example_* # (3)! ``` 1. The tag should be an official module release. -This ensures the module not impacted by future updates, which may alter its behaviour or resource/configuration requirements. +This ensures the module is not impacted by future updates, which may alter its behaviour or resource/configuration requirements. 2. We recommend storing module configuration under module-specific keys, or in separate files. 3. Adding a prefix to the module's rules avoids naming conflicts. diff --git a/mkdocs.yaml b/mkdocs.yaml index cfee220..d83c319 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -24,35 +24,10 @@ theme: - search.highlight - search.share - toc.follow - # palette: - # # Palette toggle for automatic mode - # - media: "(prefers-color-scheme)" - # toggle: - # icon: material/brightness-auto - # name: Switch to light mode - # primary: teal - # accent: blue grey - # # Palette toggle for light mode - # - media: "(prefers-color-scheme: light)" - # scheme: default - # toggle: - # icon: material/weather-sunny - # name: Switch to dark mode - # primary: teal - # accent: blue grey - # # Palette toggle for dark mode - # - media: "(prefers-color-scheme: dark)" - # scheme: slate - # toggle: - # icon: material/weather-night - # name: Switch to system preference - # primary: teal - # accent: blue grey markdown_extensions: - admonition - attr_list - md_in_html - # - mkdocs-click - def_list - tables - pymdownx.arithmatex: From 0459544ffeb437c18b9108259dbee66d2a7efd06 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 18:30:36 +0200 Subject: [PATCH 13/20] Timeseries should be start-of-period --- docs/developer/best.md | 41 +++++++++++++++--- .../images/instant_timepoint.drawio.png | Bin 0 -> 19638 bytes .../developer/images/max_timepoint.drawio.png | Bin 0 -> 30785 bytes .../images/mean_timepoint.drawio.png | Bin 12888 -> 0 bytes 4 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 docs/developer/images/instant_timepoint.drawio.png create mode 100644 docs/developer/images/max_timepoint.drawio.png delete mode 100644 docs/developer/images/mean_timepoint.drawio.png diff --git a/docs/developer/best.md b/docs/developer/best.md index 55c4747..a8de4e0 100644 --- a/docs/developer/best.md +++ b/docs/developer/best.md @@ -97,16 +97,45 @@ Follow [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) specifications and ens ### Time period standard -We recommend following similar approaches to the [ERA5 reanalysis dataset](https://confluence.ecmwf.int/spaces/CKB/pages/85402030/ERA5+terminology+analysis+and+forecast+time+and+steps+instantaneous+and+accumulated+and+mean+rates+and+min+max+parameters) and the [`atlite` library](https://atlite.readthedocs.io/en/latest/conventions.html#time-points). Timeseries should generally represent metrics during a particular _time period_, starting at the previous time point. +As a general convention, we interpret timestamp periods in a **start-of-period** fashion. +E.g. 00:00 should be the first timestep of the day (covering from 0:00 until 00:59), and 23:00 the last (from 23:00 to 23:59). -??? example "Example: time period length" +Timeseries generally represent parameters that are either _instantaneous_ or _computed_. +Our start-of-period convention applies to both cases. - Assume each sample represents the mean of some parameter. +- **Instantaneous parameters**: these represent the value _at exactly_ the specified timestamp. - The time period ends at the specified timestamp. - For example: 09:00 would represent the mean _from_ 08:00 _to_ 09:00, 10:00 would be the mean _from_ 09:00 _to_ 10:00, etc. + ??? example "Example: instantaneous samples" - ![mean](./images/mean_timepoint.drawio.png) + Imagine we are sampling temperature using a sensor in a periodic fashion at 1-hour intervals. + + Assuming instantaneous sampling, the 09:00 would represent the parameter _at exactly_ 09:00. + + ![instant](./images/instant_timepoint.drawio.png) + +- **Computed parameters**: represent the result of an operation over a collection of instantaneous samples. +This could be a cumulative sum, mean, maximum, minimum, etc. + + ??? example "Example: computed maximum" + + Assume our parameter is the computed maximum over a period of 1-hour. + + Under a start-of-period convention, the 08:00 value would represent the maximum _from_ 08:00 _to_ 09:00. + + ![mean](./images/max_timepoint.drawio.png) + + +??? warning "Adjusting end-of-period timeseries" + + Some datasets and tools, such as [ERA5 reanalysis dataset](https://confluence.ecmwf.int/spaces/CKB/pages/85402030/ERA5+terminology+analysis+and+forecast+time+and+steps+instantaneous+and+accumulated+and+mean+rates+and+min+max+parameters) and the [`atlite` library](https://atlite.readthedocs.io/en/latest/conventions.html#time-points) provide data in an end-of-period fashion. + + Adjusting to start-of-period is trivial with [`pandas`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.shift.html). + + ```python + start_of_period = end_of_period.shift(freq="-1h") # (1)! + ``` + + 1. Assumes the data already has a `DatetimeIndex`. ## Configuration recommendations diff --git a/docs/developer/images/instant_timepoint.drawio.png b/docs/developer/images/instant_timepoint.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..44d42873761f25c724132b11048da8338f43b9a4 GIT binary patch literal 19638 zcmeHt2UJvBvM4l&je(pIB}=B8D4+t8bIv(5IW|cUPz1>ck~4^836dm(0T2Pnl5<8t zlH~MG6K1^LnKv`<-Fa)>|7R`ebx!TQt7=!(uBu&i0_0`Iu3sU!f`o*0T|!(~5eW%7 z9e92TMgxBRw_DkekSK>8MbsUwADWn3!H{U!h0dO6*dPu@239Z{c3~PeHYo59Kn!i+ z#xVF92!a5yi_ky>fdRxHyO6QDfhpX;8h9}`KAU9qP?nn;W^dsjWMOUPq^@YiDQkI# z%ErL@9JjoIDUA7)z|Yt&a9TeUgB#eH$=DjhtN_Hu56=*@b90^HF?KxzuyL@T0Zic+ z#Lt;V0F=z#E_QOtHygy%$=n#`aJKe*qNA;?m7}@cZ-GX(Ha0LL$KOmefWvKFeml*? z*6MuA=g91UUHxVe0-*Fei6WqC=Eja@XLIjxp0kI5i^I%K%`PZIA?G931{agh0S;yc z#rX+y7vqI6;kLE_zMphy{7>*13xi~L(&h>CX$-&kMZUj4Dg%I*T*7whZ z{|S;%u3tzx8o*6qj{gIa>_Px@Kgs&PSI+tDQ>*?*Gk<6N=U(LxvN-ntSR5PV-)C{$ z2#ZA6?%y-=KZC__{0$$+Wd%6T2Sz{;q+#PSMLe@X*tnP>+{{o;V7rhzH0*-F0YCj= zd+?X1vt__p`FZ8&6IS{-A&j+l{jg1iw z_koLN&YDWXH5Vwi**v1Jxk5L!C?oSch?)>X|2ln}&oaV23=i>e|>Ye9r=pB*d{O$X?kvZJx zG^_k675(jv9k>KP0P0j$Lbg`6Kwb)zrr1sH7{QE;0QlL=pGF`M9uaQDjSDCVhysiL zQ3m?|*p2_!fWh|f&x(FW^4Em=&v5^O{;dnxe~kA3rcA}j$-}~Pu7HaO_wTpcU$c3( zKc(INYZu7>I9nh#{d~dyXX*`qtvdWtUS;RuVc|Zn9RJ_h?eB`Z7s=s8iS19}Z~wQ~ z(6b!lm*~v~`CU!_pHc8H1*M+~Mi(`upX)^zu>Tw1_BA=Q`2fC=78R#(%B{bDm4=U+ZmL@cR3v%7r-2 zk35v;561s%VGH^P47cT1$mJjEzO((WLmVZumK)FBZ7kZI8{6YHtU0!gZ?>`Fv zzghlVzsjHekCi{yujlKJ#($BAUDzkbd209v$)D>&pMSys2g~Qz^ULuEb&K&VS<8=S{?&~SWzw>dz1+~9^1@beGr=u6&otzDvFF<_Gau!2wl%}8} zAz>j&2n#AdL|#rpuc20PI+3eIrUpHIG$KE8%uvzjZ^>cvL|-`MY11WBv=GvXHk7DX z{|ZKS?^sPg zYVC|wIjt7jj4RELWSFG!)^n?7F%(FkW7{1tP71x2f5F&woJ$?{JXd}iuF~T7WLR%6 zStCkPJ78Ol#!ES)X}0Pb2zlNBHCP}A>x}@z*J-#x$P;V`=&Q&(P)=1xA16CVG_?w> zTx>!h9_5}_5DAQlrn-aG$)i@|DjP)Kfr-2%DfPXSKYyy)mE5~RrH>l?t^)gw0Lc#S z+R-U0QF5VoAbRijmw~a|peL591gK15EgR|DvWUq7jlksGT@>f7U<6&5;5(4{x?GDI z5%MW2EPyK#PXu2-C?$>z2zy>zk*$n zVaU%srsB@Jjy^RW@REP=jqV}VdQXEbRstZ7SbbnKw7ZiPW;)mcRQs;NH?kwaXc>kCN_Ig$;kLct23EfE4s1V<{7C%NsC zQ9pbhN@i>Cl>RyHMMM0+Nf)-cn^n5KZrc}KW>3>Zw>v?KpS)OYcO0{iMh>KP+JyZ& zT1KVrGXEe_!CS@>&Fku3lt=F&Gm>y2`=*mv37CowHeHHf4Gs^UizA`|fQ@QDvEt(Z@ zqH##PPPd>{^_dr1@_k17YGtyh{stCZj6gh}`-wP?v_W|UZz(i9&abJ(DKrG%Qjd(3 zTO?22#sBb8Q?c+j#WyN#_b3B88YTQrJc7UbAq{2^Gk?|2k|M-%Ei&=#U|fDno~e0z zN5Kh8^n`YYzu^^iQ#jVHG@NMG!-Ey@pz&CAp#uAzuUDxlIAWsi1sGAgCu6sUn)45M zbjHizNCyig61`vwf-UY3*!6Bh<8Of$dr<1W`bFMKQB8eig2|nv8u&eL=n1h?FMH46 z0zLO=$Z>n!D?miVAojtclaFf-73Rd_B?c7J=0)x+mTpy(fn_I55o6CJA9ZBwd`c*< z5u#~x@+RW9P-`~A^G7;P9bv$pQ}OBgq?}{aIGrZ9*tE>E%L+%hkziymI5>T)a8M$X zn?PK&H~baBGo|<%s8k9y>*tZlo1M=gMb}%j`!$Eu=qA2TY1reNk*a_U9KA*)h(3NU zqi*wK2uC;u1xk4gFTAqbSMgfh1aH*LvF&M@XNkV+8?WMd$ei-9f`hWwBk}G*g=m!l z515*Fz+hIc4m|g2)-|tU8C7*$mF78~9H?lQi%?Rl#V7^XE0y3ASx;*2Z%ecicgd^o z%ft!BxN2ckiWXPV+~v>L|3=QiMjpJ=Nx zss?j=JAkl#FgBf^K;REmVp?`~Cd0NGG7NBfepx#BK3}SoViV&G#6DA zo0VD15Vfw&&Ge0Uz-JR7gJ!YBp&u#x&^<0`Tha1HahxF_xw zItJ87k0p4cD34+!%{p2dS#0T%%J2Xbm0%eJ8Q z;428Lh+3`U>dt13O_Yc;Q1y{x3Hzq07~YrVk+moxLbyfDomVDSix;$CBx?Cd7bled z`YrkfVZRB{C(m<;g6f!;(jd6?W?gFgAmB_8gb47U;(Q&l*-V(x&va9@iuH&&Ofn0K z=HNa+j@x_4c%sm@-0b4StJ5R*(58U&>zHLetX3G=s**kDD(@h4`VzzRR%r1gyU47QieHF;D{A-E@%(lsjTgw_P1w-#efFYBFxPb3Q-T}1b>oDNb-c%R zqf%7eUy67%h+9MF4!Ez}ytCfdVeG4ruoTbuVW7DB>2`>E{r+P^o9)rTov=C86!H_A z^|b@*;M!XR_H!|XFLGAt*TXqeLMM-!%nMpAw{TtC2|5CA2M|qv(Dp;)mYCJF(&!Aw z=oSgZLj+(V9MCL|_>(vA(ZwQ};z!i>4}{@D)ac_KJWK~S6{)X%XMgoQbUk)-oRrXg zQ?&?Ac2&YiyxtQy=qxxXR_giEOGc&}!Ex%0jWd@B;-6R2d5qswf<~}GMz@mU*byn@ zJ%K~QId9ybde;cOlz{Zl z;t#VqNBaeL+!HRZOL?egud;BID^4l8)(S;r7iOp}^kHy3jC+$!>UH0l&@*gJ1kK?u zQB^k8L>;_1nDQwI#RpezPe7LUw-rTbp^&j+?Evne*TS*iv$c#~Iz{DjO;p|Cqk4mi z+QJ;Rapg9;ZNW=u1_!1^#m8O}NI%r`M_f}a?R#Pqk4HJ<1(FRF*bzi5G4&RXMGQXl z#Wq#dYuVO@AF&V2Za6rZuq7wxWI)?$r*S(pG97^vrj2T5>QM6N^_Tp3+sC&HhqBsM z3Q0ip#@Sboy3g>Q!&5dT6cod_R13Wrpf$*5`bNTF!9e6ZNA0 ztf^1^#|o^1rc3VDTsgGGZ=Gee%a^|5C|XYA7Lv`41*kOkZ+-K9_ejsh68)u2ak=0wmFWVOP^xo{_r#c=K&IpHezo z;LgtWdV@`+jK$&p;60-~-SXh8EJvUGXQHu-By#uGi`FT5q)P)>8Lh<7bH3V-&b1mI z<<>gduz|bFdSpONu=V19g=eI$axp6x;K&CwVE##wby6LN-H(ks(aC(u|9CmIe_eKJ;O2V zqpy0=c2|+%s6mke+>c~W(^OC|6(tc{0uQuNUss+2& zA~ejZx>1G_RdjU}m2p(H+flESp4V8Xqo;gHwfNLH%fFYfJG;8mgMKSCvPbwb*&~TO z?H%PD>DA8WETx>aSQN(5`nP@lz)AvQ~Mo<$thb3Fv*>VP0TU zkSg$|rv|UNqM78@(xVEq8i{=r^BUMVe23aRcDY-YmaiK_(sDo|u1E`Y_|j*-B982R z0u?(2@4L4FhZh{GU-4wzF<(56+Cp?c8HRZZH!-hJFEera{OVLWHGTrq06W4wAFDs0v<<4eS zbr8@nc#Ld4c7vy{tL1(YS)VG?ix`#;PH?)J;QpC6Gtfx0QYDcCY9z5Ee`&X3x_Y+T z%TtY|T498V5IMfZdX}Ftm^oK{eg|W32V0JDr67>q^)i!9*vXxB?}iC*X2*+^XOpFI zD>LJ|!EY+PwS5TV*{!EAc~3~!u?>?^_!17~J@1!0q-oc=IP1Irm@f=oIu0iAv=?Jf z!YQX|bHOfsPc~JhQ_dA$VZ3lr3t%m;HFNg@tlwNnC_ZQXHp2r4EKL-Ud3V{X8{UGw z+#RpKW>BH6S|ohScBN6y;?fGF+f%ns>&ytwyw6Af2iCpK=tv^u;y}y07k1m2RtA)S0{s!i?qT zW2yP!e@F477%SiRmw{A=5pbhHXBWKXpw1b3Z|>XDW>sw(Ar?j+%& zCIQLm#vW7hypQrheZXsjN_#=TwPfD9*32}7H1hZgw4`PiuWfo}T&b-gnYBeFlsGnN zCLeEoFJ4KR3iaAkQo(DPg^EPcUV@sEL_tUVvyYOA*deS~9RX#mdbe&jQ|@MZcQ!!Q zJtWufvJR2NlMF>YTtf?X=4cijSSr!9 zsPgbJu1*K@D-|7l)o%Vy290wB~&Z{E&%wV`ut8hoWr5|mYH#Eq9*V20z%3#BK~jj zb{}w<%Ia2fk!>clJ(P5G52%UKqtTMnuxDPbj6~o!_es>e|4#QfsXJRQCVf2T^0lLi zgzxWmo2X_CY29nJ$JS=AJ+o0R5DOa2Kv~%v-sq8?i45%YeduY1hpGBG2gQVK$W5nJ zWui0Np=oP71~v12dk$|C$B=bCSMGLy5%nk~;6Kx#zL5m&#gf?SGTrHV&H+=k37FtDXDV6L z7wvvIkA%W6N0ku6PA<&Xb&uY4af^`LHo?!o46tbZd{&C0JK%rO>pxQ;4?Q-!{mk0)aoLZy?7YL0|rjS}fsfPV%tbS6lHXu|3vK z2aSE@oG4b`0zlX^@XX+7>m8G?yD?K)jU!C#tuxH&AEzjGs+4LDN^7S&xOIq!N1L~v z5&j?!fba^r-qmSiV&XBnt*ak9=UyfGA@=fvctO`voJ%2zvAyq!2x%cE%|*V!MK8UT z!>=|(NO4<99aKs>PkR_0F~L@K`IuC*}VAg_ZgsYMsICU4w6U?fzS@kKfwYb@ITzCKq{b4cafT z-^6pNH)^nyt>V(P`v8$q1H{e1owWR6BY5YU^|S}W2cw2U-05Nrzao;hperN{FLP>j zUG%HA31`N158+Vu-dK9cJxAWjAAv3qXhvNPd4Q1N_ceCD_*F;`wp^84nX2&7{{A59 zt=AM`hFwPDdsK@mmJc&o=t?SO8#}W5_e}y4Fu-h?S2ul!@$SOLW|!K-7j4GHrwFHx zDC715OEZEDZMN(Ow@+$bw13gPkziVPL!wwt7!JF8Q1s~27B?h+p9))Wp3XG2GzBii z9xrT=p2kex=EBqrtHm(lEM*+RdpaqQftsQ-(l7vaZjLS@f`+&VF z;R7ZvRqRY;uxcL6t$awOmotNdC7^Op2I{hFFSBABF_i6NE5sf+aQj<-R9Z12KIlsZ zE_g)ia2)L_bv_9yrAAeZ`{E??HAMH@aH40GjMEqK3BAhgXLltU6fExH)R2> z(2subQAivba>#wfGzqt4SKT;J;yC1r)G(yOFyaID-8@{%Tbbtk@&-SN8{f%Im!>^=2h&x#X*G@39-+p1-DECOyFOtTZcSaK>=yJkS z!iPnzk39s%UFA0R4Mi7KgGQ9OhnXjp8*jNUuNv)DsT2*%@<~a#S@d?FtLcIsZR4%4p6|!BgReZ+|fv1Cmu6FCX=J&_Sa&u7sw)ImbMqvAb;&U-H@?$j>x-n+~@QqCCuECfz~ zrRAW1qKBov5pgT~(CXyDCpud#5N6*PgsY3o3xyOsb3%DdG9(q`m(v8!P-DD4N5d0D zdG(dZd(KM%rj%bS;;IKFcrf?$auPE-q>?yLyQlgnX4U4uLpMe=+k$WK5F7NEyv9Ha zDS2{*O#R*GeKeDfGSwxzOLrv>C5v)MLFPte+N(yfylh5YsE|nXYnseFAxWLe&LZ!)mh`7j34DBf zOTE2hUWc~IOUaG~fuv3?*J@6pTR9fC;Bj36VTSrAgS@8h5zMXw3hr`AYA|?6t|18+ zR7T$yh6b8=$8K&WUPkk!*pm5rJPsdMiRa`{UvpqGyYsg8*O1ZpxFqVr98=T{!n83N z=X{NNC1h!c0TV8>KOt&g*BcYRq|DXaU2cCFQGH8P_!l~ta#@A=u*0tf9G7hLIyGx= zelFHLc<4vsML{WV>w$e#cE41mFB)>c!SNAC`jLu7o!6#iB`sCwO|N*)^zC=Sj2zZx z;!-Iv?t<`xI^1VZt{MULqdVBm<10-XzQ?Oc9AjABG=)On>aVpMxM62!NT}`|e}a@) zxkErbfdZVUiZh@b)s)a%$LCD|b`We$4Jh+m_u??Ro^vgv9mav^ij)ea0vAzLX0(F3WTF;=)FP%+WO1`?w{-|O|!6+&hnA3pNBoOL*W9tsdzskgY5 zJBmr|Htn2G`yO2s2q+f^H2~CUT~B&T9>&!KiK&A)OX+UQfIuuCW3dp4R(O@~3^X0e zNi}}jj_KqF0jl0K5>JNpKaQ}&2ofbfA^b|_n7od9`7WU#PKd{YTpB=XD30TIF z^v@2eAwuo;^-X?AHe#snph?wvy6f&Yll^%VW%u<{ND+OSmZu0&aG-{N3j4rM1<^!x z=ca<(LCvKJt5Nzmq3P@Jjm&FLBU$%yKcAVbIqF-{R7y~e!ACjnEG@Mz3Q_%LFtt$o z_#mkly`X+KYInE3T(?`y1T;Nka{l#c>jw7;f&g%Ri*}9fK`qT$WPD&#yg7e6b9Jz~ z2}J}D?&qa2v?030K|}236Hy&iGA1sqEN+mJufVY!gG*UNIxxLYaMtrVjM?LuwfHW> z60T$AZB$^#92AWjhR`_~+T`9h!l)h^{NS0Djz@!A-f4x*+#nQs4}h?`5Q(^@9qp;; zp_KC2UXguE3Y+P^(6=;aZLv;5(AM*sLMGaYsS)Fi?NA#Mz=+W(PYORBZqWovH_b2-?BgE_QauINyX`CjH1H@#pqxct*7}jda7h9 zR_Cb*PE@OjCZ23Drg3fV6|0$NF5@@1)WcT-)?Zw`PsD!=bN=RyO+*ih69|VNdpKRA zsx7irl|@C<{ zjs{}wyBVNG$x+$SL<6)lfp!%>NQpKq^V?um@#$Jc3Se#Sr`Zputv8@Yc}dYJCEt<@ z2Ck?QO9cR-H|yITUTp1@OK!JO@2&xqU|2Adub}sIch#> zs5z22a_U}V=QeMc9AirUn(l&^WU0d8 zReMGc8RRc}H**|%%&_bZg6s}RWwb0^2+Qk{%j?@gIb?@gexqW7tN7zmZB3q5^{lp{ zVhg+a>$+384Wtd2SVHAJ$Q0Wgl_zwbk-Gv=M=dfIf)nLKE9fKmQOt<$f-uc~?XJPp zsy{!aC}fO0#yvi+m~stIMSMq<>BB+^e7K7YA3X0`uQQ+7MLw}jC^+mrdMw&A7r#2S z%{{T*4{X{yxqWYHJaBMi^%(AgBXpAf(PDkp5Vak1=DyxF3h)?h2mX}Ilw1I|F8nD6 z;b(`MU9lq3okc=f8mv^1uSl-J4lu`&C- zR>f0a910$X2CPzl7u`_?`HY9a^(aIaUJj;CE;u4n{D3oC2@3l~SmM=5k4Tm)3djVj zifZsPpX4`Yc2T{F-R{@qEw5JW4{rb(tMl|>bhE@$(=&@36qVBTxoU$ zem|>$b9ylNMeml3taIa#djW1~uU%)om(T{8Z+=mUc?#nAX@A ziNQoM?{DllCP7W8Z&P)T+}r$$X{Hst*V{pPp9#~XHqk+8e1~MR?FXNzr~jilkhjBb z25%yDQ!lM)GSOlw>htHWN&Vyp=Z1FLslIF4L!#PcEHD*wh7ADE0vS5tCi? z*>(iG0VMNY<~zer4cg79movTC4?-Wt!f%jcf+X5O`$_E^cZX$GRez`oABQR}uuO>s zjZ>rH@?-+N|82s_ZSEOS)v(&(ajYRdeoz2?Xdd&B7G_8hWz%#0K0D%yeMvCeD%u7m7brAPjpenKAE}6^8FcxYFd^*wr1=M*3&Pv)lq>) z9yqY@a?||^#bZArT=J*eIvYa4as~y)4?f1=y}L7LIiu=N`kjwdxQcNc^fK|VQ3#JBGq>A$4z z-fF0m)Q*eGl+6CPuX5CHBoV(YFp$tkE8;Xcbk$MCsN-6vwu+x=#H>)D47(ZN8k zJN)J5GlYW#3i0BoaIYVduzeYzDK9;2(iB@m4E?zLdZS1NLn(7`PAp3&K<6!=hv(Cv zpzjjyx961b2pPh!%Vr`5Y9NuUNU55_d=kFNG8@98i zezy0iC~QR|qb?O&IX25;@6F#XZf^40l0V=)tW;7?POCWFm$gxF4P0A{)WiQ6v~-Zwe6=*%XzbjV8NT?$0@t*MpB=C+$za z-6ao8zKu6%ae2ir-+7?ui5xrKoiM{Z4mSaarHaW-r z@or-C**09)Hxl$(2j!lghTIw79OXn{KiJ7wak+c$Iex&vfP;D{NlPff*(g_)u|2K2 z_pi{V@cA;qdI`R~C7Q^QOfq1~PgXF!O7p{JvszEAp_#lq#Ov!dkHbRm z_+XIL%FYK^dnad<%!Mwl+YQP+zvC=MZhMpWftI^&OT2XQrJmIL6?!m#C&=D z&;;vTlb7@T_KLPPam`e%L>jcViCeHvUcg@-YPLw+OMub^PHPgqY*r^Fqn)?&)Tst+ z)o&^5nM2}`!O1wti}lK8jq7%7#2z`>imC!}SJUaiE1rXNqF5IwJ&qV}UST!VKf3kU z>i+P%tVUvPw;=hZ8&B85xCeawzC75w#$)?~kS^@r=nNhX8T-?xUzFBg!8jj#rXftr zfoyhqSgJ(QU;gtZO~Jw@Zme5u-us6QJ&w$t989j>mV5^Cc%RCWVwZTME=waU)fE5Z z`yAYDtD4r$55ldnSEG{^%&zL z9_#+736fmhCe%o&S~$k^^0^+xe=mt0MZWEh!CSH??As1?cVk~65l4_kpvRlOrLSV{ z^3or(+}R6Ad-V289(J=++jGiQR)*l(S*%F+;v-E*f{JY1zYxWP;BDr7L%uo7dwm)9UDd5QMNPt-vH>l*&8gW)?L^ z(>CxLXZOf=i9QY7$26+|*!+-Xzo&d>bZz#M_uEecH>cyIXKm4d175sJS$V`+9@x0I zs81X?(U?G(?rttse(YPloaTK{@9$O0j~c!f{K`>aTHruHC=Eqkej-g_IS+RVl0=^F z$SddmB-H*!-DQqjbePlfcj*d@ER2Ec4jx(3cZnNq!SbgvP}BF2x(BE7GHrUa+^z-=pJHUYLDGG=Ewjf7vA4c9$s zeM%2%uJPb+aW_;SU4L^l3qsfbBC7uby!-q#7e@o)&~@_V)6e6A-#tWpb;x>LR}Fly y0ers5sYMMsxrKyua?-VIuYrVwgoenwP>=!!IM8+`QlkI}l7xt?aKQupr~d`ws=qk^ literal 0 HcmV?d00001 diff --git a/docs/developer/images/max_timepoint.drawio.png b/docs/developer/images/max_timepoint.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0a0c1ff5951f62764999abecfe65e8471728bd GIT binary patch literal 30785 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 literal 0 HcmV?d00001 diff --git a/docs/developer/images/mean_timepoint.drawio.png b/docs/developer/images/mean_timepoint.drawio.png deleted file mode 100644 index a19a9b86bd940f249138f261d528ee87787194f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12888 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 IA@b<|0QhZgivR!s From 60e658bdd167b66d483da1174d441b71624e9edb Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 15 Jul 2026 18:36:05 +0200 Subject: [PATCH 14/20] small corrections --- docs/developer/best.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/developer/best.md b/docs/developer/best.md index a8de4e0..2463c5e 100644 --- a/docs/developer/best.md +++ b/docs/developer/best.md @@ -109,16 +109,16 @@ Our start-of-period convention applies to both cases. Imagine we are sampling temperature using a sensor in a periodic fashion at 1-hour intervals. - Assuming instantaneous sampling, the 09:00 would represent the parameter _at exactly_ 09:00. + Assuming instantaneous sampling, the 09:00 timestamp would represent the parameter _at exactly 09:00_. ![instant](./images/instant_timepoint.drawio.png) -- **Computed parameters**: represent the result of an operation over a collection of instantaneous samples. +- **Computed parameters**: these represent the result of an operation over a collection of instantaneous samples. This could be a cumulative sum, mean, maximum, minimum, etc. ??? example "Example: computed maximum" - Assume our parameter is the computed maximum over a period of 1-hour. + Assume our parameter is the computed maximum temperature over a period of 1-hour. Under a start-of-period convention, the 08:00 value would represent the maximum _from_ 08:00 _to_ 09:00. From 5aca863ade2af691493a6439cc788d09d70caff4 Mon Sep 17 00:00:00 2001 From: jnnr <32454596+jnnr@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:49:46 +0200 Subject: [PATCH 15/20] Move background to separate tab --- docs/background/background.md | 0 docs/{user/background.md => background/index.md} | 0 docs/user/index.md | 4 ---- mkdocs.yaml | 3 ++- 4 files changed, 2 insertions(+), 5 deletions(-) create mode 100644 docs/background/background.md rename docs/{user/background.md => background/index.md} (100%) diff --git a/docs/background/background.md b/docs/background/background.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/user/background.md b/docs/background/index.md similarity index 100% rename from docs/user/background.md rename to docs/background/index.md diff --git a/docs/user/index.md b/docs/user/index.md index 9012cdb..68cdc9d 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -17,10 +17,6 @@ An up to date list of modules is kept in the [Modelblocks website](https://www.m How to install all the necessary tools to be ready to use Modelblocks. -- :fontawesome-solid-book-open:{ .lg .middle } __[Background info](./background.md){ .card-link }__ - - A general overview behind Modelblock's ideology and the problems it is trying to solve. - - :fontawesome-solid-cubes:{ .lg .middle } __[Basic concepts](./basics.md){ .card-link }__ General concepts behind Modelblocks and how to use modular workflows. diff --git a/mkdocs.yaml b/mkdocs.yaml index d83c319..24229fc 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -90,10 +90,11 @@ plugins: - search nav: - Home: index.md + - Background: + - background/index.md - Using Modelblocks: - user/index.md - user/setup.md - - user/background.md - user/basics.md - Development guidelines: - developer/index.md From 0fb27224865b4f79d52b3be8327182c8c0f9662e Mon Sep 17 00:00:00 2001 From: jnnr <32454596+jnnr@users.noreply.github.com> Date: Wed, 22 Jul 2026 11:58:36 +0200 Subject: [PATCH 16/20] Revise formulation in user/index --- docs/user/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/user/index.md b/docs/user/index.md index 68cdc9d..01b2dab 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -5,10 +5,10 @@ This section explains the necessary steps to import, reconfigure and execute a M There are two types of Modelblocks modules: - **Core**{ .badge-core } modules are maintained by the Modelblocks organisation. -- **Community**{ .badge-community } modules may be hosted anywhere, and should comply with our [Convention][convention]. +- **Community**{ .badge-community } modules comply with our [Convention][convention], but may be hosted anywhere. -This documentation should apply to either case. -An up to date list of modules is kept in the [Modelblocks website](https://www.modelblocks.org). +This documentation applies to either case. +An up-to-date list of modules is kept on the [Modelblocks website](https://www.modelblocks.org).
From 3af2727506a89cdedf5b4ff6bd6bffb8619df4aa Mon Sep 17 00:00:00 2001 From: jnnr <32454596+jnnr@users.noreply.github.com> Date: Wed, 22 Jul 2026 13:24:21 +0200 Subject: [PATCH 17/20] Add simple entry option to user/setup --- docs/user/setup.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/user/setup.md b/docs/user/setup.md index 350ea7e..780b86c 100644 --- a/docs/user/setup.md +++ b/docs/user/setup.md @@ -42,7 +42,24 @@ Below are example of how to install it using either `pixi` or `miniconda`. conda activate my_project ``` -## Project templating: Modelblocks or `Snakemake` +## Project setup: Minimal or with a template + +To run an existing module, you can start a project with three ingredients: + +- a Snakefile +- a config file to configure the module +- a directory structure that has `resources` and `results`. + +```bash +.worflow_name/ +├── config/ +│ └── module_config.yaml +├── resources/ +│ ├── automatic/ +│ └── user/ +├── results/ +└── Snakefile +``` To save time, you can setup your `Snakemake` project following a template. These offer standardised structures, which helps in maintainability. From 963ec459eff86444f4e08c03e8993f549f258564 Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:36:18 +0200 Subject: [PATCH 18/20] Response to Jann's review --- docs/background/background.md | 0 .../images/bloat.drawio.png | Bin docs/{user => background}/images/modular.png | Bin .../images/not_modular.png | Bin docs/user/basics.md | 8 ++-- docs/user/setup.md | 42 ++++++------------ 6 files changed, 17 insertions(+), 33 deletions(-) delete mode 100644 docs/background/background.md rename docs/{user => background}/images/bloat.drawio.png (100%) rename docs/{user => background}/images/modular.png (100%) rename docs/{user => background}/images/not_modular.png (100%) diff --git a/docs/background/background.md b/docs/background/background.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/user/images/bloat.drawio.png b/docs/background/images/bloat.drawio.png similarity index 100% rename from docs/user/images/bloat.drawio.png rename to docs/background/images/bloat.drawio.png diff --git a/docs/user/images/modular.png b/docs/background/images/modular.png similarity index 100% rename from docs/user/images/modular.png rename to docs/background/images/modular.png diff --git a/docs/user/images/not_modular.png b/docs/background/images/not_modular.png similarity index 100% rename from docs/user/images/not_modular.png rename to docs/background/images/not_modular.png diff --git a/docs/user/basics.md b/docs/user/basics.md index 097cba0..54c8a68 100644 --- a/docs/user/basics.md +++ b/docs/user/basics.md @@ -80,7 +80,7 @@ These are pre-defined by `Snakemake` snakemake_defaults: # (2)! logs: default: "" - description: location of rule log files. + description: "location of rule log files." resources: default: "" description: "location of module resource files." @@ -90,17 +90,17 @@ These are pre-defined by `Snakemake` user_resources: # (3)! shapes: default: "/user/{shapes}/shapes.parquet" - description: region-specific polygons to process. + description: "region-specific polygons to process." results: # (4)! proxy: default: "/{shapes}/proxy.parquet" - description: proxied statistics using the provided shapes. + description: "proxied statistics using the provided shapes." wildcards: # (5)! shapes: geo-political regions to process ``` 1. [Convention][convention] version, based on this documentation. - 2. Default snakemake `pathvars`. + 2. Default `pathvars` defined by `Snakemake`. Used to re-wire the location of _all_ files in these directories. 3. Notice that these reuse the `` pathvar! 4. Notice that these reuse the `` pathvar! diff --git a/docs/user/setup.md b/docs/user/setup.md index 780b86c..baa44f1 100644 --- a/docs/user/setup.md +++ b/docs/user/setup.md @@ -9,8 +9,8 @@ The first step is ensuring you have an appropriate tool to manage your software We highly recommend `pixi` because it is a fast and modern tool. Alternatively, you can use `miniconda`. -Modelblocks modules rely on [`Snakemake`](https://snakemake.readthedocs.io/en/stable/index.html) during execution. -Below are example of how to install it using either `pixi` or `miniconda`. +Modelblocks modules rely on [`Snakemake`](https://snakemake.readthedocs.io/en/stable/index.html) and `conda` during execution. +Below are examples of how to install both tools using either `pixi` or `miniconda`. ???+ info "Setting up a project with `pixi`" @@ -42,37 +42,21 @@ Below are example of how to install it using either `pixi` or `miniconda`. conda activate my_project ``` -## Project setup: Minimal or with a template +## Using modelblocks: `Snakemake` -To run an existing module, you can start a project with three ingredients: +You can import Modelblocks modules into your own `Snakemake` workflow using the [`module`](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#modules) command. +No other manual tool installation is required. -- a Snakefile -- a config file to configure the module -- a directory structure that has `resources` and `results`. +??? info "Creating a new `Snakemake` project?" -```bash -.worflow_name/ -├── config/ -│ └── module_config.yaml -├── resources/ -│ ├── automatic/ -│ └── user/ -├── results/ -└── Snakefile -``` + To save time, you can setup your `Snakemake` project following a template. + These offer standardised structures, which helps in maintainability. -To save time, you can setup your `Snakemake` project following a template. -These offer standardised structures, which helps in maintainability. + If you are using `pixi`, we recommend using [our own project template](https://github.com/modelblocks-org/data-module-template). + If you are using `miniconda`, you can instead use the [official `Snakemake` template](https://github.com/snakemake-workflows/snakemake-workflow-template). + Instructions for either template are available in their respective repositories. -If you are using `pixi`, we recommend using [our own project template](https://github.com/modelblocks-org/data-module-template). -If you are using `miniconda`, you can instead use the [official `Snakemake` template](https://github.com/snakemake-workflows/snakemake-workflow-template). -Instructions for either template are available in their respective repositories. +To start processing data with the module, you will need to interface with by configuring it, then providing input files (if needed), and requesting results. +We explain how to do this in [basic concepts][basic-concepts]. -??? info "What are the differences between these templates?" - Both templates have a very similar structure, and will result in a well organised project. - However, the Modelblocks version offers some additional advantages: - - - More modern setup. - - Automated templated generation and updates via [`copier`](https://copier.readthedocs.io/en/stable/). - - Tuned for modularisation, making it easier to convert your project to a Modelblocks module in the future. From d5507a30ca0a98f04dbc7404d64fb29fa63582d5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 22 Jul 2026 12:37:11 +0000 Subject: [PATCH 19/20] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/user/setup.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/user/setup.md b/docs/user/setup.md index baa44f1..7d89bd8 100644 --- a/docs/user/setup.md +++ b/docs/user/setup.md @@ -58,5 +58,3 @@ No other manual tool installation is required. To start processing data with the module, you will need to interface with by configuring it, then providing input files (if needed), and requesting results. We explain how to do this in [basic concepts][basic-concepts]. - - From fb0175da3650575b77073879113ef22f9a1b6eee Mon Sep 17 00:00:00 2001 From: Ivan Ruiz Manuel <72193617+irm-codebase@users.noreply.github.com> Date: Wed, 22 Jul 2026 14:40:50 +0200 Subject: [PATCH 20/20] implement rewording suggestion --- docs/user/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user/index.md b/docs/user/index.md index 01b2dab..236cbd3 100644 --- a/docs/user/index.md +++ b/docs/user/index.md @@ -7,7 +7,7 @@ There are two types of Modelblocks modules: - **Core**{ .badge-core } modules are maintained by the Modelblocks organisation. - **Community**{ .badge-community } modules comply with our [Convention][convention], but may be hosted anywhere. -This documentation applies to either case. +This documentation applies to both. An up-to-date list of modules is kept on the [Modelblocks website](https://www.modelblocks.org).

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­4ajk1w~VkuY!u7x=)922^$-o+tV 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Ⓢ+eFs1{z2urc*&C7`0W%~lanG2 z9y~}IuaSRZf+G?1V$@Bxm!?r{_IjRC;wjlNV~%U9jm&|NeqP(QFy* z>{xXdXCbG!P8Orl-Z+58=u(`BZ6tRaru6g-WNDX??B^nXOl#S zi0E%p0|!RLDqriWqH+@rj{n&U!$xWOox45)Nkw@07;g=OrAxUc&Pz%UU5bD5u+bW{ zV_pmoU$iRbaL!Sevx*lMUOEY?!gGf_sXqkj>a;%oU83H=CZTEQJMd$}vw8p0r=X8$ zTc!ca2nS4mXZMV4)x7}|0{C8Y5$K3Ra%SoCiM#U7quu~Z2vD&0Y_eU=Ve_510tWYH zw8V&`{S{{unO3e`$uAFmWDBBY$ZyQU<|Opp$$$VcH8{kh)kgT&5oFnP9cF*2sW};~ zVj2Os(Ady0&_N>6y6XeT1lZOu-@p65T1_d-*3^xe+x%E`B(Oi`wsaIC7}oG)bbRv$ z!NAO%7RYF2gbT>p6=(Nk<=-EG^^XBJXuo#V0QNWuFo3oc?v-g%r`8b;0h5^5 zd5M?_zewBQK7uap>-tsmOtW$%avt@>X5|J%2Bk1@Z9BItFHjg>QctkQ$BZdsO?)>! zfBo7OB><8DCF)*R*Cqg5HV*Yum(HExCOK=Am#iIEFINefPt5m4pk6};4A=%k@8{~4Ko=7{y{ z*K_Ye1qzE-#yS@jt;mgX$%LAKFl}UWj2tp0|E=CG_tD7gUFcZa7jP=n?h>_dU_o zi4kEa8p*SH$`E)Z&nI`wMc9PGgeWJjci156Cy-TWdJ-jw3L3f>6PD)8o!iZHgvmr+ z2hIBko~$6xxub8g(YT|b(r(_|PURxNN7s5g>%@F|4k(#Y(2XFM^Y-z9zZBy z%Uxbx&xIfb_K&-<3YhsOQY-$*^}XEGbi>-UY&TV8lPgvfao6@3Flp8Y>)Xba9e2NZ z^QI?P$?@Zt!6)|a-AhpplN;&gOsy=>74q!aGctvayQR(Un>DKF1P>@l>>XKe8j`zZ z=Pw+k`pwG=5xUh65fhx#3G@ZliE%CE4ocKJL}TDUm@$?Ups5^FAV12 zpOHxYRY(2DXZ|Nj+^)YQs{j6?{}+GI8mgP}|E`^(?RT{5JpNx02> -- :fontawesome-solid-rocket:{ .lg .middle } __Using Modelblocks__ +- :fontawesome-solid-rocket:{ .lg .middle } __[Using Modelblocks](./user/index.md){ .card-link }__ - [Start here](./user/index.md) if you want to use Modelblocks modules in your own research. + Learn how to use existing Modelblocks modules in your research. -- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __Development Conventions__ +- :fontawesome-solid-screwdriver-wrench:{ .lg .middle } __[Development Conventions](./developer/index.md){ .card-link }__ - [Start here](./user/index.md) if you want to follow the Modelblocks Convention to share your research as a reproducible workflow. + Learn about the Modelblocks Convention to create new Modelblocks modules and share your research with others. diff --git a/docs/user/background.md b/docs/user/background.md new file mode 100644 index 0000000..dff3f32 --- /dev/null +++ b/docs/user/background.md @@ -0,0 +1,48 @@ +# Background + +Modelblocks grew out of the principle of modularising the [building blocks of energy system models](https://doi.org/10.1088/2516-1083/ad371e "Pfenninger, 2024. Open code and data are not enough: understandability as design goal for energy system models") to allow research teams to share methodologies without prioritising a specific model or tool in particular. +Although each model has its own needs and characteristics, the data fed into models of the same domain is often quite similar. + + +## Challenges + +Modelblocks started a response to challenges seen in energy modelling research and similar fields. + +1. **Models often become too complex for their own good.** +This complexity makes them difficult to evaluate and replicate, even to the [modellers themselves](https://history.ucsd.edu/_files/faculty/oreskes-naomi/VerificationConfirmationofModels.pdf "Oreskes et al, 1994. Verification, Validation and Confirmation of Numerical Models in the Earth Sciences"). +1. **Models have their own nuances and quirks.** +Data produced with exclusively one model in mind is often difficult to reuse in later exercises. +1. **Models and data deteriorate over time.** +Human and natural systems are dynamic by nature, meaning data and methodologies need periodical revision. +Depreciated data, lack of understandibility, and maintenance burdens can ultimately turn a good model into a black box that can be misused. + +![Bloat example](./images/bloat.drawio.png) + +## Our solution + +Modelblocks aims to develop and maintain a collection of reusable, composable data workflows designed with modularity mind from the onset. +We focus on the following core ideals: + +- **Model agnostic**: modules should focus on providing good data to the best of their ability. +Model nuances can be added later by users if needed. +- **Replicable, reusable, and reconfigurable**: modules should be easy to reuse and reapply on different contexts, with different assumptions, and on different computer systems. +- **Easily adoptable**: modules should use well established tools in the field of energy systems and be easy to integrate into pre-existing projects. +- **Improvable and manageable**: modules should allow researchers to collaborate on targetted improvements with minimal complications. + +Ultimately, Modelblocks aids in turning monolithic workflows into modular ones that are easier to improve and share. + + +??? info "Compare modular and monolithic modelling approaches" + + === "Modular model" + + Example based on [Euro-Calliope](https://github.com/calliope-project/euro-calliope) with some components abstracted into modules. + + [![Modular model workflow](./images/modular.png){ .workflow-comparison-image }](./images/modular.png){ target="_blank" rel="noopener" } + === "Monolithic model" + + [Euro-Calliope](https://github.com/calliope-project/euro-calliope) in full. + This version includes additional rules for transport and geopolitical regions. + How do they interact with other rules? + + [![Monolithic model workflow](./images/not_modular.png){ .workflow-comparison-image }](./images/not_modular.png){ target="_blank" rel="noopener" } diff --git a/docs/user/images/bloat.drawio.png b/docs/user/images/bloat.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..b11098f4c27ec71fc22943dc5ade4a425d4fd20c GIT binary patch literal 158995 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 Date: Tue, 14 Jul 2026 17:27:57 +0200 Subject: [PATCH 05/20] Add basics --- docs/Background/motivation.md | 24 --- docs/Modules/modules.md | 17 -- docs/developer/index.md | 2 +- docs/user/background.md | 12 +- docs/user/basics.md | 180 +++++++++++++++++++++ docs/user/images/bloat.drawio.png | Bin 158995 -> 158438 bytes docs/user/images/simple_module.drawio.png | Bin 0 -> 176908 bytes docs/user/images/toolset_simple.drawio.png | Bin 84470 -> 162982 bytes docs/user/index.md | 8 +- docs/user/setup.md | 18 ++- mkdocs.yaml | 3 + 11 files changed, 208 insertions(+), 56 deletions(-) delete mode 100644 docs/Background/motivation.md delete mode 100644 docs/Modules/modules.md create mode 100644 docs/user/basics.md create mode 100644 docs/user/images/simple_module.drawio.png diff --git a/docs/Background/motivation.md b/docs/Background/motivation.md deleted file mode 100644 index a7980e4..0000000 --- a/docs/Background/motivation.md +++ /dev/null @@ -1,24 +0,0 @@ -# Motivation - -In recent years, energy modelling research has made efforts to improve the transparency of the modelling process, with multiple open-source workflows surfacing as proposed approaches to salvage this gap. Unfortunately, such workflows do not always lead to scientific refinement, either due to lack of maintenance, due to model-specific characteristics impeding their reuse, or due an ever-growing complexity turning them into black boxes where assumptions are difficult to ascertain. - -![Example workflow](./../images/not_modular.png) - -## Challenges - -Although each model has its own needs and characteristics, the data needed by them is often similar (demand profiles, existing capacity, land availability limits, etc). -The current approach of model-specific workflows hampers progress in two ways. - -1. **By making sharing methodological improvements more difficult** since processes are "locked-in" to a specific framework, leading to a lot of re-implementation between communities, which is error prone and makes studies difficult to evaluate. -2. **By making model workflows less comprehensible over time** since they tend to grow in size and complexity as more studies are conducted with them, eventually turning into [black boxes](https://doi.org/10.1088/2516-1083/ad371e), increasing the risk of combining incompatible assumptions or using depreciated data. - -![Bloat example](images/bloat-growth-problem.png) - -## Our solution - -This project aims to outline a framework for a modular approach to generating the constituent data for energy system models as well tying them together into a feature-complete, ready-to-run model. - -We focus in particular on: - -- Separating valuable software tools, datasets, and data processing steps into modular components that improve their potential reusability. Defining a set of requirements that increase the cross-compatibility and ease of understanding of software tools, datasets, and data processing steps in a model-agnostic way, following the standards of FAIR science. -- Reducing the duplication of work by allowing a mix-and-match approach to consuming data from independently maintained and updated modular data generation workflows. diff --git a/docs/Modules/modules.md b/docs/Modules/modules.md deleted file mode 100644 index 7d11212..0000000 --- a/docs/Modules/modules.md +++ /dev/null @@ -1,17 +0,0 @@ -# Modules - -Currently, the following data modules are available. - -!!! note "More extensive docs are coming soon" - - The modules are currently in active development. A more detailed documentation showing the capability of each module will be coming soon. - -- [module_area_potentials](https://github.com/modelblocks-org/module_area_potentials) -- [module_demand_electricity](https://github.com/modelblocks-org/module_demand_electricity) -- [module_electricity_grid](https://github.com/modelblocks-org/module_electricity_grid) -- [module_geoboundaries](https://github.com/modelblocks-org/module_geo_boundaries) -- [module_hydropower](https://github.com/modelblocks-org/module_hydropower) -- [module_powerplants](https://github.com/modelblocks-org/module_powerplants) -- [module_pv_wind](https://github.com/modelblocks-org/module_pv_wind) - -If you think that an important topic is not covered by the modules above, feel free to develop your own module! Please read the [developer guidelines](../Developer_guidelines/getting_started.md) to learn how to get started. Our templates and recommended good practices are ready to help you, so your module will work smoothly from the start. diff --git a/docs/developer/index.md b/docs/developer/index.md index 29c7366..ef18e6a 100644 --- a/docs/developer/index.md +++ b/docs/developer/index.md @@ -1,4 +1,4 @@ -# Developing Modelblocks +# Development Conventions This section explains the necessary steps to import, reconfigure and execute a Modelblocks module in a `Snakemake` workflow. If you are new to `Snakemake` workflows, we recommend familiarising yourself with the [`Snakemake` documentation](https://snakemake.readthedocs.io/en/stable/) first. diff --git a/docs/user/background.md b/docs/user/background.md index dff3f32..922be1a 100644 --- a/docs/user/background.md +++ b/docs/user/background.md @@ -1,12 +1,14 @@ # Background -Modelblocks grew out of the principle of modularising the [building blocks of energy system models](https://doi.org/10.1088/2516-1083/ad371e "Pfenninger, 2024. Open code and data are not enough: understandability as design goal for energy system models") to allow research teams to share methodologies without prioritising a specific model or tool in particular. -Although each model has its own needs and characteristics, the data fed into models of the same domain is often quite similar. +Modelblocks grew out of the principle of modularising the [building blocks of energy system models](https://doi.org/10.1088/2516-1083/ad371e "Pfenninger-Lee, 2024. Open code and data are not enough: understandability as design goal for energy system models") to allow research teams to share methodologies without prioritising a specific model or tool in particular. + +However, in practice it can be applied to any field or modelling domain where the data fed into models is generally similar. +Each model has its own needs and characteristics, but more often than not it will benefit from having access to well structured and standardised input data. ## Challenges -Modelblocks started a response to challenges seen in energy modelling research and similar fields. +Modelblocks started a response to [challenges seen in energy modelling research](https://doi.org/10.1016/j.enpol.2016.11.046. "Pfenninger-Lee et al, 2017. The importance of open data and software: Is energy research lagging behind?") and similar fields. 1. **Models often become too complex for their own good.** This complexity makes them difficult to evaluate and replicate, even to the [modellers themselves](https://history.ucsd.edu/_files/faculty/oreskes-naomi/VerificationConfirmationofModels.pdf "Oreskes et al, 1994. Verification, Validation and Confirmation of Numerical Models in the Earth Sciences"). @@ -16,6 +18,8 @@ Data produced with exclusively one model in mind is often difficult to reuse in Human and natural systems are dynamic by nature, meaning data and methodologies need periodical revision. Depreciated data, lack of understandibility, and maintenance burdens can ultimately turn a good model into a black box that can be misused. +Over time, models can turn into monoliths that are difficult to maintain, and increasingly harder to understand and share with other researchers. + ![Bloat example](./images/bloat.drawio.png) ## Our solution @@ -42,7 +46,7 @@ Ultimately, Modelblocks aids in turning monolithic workflows into modular ones t === "Monolithic model" [Euro-Calliope](https://github.com/calliope-project/euro-calliope) in full. - This version includes additional rules for transport and geopolitical regions. + This version includes additional rules for transport and geopolitical region construction. How do they interact with other rules? [![Monolithic model workflow](./images/not_modular.png){ .workflow-comparison-image }](./images/not_modular.png){ target="_blank" rel="noopener" } diff --git a/docs/user/basics.md b/docs/user/basics.md new file mode 100644 index 0000000..cbae7fc --- /dev/null +++ b/docs/user/basics.md @@ -0,0 +1,180 @@ +# Basic concepts + +Here we explain, in broad strokes, how Modelblocks modules are structured and how to interact with them. +We only focus on aspects that regular users will interact with when using a module for their own research. + +??? info "Required reading" + + This section assumes users are familiar with [`Snakemake`](https://doi.org/10.12688/f1000research.29032.2 "Mölder et al., 2021. Sustainable data analysis with Snakemake"). + We recommend reading the following sections in the `Snakemake` documentation before continuing: + + - [Rules and `wildcards`](https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#snakefiles-and-rules) + - [Modules and `pathvars`](https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#modularization) + + +??? tip "Looking for more in-depth information on modules?" + + Please consult our [development conventions][development-conventions]. + +## General structure + +At their core, Modelblocks modules consist of a sequence of rules that download, filter and transform data. + +The behaviour of each rule is determined by the module’s internal code, and a user-specified configuration file which alters code behaviour. +Each module also defines how to interface with it through a standardised interface. The location of configuration and interface files is standard across all Modelblocks modules, and is defined by our [Convention][development-conventions]. + +![simple module](./images/simple_module.drawio.png) + + +### Configuration + +Configuration values allow users to tweak module behaviour. +Modules will generally provide example configurations with recommended defaults under `config/`. + +You should expect modules to validate the provided configuration against a schema (`config.schema.yaml`) during execution, with incorrect configurations raising errors. +The schema file itself is also a useful resource to understand a module's capabilities. + + +```bash +.module_name/ +├── config/ +│ ├── README.md # (1)! +│ └── config.yaml # (2)! +└── workflow/ + └── internal/ + └── config.schema.yaml # (3)! +``` + +1. Configuration documentation. +2. Example configuration file. +3. Configuration schema file. + +### Interfacing + +The interface file (`INTERFACE.yaml`) defines the placement and naming of the files needed by the module. + +```shell +module_name/ +└── INTERFACE.yaml # (1)! +``` + +1. Always located at the top level of the module's repository. + +The interface file will always specify the version of our [Convention][development-conventions] that the module complies with, multiple sets of `pathvars` that can re-wire the location of the files consumed / produced by the module, and a set of `wildcards` which can be used to process multiple files using the same module. + +In general, the interface file will define three different sets of `pathvars`: + +- `snakemake_defaults`: composed of logs, resources and results directories. +These are pre-defined by `Snakemake` +- `user_resources`: these are the "input" files that users must provide to the module before execution. +- `results`: the module "output" files that are relevant to users. + +??? example "Interface file example" + + Interface requirements will vary per module. + The following is a generic example of a module with one input and one output file. + + ```yaml + convention_version: v1.0.0 # (1)! + pathvars: + snakemake_defaults: # (2)! + logs: + default: "" + description: location of rule log files. + resources: + default: "" + description: "location of module resource files." + results: + default: "" + description: "location of module results." + user_resources: # (3)! + shapes: + default: "/user/{shapes}/shapes.parquet" + description: region-specific polygons to process. + results: # (4)! + proxy: + default: "/{shapes}/proxy.parquet" + description: proxied statistics using the provided shapes. + wildcards: # (5)! + shapes: geo-political regions to process + ``` + + 1. Convention version, based on this documentation. + 2. Default snakemake `pathvars`. + Used to re-wire the location of _all_ files in these directories. + 3. Notice that these reuse the `` pathvar! + 4. Notice that these reuse the `` pathvar! + 5. Available wildcards. + These are used in either `user_resources` or `results`. + +## Importing + +Modules can be directly imported by other workflows with minimal effort using `module` command. + +At minimum, users must specify the module's GitHub repository and version tag under `snakefile`, and provide the necessary module configuration under `config`. + +```python +module module_example: + snakefile: + github( + "modelblocks-org/module_example", + path="workflow/Snakefile", + tag="v1.0.3" # (1)! + ) + config: config["example"] # (2)! + +use rule * from module_example as module_example_* # (3)! +``` + +1. The tag should be an official module release. +This ensures the module not impacted by future updates, which may alter its behaviour or resource/configuration requirements. +2. We recommend storing module configuration under module-specific keys, or in separate files. +3. Adding a prefix to the module's rules avoids naming conflicts. + + +## File placement + +When imported, modules will also follow a convention on the default location of files they expect to consume and/or produce. + +```bash +.my_project/ +├── logs/ # (1)! +├── resources/ +│ ├── automatic/ # (2)! +│ └── user/ # (3)! +└── results/ # (4)! +``` + +1. Per-rule log files, useful for debugging. +2. Automatic resources are all the intermediary files created by module rules. +3. User resources are all the input files that a module needs before execution. +These might be optional in some cases. +4. Output files relevant to users. + + +### Rewiring files + +You will often want to modify the expected locations of module logs, resources, and results. +This can avoid file name conflicts, as snakemake does not allow multiple rules to produce the same file, and allows you easily run intermediate rules on module outputs before feeding their results into other modules. + +This can be easily handled by re-defining `pathvars` when importing modules. + +??? example "Rewiring module logs and results" + + ```python + module module_example: + snakefile: + github( + "modelblocks-org/module_example", + path="workflow/Snakefile", + tag="v1.0.3" + ) + config: config["example"] + pathvars: + logs="modules/example/logs/" + proxy="results/modules/example/proxies/{shapes}.parquet" # (1)! + ``` + + 1. Notice how the "shapes" `wildcard` was changed to be the filename instead of the directory name. + + diff --git a/docs/user/images/bloat.drawio.png b/docs/user/images/bloat.drawio.png index b11098f4c27ec71fc22943dc5ade4a425d4fd20c..0287f1431712af233a68c88786ac0aa9d238db67 100644 GIT binary patch literal 158438 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