diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..887a2c1
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# SCM syntax highlighting & preventing 3-way merges
+pixi.lock merge=binary linguist-language=YAML linguist-generated=true
diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml
index a6ed419..6395d2c 100644
--- a/.github/workflows/gh-pages.yml
+++ b/.github/workflows/gh-pages.yml
@@ -1,57 +1,59 @@
-# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy DIRAC Web Site
on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
+ # Check that the site builds for pull requests, without deploying
+ pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
+permissions: {}
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
- group: "pages"
+ group: "pages-${{ github.event_name }}-${{ github.ref }}"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
+ permissions:
+ contents: read
steps:
- name: Checkout
- uses: actions/checkout@v4
- - uses: actions/setup-python@v5
+ uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
- python-version: '3.11'
- - name: Installing dependencies
- run: |
- python -m pip install \
- mkdocs \
- mkdocs-material \
- BeautifulSoup4
+ persist-credentials: false
+ - uses: prefix-dev/setup-pixi@d3f436a425481402e6a95a1d1fc10331c708cd9e # v0.10.2
+ with:
+ environments: mkdocs
+ locked: true
- name: Build Pages
- run: |
- make build
+ run: pixi run -e mkdocs mkdocs-build
- name: Upload artifact
- uses: actions/upload-pages-artifact@v3
+ if: github.event_name != 'pull_request'
+ uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
+ with:
+ path: site
# Deployment job
deploy:
+ if: github.event_name != 'pull_request'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
+ # Allow the GITHUB_TOKEN to deploy to GitHub Pages
+ permissions:
+ pages: write
+ id-token: write
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v4
-
+ uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..23d882b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.pixi/
+site/
+.cache/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000..db1309c
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,49 @@
+# See https://pre-commit.com for more information
+# See https://pre-commit.com/hooks.html for more hooks
+default_install_hook_types:
+ - pre-commit
+ - commit-msg
+
+default_stages: [pre-commit]
+
+# Third-party assets vendored from the HTML5 UP template used by the landing page
+exclude: ^docs/assets/(css|js|sass|webfonts)/
+
+repos:
+ - repo: https://github.com/compilerla/conventional-pre-commit
+ rev: v4.4.0
+ hooks:
+ - id: conventional-pre-commit
+ stages: [commit-msg]
+ args: ["--verbose"]
+
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v6.0.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: check-yaml
+ args: ["--unsafe"]
+ - id: check-added-large-files
+ exclude: pixi\.lock$
+
+ - repo: https://github.com/hukkin/mdformat
+ rev: 1.0.0
+ hooks:
+ - id: mdformat
+ args: ["--number"]
+ additional_dependencies:
+ - mdformat-mkdocs
+ - mdformat-gfm
+
+ - repo: https://github.com/codespell-project/codespell
+ rev: v2.4.3
+ hooks:
+ - id: codespell
+ args: ["-w"]
+ exclude: pixi\.lock$
+
+ - repo: https://github.com/zizmorcore/zizmor-pre-commit
+ rev: v1.30.1
+ hooks:
+ - id: zizmor
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 8611853..0000000
--- a/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-.PHONY: build test clean
-
-build: clean
- mkdocs build -f docs/mkdocs.yml
- cp -r docs/images _site
- cp docs/index.html _site
- cp -r docs/assets _site
-
-test: clean
- mkdocs build --strict --verbose -f docs/mkdocs.yml
- cp -r docs/images _site
- cp docs/index.html _site
- cp -r docs/assets _site
-
-clean:
- rm -rf _site/*
-
diff --git a/README.md b/README.md
index 39f1a00..db32360 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,12 @@
# dirac-site
+
The repository contains all the sources from the DIRAC project web site
+
+## Building
+
+The site is built with [MkDocs Material](https://squidfunk.github.io/mkdocs-material/) using [pixi](https://pixi.sh):
+
+```bash
+pixi run mkdocs # Serve the site locally with live reload
+pixi run mkdocs-build # Build the site into site/
+```
diff --git a/docs/code.md b/docs/code.md
index 5ee7ae8..57d3e18 100644
--- a/docs/code.md
+++ b/docs/code.md
@@ -1,4 +1,3 @@
-
The DIRAC is hosted in the [GitHub repository](https://github.com/DIRACGrid). The code is open source and it is released under the [GPL v3 license](https://github.com/DIRACGrid/DIRAC/blob/integration/LICENSE).
-In the repository, there are several projects corresponding to the DIRAC and DiracX subsystems.
+In the repository, there are several projects corresponding to the DIRAC and DiracX subsystems.
diff --git a/docs/consortium.md b/docs/consortium.md
index e085c6d..e33387f 100644
--- a/docs/consortium.md
+++ b/docs/consortium.md
@@ -1,28 +1,27 @@
-
-##DIRAC Consortium
+## DIRAC Consortium
The Consortium was created in February 2014 to support development and promotion of the DIRAC software. Currently, the Consortium members are
- - CNRS, France
- - CERN, Switzerland
- - IHEP, China
- - KEK, Japan
- - Imperial College, UK
+- CNRS, France
+- CERN, Switzerland
+- IHEP, China
+- KEK, Japan
+- Imperial College, UK
The Consortium members hold the copyright for the DIRAC software released under the GPLv3 license
The Consortium is directed by :
- - **Andrei Tsaregorodtsev** – Coordinator, atsareg@cppm.in2p3.fr
- - **Federico Stagni** – Technical Coordinator, federico.stagni@cern.ch
+- **Andrei Tsaregorodtsev** – Coordinator, atsareg@cppm.in2p3.fr
+- **Federico Stagni** – Technical Coordinator, federico.stagni@cern.ch
The Consortium Board members:
- - **Vanessa Hamar**, CNRS
- - **André Sailer**, CERN
- - **Xiaomei Zhan**, IHEP
- - **I Ueda**, KEK
- - **Daniela Bauer**, Imperial College
+- **Vanessa Hamar**, CNRS
+- **André Sailer**, CERN
+- **Xiaomei Zhan**, IHEP
+- **I Ueda**, KEK
+- **Daniela Bauer**, Imperial College
The Consortium documents:
@@ -30,4 +29,4 @@ The Consortium documents:
[Amendment 1](assets/files/Amendment1.pdf)
-[Amendment 2](assets/files/Amendment2.pdf)
\ No newline at end of file
+[Amendment 2](assets/files/Amendment2.pdf)
diff --git a/docs/contacts.md b/docs/contacts.md
index 3150ac3..9ad0fe3 100644
--- a/docs/contacts.md
+++ b/docs/contacts.md
@@ -1,10 +1,9 @@
-
For any question related to the use of the DIRAC system, bug reports, request for new functionalities and so on, please use the Github discussions area:
- - [DIRAC forum](https://github.com/DIRACGrid/DIRAC/discussions)
- - [DiracX forum](https://github.com/DIRACGrid/diracx/discussions)
+- [DIRAC forum](https://github.com/DIRACGrid/DIRAC/discussions)
+- [DiracX forum](https://github.com/DIRACGrid/diracx/discussions)
For question about the possible use of the DIRAC software and service by your experiment and/or institution, please contact the DIRAC Consortium Coordinators:
- - **Andrei Tsaregorodtsev** – Coordinator, atsareg@cppm.in2p3.fr
- - **Federico Stagni** – Technical Coordinator, federico.stagni@cern.ch
+- **Andrei Tsaregorodtsev** – Coordinator, atsareg@cppm.in2p3.fr
+- **Federico Stagni** – Technical Coordinator, federico.stagni@cern.ch
diff --git a/docs/dirac.md b/docs/dirac.md
index 5b559ec..aeb64e7 100644
--- a/docs/dirac.md
+++ b/docs/dirac.md
@@ -1,26 +1,23 @@
-
## In the beginning ...
-The DIRAC project started as a tool for massive production of modeling data for the [**LHCb**](http://lhcb.cern.ch) experiment at CERN.
+The DIRAC project started as a tool for massive production of modeling data for the [**LHCb**](http://lhcb.cern.ch) experiment at CERN.
In order to exploit efficiently the distributed computing grid resources, DIRAC introduced the workload management architecture based on pilot jobs.
The new architecture improved significantly the success rate of the jobs running in the LHC Computing Grid (LCG) and was adopted by other LHC
-experiments.
+experiments.
!!! note "Pilot jobs"
- Pilot jobs are sent to the grid sites as soon as there are user jobs submitted the DIRAC's central Task Queue. When started running
- on a worker node, the pilot job checks the execution environment, collects its parameters and presents the computing resource description to
- the DIRAC Matcher service. The Matcher selects a job from the Task Queue suitable for running on the proposed resource taking into account the job
- priority and other policies. The pilot job then ensures the user's job execution, monitoring its status and uploading the results
+ Pilot jobs are sent to the grid sites as soon as there are user jobs submitted the DIRAC's central Task Queue. When started running
+ on a worker node, the pilot job checks the execution environment, collects its parameters and presents the computing resource description to
+ the DIRAC Matcher service. The Matcher selects a job from the Task Queue suitable for running on the proposed resource taking into account the job
+ priority and other policies. The pilot job then ensures the user's job execution, monitoring its status and uploading the results
After the successful demonstration of its potential, the DIRAC system was deployed for some other High Energy Physics experiments and research groups.
The code was largely refactored for better scalability and performance but also for support of multi-comunity installations. The extension mechanism allowed
-easy customization of the DIRAC components to the needs of a particular communities.
+easy customization of the DIRAC components to the needs of a particular communities.
Now, the DIRAC Interware Project provides software and a large set of ready to use components to build distributed computing systems of arbitrary complexity. It ensures access to various types of computing and storage resources with a single intuitive user interface. Both Workload and Data Management subsystems are available which provides a complete solution for creating computing systems for multiple research user communities.
-

-
-DIRAC is used by multiple large [**scientific collaborations**](users.md). The services based on the DIRAC interware are also provided by several large national and international grid infrastructures.
\ No newline at end of file
+DIRAC is used by multiple large [**scientific collaborations**](users.md). The services based on the DIRAC interware are also provided by several large national and international grid infrastructures.
diff --git a/docs/documentation.md b/docs/documentation.md
index 43d44ff..016a3aa 100644
--- a/docs/documentation.md
+++ b/docs/documentation.md
@@ -1,15 +1,14 @@
-
The DIRAC project is undergoing a major revision and the new generation of the DIRAC software is called DiracX. You can find here links to the original DIRAC and the new DiracX software documentation below:
[**DIRAC documentation**](https://dirac.readthedocs.io/en/latest/)
[**DiracX documentation**](https://diracx.diracgrid.org/)
-The DIRAC documentaiton is partitioned in several guides.
+The DIRAC documentation is partitioned in several guides.
The [**User Guide**](https://dirac.readthedocs.io/en/latest/UserGuide/index.html) contains all the necessary instructions to install or get access to the DIRAC client software and configure it in order to access a preferred DIRAC service. The guide describes the user interfaces – command line and Web. It also provides a complete list of DIRAC commands. A number of tutorials demonstrate step by step the operations to be performed to set up the client and perform most of the common operations. Finally, a set of How-To items provide answers to commonly asked questions.
All the necessary information for developing new DIRAC components is provided by the [**Developer Guide**](https://dirac.readthedocs.io/en/latest/DeveloperGuide/index.html). It contains an overview of the DIRAC architecture, describes general code management procedures as well as building and distributing DIRAC releases. You will find out how to set up the development environment, how to write codes that can be tested together with the other components in an automated way.
The Code Documentation provides a detailed description of the DIRAC APIs that can be used for developing new user interfaces and server-side components.
-The [**Administrator Guide**](https://dirac.readthedocs.io/en/latest/AdministratorGuide/index.html) provides instructions on how to install and setup DIRAC services and web portals, how to configure them providing description of users and resources. It describes the tools to monitor DIRAC installations and perform day-to-day operations. Several tutorials are provided in order walk the new administrators through procedures to setup new installations.
\ No newline at end of file
+The [**Administrator Guide**](https://dirac.readthedocs.io/en/latest/AdministratorGuide/index.html) provides instructions on how to install and setup DIRAC services and web portals, how to configure them providing description of users and resources. It describes the tools to monitor DIRAC installations and perform day-to-day operations. Several tutorials are provided in order walk the new administrators through procedures to setup new installations.
diff --git a/docs/events.md b/docs/events.md
index d161f13..f3e84d3 100644
--- a/docs/events.md
+++ b/docs/events.md
@@ -1,6 +1,5 @@
-##11th DIRAC User's Workshop
+## 11th DIRAC User's Workshop
-The next DIRAC User's Workshop will take place in IHEP, Beijing, on the 17th-20th September. The workshop will be devoted to the information exchange between the Dirac(X) developers, service administrators and users. Reports on the Dirac(x) ongoing and planned developments, service management tools will be included into the agenda together with the users reporting their experience. You are welcome to suggest your items to the [workshop agenda](https://indico.cern.ch/event/1433941/). You can also register there if you are planning to participate in person.
+The next DIRAC User's Workshop will take place in IHEP, Beijing, on the 17th-20th September. The workshop will be devoted to the information exchange between the Dirac(X) developers, service administrators and users. Reports on the Dirac(x) ongoing and planned developments, service management tools will be included into the agenda together with the users reporting their experience. You are welcome to suggest your items to the [workshop agenda](https://indico.cern.ch/event/1433941/). You can also register there if you are planning to participate in person.

-
diff --git a/docs/index.html b/docs/index.html
index 3d6e2f7..d71c281 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -92,8 +92,8 @@
- DIRAC is a open source project with the code repository and documentation publicly available.
- It has got controbutions from dozens of developers from all over the world.
+ DIRAC is a open source project with the code repository and documentation publicly available.
+ It has got contributions from dozens of developers from all over the world.
@@ -103,7 +103,7 @@
DIRAC is actively used by a large number of small and large scientific communities. DIRAC services
- are provided by several large scale grid infrastructures.
+ are provided by several large scale grid infrastructures.
@@ -123,7 +123,7 @@
The DIRAC Consortium unites five world-class scientific institutions working together to
- develop and promote the DIRAC software.
+ develop and promote the DIRAC software.
@@ -137,11 +137,11 @@
Get in touch
Drop us a mail
-
+
-
+
diff --git a/docs/overrides/assets/stylesheets/diracgrid.css b/docs/overrides/assets/stylesheets/diracgrid.css
index ac39357..ada0324 100644
--- a/docs/overrides/assets/stylesheets/diracgrid.css
+++ b/docs/overrides/assets/stylesheets/diracgrid.css
@@ -8,5 +8,5 @@
}
.md-header__button.md-logo img {
- height: 4.2rem;
-}
\ No newline at end of file
+ height: 4.2rem;
+}
diff --git a/docs/users.md b/docs/users.md
index 5e14ded..1d5eaa9 100644
--- a/docs/users.md
+++ b/docs/users.md
@@ -2,25 +2,25 @@ The DIRAC software and services are used by multiple scientific experiments and
**The page is under construction**
-##LHCb
+## LHCb
-##Belle II
+## Belle II
-##CTAO
+## CTAO
-##ILC/CLIC/FCC
+## ILC/CLIC/FCC
-[iLCDirac](ilcdirac.cern.ch) is a multi-community DIRAC instance serving future collider communities from the FCC and linear colliders.
+[iLCDirac](https://ilcdirac.cern.ch) is a multi-community DIRAC instance serving future collider communities from the FCC and linear colliders.
-##JUNO
+## JUNO
-##GridPP
+## GridPP
{ align=right width="100" }
[GridPP](https://www.gridpp.ac.uk/) is a collaboration of 15 UK universities, plus Rutherford Appleton Laboratory (RAL) that operates the UK Grid infrastructure. It is part of the [WLCG](https://wlcg.web.cern.ch/) and its focus is on particle physics, neutrino, and adjacent experiments. GridPP maintains the [GridPP DIRAC server](https://dirac.gridpp.ac.uk) as the entrypoint to grid (compute and storage) and cloud resources for a number of scientific communities with UK participation. Further information on the GridPP specific implementation of DIRAC can be found here: [GridPP documentation](https://github.com/ic-hep/gridpp-dirac-users/wiki). If you think your community would benefit from using the GridPP DIRAC instance, please don't hesitate to [contact us](https://www.gridpp.ac.uk/contact/).
-##EGI
+## EGI
{ align=right width="100" }
@@ -28,4 +28,4 @@ The DIRAC software and services are used by multiple scientific experiments and
{ align=left width="250" }
-One of the services offered by EGI is the [Workload Manager](https://www.egi.eu/service/workload-manager/) which is a DIRAC service. It provides both workload and data management components allowing users to execute jobs in the EGI sites as well as manage their distributed data. The [EGI Workload Manager](https://dirac.egi.eu) is serving about 20 scientific communities from various scientific domains, some of them counting more than thousand users. The service is hosted on the premises of the [IN2P3 Computing Center, Lyon](https://cc.in2p3.fr/en/) and is operated by a team of administrators from several CNRS laboratories. In 2024, more than 30 millions user jobs were executed with the help of the EGI Workload Manager service.
+One of the services offered by EGI is the [Workload Manager](https://www.egi.eu/service/workload-manager/) which is a DIRAC service. It provides both workload and data management components allowing users to execute jobs in the EGI sites as well as manage their distributed data. The [EGI Workload Manager](https://dirac.egi.eu) is serving about 20 scientific communities from various scientific domains, some of them counting more than thousand users. The service is hosted on the premises of the [IN2P3 Computing Center, Lyon](https://cc.in2p3.fr/en/) and is operated by a team of administrators from several CNRS laboratories. In 2024, more than 30 millions user jobs were executed with the help of the EGI Workload Manager service.
diff --git a/docs/mkdocs.yml b/mkdocs.yml
similarity index 56%
rename from docs/mkdocs.yml
rename to mkdocs.yml
index ba5ede5..f2a3621 100644
--- a/docs/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,43 +1,60 @@
-site_name: DIRAC Project
+site_name: DIRAC Project
site_url: https://diracgrid.org/
-site_description: Homepage of the DIRAC Project documentation
+site_description: >-
+ DIRAC is interware for distributed computing, providing a complete solution
+ for workload and data management on grid, cloud and HPC resources for
+ multiple research communities.
site_author: Andrei Tsaregorodtsev
-docs_dir: '.'
-site_dir: '../_site'
+repo_url: https://github.com/DIRACGrid/diracgrid.org
+edit_uri: edit/main/docs/
use_directory_urls: false
# Theming
theme:
name: material
language: en
- custom_dir: 'overrides/'
+ custom_dir: docs/overrides/
logo: assets/images/Dirac_logo_black-white-negative.png
favicon: assets/images/Dirac_favicon_logo.svg
palette:
+ - media: "(prefers-color-scheme)"
+ toggle:
+ icon: material/theme-light-dark
+ name: Switch to light mode
- media: "(prefers-color-scheme: light)"
scheme: default
accent: blue
toggle:
- icon: material/toggle-switch-off-outline
+ icon: material/weather-sunny
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: teal
accent: light green
toggle:
- icon: material/toggle-switch
- name: Switch to light mode
+ icon: material/weather-night
+ name: Switch to system preference
font:
text: Roboto
code: Roboto Mono
- feature:
- tabs: true
+ features:
+ - content.action.edit
+ - content.code.annotate
+ - content.code.copy
+ - content.tabs.link
+ - header.autohide
+ - navigation.expand
+ - navigation.indexes
+ - navigation.instant
+ - navigation.instant.progress
+ - navigation.tabs
+ - navigation.tabs.sticky
icon:
admonition:
info: octicons/info-16
extra_css:
- - assets/stylesheets/diracgrid.css
+ - assets/stylesheets/diracgrid.css
# Content
nav:
@@ -54,6 +71,7 @@ extra:
# Plugins
plugins:
+ - privacy
- search
copyright: Copyright © DIRAC Consortium
@@ -65,8 +83,6 @@ markdown_extensions:
- md_in_html
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
- emoji_generator: !!python/name:materialx.emoji.to_svg
+ emoji_generator: !!python/name:material.extensions.emoji.to_svg
- toc:
permalink: true
-
-
diff --git a/pixi.lock b/pixi.lock
new file mode 100644
index 0000000..2acf49a
--- /dev/null
+++ b/pixi.lock
@@ -0,0 +1,1769 @@
+version: 7
+platforms:
+- name: linux-64
+ virtual-packages:
+ - __unix=0=0
+ - __linux=4.18
+ - __glibc=2.28
+ - __archspec=0=x86_64
+- name: linux-aarch64
+ virtual-packages:
+ - __unix=0=0
+ - __linux=4.18
+ - __glibc=2.28
+ - __archspec=0=aarch64
+- name: osx-arm64
+ virtual-packages:
+ - __unix=0=0
+ - __osx=13.0
+ - __archspec=0=m1
+environments:
+ default:
+ channels:
+ - url: https://conda.anaconda.org/conda-forge/
+ packages: {}
+ mkdocs:
+ 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
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.8-hdc7f604_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.8-hcd007b5_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ - pypi: https://files.pythonhosted.org/packages/1c/cf/e5f9b68a5b0e939a2fb933a66c20180d0c9241bf8927f7a47fa48c1675e9/backrefs-8.0-py314-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/36/d1/98313da89960a604402266a115311b510254900ff1295ea426403f9423cc/pymdown_extensions-12.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ - pypi: https://files.pythonhosted.org/packages/8f/db/d7282caf7ab03af44d5d6fdbaa019b35c7d7f1c90588b839c07cba640d6a/markupsafe-3.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ad/21/17c1bc9e6f47c972ad66fb2ac2568f99f90f1207eeb6fc3b34d094dba7b5/mkdocs_material-9.7.7-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl
+ - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/c5/9b/6ce1ead737fe496611bda600c263b9a11ae7bd8f41bb13f9bd7e0a2c37a4/platformdirs-4.12.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ec/1e/32971905a7ab47f8b66866ed949fa48b104ba1c4a6fa57794c4f2c4b2cb8/markdown-3.11-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
+ linux-aarch64:
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.5-h4154aff_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.7.0-hdaad0be_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpython-3.14.8-hc71fabe_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.4-hd26f1b6_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.4-hd6fdeab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.8-hbec3b18_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-ha7194a6_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_hf03c496_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/1c/cf/e5f9b68a5b0e939a2fb933a66c20180d0c9241bf8927f7a47fa48c1675e9/backrefs-8.0-py314-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/36/d1/98313da89960a604402266a115311b510254900ff1295ea426403f9423cc/pymdown_extensions-12.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ - pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ - pypi: https://files.pythonhosted.org/packages/9a/a8/73a81135e85ba66217f5af7facb03bbb386807e1a729ab64532e4c802652/markupsafe-3.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl
+ - pypi: https://files.pythonhosted.org/packages/ad/21/17c1bc9e6f47c972ad66fb2ac2568f99f90f1207eeb6fc3b34d094dba7b5/mkdocs_material-9.7.7-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/c5/9b/6ce1ead737fe496611bda600c263b9a11ae7bd8f41bb13f9bd7e0a2c37a4/platformdirs-4.12.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ec/1e/32971905a7ab47f8b66866ed949fa48b104ba1c4a6fa57794c4f2c4b2cb8/markdown-3.11-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
+ osx-arm64:
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.8-h4311e70_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.8-h0ae1c2c_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda
+ - pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/1c/cf/e5f9b68a5b0e939a2fb933a66c20180d0c9241bf8927f7a47fa48c1675e9/backrefs-8.0-py314-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/36/d1/98313da89960a604402266a115311b510254900ff1295ea426403f9423cc/pymdown_extensions-12.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl
+ - pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ad/21/17c1bc9e6f47c972ad66fb2ac2568f99f90f1207eeb6fc3b34d094dba7b5/mkdocs_material-9.7.7-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ad/40/e2d117b048d47282ade906fbfd92814cbee5647afc13fda88a3406039372/markupsafe-3.0.4-cp314-cp314-macosx_11_0_arm64.whl
+ - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl
+ - pypi: https://files.pythonhosted.org/packages/c5/9b/6ce1ead737fe496611bda600c263b9a11ae7bd8f41bb13f9bd7e0a2c37a4/platformdirs-4.12.3-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz
+ - pypi: https://files.pythonhosted.org/packages/ec/1e/32971905a7ab47f8b66866ed949fa48b104ba1c4a6fa57794c4f2c4b2cb8/markdown-3.11-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
+ - pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
+ pre-commit:
+ channels:
+ - url: https://conda.anaconda.org/conda-forge/
+ 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/bzip2-1.0.8-hda65f42_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py314h8d76f0c_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.8-hdc7f604_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.8-hcd007b5_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-hd6e31c0_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py314h9891dd4_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-4.0.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.20-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.12.3-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.6.1-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.14.5-pyh5ded981_0.conda
+ linux-aarch64:
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.1.1-py314h65cb5ac_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.5-h4154aff_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.7.0-hdaad0be_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpython-3.14.8-hc71fabe_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.4-hd26f1b6_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.4-hd6fdeab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.8-hbec3b18_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-ha7194a6_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_hf03c496_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ukkonen-1.1.0-py314hd7d8586_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h29ee22c_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-4.0.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.20-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.12.3-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.6.1-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.14.5-pyh5ded981_0.conda
+ osx-arm64:
+ - conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/filelock-4.0.12-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.20-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.12.3-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.6.1-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.14.5-pyh5ded981_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py314h618e29d_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.8-h4311e70_101_cp314.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.8-h0ae1c2c_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-h8b90a29_1.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py314h6cfcd04_0.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h74c22ad_3.conda
+ - conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda
+packages:
+- conda: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda
+ build_number: 20
+ sha256: 1dd3fffd892081df9726d7eb7e0dea6198962ba775bd88842135a4ddb4deb3c9
+ md5: a9f577daf3de00bca7c3c76c0ecbd1de
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgomp >=7.5.0
+ constrains:
+ - openmp_impl <0.0a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ strong:
+ - _openmp_mutex >=4.5
+ size: 28948
+ timestamp: 1770939786096
+- conda: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda
+ sha256: 1a0d382c515ebf55f8ee1f38c8b81bc95af5c2acc42ad53b66bc5df932032f96
+ md5: e675fabcf81499adc7edf58124fb1e01
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=14
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - bzip2 >=1.0.8,<2.0a0
+ size: 257808
+ timestamp: 1785906269155
+- conda: https://conda.anaconda.org/conda-forge/linux-64/cffi-2.1.1-py314h8d76f0c_3.conda
+ sha256: 15e38176fa2173e063a19dad3d55746ac4c757b028813380d7f22c42781af4c4
+ md5: ee66d46f7693fdcbaa1761fb8a4f6c3d
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libffi >=3.7.0,<3.8.0a0
+ - libgcc >=15
+ - pycparser
+ - python >=3.14,<3.15.0a0
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 307262
+ timestamp: 1788485305536
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.46.1-default_hbd61a6d_102.conda
+ sha256: 27d83f1188cd19bcb7754a078b3fa7f4cfb8527f8eb2fde54dd01fc529d1adec
+ md5: 449500f2c089da11c40f5c21312e3e07
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - zstd >=1.5.7,<1.6.0a0
+ constrains:
+ - binutils_impl_linux-64 2.46.1
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 745303
+ timestamp: 1784214507189
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.8.5-hd2095e1_0.conda
+ sha256: 6de73033a7c5f712c9c5a54124e4581e025691029835e5bceaf10a333a7e7bc0
+ md5: 72cfd2b95b0540247220b42f58a148d7
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ constrains:
+ - expat 2.8.5.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports: {}
+ size: 77893
+ timestamp: 1790346247149
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.7.0-h81df57d_1.conda
+ sha256: c8c7583ef063bc3c430f1d48298e5ad24f796a35c22ed5b14183325825a61106
+ md5: 6525a0b06aa4fd390795f0740636a9dd
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports:
+ weak:
+ - libffi >=3.7.0,<3.8.0a0
+ size: 68004
+ timestamp: 1787753412298
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-16.2.0-ha9f2e26_7.conda
+ sha256: e031634c3a928f9594eba868bc46ef5230d6571a364a0c63215b06c4563bfcea
+ md5: 735629b400b70eeab21a2ba8f5b1c2ce
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - _openmp_mutex >=4.5
+ constrains:
+ - libgcc-ng ==16.2.0=*_7
+ - libgomp 16.2.0 he0feb66_7
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 1058444
+ timestamp: 1790303109576
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-16.2.0-he0feb66_7.conda
+ sha256: 92a0bb350c7be6a4eedcb4e111c60aefd176018e6b1c009a6e025dbe9bbcd758
+ md5: d904c7ddd95e026254b4b80808ee9e12
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports:
+ strong:
+ - _openmp_mutex >=4.5
+ size: 640566
+ timestamp: 1790303046034
+- conda: https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.3-hb03c661_1.conda
+ sha256: 9787df8c22a59c9a70d3e5a10db9ad663485e75e9ccc3f09bd092cb7b95e0dab
+ md5: 1390b7c5ac0b1d8e447bc5efa6d3c8c2
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=14
+ constrains:
+ - xz 5.8.3.*
+ license: 0BSD
+ purls: []
+ run_exports:
+ weak:
+ - liblzma >=5.8.3,<6.0a0
+ size: 112995
+ timestamp: 1786348617826
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_2.conda
+ sha256: 46820b4a835e175940ae20bec00fdddaff804cda27a1408ab1b95e77a2196437
+ md5: fcfed1dc5053eb1901b66e7b1fc32588
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=14
+ license: BSD-2-Clause
+ license_family: BSD
+ purls: []
+ run_exports: {}
+ size: 92759
+ timestamp: 1786650399772
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libpython-3.14.8-hdc7f604_101_cp314.conda
+ build_number: 101
+ sha256: 3dc27daa3470f9b6f863942d99db623d79204ea478955ea73e97d3519cae2ab5
+ md5: 5782a594549b816514ca434a42bbf11a
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ - libstdcxx >=15
+ license: Python-2.0
+ purls: []
+ run_exports:
+ weak:
+ - libpython >=3.14,<4.0a0
+ size: 10544845
+ timestamp: 1791333423324
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.53.4-h0737f62_103.conda
+ sha256: 66f4831f4ee3055f0ffe94e01901198cf3601e2c1b4f6b51d05c3f2d8557ce1d
+ md5: cc1ad2520049c35344239454a17560ac
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ - libzlib >=1.3.2,<2.0a0
+ constrains:
+ - icu <0.0a0
+ license: blessing
+ purls: []
+ run_exports:
+ weak:
+ - libsqlite >=3.53.4,<4.0a0
+ size: 967489
+ timestamp: 1791288185694
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-16.2.0-h934c35e_7.conda
+ sha256: fa7018298629fc429971fffd6ecba3d27a7b02e4e890d6a93ea01ffebe8cb745
+ md5: 9b6707e0caca917fa6ea9ee473f37a5d
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc 16.2.0 ha9f2e26_7
+ constrains:
+ - libstdcxx-ng ==16.2.0=*_7
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 6615436
+ timestamp: 1790303132935
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.42.4-hcfc3c73_0.conda
+ sha256: f34b8d1de9a2bf62476d8608057d9b8a918d97444236dc53a47128f2fae79041
+ md5: 54a948337e66706380ff24d6b5fde63f
+ depends:
+ - libgcc >=15
+ - __glibc >=2.17,<3.0.a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - libuuid >=2.42.4,<3.0a0
+ size: 34442
+ timestamp: 1790121449161
+- conda: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.2-h25fd6f3_3.conda
+ sha256: eb8a0db0aa570124f7d2a93d7c7f596e3390df5e047818d873baad32985fc736
+ md5: 0de0122d9570a8ab637c6b73db268389
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ constrains:
+ - zlib 1.3.2 *_3
+ license: Zlib
+ license_family: Other
+ purls: []
+ run_exports:
+ weak:
+ - libzlib >=1.3.2,<2.0a0
+ size: 63713
+ timestamp: 1785362952714
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.6-hdb14827_1.conda
+ sha256: 5d46557214ed184381dafe835b7c94a474a1c3b307a08a250b1ea4779b44ffb3
+ md5: ee6c0cd80a60961a1f48aa3e0b91f986
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=14
+ license: X11 AND BSD-3-Clause
+ purls: []
+ run_exports:
+ weak:
+ - ncurses >=6.6,<7.0a0
+ size: 911196
+ timestamp: 1786355078102
+- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.5-h781a0a9_0.conda
+ sha256: 9c1533f1cf784f0e250919c0c9762d0b0e6bc727a79290ffb7cea1ceca1d038c
+ md5: 5a51a2ea653f120240b1a9bf76e0aae9
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - ca-certificates
+ - libgcc >=15
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ run_exports:
+ weak:
+ - openssl >=3.6.5,<4.0a0
+ size: 3195299
+ timestamp: 1791098052301
+- conda: https://conda.anaconda.org/conda-forge/linux-64/python-3.14.8-hcd007b5_101_cp314.conda
+ build_number: 101
+ sha256: e22f6a79d290935b2c854d325e260f70f364c7cc7ec0bc8308ded4f2f1eef7e6
+ md5: 5cb98b237dfc2c64a65e660d7b99cfa5
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - bzip2 >=1.0.8,<2.0a0
+ - ld_impl_linux-64 >=2.36.1
+ - libexpat >=2.8.5,<3.0a0
+ - libffi >=3.7.0,<3.8.0a0
+ - libgcc >=15
+ - liblzma >=5.8.3,<6.0a0
+ - libmpdec >=4.0.0,<5.0a0
+ - libpython 3.14.8 hdc7f604_101_cp314
+ - libsqlite >=3.53.4,<4.0a0
+ - libuuid >=2.42.4,<3.0a0
+ - libzlib >=1.3.2,<2.0a0
+ - ncurses >=6.6,<7.0a0
+ - openssl >=3.5.9,<4.0a0
+ - 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
+ purls: []
+ run_exports:
+ weak:
+ - python_abi 3.14.* *_cp314
+ noarch:
+ - python
+ size: 26633451
+ timestamp: 1791333464567
+ 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
+ - yaml >=0.2.5,<0.3.0a0
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 202391
+ timestamp: 1770223462836
+- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-hd6e31c0_1.conda
+ sha256: 01b3fe073a66e321970d09e04b388708f8cbdca5cdfbfcb7c9eeb470ad10383d
+ md5: 69c01c781e7c8190bbdaf79e3848c5ca
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ - ncurses >=6.6,<7.0a0
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ run_exports:
+ weak:
+ - readline >=8.3,<9.0a0
+ size: 348899
+ timestamp: 1787033801506
+- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h1df4ec4_4.conda
+ build_number: 104
+ sha256: a1a241d172c1ccab067ba245206dd048bc3c2d1b84504b53c9468e99adfc16a1
+ md5: 676a2f9b1c4fcf57b70aa5c65f6c60d0
+ depends:
+ - libgcc >=15
+ - __glibc >=2.17,<3.0.a0
+ - libzlib >=1.3.2,<2.0a0
+ constrains:
+ - xorg-libx11 >=1.8.13,<2.0a0
+ license: TCL
+ purls: []
+ run_exports:
+ weak:
+ - tk >=8.6.13,<8.7.0a0
+ size: 3566806
+ timestamp: 1787272857910
+- conda: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.1.0-py314h9891dd4_0.conda
+ sha256: c84034056dc938c853e4f61e72e5bd37e2ec91927a661fb9762f678cbea52d43
+ md5: 5d3c008e54c7f49592fca9c32896a76f
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - cffi
+ - libgcc >=14
+ - libstdcxx >=14
+ - python >=3.14,<3.15.0a0
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 15004
+ timestamp: 1769438727085
+- conda: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-hebe6cf0_3.conda
+ sha256: d164dfa75ecd538f6fd68765defcc06aa875bc697b9b215362d79a2a73125dd0
+ md5: e741576fb8f89821ac7c1c537322a33d
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libgcc >=15
+ license: MIT
+ license_family: MIT
+ run_exports:
+ weak:
+ - yaml >=0.2.5,<0.3.0a0
+ size: 84936
+ timestamp: 1787228426393
+- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_7.conda
+ sha256: 47d682b9f6d6ec9eb1a6e6c3e75ea6273e899e78fb7fc59f81d39745009fbc60
+ md5: aa459086047c0e5e27023ab19f8cb86a
+ depends:
+ - __glibc >=2.17,<3.0.a0
+ - libzlib >=1.3.2,<2.0a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - zstd >=1.5.7,<1.6.0a0
+ size: 601301
+ timestamp: 1786599621503
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda
+ build_number: 20
+ sha256: a2527b1d81792a0ccd2c05850960df119c2b6d8f5fdec97f2db7d25dc23b1068
+ md5: 468fd3bb9e1f671d36c2cbc677e56f1d
+ depends:
+ - libgomp >=7.5.0
+ constrains:
+ - openmp_impl <0.0a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ strong:
+ - _openmp_mutex >=4.5
+ size: 28926
+ timestamp: 1770939656741
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda
+ sha256: 24eacc8a20fd7c4616566178562bef7f9344eb4a8700cfc3180fa75a6ff9d39f
+ md5: fd544ef1c672d645bf78e5819cbb8f91
+ depends:
+ - libgcc >=14
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - bzip2 >=1.0.8,<2.0a0
+ size: 194694
+ timestamp: 1785906301397
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/cffi-2.1.1-py314h65cb5ac_3.conda
+ sha256: cc2a7c807182bd18e07a6e255c98dc8a8feec2310ad2e801d296adebb8f2d9ea
+ md5: 30b36a0c4239d65f98209664afb3485b
+ depends:
+ - libffi >=3.7.0,<3.8.0a0
+ - libgcc >=15
+ - pycparser
+ - python >=3.14,<3.15.0a0
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 329121
+ timestamp: 1788485263944
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ld_impl_linux-aarch64-2.46.1-default_h1979696_102.conda
+ sha256: 2c4901f4227b0850328ed0c69f958b30ad2cd18982f7a31c7c1f911827004d08
+ md5: 489444d0acb2a579d2a002d85a08c059
+ depends:
+ - zstd >=1.5.7,<1.6.0a0
+ constrains:
+ - binutils_impl_linux-aarch64 2.46.1
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 905305
+ timestamp: 1784214534868
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libexpat-2.8.5-h4154aff_0.conda
+ sha256: d155b9ee74abac0865095a66ebb008be967937a6deea6e7666ba01ead4a155fc
+ md5: e5a973222327d9183c25eddfc3a80828
+ depends:
+ - libgcc >=15
+ constrains:
+ - expat 2.8.5.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports: {}
+ size: 79463
+ timestamp: 1790346233159
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libffi-3.7.0-hdaad0be_1.conda
+ sha256: b1879d78b622c5f4817fd6d77fe7ae3ab7b501542e3c2f4ac77198c54c62c189
+ md5: f9e5b3e446b526b34a7e25ecec08efd9
+ depends:
+ - libgcc >=15
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports:
+ weak:
+ - libffi >=3.7.0,<3.8.0a0
+ size: 63137
+ timestamp: 1787753382033
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgcc-16.2.0-h205dda4_7.conda
+ sha256: eae7a3449d5a3b5351c5427137c076cc3fc826645c7bfc42dc10772b783826f1
+ md5: 489d5c9dc62265b3f6a57f9a106f1caf
+ depends:
+ - _openmp_mutex >=4.5
+ constrains:
+ - libgcc-ng ==16.2.0=*_7
+ - libgomp 16.2.0 h8acb6b2_7
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 627793
+ timestamp: 1790302345214
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libgomp-16.2.0-h8acb6b2_7.conda
+ sha256: 4406fd67c5beeb99b9372f9bf07aa3e40ca141e337eceebac3ff64aa72799494
+ md5: 259ded79ac497cfbcf5434540e8b81b6
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports:
+ strong:
+ - _openmp_mutex >=4.5
+ size: 617342
+ timestamp: 1790302273072
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/liblzma-5.8.3-he30d5cf_1.conda
+ sha256: f760669fd1cea27f689f411c0d5488e26ce50e382c9b63e4ad348f959850124a
+ md5: e0e6411a60d00186eec7c73f4118ab67
+ depends:
+ - libgcc >=14
+ constrains:
+ - xz 5.8.3.*
+ license: 0BSD
+ purls: []
+ run_exports:
+ weak:
+ - liblzma >=5.8.3,<6.0a0
+ size: 125578
+ timestamp: 1786348561649
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libmpdec-4.0.0-he30d5cf_2.conda
+ sha256: 5d6621a2229777824386164b40c67ff804fe98dd4165354cf73ee73e282a2adf
+ md5: eaaaec4776cd8a7b987c4b1782220141
+ depends:
+ - libgcc >=14
+ license: BSD-2-Clause
+ license_family: BSD
+ purls: []
+ run_exports: {}
+ size: 113885
+ timestamp: 1786650485380
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libpython-3.14.8-hc71fabe_101_cp314.conda
+ build_number: 101
+ sha256: 35e8c023bb17bcbc01e049165960813137f1aa5b6ccc3fc87a0d40e5e2af47a1
+ md5: c37c66978dbbd6f35a3c15bb324f89d5
+ depends:
+ - libgcc >=15
+ - libstdcxx >=15
+ license: Python-2.0
+ purls: []
+ run_exports:
+ weak:
+ - libpython >=3.14,<4.0a0
+ size: 9708299
+ timestamp: 1791333141031
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libsqlite-3.53.4-hd26f1b6_103.conda
+ sha256: e930ac6df2c0131ada894193b3dcf4a02ee8088a1873ac722a971a33cb9ed7c9
+ md5: de7c2b49e115eaedeb7797132b9cb089
+ depends:
+ - libgcc >=15
+ - libzlib >=1.3.2,<2.0a0
+ constrains:
+ - icu <0.0a0
+ license: blessing
+ purls: []
+ run_exports:
+ weak:
+ - libsqlite >=3.53.4,<4.0a0
+ size: 966132
+ timestamp: 1791288139341
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libstdcxx-16.2.0-hef695bb_7.conda
+ sha256: b241a3acfa9cdb1359112864a1241225533c92642de3000d52ae65ef5d3a9786
+ md5: 6c823668e78160957d1b061ceec15c2c
+ depends:
+ - libgcc 16.2.0 h205dda4_7
+ constrains:
+ - libstdcxx-ng ==16.2.0=*_7
+ license: GPL-3.0-only WITH GCC-exception-3.1
+ license_family: GPL
+ purls: []
+ run_exports: {}
+ size: 6236630
+ timestamp: 1790302364054
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libuuid-2.42.4-hd6fdeab_0.conda
+ sha256: 4d94770cc7c47eb4a0d7b92f16d7a450506d1a82406d63c987d6208ab2fb8a16
+ md5: 9d63e86dc027166aaaeb0c99a0a90fd7
+ depends:
+ - libgcc >=15
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - libuuid >=2.42.4,<3.0a0
+ size: 36296
+ timestamp: 1790121454455
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/libzlib-1.3.2-hdc9db2a_3.conda
+ sha256: 76efa6cc9d7e6f5ee3bbca0939f64054af2bdfb3c3632531f8e633cf6c2ea41e
+ md5: bd534c2fbe56d8c2ea3b2d8f5e12bca8
+ constrains:
+ - zlib 1.3.2 *_3
+ license: Zlib
+ license_family: Other
+ purls: []
+ run_exports:
+ weak:
+ - libzlib >=1.3.2,<2.0a0
+ size: 70108
+ timestamp: 1785276540870
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ncurses-6.6-h2b6f883_1.conda
+ sha256: d69a04914139627f0a6bfd19412d6c7f1e37edc896af84a6011e07e8bc1e69fa
+ md5: c3b4349171ca987ff33a1de61f7b3f96
+ depends:
+ - libgcc >=14
+ license: X11 AND BSD-3-Clause
+ purls: []
+ run_exports:
+ weak:
+ - ncurses >=6.6,<7.0a0
+ size: 955422
+ timestamp: 1786355019431
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/openssl-3.6.5-he6ad1d5_0.conda
+ sha256: 238136f1df197ecd89bafd728a34d0642176f3170423d13d8276746d675a9485
+ md5: 92aec5ec417d2ce9ae109e6c5ad377ff
+ depends:
+ - ca-certificates
+ - libgcc >=15
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ run_exports:
+ weak:
+ - openssl >=3.6.5,<4.0a0
+ size: 3716078
+ timestamp: 1791097887829
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/python-3.14.8-hbec3b18_101_cp314.conda
+ build_number: 101
+ sha256: b88a76c72f76e7ad9c46068e3c9467a363425a709ae9d7cdf8c8a7b0f30220d4
+ md5: 44b96aaef0939e064699c8b843182cab
+ depends:
+ - bzip2 >=1.0.8,<2.0a0
+ - ld_impl_linux-aarch64 >=2.36.1
+ - libexpat >=2.8.5,<3.0a0
+ - libffi >=3.7.0,<3.8.0a0
+ - libgcc >=15
+ - liblzma >=5.8.3,<6.0a0
+ - libmpdec >=4.0.0,<5.0a0
+ - libpython 3.14.8 hc71fabe_101_cp314
+ - libsqlite >=3.53.4,<4.0a0
+ - libuuid >=2.42.4,<3.0a0
+ - libzlib >=1.3.2,<2.0a0
+ - ncurses >=6.6,<7.0a0
+ - openssl >=3.5.9,<4.0a0
+ - 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
+ purls: []
+ run_exports:
+ weak:
+ - python_abi 3.14.* *_cp314
+ noarch:
+ - python
+ size: 25603222
+ timestamp: 1791333177032
+ python_site_packages_path: lib/python3.14/site-packages
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/pyyaml-6.0.3-py314h807365f_1.conda
+ sha256: 496b5e65dfdd0aaaaa5de0dcaaf3bceea00fcb4398acf152f89e567c82ec1046
+ md5: 9ae2c92975118058bd720e9ba2bb7c58
+ depends:
+ - libgcc >=14
+ - 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
+ run_exports: {}
+ size: 195678
+ timestamp: 1770223441816
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/readline-8.3-ha7194a6_1.conda
+ sha256: 80167dcf73a96b6d0c1bb2298d7b8b9bc21b27cc5bf56979f9c548b49a4d1722
+ md5: 5b399a7afa10098f2a6b02263181426e
+ depends:
+ - libgcc >=15
+ - ncurses >=6.6,<7.0a0
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ run_exports:
+ weak:
+ - readline >=8.3,<9.0a0
+ size: 364344
+ timestamp: 1787033761576
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/tk-8.6.13-noxft_hf03c496_4.conda
+ build_number: 104
+ sha256: a1aa0d0f0b3d539644ff992e6dd0facf950c79df58fc37590ce5be84ff5e3f22
+ md5: ebaded4b4b74c2cc43a754ded4eed76f
+ depends:
+ - libgcc >=15
+ - libzlib >=1.3.2,<2.0a0
+ constrains:
+ - xorg-libx11 >=1.8.13,<2.0a0
+ license: TCL
+ purls: []
+ run_exports:
+ weak:
+ - tk >=8.6.13,<8.7.0a0
+ size: 3664220
+ timestamp: 1787272859143
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/ukkonen-1.1.0-py314hd7d8586_0.conda
+ sha256: 0a7efe469d7e2a34a1d017bc51cf6fb9a51436730256983694c5ad74a33bd4e0
+ md5: f3a967efabf9cf450b7741487318ea6e
+ depends:
+ - cffi
+ - libgcc >=14
+ - libstdcxx >=14
+ - python >=3.14,<3.15.0a0
+ - python >=3.14,<3.15.0a0 *_cp314
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 15756
+ timestamp: 1769438772414
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/yaml-0.2.5-h29ee22c_3.conda
+ sha256: 97e0fbe447c8f8bb1789047f37448062ebecda29bd264fcdf6129b8d08f174c9
+ md5: 6c97c1f44a81be1b4d5ba15a06153256
+ depends:
+ - libgcc >=15
+ license: MIT
+ license_family: MIT
+ run_exports:
+ weak:
+ - yaml >=0.2.5,<0.3.0a0
+ size: 88597
+ timestamp: 1787228457350
+- conda: https://conda.anaconda.org/conda-forge/linux-aarch64/zstd-1.5.7-h9d15635_7.conda
+ sha256: 427fd14bcb3b8659796fecc682716617409350fb5a98e5b7b47558a10d1a2fc7
+ md5: d942e34ac3920ba83f8b2d0169570187
+ depends:
+ - libzlib >=1.3.2,<2.0a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - zstd >=1.5.7,<1.6.0a0
+ size: 615477
+ timestamp: 1786599613561
+- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
+ sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6
+ md5: 0f51e2391ade309db462a55611263e9c
+ depends:
+ - __unix
+ license: ISC
+ purls: []
+ run_exports: {}
+ size: 131780
+ timestamp: 1784754889428
+- conda: https://conda.anaconda.org/conda-forge/noarch/cfgv-3.5.0-pyhd8ed1ab_0.conda
+ sha256: aa589352e61bb221351a79e5946d56916e3c595783994884accdb3b97fe9d449
+ md5: 381bd45fb7aa032691f3063aff47e3a1
+ depends:
+ - python >=3.10
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 13589
+ timestamp: 1763607964133
+- conda: https://conda.anaconda.org/conda-forge/noarch/distlib-0.4.3-pyhcf101f3_0.conda
+ sha256: e2753997b8bd34205f42be01b8bab8037423dc30c02a1ec12de23e5b4c0b0a2e
+ md5: 58638f77697c4f6726753eb8be34818b
+ depends:
+ - python >=3.10
+ - python
+ license: Apache-2.0
+ license_family: APACHE
+ run_exports: {}
+ size: 303705
+ timestamp: 1781320269259
+- conda: https://conda.anaconda.org/conda-forge/noarch/filelock-4.0.12-pyhd8ed1ab_0.conda
+ sha256: 3ac3221099466ca3bd57bf8cc59c2d92c3b04634a798fbc6c8d1872ac7c55697
+ md5: d6556b2fef359c26b25ff003af9ae2c1
+ depends:
+ - python >=3.11
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 85969
+ timestamp: 1791210321663
+- conda: https://conda.anaconda.org/conda-forge/noarch/identify-2.6.20-pyhd8ed1ab_0.conda
+ sha256: 6375ae2e28de130843ab7ca98132bf83d988f7fd7034e3dbe646308dbeaca2fd
+ md5: be9ea4f030b4b2bc121b2a548b066c0b
+ depends:
+ - python >=3.11
+ - ukkonen
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 79783
+ timestamp: 1790540591548
+- conda: https://conda.anaconda.org/conda-forge/noarch/nodeenv-1.10.0-pyhd8ed1ab_0.conda
+ sha256: 4fa40e3e13fc6ea0a93f67dfc76c96190afd7ea4ffc1bac2612d954b42cdc3ee
+ md5: eb52d14a901e23c39e9e7b4a1a5c015f
+ depends:
+ - python >=3.10
+ - setuptools
+ license: BSD-3-Clause
+ license_family: BSD
+ run_exports: {}
+ size: 40866
+ timestamp: 1766261270149
+- conda: https://conda.anaconda.org/conda-forge/noarch/packaging-26.3-pyhc364b38_0.conda
+ sha256: c432626b16768b8dab228bfb706f7060c2d462a21c516d240f68f2f902b5a044
+ md5: 936687ed80f295a1f5dbcf8bd34c252c
+ depends:
+ - python >=3.9
+ - python
+ license: Apache-2.0
+ license_family: APACHE
+ run_exports: {}
+ size: 116363
+ timestamp: 1785888127370
+- conda: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.12.3-pyh5ded981_0.conda
+ sha256: b93a46b1c1fb34a380b0afa309040d603ebefdb8184a87a4bfaeef989a07cbc4
+ md5: 96bd08b41fbb94da012c8f5c56132519
+ depends:
+ - python >=3.11
+ - python
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 33916
+ timestamp: 1791121724699
+- conda: https://conda.anaconda.org/conda-forge/noarch/pre-commit-4.6.2-pyha770c72_0.conda
+ sha256: fc0a0620a8f829c46787a9a13ddbae8b6049f2e77da353a8a2adaa01af0da7e2
+ md5: c36b88db560b4e74f294380613f1a239
+ depends:
+ - cfgv >=2.0.0
+ - identify >=1.0.0
+ - nodeenv >=0.11.1
+ - python >=3.10
+ - pyyaml >=5.1
+ - virtualenv >=20.10.0
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 201879
+ timestamp: 1786408353117
+- conda: https://conda.anaconda.org/conda-forge/noarch/pycparser-3.0-pyhcf101f3_0.conda
+ sha256: e27e0473fc6723311a0bd48b89b616fa1b996a2f7a2b555338cbbcfb9c640568
+ md5: 9c5491066224083c41b6d5635ed7107b
+ depends:
+ - python >=3.10
+ - python
+ license: BSD-3-Clause
+ license_family: BSD
+ run_exports: {}
+ size: 55886
+ timestamp: 1779293633166
+- conda: https://conda.anaconda.org/conda-forge/noarch/python-discovery-1.6.1-pyh5ded981_0.conda
+ sha256: 396bf7b5a62eb3a12d20e16962acf36f9018332b2842d29548399df03b9deaa4
+ md5: ae0feb6a3f297952bd4f4270fe77f530
+ depends:
+ - python >=3.11
+ - filelock >=3.15.4
+ - python
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 39252
+ timestamp: 1789811798811
+- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-9_cp314.conda
+ build_number: 9
+ sha256: e7f8e965bbfb98e08feb2365cacdad8bb218fa5b5a0a2752f747287f425f213c
+ md5: 350d89b50d7de805abf2e63e29dee451
+ constrains:
+ - python 3.14.* *_cp314
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports: {}
+ size: 6791
+ timestamp: 1788302824440
+- conda: https://conda.anaconda.org/conda-forge/noarch/setuptools-84.0.0-pyh332efcf_0.conda
+ sha256: 9e200ee5f9ff19a4d94e4b51c4856d53dec849f91032f345cf0c6bc3d51a7183
+ md5: 62ac906f1cd582c6c264c95625cb9d6f
+ depends:
+ - python >=3.10
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 524488
+ timestamp: 1786282924579
+- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
+ sha256: b928c30ddcb0e3f544c6eade8352737e6e610e263276b90232db6a578ef899d8
+ md5: fcb489df604d100968b737f2cb6076c6
+ license: LicenseRef-Public-Domain
+ purls: []
+ run_exports: {}
+ size: 118849
+ timestamp: 1784250406640
+- conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-21.14.5-pyh5ded981_0.conda
+ sha256: 9b3c5763839d28361c2fa595a0f3fb20537c468e8a30412601b81c5e72b44f8f
+ md5: 4a2e00093b6a7bdc858e2c377378f32c
+ depends:
+ - python >=3.11
+ - distlib >=0.3.7,<1
+ - filelock >=3.24.2,<5
+ - packaging >=23.1
+ - platformdirs >=3.9.1,<5
+ - python-discovery >=1.6
+ - python
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 3994945
+ timestamp: 1790972539501
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda
+ sha256: 8ec22f0ba25cbfc2e64d70cf29459eccd7ffdf6436f6a6ff15bbfef799f7d4f6
+ md5: b50612e7d190b8061ab4e7dc119cf4d5
+ depends:
+ - __osx >=11.0
+ license: bzip2-1.0.6
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - bzip2 >=1.0.8,<2.0a0
+ size: 124965
+ timestamp: 1785906749812
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/cffi-2.1.1-py314h618e29d_3.conda
+ sha256: 172fcb9649244b38083d3242550841e9b24fafeb5530ea125b44f364172f4e9d
+ md5: 1177738698334efc54d4e9a2f108c469
+ depends:
+ - __osx >=11.0
+ - libffi >=3.7.0,<3.8.0a0
+ - pycparser
+ - python >=3.14,<3.15.0a0
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 292373
+ timestamp: 1788485305495
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libcxx-23.1.3-h55c6f16_0.conda
+ sha256: 2d9d31172d7919bd276a8d1be338de567dd5afdd181e8d3d3d8c2d8695e09de2
+ md5: 424521e52e65ef7f6cf957c4966e6386
+ depends:
+ - __osx >=11.0
+ license: Apache-2.0 WITH LLVM-exception
+ license_family: Apache
+ purls: []
+ run_exports: {}
+ size: 577501
+ timestamp: 1791337239735
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libexpat-2.8.5-h6111c0a_0.conda
+ sha256: 50aa761b83fc7a116ca88fe0cb4cefce5abababb10a926bf8afbafd5c298d102
+ md5: 5383c550b785bdaafcc4eaf638071a7c
+ depends:
+ - __osx >=11.0
+ constrains:
+ - expat 2.8.5.*
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports: {}
+ size: 69565
+ timestamp: 1790370026495
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda
+ sha256: 2783389a7b9dda04c62cc54c6bbeb03dd3cef24b3fc642715d02a3fa19464a9a
+ md5: 216bbcc23c11e9695b3db4a8771d76eb
+ depends:
+ - __osx >=11.0
+ license: MIT
+ license_family: MIT
+ purls: []
+ run_exports:
+ weak:
+ - libffi >=3.7.0,<3.8.0a0
+ size: 43637
+ timestamp: 1787753403688
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda
+ sha256: 23d0630046a3e8b164d8f80f2b74ed2605af2e7050ab9913018056402fae4311
+ md5: 8ab10323068b107661a4b9a4af84f3b5
+ depends:
+ - __osx >=11.0
+ constrains:
+ - xz 5.8.3.*
+ license: 0BSD
+ purls: []
+ run_exports:
+ weak:
+ - liblzma >=5.8.3,<6.0a0
+ size: 91720
+ timestamp: 1786348695846
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda
+ sha256: 04cc136c5a956a73aa14e0a160b5822b0b29714e67b299fa1b1fd16dbcba5366
+ md5: ff33a4dbd93abc8a798cc4e0e7c8136d
+ depends:
+ - __osx >=11.0
+ license: BSD-2-Clause
+ license_family: BSD
+ purls: []
+ run_exports: {}
+ size: 73289
+ timestamp: 1786651074391
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libpython-3.14.8-h4311e70_101_cp314.conda
+ build_number: 101
+ sha256: 257d8491de0514a5da3b3fd0d81a64802df6a7e3a72c31d639bd92d0cb110a0f
+ md5: af47f048c7a22af82a66a912794fe4ee
+ depends:
+ - __osx >=11.0
+ - libcxx >=20
+ license: Python-2.0
+ purls: []
+ run_exports:
+ weak:
+ - libpython >=3.14,<4.0a0
+ size: 1895946
+ timestamp: 1791332518303
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libsqlite-3.53.4-h34a968b_103.conda
+ sha256: b7c1d5a15d21948eec177a00e90801ad0d1c35e552404da9fbf0d657421aa0dd
+ md5: 68c3a50b8a8abfcc926f2d7e12d1fef5
+ depends:
+ - __osx >=11.0
+ - libzlib >=1.3.2,<2.0a0
+ constrains:
+ - icu <0.0a0
+ license: blessing
+ purls: []
+ run_exports:
+ weak:
+ - libsqlite >=3.53.4,<4.0a0
+ size: 938370
+ timestamp: 1791288154128
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda
+ sha256: a18fa5d5bac452401459f966cf0d872224e8080c4ff93c77e168d43ab42ef9d7
+ md5: f39288f0ea63ae962e1a2e4f355a0d75
+ depends:
+ - __osx >=11.0
+ constrains:
+ - zlib 1.3.2 *_3
+ license: Zlib
+ license_family: Other
+ purls: []
+ run_exports:
+ weak:
+ - libzlib >=1.3.2,<2.0a0
+ size: 47822
+ timestamp: 1785277049190
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda
+ sha256: 7024a48c8c0d0114ed4ab53c76bf9275d50e91ba7cea367a9aead638d3c29c68
+ md5: 3dfa0d0316dc246cd44937a557de4501
+ depends:
+ - __osx >=11.0
+ license: X11 AND BSD-3-Clause
+ purls: []
+ run_exports:
+ weak:
+ - ncurses >=6.6,<7.0a0
+ size: 804298
+ timestamp: 1786355189145
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/openssl-3.6.5-h55eecbc_0.conda
+ sha256: 44fbc526456571a9fb8fa18157f6f269d4d4bd40eef20183a93b9c9296f94497
+ md5: 45d9179cdf6e53d88aec034246f0dad6
+ depends:
+ - __osx >=11.0
+ - ca-certificates
+ license: Apache-2.0
+ license_family: Apache
+ purls: []
+ run_exports:
+ weak:
+ - openssl >=3.6.5,<4.0a0
+ size: 3111573
+ timestamp: 1791097959641
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/python-3.14.8-h0ae1c2c_101_cp314.conda
+ build_number: 101
+ sha256: 4aebb9d626b26a2f7257d3c671bac70a96fffd4706db4d61c35f7bda6bee74f3
+ md5: db895757bd372efa32f96937fabb3ef0
+ depends:
+ - __osx >=11.0
+ - bzip2 >=1.0.8,<2.0a0
+ - libexpat >=2.8.5,<3.0a0
+ - libffi >=3.7.0,<3.8.0a0
+ - liblzma >=5.8.3,<6.0a0
+ - libmpdec >=4.0.0,<5.0a0
+ - libpython 3.14.8 h4311e70_101_cp314
+ - libsqlite >=3.53.4,<4.0a0
+ - libzlib >=1.3.2,<2.0a0
+ - ncurses >=6.6,<7.0a0
+ - openssl >=3.5.9,<4.0a0
+ - 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
+ purls: []
+ run_exports:
+ weak:
+ - python_abi 3.14.* *_cp314
+ noarch:
+ - python
+ size: 12496923
+ timestamp: 1791332554767
+ python_site_packages_path: lib/python3.14/site-packages
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/pyyaml-6.0.3-py314h6e9b3f0_1.conda
+ sha256: 95f385f9606e30137cf0b5295f63855fd22223a4cf024d306cf9098ea1c4a252
+ md5: dcf51e564317816cb8d546891019b3ab
+ 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
+ run_exports: {}
+ size: 189475
+ timestamp: 1770223788648
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda
+ sha256: d6782b430e6dce4fe8c7ac118cd988d5a193eb4a7f60741edfaede58016b6110
+ md5: 9347fd56a002e6b58946831d48fe62f6
+ depends:
+ - __osx >=11.0
+ - ncurses >=6.6,<7.0a0
+ license: GPL-3.0-only
+ license_family: GPL
+ purls: []
+ run_exports:
+ weak:
+ - readline >=8.3,<9.0a0
+ size: 314395
+ timestamp: 1787033878899
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda
+ sha256: 857d89087ae7f2c328cf256728affcb7343031a148b4af847334d248a9cf564c
+ md5: 90a01bf394d1c594e0eb9258f967d828
+ depends:
+ - __osx >=11.0
+ - libzlib >=1.3.2,<2.0a0
+ license: TCL
+ purls: []
+ run_exports:
+ weak:
+ - tk >=8.6.13,<8.7.0a0
+ size: 3342183
+ timestamp: 1787272852357
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/ukkonen-1.1.0-py314h6cfcd04_0.conda
+ sha256: 033dbf9859fe58fb85350cf6395be6b1346792e1766d2d5acab538a6eb3659fb
+ md5: e229f444fbdb28d8c4f40e247154d993
+ depends:
+ - __osx >=11.0
+ - cffi
+ - libcxx >=19
+ - python >=3.14,<3.15.0a0
+ - python >=3.14,<3.15.0a0 *_cp314
+ - python_abi 3.14.* *_cp314
+ license: MIT
+ license_family: MIT
+ run_exports: {}
+ size: 14884
+ timestamp: 1769439056290
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/yaml-0.2.5-h74c22ad_3.conda
+ sha256: 3e78c43207502418fc5fb2317bbbefe5df8b6fc1051d90bdcd1c881c76bb4193
+ md5: 31cf6dcc138abe673c9440cd6fe6c6fe
+ depends:
+ - __osx >=11.0
+ license: MIT
+ license_family: MIT
+ run_exports:
+ weak:
+ - yaml >=0.2.5,<0.3.0a0
+ size: 77530
+ timestamp: 1787228556857
+- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda
+ sha256: da867f5092eb0cb746d353694f0098031fd9817a4ce7d5743121209ae0f406ca
+ md5: 4ec2684c73812cc2c3d78379384a39cc
+ depends:
+ - __osx >=11.0
+ - libzlib >=1.3.2,<2.0a0
+ license: BSD-3-Clause
+ license_family: BSD
+ purls: []
+ run_exports:
+ weak:
+ - zstd >=1.5.7,<1.6.0a0
+ size: 433687
+ timestamp: 1786599629846
+- pypi: https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl
+ name: pyyaml-env-tag
+ version: '1.1'
+ sha256: 17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04
+ requires_dist:
+ - pyyaml
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
+ name: certifi
+ version: 2026.7.22
+ sha256: 62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775
+ requires_python: '>=3.7'
+- pypi: https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ name: charset-normalizer
+ version: 3.5.2
+ sha256: 34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a
+ requires_python: '>=3.7'
+- pypi: https://files.pythonhosted.org/packages/1c/cf/e5f9b68a5b0e939a2fb933a66c20180d0c9241bf8927f7a47fa48c1675e9/backrefs-8.0-py314-none-any.whl
+ name: backrefs
+ version: '8.0'
+ sha256: 9ec96efa080938be92323e8e730e57718c9c88eb15ad70bbef4e1766df591408
+ requires_dist:
+ - regex ; extra == 'extras'
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
+ name: mkdocs
+ version: 1.6.1
+ sha256: db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e
+ requires_dist:
+ - click>=7.0
+ - colorama>=0.4 ; sys_platform == 'win32'
+ - ghp-import>=1.0
+ - importlib-metadata>=4.4 ; python_full_version < '3.10'
+ - 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
+ - pyyaml-env-tag>=0.1
+ - pyyaml>=5.1
+ - watchdog>=2.0
+ - babel>=2.9.0 ; extra == 'i18n'
+ - babel==2.9.0 ; extra == 'min-versions'
+ - click==7.0 ; extra == 'min-versions'
+ - colorama==0.4 ; sys_platform == 'win32' and extra == 'min-versions'
+ - ghp-import==1.0 ; extra == 'min-versions'
+ - importlib-metadata==4.4 ; python_full_version < '3.10' and extra == 'min-versions'
+ - jinja2==2.11.1 ; extra == 'min-versions'
+ - markdown==3.3.6 ; extra == 'min-versions'
+ - markupsafe==2.0.1 ; extra == 'min-versions'
+ - mergedeep==1.3.4 ; extra == 'min-versions'
+ - mkdocs-get-deps==0.2.0 ; extra == 'min-versions'
+ - packaging==20.5 ; extra == 'min-versions'
+ - pathspec==0.11.1 ; extra == 'min-versions'
+ - pyyaml-env-tag==0.1 ; extra == 'min-versions'
+ - pyyaml==5.1 ; extra == 'min-versions'
+ - watchdog==2.0 ; extra == 'min-versions'
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/2c/19/04f9b178c2d8a15b076c8b5140708fa6ffc5601fb6f1e975537072df5b2a/mergedeep-1.3.4-py3-none-any.whl
+ name: mergedeep
+ version: 1.3.4
+ sha256: 70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307
+ requires_python: '>=3.6'
+- pypi: https://files.pythonhosted.org/packages/36/d1/98313da89960a604402266a115311b510254900ff1295ea426403f9423cc/pymdown_extensions-12.1-py3-none-any.whl
+ name: pymdown-extensions
+ version: '12.1'
+ sha256: 4a254b771acfcddc6c110a7f4590d818f1f849e2d5aacf69b4b07c8dd2a9700d
+ requires_dist:
+ - markdown>=3.6
+ - pyyaml
+ - pygments>=2.19.1 ; extra == 'extra'
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/58/50/6c0d534c5f134586a8e1ba4e330569e32f057e33372ae556463212fb4cd3/click-8.5.0-py3-none-any.whl
+ name: click
+ version: 8.5.0
+ sha256: 255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl
+ name: idna
+ version: '3.20'
+ sha256: ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c
+ requires_dist:
+ - ruff>=0.16.0 ; extra == 'all'
+ - mypy>=1.11.2 ; extra == 'all'
+ - ty>=0.0.37 ; extra == 'all'
+ - pytest>=8.3.2 ; extra == 'all'
+ - hypothesis>=6.141.1 ; extra == 'all'
+ - coverage>=7.10.0 ; extra == 'all'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl
+ name: mkdocs-material-extensions
+ version: 1.3.1
+ sha256: adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
+ name: jinja2
+ version: 3.1.6
+ sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
+ requires_dist:
+ - markupsafe>=2.0
+ - babel>=2.7 ; extra == 'i18n'
+ requires_python: '>=3.7'
+- pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl
+ name: packaging
+ version: '26.3'
+ sha256: d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl
+ name: pygments
+ version: 2.21.0
+ sha256: 2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9
+ requires_dist:
+ - colorama>=0.4.6 ; extra == 'windows-terminal'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl
+ name: babel
+ version: 2.18.0
+ sha256: e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35
+ requires_dist:
+ - pytz>=2015.7 ; python_full_version < '3.9'
+ - tzdata ; sys_platform == 'win32' and extra == 'dev'
+ - backports-zoneinfo ; python_full_version < '3.9' and extra == 'dev'
+ - freezegun~=1.0 ; extra == 'dev'
+ - jinja2>=3.0 ; extra == 'dev'
+ - pytest-cov ; extra == 'dev'
+ - pytest>=6.0 ; extra == 'dev'
+ - pytz ; extra == 'dev'
+ - setuptools ; extra == 'dev'
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl
+ name: charset-normalizer
+ version: 3.5.2
+ sha256: fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424
+ requires_python: '>=3.7'
+- pypi: https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ name: charset-normalizer
+ version: 3.5.2
+ sha256: 8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13
+ requires_python: '>=3.7'
+- pypi: https://files.pythonhosted.org/packages/88/29/744136411e785c4b0b744d5413e56555265939ab3a104c6a4b719dad33fd/mkdocs_get_deps-0.2.2-py3-none-any.whl
+ name: mkdocs-get-deps
+ version: 0.2.2
+ sha256: e7878cbeac04860b8b5e0ca31d3abad3df9411a75a32cde82f8e44b6c16ff650
+ requires_dist:
+ - importlib-metadata>=4.3 ; python_full_version < '3.10'
+ - mergedeep>=1.3.4
+ - platformdirs>=2.2.0
+ - pyyaml>=5.1
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ name: pyyaml
+ version: 6.0.3
+ sha256: c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/8f/db/d7282caf7ab03af44d5d6fdbaa019b35c7d7f1c90588b839c07cba640d6a/markupsafe-3.0.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
+ name: markupsafe
+ version: 3.0.4
+ sha256: a8e9f292fcda89b324f2f5c91d13f1424a153e40fc2756f38ee23b15835ff300
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
+ name: paginate
+ version: 0.5.7
+ sha256: b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591
+ requires_dist:
+ - pytest ; extra == 'dev'
+ - tox ; extra == 'dev'
+ - black ; extra == 'lint'
+- pypi: https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl
+ name: urllib3
+ version: 2.8.0
+ sha256: 0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3
+ requires_dist:
+ - brotli>=1.2.0 ; platform_python_implementation == 'CPython' and extra == 'brotli'
+ - brotlicffi>=1.2.0.0 ; platform_python_implementation != 'CPython' and extra == 'brotli'
+ - h2>=4,<5 ; extra == 'h2'
+ - pysocks>=1.5.6,!=1.5.7,<2.0 ; extra == 'socks'
+ - backports-zstd>=1.0.0 ; python_full_version < '3.14' and extra == 'zstd'
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ name: pyyaml
+ version: 6.0.3
+ sha256: 501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/9a/a8/73a81135e85ba66217f5af7facb03bbb386807e1a729ab64532e4c802652/markupsafe-3.0.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
+ name: markupsafe
+ version: 3.0.4
+ sha256: 1caa2fa5a6184fb233153b35f654e6687bd555476f6170f29d8ee9be1a8b0af9
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl
+ name: requests
+ version: 2.34.2
+ sha256: 2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0
+ requires_dist:
+ - charset-normalizer>=2,<4
+ - idna>=2.5,<4
+ - urllib3>=1.26,<3
+ - certifi>=2023.5.7
+ - pysocks>=1.5.6,!=1.5.7 ; extra == 'socks'
+ - chardet>=3.0.2,<8 ; extra == 'use-chardet-on-py3'
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl
+ name: watchdog
+ version: 6.0.0
+ sha256: 7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13
+ requires_dist:
+ - pyyaml>=3.10 ; extra == 'watchmedo'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/ad/21/17c1bc9e6f47c972ad66fb2ac2568f99f90f1207eeb6fc3b34d094dba7b5/mkdocs_material-9.7.7-py3-none-any.whl
+ name: mkdocs-material
+ version: 9.7.7
+ sha256: 8ea9bb1737a5b524a5f9dcf2e1b4ebda8274ae3008aa7845720a97083bef708f
+ requires_dist:
+ - babel>=2.10
+ - backrefs>=5.7.post1
+ - colorama>=0.4
+ - jinja2>=3.1
+ - markdown>=3.2
+ - mkdocs-material-extensions>=1.3
+ - mkdocs>=1.6,<2
+ - paginate>=0.5
+ - pygments>=2.16
+ - pymdown-extensions>=10.2
+ - requests>=2.30
+ - mkdocs-git-committers-plugin-2>=1.1 ; extra == 'git'
+ - mkdocs-git-revision-date-localized-plugin>=1.2.4 ; extra == 'git'
+ - cairosvg>=2.6 ; extra == 'imaging'
+ - pillow>=10.2 ; extra == 'imaging'
+ - mkdocs-minify-plugin>=0.7 ; extra == 'recommended'
+ - mkdocs-redirects>=1.2 ; extra == 'recommended'
+ - mkdocs-rss-plugin>=1.6 ; extra == 'recommended'
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/ad/40/e2d117b048d47282ade906fbfd92814cbee5647afc13fda88a3406039372/markupsafe-3.0.4-cp314-cp314-macosx_11_0_arm64.whl
+ name: markupsafe
+ version: 3.0.4
+ sha256: 52704c5d36eb6dda8866493decd61111fff86244c9b1ad225ca01b9e91e5970f
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl
+ name: watchdog
+ version: 6.0.0
+ sha256: 20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2
+ requires_dist:
+ - pyyaml>=3.10 ; extra == 'watchmedo'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl
+ name: six
+ version: 1.17.0
+ sha256: 4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274
+ requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*'
+- pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl
+ name: pyyaml
+ version: 6.0.3
+ sha256: 34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310
+ requires_python: '>=3.8'
+- pypi: https://files.pythonhosted.org/packages/c5/9b/6ce1ead737fe496611bda600c263b9a11ae7bd8f41bb13f9bd7e0a2c37a4/platformdirs-4.12.3-py3-none-any.whl
+ name: platformdirs
+ version: 4.12.3
+ sha256: 080f3b39423b5abfca9a23d84c4e9795f54d395cd8459867a8ded44084fcd5f8
+ requires_python: '>=3.10'
+- pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
+ name: colorama
+ version: 0.4.6
+ sha256: 4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
+ requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*'
+- pypi: https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz
+ name: watchdog
+ version: 6.0.0
+ sha256: 9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282
+ requires_dist:
+ - pyyaml>=3.10 ; extra == 'watchmedo'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/ec/1e/32971905a7ab47f8b66866ed949fa48b104ba1c4a6fa57794c4f2c4b2cb8/markdown-3.11-py3-none-any.whl
+ name: markdown
+ version: '3.11'
+ sha256: cd6c89e7eb308c8b332ed673215a52d208a43f8bacc030b1419376129408719e
+ requires_dist:
+ - coverage ; extra == 'testing'
+ - pyyaml ; extra == 'testing'
+ - zensical==0.0.62 ; extra == 'docs'
+ - mdx-gh-links==0.4 ; extra == 'docs'
+ - mkdocstrings==1.0.6 ; extra == 'docs'
+ - mkdocstrings-python==1.16.8 ; extra == 'docs'
+ - pygments==2.21.0 ; extra == 'docs'
+ - pymdown-extensions==11.0.2 ; extra == 'docs'
+ - justhtml==3.11.2 ; extra == 'docs'
+ - ghp-import==2.1.0 ; extra == 'docs'
+ requires_python: '>=3.11'
+- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
+ name: python-dateutil
+ version: 2.9.0.post0
+ sha256: a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
+ requires_dist:
+ - six>=1.5
+ requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*'
+- pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
+ name: pathspec
+ version: 1.1.1
+ sha256: a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189
+ requires_dist:
+ - hyperscan>=0.7 ; extra == 'hyperscan'
+ - typing-extensions>=4 ; extra == 'optional'
+ - google-re2>=1.1 ; extra == 're2'
+ requires_python: '>=3.9'
+- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
+ name: ghp-import
+ version: 2.1.0
+ sha256: 8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619
+ requires_dist:
+ - python-dateutil>=2.8.1
+ - twine ; extra == 'dev'
+ - markdown ; extra == 'dev'
+ - flake8 ; extra == 'dev'
+ - wheel ; extra == 'dev'
diff --git a/pixi.toml b/pixi.toml
new file mode 100644
index 0000000..975bca5
--- /dev/null
+++ b/pixi.toml
@@ -0,0 +1,30 @@
+[workspace]
+channels = ["conda-forge"]
+platforms = ["linux-64", "osx-arm64", "linux-aarch64"]
+# Require a pixi new enough for the v7 lock file (added in 0.68.0), which also covers the
+# relative-duration exclude-newer ("cooldown") below (added in 0.67.0).
+requires-pixi = ">=0.68.0"
+# Supply-chain cooldown: when (re)solving, skip conda and PyPI releases newer than 7 days.
+# This filters fresh candidates at solve time; it does not evict already-locked versions.
+# To fast-track a reviewed release (e.g. a CVE fix), override per package via
+# [exclude-newer] (conda) or [pypi-exclude-newer] (PyPI).
+exclude-newer = "7d"
+
+# Features for generating the documentation
+[feature.mkdocs.dependencies]
+python = "*"
+[feature.mkdocs.pypi-dependencies]
+mkdocs-material = "*"
+[feature.mkdocs.tasks]
+mkdocs = {cmd = "mkdocs serve", description = "Serve the documentation locally with live reload"}
+mkdocs-build = {cmd = "mkdocs build --strict", description = "Build the documentation into site/"}
+
+# Features for running pre-commit hooks
+[feature.pre-commit.dependencies]
+pre-commit = "*"
+[feature.pre-commit.tasks]
+pre-commit = {cmd = "pre-commit", description = "Run pre-commit hooks"}
+
+[environments]
+mkdocs = {features = ["mkdocs"], no-default-feature = true}
+pre-commit = {features = ["pre-commit"], no-default-feature = true}
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index c0873d9..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-mkdocs
-mkdocs-material
-BeautifulSoup4