diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml
index 97486a6..3426d72 100644
--- a/.github/actions/setup/action.yml
+++ b/.github/actions/setup/action.yml
@@ -3,9 +3,11 @@ description: Setup for project workflows
runs:
using: composite
steps:
- - run: pipx install invoke poetry
- shell: bash
- - uses: actions/setup-python@v5
+ - name: Install uv
+ uses: astral-sh/setup-uv@v4
with:
- python-version: 3.12
- cache: poetry
+ enable-cache: true
+ - name: Setup Python
+ uses: actions/setup-python@v5
+ with:
+ python-version-file: .python-version
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index 7351b39..5fdce59 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -2,7 +2,7 @@ name: Check
on:
pull_request:
branches:
- - main
+ - '*'
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.ref }}
@@ -12,5 +12,9 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- - run: poetry install --with checks
- - run: poetry run invoke checks
+ - run: uv sync --group=checks
+ - run: uv run invoke checks.format
+ - run: uv run invoke checks.type
+ - run: uv run invoke checks.code
+ - run: uv run invoke checks.security
+ - run: uv run invoke checks.coverage
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 105bf46..3457790 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -15,8 +15,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- - run: poetry install --with docs
- - run: poetry run invoke docs
+ - run: uv sync --group=docs
+ - run: uv run invoke docs
- uses: JamesIves/github-pages-deploy-action@v4
with:
folder: docs/
@@ -28,8 +28,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup
- - run: poetry install --with dev
- - run: poetry run invoke packages
+ - run: uv sync --only-dev
+ - run: uv run invoke packages
- uses: docker/login-action@v3
with:
registry: ghcr.io
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ea14e6e..4d8bd70 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -5,7 +5,7 @@ default_language_version:
python: python3.12
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
+ rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
@@ -16,18 +16,14 @@ repos:
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
- - repo: https://github.com/python-poetry/poetry
- rev: 1.8.3
- hooks:
- - id: poetry-check
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.5.0
+ rev: v0.8.1
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/commitizen-tools/commitizen
- rev: v3.27.0
+ rev: v4.0.0
hooks:
- id: commitizen
- id: commitizen-branch
- stages: [push]
+ stages: [pre-push]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e7309f..0ce2a27 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,23 @@
+## v3.0.0 (2024-12-14)
+
+### Feat
+
+- **mlflow**: bump to 2.19.0
+- **manager**: switch from poetry to uv (#22)
+- **manager**: switch from poetry to uv
+
+### Fix
+
+- **tasks**: merge conflict
+- **tasks**: fix mlflow.serve task attribute
+- **github-actions**: run check on all PR
+
+### Refactor
+
+- **release**: prepare before release
+- **actions**: split check tasks into subtask for easier debugging (#29)
+- **code**: improve abstractions (#28)
+
## v2.0.0 (2024-07-28)
### Feat
diff --git a/Dockerfile b/Dockerfile
index 043fa81..2142f8a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# https://docs.docker.com/engine/reference/builder/
-FROM python:3.12
+FROM ghcr.io/astral-sh/uv:python3.12-bookworm
COPY dist/*.whl .
-RUN pip install *.whl
+RUN uv pip install --system *.whl
CMD ["bikes", "--help"]
diff --git a/LICENCE.txt b/LICENSE.txt
similarity index 96%
rename from LICENCE.txt
rename to LICENSE.txt
index bbab95b..0e77b64 100644
--- a/LICENCE.txt
+++ b/LICENSE.txt
@@ -1,5 +1,3 @@
-Copyright 2024 Médéric HURIER (Fmind)
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
diff --git a/README.md b/README.md
index 749e151..ea8821e 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ The package leverages several [tools](#tools) and [tips](#tips) to make your MLO
You can use this package as part of your MLOps toolkit or platform (e.g., Model Registry, Experiment Tracking, Realtime Inference, ...).
**Related Resources**:
+- **[LLMOps Coding Package (Example)](https://github.com/callmesora/llmops-python-package/)**: Example with best practices and tools to support your LLMOps projects.
- **[MLOps Coding Course (Learning)](https://github.com/MLOps-Courses/mlops-coding-course)**: Learn how to create, develop, and maintain a state-of-the-art MLOps code base.
- **[Cookiecutter MLOps Package (Template)](https://github.com/fmind/cookiecutter-mlops-package)**: Start building and deploying Python packages and Docker images for MLOps tasks.
@@ -69,7 +70,7 @@ You can use this package as part of your MLOps toolkit or platform (e.g., Model
- [Package](#package)
- [Evolution: Changelog](#evolution-changelog)
- [Format: Wheel](#format-wheel)
- - [Manager: Poetry](#manager-poetry)
+ - [Manager: uv](#manager-uv)
- [Runtime: Docker](#runtime-docker)
- [Programming](#programming)
- [Language: Python](#language-python)
@@ -119,7 +120,7 @@ This section details the requirements, actions, and next steps to kickstart your
## Prerequisites
- [Python>=3.12](https://www.python.org/downloads/): to benefit from [the latest features and performance improvements](https://docs.python.org/3/whatsnew/3.12.html)
-- [Poetry>=1.8.2](https://python-poetry.org/): to initialize the project [virtual environment](https://docs.python.org/3/library/venv.html) and its dependencies
+- [uv>=0.5.5](https://docs.astral.sh/uv/): to initialize the project [virtual environment](https://docs.python.org/3/library/venv.html) and its dependencies
## Installation
@@ -130,10 +131,10 @@ $ git clone git@github.com:fmind/mlops-python-package
# with https
$ git clone https://github.com/fmind/mlops-python-package
```
-2. [Run the project installation with poetry](https://python-poetry.org/docs/)
+2. [Run the project installation with uv](https://docs.astral.sh/uv/)
```bash
$ cd mlops-python-package/
-$ poetry install
+$ uv sync
```
3. Adapt the code base to your desire
@@ -171,26 +172,26 @@ This config file instructs the program to start a `TrainingJob` with 2 parameter
You can find all the parameters of your program in the `src/[package]/jobs/*.py` files.
-You can also print the full schema supported by this package using `poetry run bikes --schema`.
+You can also print the full schema supported by this package using `uv run bikes --schema`.
## Execution
-The project code can be executed with poetry during your development:
+The project code can be executed with uv during your development:
```bash
-$ poetry run [package] confs/tuning.yaml
-$ poetry run [package] confs/training.yaml
-$ poetry run [package] confs/promotion.yaml
-$ poetry run [package] confs/inference.yaml
-$ poetry run [package] confs/evaluations.yaml
-$ poetry run [package] confs/explanations.yaml
+$ uv run [package] confs/tuning.yaml
+$ uv run [package] confs/training.yaml
+$ uv run [package] confs/promotion.yaml
+$ uv run [package] confs/inference.yaml
+$ uv run [package] confs/evaluations.yaml
+$ uv run [package] confs/explanations.yaml
```
In production, you can build, ship, and run the project as a Python package:
```bash
-poetry build
-poetry publish # optional
+uv build
+uv publish # optional
python -m pip install [package]
[package] confs/inference.yaml
```
@@ -211,7 +212,7 @@ with job as runner:
- You can pass several config files in the command-line to merge them from left to right
- You can define common configurations shared between jobs (e.g., model params)
- The right job task will be selected automatically thanks to [Pydantic Discriminated Unions](https://docs.pydantic.dev/latest/concepts/unions/#discriminated-unions)
- - This is a great way to run any job supported by the application (training, tuning, ....
+ - This is a great way to run any job supported by the application (training, tuning, ...)
## Automation
@@ -233,7 +234,6 @@ $ inv --list
- **checks.code** - Check the codes with ruff.
- **checks.coverage** - Check the coverage with coverage.
- **checks.format** - Check the formats with ruff.
-- **checks.poetry** - Check poetry config files.
- **checks.security** - Check the security with bandit.
- **checks.test** - Check the tests with pytest.
- **checks.type** - Check the types with mypy.
@@ -247,15 +247,15 @@ $ inv --list
- **cleans.mlruns** - Clean the mlruns folder.
- **cleans.mypy** - Clean the mypy tool.
- **cleans.outputs** - Clean the outputs folder.
-- **cleans.poetry** - Clean poetry lock file.
-- **cleans.pytest** - Clean the pytest tool.
- **cleans.projects** - Run all projects tasks.
+- **cleans.pytest** - Clean the pytest tool.
- **cleans.python** - Clean python caches and bytecodes.
- **cleans.requirements** - Clean the project requirements file.
- **cleans.reset** - Run all tools, folders, and sources tasks.
- **cleans.ruff** - Clean the ruff tool.
- **cleans.sources** - Run all sources tasks.
- **cleans.tools** - Run all tools tasks.
+- **cleans.uv** - Clean uv lock file.
- **cleans.venv** - Clean the venv folder.
- **commits.all (commits)** - Run all commit tasks.
- **commits.bump** - Bump the version of the package.
@@ -272,8 +272,8 @@ $ inv --list
- **formats.imports** - Format python imports with ruff.
- **formats.sources** - Format python sources with ruff.
- **installs.all (installs)** - Run all install tasks.
-- **installs.poetry** - Install poetry packages.
- **installs.pre-commit** - Install pre-commit hooks on git.
+- **installs.uv** - Install uv packages.
- **mlflow.all (mlflow)** - Run all mlflow tasks.
- **mlflow.doctor** - Run mlflow doctor to diagnose issues.
- **mlflow.serve** - Start mlflow server with the given host, port, and backend uri.
@@ -684,17 +684,18 @@ Define and build modern Python package.
- [Source](https://docs.python.org/3/distutils/sourcedist.html): older format, less powerful
- [Conda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html): slow and hard to manage
-### Manager: [Poetry](https://python-poetry.org/)
+### Manager: [uv](https://docs.astral.sh/uv/)
- **Motivations**:
- Define and build Python package
- - Most popular solution by GitHub stars
+ - Fast and compliant package manager
- Pack every metadata in a single static file
- **Limitations**:
- Cannot add dependencies beyond Python (e.g., CUDA)
- i.e., use Docker container for this use case
- **Alternatives**:
- [Setuptools](https://docs.python.org/3/distutils/setupscript.html): dynamic file is slower and more risky
+ - [Poetry](https://python-poetry.org/): previous solution of this package
- Pdm, Hatch, PipEnv: https://xkcd.com/1987/
### Runtime: [Docker](https://www.docker.com/resources/what-container/)
@@ -937,10 +938,10 @@ Using Python package for your AI/ML project has the following benefits:
- Install Python package as a library (e.g., like pandas)
- Expose script entry points to run a CLI or a GUI
-To build a Python package with Poetry, you simply have to type in a terminal:
+To build a Python package with uv, you simply have to type in a terminal:
```bash
-# for all poetry project
-poetry build
+# for all uv project
+uv build
# for this project only
inv packages
```
@@ -1044,7 +1045,7 @@ Semantic Versioning (SemVer) provides a simple schema to communicate code change
- *Minor* (Y): minor release with new features (i.e., provide new capabilities)
- *Patch* (Z): patch release to fix bugs (i.e., correct wrong behavior)
-Poetry and this package leverage Semantic Versioning to let developers control the speed of adoption for new releases.
+Uv and this package leverage Semantic Versioning to let developers control the speed of adoption for new releases.
## [Testing Tricks](https://en.wikipedia.org/wiki/Software_testing)
diff --git a/data/inputs_test.parquet b/data/inputs_test.parquet
index 1e40787..4d43e97 100644
Binary files a/data/inputs_test.parquet and b/data/inputs_test.parquet differ
diff --git a/data/inputs_train.parquet b/data/inputs_train.parquet
index da347d9..99e8645 100644
Binary files a/data/inputs_train.parquet and b/data/inputs_train.parquet differ
diff --git a/data/targets_test.parquet b/data/targets_test.parquet
index 10c3c20..6151a14 100644
Binary files a/data/targets_test.parquet and b/data/targets_test.parquet differ
diff --git a/data/targets_train.parquet b/data/targets_train.parquet
index de9a2b9..4d741fe 100644
Binary files a/data/targets_train.parquet and b/data/targets_train.parquet differ
diff --git a/docker-compose.yml b/docker-compose.yml
index bab711d..dfdccb2 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,7 +2,7 @@
services:
mlflow:
- image: ghcr.io/mlflow/mlflow:v2.14.3
+ image: ghcr.io/mlflow/mlflow:v2.19.0
ports:
- 5000:5000
environment:
diff --git a/notebooks/explain.ipynb b/notebooks/explain.ipynb
index 69a6507..2bdb13d 100644
--- a/notebooks/explain.ipynb
+++ b/notebooks/explain.ipynb
@@ -29,9 +29,9 @@
}
],
"source": [
- "import shap\n",
"import pandas as pd\n",
- "import plotly.express as px"
+ "import plotly.express as px\n",
+ "import shap"
]
},
{
@@ -48,8 +48,8 @@
"outputs": [],
"source": [
"# note: you must run the explanations job first to generate the output\n",
- "MODELS_EXPLANATIONS = '../outputs/models_explanations.parquet'\n",
- "SAMPLES_EXPLANATIONS = '../outputs/samples_explanations.parquet'"
+ "MODELS_EXPLANATIONS = \"../outputs/models_explanations.parquet\"\n",
+ "SAMPLES_EXPLANATIONS = \"../outputs/samples_explanations.parquet\""
]
},
{
@@ -68,7 +68,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "(19, 2)\n"
+ "(20, 2)\n"
]
},
{
@@ -98,29 +98,29 @@
" \n",
"
\n",
" \n",
- " 18 \n",
- " numericals__casual \n",
- " 0.579146 \n",
- " \n",
- " \n",
- " 10 \n",
- " numericals__hr \n",
- " 0.250726 \n",
+ " 19 \n",
+ " numericals__registered \n",
+ " 0.939335 \n",
" \n",
" \n",
- " 13 \n",
- " numericals__workingday \n",
- " 0.078542 \n",
+ " 18 \n",
+ " numericals__casual \n",
+ " 0.060139 \n",
" \n",
" \n",
" 8 \n",
" numericals__yr \n",
- " 0.038600 \n",
+ " 0.000161 \n",
" \n",
" \n",
- " 9 \n",
- " numericals__mnth \n",
- " 0.012079 \n",
+ " 16 \n",
+ " numericals__hum \n",
+ " 0.000064 \n",
+ " \n",
+ " \n",
+ " 10 \n",
+ " numericals__hr \n",
+ " 0.000059 \n",
" \n",
" \n",
"\n",
@@ -128,11 +128,11 @@
],
"text/plain": [
" feature importance\n",
- "18 numericals__casual 0.579146\n",
- "10 numericals__hr 0.250726\n",
- "13 numericals__workingday 0.078542\n",
- "8 numericals__yr 0.038600\n",
- "9 numericals__mnth 0.012079"
+ "19 numericals__registered 0.939335\n",
+ "18 numericals__casual 0.060139\n",
+ "8 numericals__yr 0.000161\n",
+ "16 numericals__hum 0.000064\n",
+ "10 numericals__hr 0.000059"
]
},
"execution_count": 3,
@@ -157,7 +157,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "(100, 19)\n"
+ "(100, 20)\n"
]
},
{
@@ -200,118 +200,124 @@
" numericals__hum \n",
" numericals__windspeed \n",
" numericals__casual \n",
+ " numericals__registered \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
- " 0.169155 \n",
- " -0.124650 \n",
- " -0.203503 \n",
- " -0.758982 \n",
- " -1.474484 \n",
- " -1.076349 \n",
- " 0.801956 \n",
- " 0.000513 \n",
- " 31.495134 \n",
- " 2.905728 \n",
- " -74.036369 \n",
- " -0.019947 \n",
- " -7.118968 \n",
- " 18.640795 \n",
- " 2.613896 \n",
- " 1.898717 \n",
- " -1.322058 \n",
- " -0.210363 \n",
- " 147.338089 \n",
+ " 0.006652 \n",
+ " 0.027727 \n",
+ " 0.006341 \n",
+ " -0.004617 \n",
+ " 0.007796 \n",
+ " -0.002922 \n",
+ " 0.001006 \n",
+ " -5.551742e-07 \n",
+ " 0.079501 \n",
+ " -0.032553 \n",
+ " 0.019730 \n",
+ " -0.005449 \n",
+ " -0.091014 \n",
+ " -0.040552 \n",
+ " 0.024861 \n",
+ " 0.003903 \n",
+ " -0.012946 \n",
+ " 0.083744 \n",
+ " 25.231182 \n",
+ " 93.615906 \n",
" \n",
" \n",
" 1 \n",
- " 0.142295 \n",
- " -0.242301 \n",
- " -0.061819 \n",
- " -0.650959 \n",
- " -1.001739 \n",
- " -0.523719 \n",
- " 0.824141 \n",
- " 0.000501 \n",
- " 32.251492 \n",
- " 2.752874 \n",
- " -68.468292 \n",
- " -0.037579 \n",
- " -4.272335 \n",
- " 19.723166 \n",
- " 1.812452 \n",
- " 1.462143 \n",
- " 0.369532 \n",
- " 0.374412 \n",
- " 117.786423 \n",
+ " -0.000006 \n",
+ " 0.015149 \n",
+ " 0.013882 \n",
+ " -0.003549 \n",
+ " 0.009620 \n",
+ " 0.034864 \n",
+ " 0.004730 \n",
+ " -5.551742e-07 \n",
+ " 0.080114 \n",
+ " -0.001672 \n",
+ " 0.052958 \n",
+ " -0.005971 \n",
+ " 0.013171 \n",
+ " -0.020272 \n",
+ " 0.069661 \n",
+ " 0.010426 \n",
+ " 0.060713 \n",
+ " -0.055690 \n",
+ " 11.599885 \n",
+ " 79.890282 \n",
" \n",
" \n",
" 2 \n",
- " 0.168699 \n",
- " -0.173419 \n",
- " -0.054359 \n",
- " -0.723623 \n",
- " -1.554552 \n",
- " -1.033979 \n",
- " 0.762942 \n",
- " 0.000534 \n",
- " 32.245430 \n",
- " 3.195950 \n",
- " -82.515167 \n",
- " 0.009938 \n",
- " -2.856529 \n",
- " 19.824303 \n",
- " 1.498975 \n",
- " 2.046780 \n",
- " 1.559438 \n",
- " 2.603706 \n",
- " 127.694664 \n",
+ " 0.001510 \n",
+ " 0.008787 \n",
+ " -0.031662 \n",
+ " -0.005680 \n",
+ " 0.003407 \n",
+ " 0.007366 \n",
+ " 0.002644 \n",
+ " -5.384581e-07 \n",
+ " 0.075888 \n",
+ " -0.039858 \n",
+ " 0.066534 \n",
+ " -0.008654 \n",
+ " -0.043778 \n",
+ " -0.015179 \n",
+ " 0.120411 \n",
+ " 0.004957 \n",
+ " 0.042915 \n",
+ " -0.029475 \n",
+ " 17.027773 \n",
+ " 80.330391 \n",
" \n",
" \n",
" 3 \n",
- " 0.253636 \n",
- " -0.791483 \n",
- " -0.218226 \n",
- " -0.612611 \n",
- " 0.499581 \n",
- " 0.039798 \n",
- " 0.778988 \n",
- " 0.000518 \n",
- " 30.905354 \n",
- " 2.808645 \n",
- " -70.180222 \n",
- " 0.097680 \n",
- " -6.699857 \n",
- " 19.206472 \n",
- " 4.468694 \n",
- " 7.614378 \n",
- " -0.776883 \n",
- " 1.582501 \n",
- " 180.403839 \n",
+ " 0.002116 \n",
+ " 0.000101 \n",
+ " -0.030228 \n",
+ " -0.008386 \n",
+ " -0.001240 \n",
+ " -0.001726 \n",
+ " 0.001956 \n",
+ " -5.384581e-07 \n",
+ " 0.089552 \n",
+ " -0.000123 \n",
+ " 0.059446 \n",
+ " -0.009938 \n",
+ " 0.050032 \n",
+ " -0.025889 \n",
+ " -0.006929 \n",
+ " -0.059649 \n",
+ " -0.040841 \n",
+ " 0.017910 \n",
+ " 36.772224 \n",
+ " 106.574913 \n",
" \n",
" \n",
" 4 \n",
- " 0.130902 \n",
- " -0.788029 \n",
- " -0.395371 \n",
- " -0.614574 \n",
- " -1.558409 \n",
- " 0.111731 \n",
- " -3.927900 \n",
- " 0.000904 \n",
- " 47.191067 \n",
- " 6.631704 \n",
- " -4.315243 \n",
- " 0.029141 \n",
- " -0.157620 \n",
- " 29.401426 \n",
- " 4.704289 \n",
- " 4.135256 \n",
- " -3.774523 \n",
- " 0.583940 \n",
- " 202.349609 \n",
+ " 0.012335 \n",
+ " 0.003437 \n",
+ " 0.013386 \n",
+ " -0.027833 \n",
+ " 0.021164 \n",
+ " -0.005834 \n",
+ " -0.004372 \n",
+ " -6.086659e-07 \n",
+ " 0.018141 \n",
+ " 0.174302 \n",
+ " 0.120672 \n",
+ " -0.003116 \n",
+ " 0.040308 \n",
+ " -0.074956 \n",
+ " 0.069545 \n",
+ " 0.015809 \n",
+ " 0.074836 \n",
+ " -0.040882 \n",
+ " 38.722881 \n",
+ " 246.853470 \n",
" \n",
" \n",
"\n",
@@ -319,53 +325,60 @@
],
"text/plain": [
" categoricals__season_1 categoricals__season_2 categoricals__season_3 \\\n",
- "0 0.169155 -0.124650 -0.203503 \n",
- "1 0.142295 -0.242301 -0.061819 \n",
- "2 0.168699 -0.173419 -0.054359 \n",
- "3 0.253636 -0.791483 -0.218226 \n",
- "4 0.130902 -0.788029 -0.395371 \n",
+ "0 0.006652 0.027727 0.006341 \n",
+ "1 -0.000006 0.015149 0.013882 \n",
+ "2 0.001510 0.008787 -0.031662 \n",
+ "3 0.002116 0.000101 -0.030228 \n",
+ "4 0.012335 0.003437 0.013386 \n",
"\n",
" categoricals__season_4 categoricals__weathersit_1 \\\n",
- "0 -0.758982 -1.474484 \n",
- "1 -0.650959 -1.001739 \n",
- "2 -0.723623 -1.554552 \n",
- "3 -0.612611 0.499581 \n",
- "4 -0.614574 -1.558409 \n",
+ "0 -0.004617 0.007796 \n",
+ "1 -0.003549 0.009620 \n",
+ "2 -0.005680 0.003407 \n",
+ "3 -0.008386 -0.001240 \n",
+ "4 -0.027833 0.021164 \n",
"\n",
" categoricals__weathersit_2 categoricals__weathersit_3 \\\n",
- "0 -1.076349 0.801956 \n",
- "1 -0.523719 0.824141 \n",
- "2 -1.033979 0.762942 \n",
- "3 0.039798 0.778988 \n",
- "4 0.111731 -3.927900 \n",
+ "0 -0.002922 0.001006 \n",
+ "1 0.034864 0.004730 \n",
+ "2 0.007366 0.002644 \n",
+ "3 -0.001726 0.001956 \n",
+ "4 -0.005834 -0.004372 \n",
"\n",
" categoricals__weathersit_4 numericals__yr numericals__mnth \\\n",
- "0 0.000513 31.495134 2.905728 \n",
- "1 0.000501 32.251492 2.752874 \n",
- "2 0.000534 32.245430 3.195950 \n",
- "3 0.000518 30.905354 2.808645 \n",
- "4 0.000904 47.191067 6.631704 \n",
+ "0 -5.551742e-07 0.079501 -0.032553 \n",
+ "1 -5.551742e-07 0.080114 -0.001672 \n",
+ "2 -5.384581e-07 0.075888 -0.039858 \n",
+ "3 -5.384581e-07 0.089552 -0.000123 \n",
+ "4 -6.086659e-07 0.018141 0.174302 \n",
"\n",
" numericals__hr numericals__holiday numericals__weekday \\\n",
- "0 -74.036369 -0.019947 -7.118968 \n",
- "1 -68.468292 -0.037579 -4.272335 \n",
- "2 -82.515167 0.009938 -2.856529 \n",
- "3 -70.180222 0.097680 -6.699857 \n",
- "4 -4.315243 0.029141 -0.157620 \n",
+ "0 0.019730 -0.005449 -0.091014 \n",
+ "1 0.052958 -0.005971 0.013171 \n",
+ "2 0.066534 -0.008654 -0.043778 \n",
+ "3 0.059446 -0.009938 0.050032 \n",
+ "4 0.120672 -0.003116 0.040308 \n",
"\n",
" numericals__workingday numericals__temp numericals__atemp \\\n",
- "0 18.640795 2.613896 1.898717 \n",
- "1 19.723166 1.812452 1.462143 \n",
- "2 19.824303 1.498975 2.046780 \n",
- "3 19.206472 4.468694 7.614378 \n",
- "4 29.401426 4.704289 4.135256 \n",
+ "0 -0.040552 0.024861 0.003903 \n",
+ "1 -0.020272 0.069661 0.010426 \n",
+ "2 -0.015179 0.120411 0.004957 \n",
+ "3 -0.025889 -0.006929 -0.059649 \n",
+ "4 -0.074956 0.069545 0.015809 \n",
+ "\n",
+ " numericals__hum numericals__windspeed numericals__casual \\\n",
+ "0 -0.012946 0.083744 25.231182 \n",
+ "1 0.060713 -0.055690 11.599885 \n",
+ "2 0.042915 -0.029475 17.027773 \n",
+ "3 -0.040841 0.017910 36.772224 \n",
+ "4 0.074836 -0.040882 38.722881 \n",
"\n",
- " numericals__hum numericals__windspeed numericals__casual \n",
- "0 -1.322058 -0.210363 147.338089 \n",
- "1 0.369532 0.374412 117.786423 \n",
- "2 1.559438 2.603706 127.694664 \n",
- "3 -0.776883 1.582501 180.403839 \n",
- "4 -3.774523 0.583940 202.349609 "
+ " numericals__registered \n",
+ "0 93.615906 \n",
+ "1 79.890282 \n",
+ "2 80.330391 \n",
+ "3 106.574913 \n",
+ "4 246.853470 "
]
},
"execution_count": 4,
@@ -384,102 +397,122 @@
"execution_count": 5,
"metadata": {},
"outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Features: ['categoricals__season_1', 'categoricals__season_2', 'categoricals__season_3', 'categoricals__season_4', 'categoricals__weathersit_1', 'categoricals__weathersit_2', 'categoricals__weathersit_3', 'categoricals__weathersit_4', 'numericals__yr', 'numericals__mnth', 'numericals__hr', 'numericals__holiday', 'numericals__weekday', 'numericals__workingday', 'numericals__temp', 'numericals__atemp', 'numericals__hum', 'numericals__windspeed', 'numericals__casual', 'numericals__registered']\n"
+ ]
+ },
{
"data": {
"text/plain": [
".values =\n",
" categoricals__season_1 categoricals__season_2 categoricals__season_3 \\\n",
- "0 0.169155 -0.124650 -0.203503 \n",
- "1 0.142295 -0.242301 -0.061819 \n",
- "2 0.168699 -0.173419 -0.054359 \n",
- "3 0.253636 -0.791483 -0.218226 \n",
- "4 0.130902 -0.788029 -0.395371 \n",
+ "0 0.006652 0.027727 0.006341 \n",
+ "1 -0.000006 0.015149 0.013882 \n",
+ "2 0.001510 0.008787 -0.031662 \n",
+ "3 0.002116 0.000101 -0.030228 \n",
+ "4 0.012335 0.003437 0.013386 \n",
".. ... ... ... \n",
- "95 0.032898 0.004389 -0.022684 \n",
- "96 -0.039833 -0.035329 -0.022280 \n",
- "97 -0.029910 -0.054200 -0.015400 \n",
- "98 0.002795 -0.055408 -0.033671 \n",
- "99 0.001024 -0.061020 -0.034896 \n",
+ "95 0.023137 0.013332 -0.107473 \n",
+ "96 0.004738 -0.013562 -0.005693 \n",
+ "97 -0.019759 0.010218 -0.009712 \n",
+ "98 0.003229 -0.000393 -0.161296 \n",
+ "99 -0.002694 -0.024382 -0.013047 \n",
"\n",
" categoricals__season_4 categoricals__weathersit_1 \\\n",
- "0 -0.758982 -1.474484 \n",
- "1 -0.650959 -1.001739 \n",
- "2 -0.723623 -1.554552 \n",
- "3 -0.612611 0.499581 \n",
- "4 -0.614574 -1.558409 \n",
+ "0 -0.004617 0.007796 \n",
+ "1 -0.003549 0.009620 \n",
+ "2 -0.005680 0.003407 \n",
+ "3 -0.008386 -0.001240 \n",
+ "4 -0.027833 0.021164 \n",
".. ... ... \n",
- "95 -0.615178 0.264237 \n",
- "96 -0.627357 0.463110 \n",
- "97 -0.607787 0.455338 \n",
- "98 -0.623416 0.560994 \n",
- "99 -0.625861 0.542756 \n",
+ "95 -0.000028 0.015664 \n",
+ "96 0.006259 0.040204 \n",
+ "97 -0.002168 0.050850 \n",
+ "98 0.001767 0.032412 \n",
+ "99 -0.000830 0.073416 \n",
"\n",
" categoricals__weathersit_2 categoricals__weathersit_3 \\\n",
- "0 -1.076349 0.801956 \n",
- "1 -0.523719 0.824141 \n",
- "2 -1.033979 0.762942 \n",
- "3 0.039798 0.778988 \n",
- "4 0.111731 -3.927900 \n",
+ "0 -0.002922 0.001006 \n",
+ "1 0.034864 0.004730 \n",
+ "2 0.007366 0.002644 \n",
+ "3 -0.001726 0.001956 \n",
+ "4 -0.005834 -0.004372 \n",
".. ... ... \n",
- "95 -0.054727 0.568837 \n",
- "96 -0.015223 0.565861 \n",
- "97 0.003094 0.551169 \n",
- "98 0.020387 0.537736 \n",
- "99 0.013132 0.532625 \n",
+ "95 0.042348 0.001443 \n",
+ "96 0.015874 0.000851 \n",
+ "97 0.016159 0.000913 \n",
+ "98 0.004988 0.001736 \n",
+ "99 0.008803 0.005390 \n",
"\n",
" categoricals__weathersit_4 numericals__yr numericals__mnth \\\n",
- "0 0.000513 31.495134 2.905728 \n",
- "1 0.000501 32.251492 2.752874 \n",
- "2 0.000534 32.245430 3.195950 \n",
- "3 0.000518 30.905354 2.808645 \n",
- "4 0.000904 47.191067 6.631704 \n",
+ "0 -5.551742e-07 0.079501 -0.032553 \n",
+ "1 -5.551742e-07 0.080114 -0.001672 \n",
+ "2 -5.384581e-07 0.075888 -0.039858 \n",
+ "3 -5.384581e-07 0.089552 -0.000123 \n",
+ "4 -6.086659e-07 0.018141 0.174302 \n",
".. ... ... ... \n",
- "95 0.000399 40.124039 6.724072 \n",
- "96 0.000403 35.804981 20.436369 \n",
- "97 0.000411 32.999043 26.067795 \n",
- "98 0.000392 32.314198 23.293106 \n",
- "99 0.000388 32.588284 24.576950 \n",
+ "95 -5.602442e-07 1.145752 0.013935 \n",
+ "96 -5.903332e-07 0.702181 -0.239828 \n",
+ "97 -5.234687e-07 0.233502 0.053566 \n",
+ "98 -5.234687e-07 1.738129 -0.242034 \n",
+ "99 -5.903332e-07 2.091767 -0.134973 \n",
"\n",
" numericals__hr numericals__holiday numericals__weekday \\\n",
- "0 -74.036369 -0.019947 -7.118968 \n",
- "1 -68.468292 -0.037579 -4.272335 \n",
- "2 -82.515167 0.009938 -2.856529 \n",
- "3 -70.180222 0.097680 -6.699857 \n",
- "4 -4.315243 0.029141 -0.157620 \n",
+ "0 0.019730 -0.005449 -0.091014 \n",
+ "1 0.052958 -0.005971 0.013171 \n",
+ "2 0.066534 -0.008654 -0.043778 \n",
+ "3 0.059446 -0.009938 0.050032 \n",
+ "4 0.120672 -0.003116 0.040308 \n",
".. ... ... ... \n",
- "95 -3.901324 0.138933 0.979801 \n",
- "96 4.877304 -0.027108 2.595324 \n",
- "97 5.580533 -0.012089 2.779204 \n",
- "98 1.114409 0.254242 2.357220 \n",
- "99 1.200160 0.254306 2.411582 \n",
+ "95 0.233593 -0.001234 0.026021 \n",
+ "96 -0.003729 -0.001246 0.083014 \n",
+ "97 0.239605 -0.001948 0.132541 \n",
+ "98 0.097312 0.015623 0.146109 \n",
+ "99 0.258849 -0.001218 0.013697 \n",
"\n",
" numericals__workingday numericals__temp numericals__atemp \\\n",
- "0 18.640795 2.613896 1.898717 \n",
- "1 19.723166 1.812452 1.462143 \n",
- "2 19.824303 1.498975 2.046780 \n",
- "3 19.206472 4.468694 7.614378 \n",
- "4 29.401426 4.704289 4.135256 \n",
+ "0 -0.040552 0.024861 0.003903 \n",
+ "1 -0.020272 0.069661 0.010426 \n",
+ "2 -0.015179 0.120411 0.004957 \n",
+ "3 -0.025889 -0.006929 -0.059649 \n",
+ "4 -0.074956 0.069545 0.015809 \n",
".. ... ... ... \n",
- "95 -21.420794 -1.613000 -4.774735 \n",
- "96 -20.015820 -0.422287 -6.170654 \n",
- "97 -19.195932 -3.357377 -8.327322 \n",
- "98 -18.854221 -0.914422 -15.955507 \n",
- "99 -19.075937 -1.693157 -12.839770 \n",
+ "95 0.033179 0.099047 0.023928 \n",
+ "96 0.006335 -0.164110 -0.198730 \n",
+ "97 0.047977 -0.179421 -0.228707 \n",
+ "98 0.029174 0.148351 0.050507 \n",
+ "99 0.039286 0.102756 0.067073 \n",
"\n",
- " numericals__hum numericals__windspeed numericals__casual \n",
- "0 -1.322058 -0.210363 147.338089 \n",
- "1 0.369532 0.374412 117.786423 \n",
- "2 1.559438 2.603706 127.694664 \n",
- "3 -0.776883 1.582501 180.403839 \n",
- "4 -3.774523 0.583940 202.349609 \n",
- ".. ... ... ... \n",
- "95 -2.793116 1.410505 319.295746 \n",
- "96 -1.366720 -0.086119 363.113678 \n",
- "97 1.297852 0.499207 374.674683 \n",
- "98 1.504436 -0.023106 381.828125 \n",
- "99 3.381457 -0.181553 378.957825 \n",
+ " numericals__hum numericals__windspeed numericals__casual \\\n",
+ "0 -0.012946 0.083744 25.231182 \n",
+ "1 0.060713 -0.055690 11.599885 \n",
+ "2 0.042915 -0.029475 17.027773 \n",
+ "3 -0.040841 0.017910 36.772224 \n",
+ "4 0.074836 -0.040882 38.722881 \n",
+ ".. ... ... ... \n",
+ "95 0.094390 0.061557 118.444702 \n",
+ "96 -0.431589 0.055392 125.518913 \n",
+ "97 -0.302664 -0.151566 136.479645 \n",
+ "98 -0.501217 0.015435 146.480164 \n",
+ "99 -0.028538 0.062194 143.070084 \n",
"\n",
- "[100 rows x 19 columns]"
+ " numericals__registered \n",
+ "0 93.615906 \n",
+ "1 79.890282 \n",
+ "2 80.330391 \n",
+ "3 106.574913 \n",
+ "4 246.853470 \n",
+ ".. ... \n",
+ "95 216.020004 \n",
+ "96 256.033020 \n",
+ "97 273.089264 \n",
+ "98 224.673309 \n",
+ "99 245.905670 \n",
+ "\n",
+ "[100 rows x 20 columns]"
]
},
"execution_count": 5,
@@ -488,8 +521,10 @@
}
],
"source": [
- "shap_values = shap.Explanation(samples_explanations, feature_names=samples_explanations.columns.to_list())\n",
- "shap_values.feature_names\n",
+ "shap_values = shap.Explanation(\n",
+ " samples_explanations, feature_names=samples_explanations.columns.to_list()\n",
+ ")\n",
+ "print(\"Features:\", shap_values.feature_names)\n",
"shap_values"
]
},
@@ -536,47 +571,49 @@
"textposition": "auto",
"type": "bar",
"x": [
+ "numericals__registered",
"numericals__casual",
- "numericals__hr",
- "numericals__workingday",
"numericals__yr",
- "numericals__mnth",
"numericals__hum",
- "numericals__atemp",
+ "numericals__hr",
+ "numericals__windspeed",
"numericals__temp",
+ "numericals__atemp",
+ "numericals__mnth",
"numericals__weekday",
- "numericals__windspeed",
- "categoricals__weathersit_3",
- "categoricals__season_4",
- "categoricals__season_1",
- "numericals__holiday",
- "categoricals__weathersit_1",
"categoricals__weathersit_2",
+ "categoricals__weathersit_1",
"categoricals__season_2",
"categoricals__season_3",
+ "numericals__workingday",
+ "categoricals__season_1",
+ "categoricals__season_4",
+ "numericals__holiday",
+ "categoricals__weathersit_3",
"categoricals__weathersit_4"
],
"xaxis": "x",
"y": [
- 0.5791462063789368,
- 0.2507259249687195,
- 0.0785420835018158,
- 0.038599804043769836,
- 0.0120792705565691,
- 0.008070561103522778,
- 0.006674219388514757,
- 0.006322493776679039,
- 0.00494948448613286,
- 0.004703037440776825,
- 0.0028446626383811235,
- 0.002690249355509877,
- 0.0013275929959490895,
- 0.0011345595121383667,
- 0.0009102495387196541,
- 0.0005809680442325771,
- 0.0005128193879500031,
- 0.00018277487833984196,
- 0.0000030518597213813337
+ 0.939335286617279,
+ 0.06013893708586693,
+ 0.00016115649486891925,
+ 0.00006372830830514431,
+ 0.000059160523960599676,
+ 0.000047698642447358,
+ 0.00004084747706656344,
+ 0.00003856617695419118,
+ 0.000034207892895210534,
+ 0.000027639429390546866,
+ 0.000021623562133754604,
+ 0.000008339592568518128,
+ 0.0000059107342167408206,
+ 0.000005159051852388075,
+ 0.000004351996267359937,
+ 0.000003020162239408819,
+ 0.0000021705050130549353,
+ 0.000001173117652797373,
+ 0.0000010395727940704091,
+ 1.8287782399539765e-10
],
"yaxis": "y"
}
@@ -1433,7 +1470,7 @@
}
],
"source": [
- "px.bar(models_explanations, x='feature', y='importance', title='Feature Importances')"
+ "px.bar(models_explanations, x=\"feature\", y=\"importance\", title=\"Feature Importances\")"
]
},
{
@@ -1479,7 +1516,8 @@
"numericals__atemp",
"numericals__hum",
"numericals__windspeed",
- "numericals__casual"
+ "numericals__casual",
+ "numericals__registered"
],
"xaxis": "x",
"y": [
@@ -1587,2104 +1625,2204 @@
"yaxis": "y",
"z": [
[
- 0.169154554605484,
- -0.12465005367994308,
- -0.20350304245948792,
- -0.7589821815490723,
- -1.4744840860366821,
- -1.0763494968414307,
- 0.8019556403160095,
- 0.0005125635070726275,
- 31.495134353637695,
- 2.905728340148926,
- -74.03636932373047,
- -0.01994742453098297,
- -7.118968486785889,
- 18.64079475402832,
- 2.613896131515503,
- 1.898716688156128,
- -1.322058081626892,
- -0.21036271750926971,
- 147.3380889892578
+ 0.006651927717030048,
+ 0.027727307751774788,
+ 0.006340912077575922,
+ -0.004616885911673307,
+ 0.007796195801347494,
+ -0.0029222434386610985,
+ 0.0010060640051960945,
+ -5.551742106035817e-7,
+ 0.07950128614902496,
+ -0.03255324438214302,
+ 0.019729897379875183,
+ -0.005449031479656696,
+ -0.09101399779319763,
+ -0.04055198282003403,
+ 0.024861138314008713,
+ 0.003903420874848962,
+ -0.01294585969299078,
+ 0.08374375104904175,
+ 25.231182098388672,
+ 93.61590576171875
],
[
- 0.14229492843151093,
- -0.24230052530765533,
- -0.06181931495666504,
- -0.6509594321250916,
- -1.0017391443252563,
- -0.523719310760498,
- 0.8241411447525024,
- 0.0005005813436582685,
- 32.25149154663086,
- 2.7528738975524902,
- -68.46829223632812,
- -0.037578750401735306,
- -4.272334575653076,
- 19.72316551208496,
- 1.8124518394470215,
- 1.4621434211730957,
- 0.3695316016674042,
- 0.37441232800483704,
- 117.78642272949219
+ -0.000005508778485818766,
+ 0.015149489045143127,
+ 0.013882013969123363,
+ -0.0035485560074448586,
+ 0.009620439261198044,
+ 0.03486402705311775,
+ 0.00472987350076437,
+ -5.551742106035817e-7,
+ 0.08011361956596375,
+ -0.0016723755979910493,
+ 0.05295836552977562,
+ -0.00597083056345582,
+ 0.013171305879950523,
+ -0.020272132009267807,
+ 0.06966143101453781,
+ 0.010425924323499203,
+ 0.06071314588189125,
+ -0.055689744651317596,
+ 11.599884986877441,
+ 79.8902816772461
],
[
- 0.16869859397411346,
- -0.17341940104961395,
- -0.054359059780836105,
- -0.7236232757568359,
- -1.5545519590377808,
- -1.0339789390563965,
- 0.762941837310791,
- 0.0005341940559446812,
- 32.24542999267578,
- 3.1959495544433594,
- -82.51516723632812,
- 0.009938172064721584,
- -2.8565289974212646,
- 19.824302673339844,
- 1.4989748001098633,
- 2.0467801094055176,
- 1.55943763256073,
- 2.603705883026123,
- 127.69466400146484
+ 0.0015104314079508185,
+ 0.008786758407950401,
+ -0.03166200965642929,
+ -0.00567967165261507,
+ 0.003407492069527507,
+ 0.007365649100393057,
+ 0.002644443651661277,
+ -5.384580958889273e-7,
+ 0.07588770985603333,
+ -0.03985791280865669,
+ 0.06653440743684769,
+ -0.008654243312776089,
+ -0.04377765581011772,
+ -0.015179304406046867,
+ 0.12041128426790237,
+ 0.0049573155120015144,
+ 0.042915187776088715,
+ -0.029475096613168716,
+ 17.027772903442383,
+ 80.33039093017578
],
[
- 0.25363633036613464,
- -0.7914834022521973,
- -0.2182263433933258,
- -0.6126111149787903,
- 0.4995812475681305,
- 0.03979773819446564,
- 0.7789877653121948,
- 0.0005178267601877451,
- 30.905353546142578,
- 2.808645009994507,
- -70.18022155761719,
- 0.09768002480268478,
- -6.699856758117676,
- 19.206472396850586,
- 4.46869421005249,
- 7.614377975463867,
- -0.7768831253051758,
- 1.5825011730194092,
- 180.40383911132812
+ 0.0021160715259611607,
+ 0.00010051442950498313,
+ -0.03022756800055504,
+ -0.008386158384382725,
+ -0.0012403222499415278,
+ -0.001726397080346942,
+ 0.001956117106601596,
+ -5.384580958889273e-7,
+ 0.08955230563879013,
+ -0.00012346371659077704,
+ 0.05944574624300003,
+ -0.00993797555565834,
+ 0.05003214627504349,
+ -0.025889070704579353,
+ -0.00692921644076705,
+ -0.059649284929037094,
+ -0.04084114730358124,
+ 0.01790992170572281,
+ 36.77222442626953,
+ 106.57491302490234
],
[
- 0.13090188801288605,
- -0.7880292534828186,
- -0.3953709006309509,
- -0.6145736575126648,
- -1.5584088563919067,
- 0.11173088103532791,
- -3.9278995990753174,
- 0.0009037204436026514,
- 47.19106674194336,
- 6.631704330444336,
- -4.315243244171143,
- 0.029140517115592957,
- -0.1576196849346161,
- 29.401426315307617,
- 4.704289436340332,
- 4.135255813598633,
- -3.7745230197906494,
- 0.583940327167511,
- 202.349609375
+ 0.012334555387496948,
+ 0.0034372410736978054,
+ 0.013385637663304806,
+ -0.027833398431539536,
+ 0.021164117380976677,
+ -0.005833676550537348,
+ -0.004372060764580965,
+ -6.086659141146811e-7,
+ 0.018141459673643112,
+ 0.17430205643177032,
+ 0.12067165970802307,
+ -0.0031163603998720646,
+ 0.040307920426130295,
+ -0.07495581358671188,
+ 0.0695449560880661,
+ 0.0158088356256485,
+ 0.07483598589897156,
+ -0.040882423520088196,
+ 38.72288131713867,
+ 246.8534698486328
],
[
- 0.09980977326631546,
- -0.1289137452840805,
- 0.04262050241231918,
- -1.0114322900772095,
- -1.5444451570510864,
- -0.3063795566558838,
- 1.2926396131515503,
- 0.007032076362520456,
- 77.94355010986328,
- 5.943662643432617,
- 176.00094604492188,
- 0.0029676654376089573,
- 4.077856063842773,
- 77.48359680175781,
- 2.1760151386260986,
- -4.81910514831543,
- -3.676065444946289,
- 0.42632120847702026,
- 252.67762756347656
+ 0.001423245994374156,
+ -0.023805150762200356,
+ -0.0017604439053684473,
+ -0.0032613121438771486,
+ 2.322108030319214,
+ 9.371479988098145,
+ 0.002707292325794697,
+ -5.551742106035817e-7,
+ 0.030152510851621628,
+ -0.22498054802417755,
+ 1.348039984703064,
+ -0.0029431453440338373,
+ -0.20665644109249115,
+ -0.009681344032287598,
+ -0.2660611867904663,
+ 0.05648881942033768,
+ -2.369138717651367,
+ 0.2110820710659027,
+ 40.40130615234375,
+ 653.5117797851562
],
[
- 0.17066802084445953,
- -0.2959515154361725,
- -0.11001028120517731,
- -1.0064359903335571,
- -1.6547470092773438,
- -0.7146743535995483,
- 1.3593095541000366,
- 0.006959938909858465,
- 67.61687469482422,
- 7.270330429077148,
- 177.5045623779297,
- -0.15282031893730164,
- 6.387446403503418,
- 96.7355728149414,
- 2.823650360107422,
- -3.538238763809204,
- -3.534722089767456,
- 1.1455564498901367,
- 236.20997619628906
+ 0.0010418965248391032,
+ -0.012846914120018482,
+ 0.00026803204673342407,
+ -0.003396972781047225,
+ 2.951350450515747,
+ 11.435035705566406,
+ 0.014215871691703796,
+ -5.551742106035817e-7,
+ 0.027390284463763237,
+ -0.3635384142398834,
+ 0.7165672183036804,
+ -0.0036144033074378967,
+ -0.20825642347335815,
+ -0.014535687863826752,
+ 0.4040703773498535,
+ 0.15121860802173615,
+ -2.0535378456115723,
+ 0.40650585293769836,
+ 27.834957122802734,
+ 634.140380859375
],
[
- 0.21100318431854248,
- -0.5323825478553772,
- -0.11136386543512344,
- -0.7844051122665405,
- -3.295231342315674,
- -4.226391315460205,
- 1.0265041589736938,
- 0.006217549089342356,
- 52.71641540527344,
- 5.100271701812744,
- 64.47308349609375,
- -0.13248220086097717,
- 6.663832187652588,
- 58.35783386230469,
- 3.418996572494507,
- 2.1445350646972656,
- -2.514310836791992,
- 1.3115136623382568,
- 195.78465270996094
+ 0.011715793050825596,
+ 0.003498691599816084,
+ 0.01716129295527935,
+ 0.004922044463455677,
+ -0.11751722544431686,
+ -0.007312047760933638,
+ 0.004228171892464161,
+ -5.384580958889273e-7,
+ -0.014053408987820148,
+ -0.009733003564178944,
+ -0.3451545536518097,
+ -0.003562246449291706,
+ 0.00381058850325644,
+ -0.0142894946038723,
+ 0.14947956800460815,
+ -0.007123587653040886,
+ -0.06559731066226959,
+ 0.08480101823806763,
+ 38.38937759399414,
+ 393.67364501953125
],
[
- 0.15828295052051544,
- -0.10273899137973785,
- -0.23303288221359253,
- -0.7537844181060791,
- -1.0537359714508057,
- -0.3776755928993225,
- 0.923829197883606,
- 0.0001359017041977495,
- 39.298519134521484,
- 1.023025631904602,
- -0.3841829001903534,
- -0.09258145093917847,
- 3.8694167137145996,
- 46.602294921875,
- 3.19360613822937,
- 3.103475332260132,
- -3.797464370727539,
- -1.9199837446212769,
- 138.60589599609375
+ 0.007220177445560694,
+ 0.0215398408472538,
+ 0.0016394491540268064,
+ 0.0030258353799581528,
+ 0.06396777927875519,
+ 0.029478909447789192,
+ -0.011835450306534767,
+ -5.551742106035817e-7,
+ -0.052763741463422775,
+ 0.10569187998771667,
+ -0.11298134922981262,
+ -0.0036906185559928417,
+ -0.12399685382843018,
+ -0.04884563386440277,
+ 0.12146088480949402,
+ 0.10700148344039917,
+ -0.08078912645578384,
+ 0.029259132221341133,
+ 17.277523040771484,
+ 268.6304016113281
],
[
- 0.15737031400203705,
- 0.0520184300839901,
- -0.4065300226211548,
- -0.6695138812065125,
- -0.9999762773513794,
- -0.3622300326824188,
- 0.7322946190834045,
- 0.0005345836980268359,
- 41.25462341308594,
- 0.020151332020759583,
- -39.13706970214844,
- -0.08169162273406982,
- 4.318027496337891,
- 40.69746780395508,
- 2.7966856956481934,
- 2.3097407817840576,
- -4.547541618347168,
- -1.7421387434005737,
- 140.1410675048828
+ -0.001569658750668168,
+ 0.0036461090203374624,
+ -0.01135318260639906,
+ -0.000772456347476691,
+ -0.004854164086282253,
+ 0.018403340131044388,
+ -0.0022952479775995016,
+ -5.232615762906789e-7,
+ 0.05307045578956604,
+ -0.003736469428986311,
+ -0.025117889046669006,
+ 0.005081627052277327,
+ -0.035275302827358246,
+ -0.015301229432225227,
+ 0.03121856227517128,
+ 0.0745277926325798,
+ -0.056133806705474854,
+ -0.042364202439785004,
+ 12.01944637298584,
+ 140.9316864013672
],
[
- 0.2103569209575653,
- -0.6580501794815063,
- -0.018581287935376167,
- -0.5772673487663269,
- 0.5382667779922485,
- 0.07692182064056396,
- 0.7319211959838867,
- 0.0004881093336734921,
- 36.82917022705078,
- 2.3916404247283936,
- -56.327823638916016,
- -0.10369519889354706,
- -3.7037088871002197,
- 17.519577026367188,
- 3.3487110137939453,
- 4.850150108337402,
- -1.7671900987625122,
- 0.2815130054950714,
- 62.255897521972656
+ 0.0001924146490637213,
+ 0.04092865809798241,
+ -0.0015011084033176303,
+ -0.0033650179393589497,
+ -0.0006705141859129071,
+ 0.006108311004936695,
+ 0.00045175253762863576,
+ -5.232615762906789e-7,
+ 0.08092037588357925,
+ 0.007637431379407644,
+ -0.05110520124435425,
+ -0.0013185016578063369,
+ -0.020542727783322334,
+ 0.0018261007498949766,
+ 0.035800348967313766,
+ -0.015426475554704666,
+ -0.022554943338036537,
+ 0.03824063017964363,
+ -10.589357376098633,
+ 71.0620346069336
],
[
- 0.23457731306552887,
- -0.3182263970375061,
- -0.03401074558496475,
- -0.5962135195732117,
- 0.6905218958854675,
- 0.0343155562877655,
- 0.6870012283325195,
- 0.0006443400052376091,
- 21.72657585144043,
- 2.088026762008667,
- -64.06810760498047,
- -0.028121035546064377,
- -2.425230026245117,
- 10.60973072052002,
- 1.6931196451187134,
- 1.4571316242218018,
- -2.226402521133423,
- 0.7569981217384338,
- -37.61403274536133
+ 0.003995981998741627,
+ 0.0006536968285217881,
+ 0.005731872282922268,
+ -0.0013177760411053896,
+ 0.0039686947129666805,
+ 0.000600155268330127,
+ 0.0003653279854916036,
+ -5.232615762906789e-7,
+ 0.028297729790210724,
+ 0.010578276589512825,
+ 0.04005580022931099,
+ -0.0003057414141949266,
+ -0.037189945578575134,
+ -0.0021838219836354256,
+ 0.019763674587011337,
+ 0.03748919442296028,
+ 0.024632716551423073,
+ 0.05713146924972534,
+ -12.713790893554688,
+ -11.780177116394043
],
[
- 0.1959066241979599,
- -0.18706031143665314,
- -0.02977874130010605,
- -0.5241200923919678,
- 0.7009141445159912,
- 0.07782352715730667,
- 0.6562888622283936,
- 0.0007873308495618403,
- 18.619783401489258,
- 1.6802222728729248,
- -87.85552978515625,
- 0.008099825121462345,
- -2.5846824645996094,
- 2.4992663860321045,
- 1.3333842754364014,
- 1.8203318119049072,
- -3.4116618633270264,
- 0.13050484657287598,
- -54.8721809387207
+ 0.0007210383773781359,
+ 0.0036300288047641516,
+ 0.0031402234453707933,
+ -0.006010253448039293,
+ -0.0015569813549518585,
+ -0.005153910256922245,
+ -0.0003303317353129387,
+ -6.387549547071103e-7,
+ 0.0020087563898414373,
+ 0.04483729600906372,
+ 0.0020666068885475397,
+ -0.0010454640723764896,
+ -0.009915451519191265,
+ 0.0017118079122155905,
+ 0.03720792382955551,
+ 0.02716696262359619,
+ -0.023839706555008888,
+ -0.007197789382189512,
+ -8.53911304473877,
+ -96.36003112792969
],
[
- 0.22012750804424286,
- -0.1243598610162735,
- 0.04713971167802811,
- -0.4951706528663635,
- 0.5279565453529358,
- 0.006826077122241259,
- 1.2234665155410767,
- 0.0020947991870343685,
- 16.840295791625977,
- 1.5345487594604492,
- -78.14442443847656,
- 0.06610047072172165,
- -0.40369319915771484,
- 6.414614200592041,
- 1.874184489250183,
- 1.5743393898010254,
- -1.5664819478988647,
- 0.8207980394363403,
- -93.91680145263672
+ 0.0019598952494561672,
+ -0.00007570861635031179,
+ -0.00884841289371252,
+ -0.00023431282897945493,
+ 0.00014444779662881047,
+ -0.0015234807506203651,
+ 0.00046563331852667034,
+ -0.00000278572633760632,
+ 0.027526993304491043,
+ 0.007481624837964773,
+ -0.006813213229179382,
+ 0.0014300434850156307,
+ -0.02230777032673359,
+ 0.0006117512239143252,
+ 0.025103237479925156,
+ 0.01750626228749752,
+ -0.016068970784544945,
+ 0.002960961777716875,
+ -14.311731338500977,
+ -125.42428588867188
],
[
- 0.23642316460609436,
- -0.07295327633619308,
- 0.02021026983857155,
- -0.46774348616600037,
- 0.5260272026062012,
- -0.0433531254529953,
- 1.3350751399993896,
- 0.0008117177058011293,
- 16.031938552856445,
- 1.671962857246399,
- -78.07720947265625,
- 0.022589685395359993,
- -0.31112754344940186,
- 7.640243053436279,
- 1.160016655921936,
- 1.7891626358032227,
- -2.236783981323242,
- 0.45728132128715515,
- -104.49085235595703
+ 0.0017088694730773568,
+ 0.00015139536117203534,
+ 0.0020067566074430943,
+ 0.00004777113281306811,
+ -0.00038464966928586364,
+ -0.0017217871500179172,
+ 0.000292366516077891,
+ -0.0000018034877484751632,
+ 0.027422193437814713,
+ 0.007868070155382156,
+ -0.007023367565125227,
+ -0.00004148716834606603,
+ -0.005028950981795788,
+ -0.0002758684568107128,
+ 0.029125582426786423,
+ 0.030005553737282753,
+ -0.0170501247048378,
+ -0.0033129926305264235,
+ -14.520783424377441,
+ -142.10971069335938
],
[
- 0.24079622328281403,
- -0.04550537094473839,
- 0.10600541532039642,
- -0.4731599688529968,
- 0.5193852782249451,
- -0.02344142273068428,
- 1.3347171545028687,
- 0.000648858433123678,
- 15.789037704467773,
- 1.5652916431427002,
- -80.2547836303711,
- -0.0102729182690382,
- -0.08482003957033157,
- 8.450746536254883,
- 1.0162487030029297,
- 1.6323434114456177,
- -2.069530487060547,
- 0.407787561416626,
- -104.59845733642578
+ 0.0017002519452944398,
+ 0.000153756482177414,
+ 0.0019306479953229427,
+ 0.000020420211512828246,
+ -0.000408702006097883,
+ -0.0017167264595627785,
+ 0.00031555621535517275,
+ -0.0000018034877484751632,
+ 0.027525680139660835,
+ 0.007822387851774693,
+ -0.006818796042352915,
+ -0.00004227953832014464,
+ -0.005034175235778093,
+ -0.00025318050757050514,
+ 0.02901722490787506,
+ 0.029881330206990242,
+ -0.016946304589509964,
+ -0.002256162464618683,
+ -14.518677711486816,
+ -141.1129150390625
],
[
- 0.2427425980567932,
- -0.0384024940431118,
- 0.10925472527742386,
- -0.4685764014720917,
- 0.6121373176574707,
- -0.010323641821742058,
- 1.344220519065857,
- 0.000648858433123678,
- 17.439502716064453,
- 1.6917942762374878,
- -73.54963684082031,
- -0.021768908947706223,
- -0.015513437800109386,
- 10.325225830078125,
- 0.9995515942573547,
- 1.6338378190994263,
- -1.988153100013733,
- 0.34100043773651123,
- -114.72674560546875
+ 0.0017017937498167157,
+ 0.0001543604739708826,
+ 0.0019258393440395594,
+ 0.000020506889995886013,
+ -0.0004134212795179337,
+ -0.0017175067914649844,
+ 0.0003159851476084441,
+ -0.0000018034877484751632,
+ 0.027518579736351967,
+ 0.007817110046744347,
+ -0.006939616519957781,
+ -0.0000423185047111474,
+ -0.0050295256078243256,
+ -0.00025328496121801436,
+ 0.028996039181947708,
+ 0.029887082055211067,
+ -0.016934210434556007,
+ -0.0022415604908019304,
+ -14.518477439880371,
+ -141.1129913330078
],
[
- 0.19245152175426483,
- -0.08253858983516693,
- -0.0036932018119841814,
- -0.47749078273773193,
- -0.778639554977417,
- -0.12267234921455383,
- 1.2741750478744507,
- 0.0017355340532958508,
- 19.329111099243164,
- 1.9788233041763306,
- -49.32539367675781,
- -0.014683695510029793,
- 0.3591795265674591,
- 14.508062362670898,
- 1.2764817476272583,
- 1.9689347743988037,
- -3.1787121295928955,
- -0.0871240571141243,
- -117.06720733642578
+ 0.0069075231440365314,
+ -0.0023793235886842012,
+ 0.002408546395599842,
+ -0.0002046683948719874,
+ 0.0034174283500760794,
+ 0.017605656757950783,
+ -0.0013891690177842975,
+ -0.0000028024423954775557,
+ 0.013808869756758213,
+ 0.007753540761768818,
+ -0.058710016310214996,
+ -0.0004907532129436731,
+ 0.0027976674027740955,
+ 0.002934164833277464,
+ 0.03329596668481827,
+ 0.02990683913230896,
+ -0.004108473192900419,
+ 0.009282576851546764,
+ -16.78298568725586,
+ -103.1865463256836
],
[
- 0.26470598578453064,
- -0.20068220794200897,
- 0.04700566455721855,
- -0.5295122861862183,
- -2.3159399032592773,
- -0.5527059435844421,
- 1.4427541494369507,
- 0.002121501136571169,
- 23.01054573059082,
- 4.577113151550293,
- 4.840754985809326,
- -0.04685033857822418,
- 1.0733647346496582,
- 24.8539981842041,
- 2.3293471336364746,
- 2.876255512237549,
- -2.0436370372772217,
- 0.4947572350502014,
- -95.24009704589844
+ 0.01696089841425419,
+ -0.0008815972250886261,
+ 0.0016786563210189342,
+ -0.01154683344066143,
+ -0.010079937055706978,
+ -0.030534395948052406,
+ -0.00013122665404807776,
+ -0.0000028024423954775557,
+ 0.09249408543109894,
+ 0.0228847898542881,
+ -0.015595098957419395,
+ 0.0001536715280963108,
+ -0.011061187833547592,
+ -0.01067361794412136,
+ 0.010136430151760578,
+ -0.0036386067513376474,
+ -0.03060462884604931,
+ 0.046657461673021317,
+ -36.773563385009766,
+ 48.45564651489258
],
[
- 0.6009383797645569,
- -0.53944331407547,
- 0.07307998836040497,
- -0.5650307536125183,
- -1.6178886890411377,
- -1.9659442901611328,
- 1.523211121559143,
- 0.0005157730774953961,
- 55.051509857177734,
- 11.02030086517334,
- 134.98486328125,
- -0.21013426780700684,
- 1.3449642658233643,
- 48.54542541503906,
- 4.885603427886963,
- 7.470324516296387,
- -3.7808265686035156,
- -0.40304115414619446,
- 21.054868698120117
+ -0.006166016682982445,
+ -0.011735131032764912,
+ 0.06870537251234055,
+ 0.011978757567703724,
+ 0.008082941174507141,
+ -0.0017754751024767756,
+ 0.0006361235864460468,
+ -6.554711262651836e-7,
+ -0.004149665590375662,
+ 0.039941489696502686,
+ 0.1018957570195198,
+ -0.0005749366246163845,
+ 0.02964543178677559,
+ 0.0020867306739091873,
+ 0.33774110674858093,
+ 0.16967691481113434,
+ -0.19295023381710052,
+ 0.08954022079706192,
+ -23.142898559570312,
+ 340.13360595703125
],
[
- 1.0368555784225464,
- -4.67413330078125,
- -0.0035402767825871706,
- -0.6122829914093018,
- -1.3186876773834229,
- -0.3487352132797241,
- 2.466224431991577,
- 0.0005312719731591642,
- 84.37887573242188,
- 6.363649368286133,
- 223.41319274902344,
- -0.32166752219200134,
- 1.1088142395019531,
- 57.85630798339844,
- -3.1717469692230225,
- 0.9009676575660706,
- 1.3160041570663452,
- 1.3381297588348389,
- 127.35955047607422
+ 0.00004884159716311842,
+ 0.030575351789593697,
+ 0.0035347396042197943,
+ 0.0003978738677687943,
+ 1.5647059679031372,
+ 7.639703750610352,
+ 0.010119368322193623,
+ -6.387549547071103e-7,
+ 0.026196055114269257,
+ -0.19718025624752045,
+ -5.4047746658325195,
+ -0.0004433723515830934,
+ -0.10173637419939041,
+ -0.0020036129280924797,
+ 0.6015021800994873,
+ 0.8079819083213806,
+ -3.4430339336395264,
+ -0.1915404051542282,
+ -7.461704730987549,
+ 610.700927734375
],
[
- 0.12387402355670929,
- 0.07819881290197372,
- -0.009967210702598095,
- -0.7128632664680481,
- -0.6675121784210205,
- 0.03523243963718414,
- 1.462039589881897,
- 0.0005336896283552051,
- 54.256168365478516,
- 2.884908437728882,
- 24.965435028076172,
- -0.05086776614189148,
- 1.2107491493225098,
- 28.869901657104492,
- -0.03788652643561363,
- 0.46800532937049866,
- 0.19632861018180847,
- 1.7283220291137695,
- 36.397701263427734
+ 0.01107970904558897,
+ 0.019075576215982437,
+ 0.0007419644971378148,
+ -0.004295518156141043,
+ -0.007189751137048006,
+ 0.01976017840206623,
+ 0.004607226699590683,
+ -6.387549547071103e-7,
+ 0.07562561333179474,
+ 0.0512821190059185,
+ -0.04846164584159851,
+ -0.0002875449717976153,
+ 0.0070600989274680614,
+ -0.006363027263432741,
+ 0.15419448912143707,
+ 0.12018619477748871,
+ -0.02885739505290985,
+ -0.13140086829662323,
+ -16.955368041992188,
+ 195.36190795898438
],
[
- 0.15390318632125854,
- -0.24831996858119965,
- -0.005272223148494959,
- -0.5715996026992798,
- -0.8208709955215454,
- -0.1594245284795761,
- 0.7970048189163208,
- 0.0005079301190562546,
- 31.991912841796875,
- 2.542576551437378,
- -94.4873275756836,
- -0.09413846582174301,
- -1.5950297117233276,
- 12.353922843933105,
- 3.599046468734741,
- 2.71368408203125,
- 1.3042409420013428,
- 0.17937436699867249,
- 94.56910705566406
+ 0.007070349995046854,
+ -0.000687244173604995,
+ 0.002845907583832741,
+ -0.0002750162675511092,
+ 0.0028887975495308638,
+ 0.010263207368552685,
+ 0.0008025174611248076,
+ -6.554711262651836e-7,
+ 0.01467940304428339,
+ 0.03249873220920563,
+ 0.062460750341415405,
+ -0.0018362159607931972,
+ -0.04076463729143143,
+ -0.023052731528878212,
+ 0.01790039800107479,
+ 0.05104433745145798,
+ -0.0140243424102664,
+ -0.013928093016147614,
+ 20.689077377319336,
+ 30.211336135864258
],
[
- 0.12881344556808472,
- -0.23975999653339386,
- -0.11960572004318237,
- -0.7206676602363586,
- -1.1241790056228638,
- -0.6253287196159363,
- 0.7455617189407349,
- 0.0005503954016603529,
- 27.759973526000977,
- 2.76396107673645,
- -93.7419662475586,
- 0.02968677505850792,
- -0.7746119499206543,
- 19.718368530273438,
- 2.5528836250305176,
- 1.075609564781189,
- 0.22086085379123688,
- 2.4454987049102783,
- 129.79888916015625
+ -0.0013728635385632515,
+ 0.003555235220119357,
+ 0.012853462249040604,
+ -0.0044914111495018005,
+ 0.010545231401920319,
+ 0.04375496879220009,
+ 0.0016766720218583941,
+ -0.000019832026737276465,
+ -0.06388916820287704,
+ 0.03887112811207771,
+ 0.05932518467307091,
+ -0.0039627430960536,
+ -0.04522162303328514,
+ -0.007923176512122154,
+ 0.06569643318653107,
+ 0.03602413088083267,
+ 0.07286236435174942,
+ 0.024239348247647285,
+ 35.06470489501953,
+ 41.411067962646484
],
[
- 0.12905992567539215,
- -0.2558153569698334,
- -0.021835684776306152,
- -0.5680426955223083,
- -1.2032192945480347,
- -0.269516259431839,
- 0.8631099462509155,
- 0.0005503954016603529,
- 41.81741714477539,
- 3.8032913208007812,
- -56.884029388427734,
- -0.1119290143251419,
- 0.18008644878864288,
- 14.842578887939453,
- 3.691838026046753,
- 2.833195447921753,
- 0.746959924697876,
- 2.0351486206054688,
- 112.8614273071289
+ -0.005357834044843912,
+ -0.0024086281191557646,
+ -0.011844372376799583,
+ -0.006876323372125626,
+ -0.021737243980169296,
+ -0.02633604034781456,
+ -0.0050690569914877415,
+ -6.387549547071103e-7,
+ 0.0784100890159607,
+ 0.022716082632541656,
+ -0.011831552721560001,
+ -0.008972804993391037,
+ -0.07032527029514313,
+ -0.024393701925873756,
+ 0.023493792861700058,
+ 0.022155527025461197,
+ -0.02042342908680439,
+ -0.11591413617134094,
+ 6.390263557434082,
+ 109.77275085449219
],
[
- 0.25078874826431274,
- -0.7432373762130737,
- 0.15399301052093506,
- -0.5888906717300415,
- -0.9327319860458374,
- -0.34541767835617065,
- 0.8261586427688599,
- 0.0005503954016603529,
- 31.770305633544922,
- 2.8528950214385986,
- -65.05724334716797,
- 0.10114981979131699,
- -4.877957344055176,
- 19.00931167602539,
- 4.283749580383301,
- 7.261184215545654,
- -0.10680069774389267,
- 1.2539360523223877,
- 181.61904907226562
+ 0.0015200352063402534,
+ -0.020375456660985947,
+ -0.04013394936919212,
+ -0.003758674720302224,
+ 0.009769490920007229,
+ 0.021521659567952156,
+ 0.001385631039738655,
+ -6.387549547071103e-7,
+ 0.07661083340644836,
+ 0.010276454500854015,
+ 0.04247245937585831,
+ 0.00020689915982075036,
+ 0.0011735770385712385,
+ -0.026015259325504303,
+ -0.027183126658201218,
+ -0.06629268079996109,
+ -0.023692011833190918,
+ 0.01652384363114834,
+ 36.633907318115234,
+ 111.5453872680664
],
[
- 0.16916249692440033,
- -0.3376086950302124,
- -0.017634164541959763,
- -0.5719799995422363,
- -0.8471976518630981,
- -0.2293485701084137,
- 0.8150206208229065,
- 0.00047357301809825003,
- 37.48652648925781,
- 3.877255439758301,
- -68.99298858642578,
- -0.11778315156698227,
- -0.25162991881370544,
- 13.409579277038574,
- 3.3177073001861572,
- 2.5264971256256104,
- 0.631689190864563,
- -0.2489928901195526,
- 105.84652709960938
+ -0.0036602288018912077,
+ 0.009597549214959145,
+ 0.006920626387000084,
+ 0.0017092397902160883,
+ -0.15817248821258545,
+ 0.02177630364894867,
+ 0.006648613605648279,
+ -6.855601668576128e-7,
+ 0.06737770140171051,
+ -0.06644362956285477,
+ 0.06349306553602219,
+ -0.006875206716358662,
+ 0.0113212950527668,
+ -0.014268136583268642,
+ 0.04104361683130264,
+ 0.042025383561849594,
+ -0.013791737146675587,
+ -0.014658568426966667,
+ 6.079195976257324,
+ 67.1900634765625
],
[
- 0.2764410376548767,
- -0.5664715766906738,
- -0.22968539595603943,
- -0.572463870048523,
- -0.6430850028991699,
- 0.0533578097820282,
- 0.785500168800354,
- 0.00045881280675530434,
- 33.81791687011719,
- 2.6530468463897705,
- -68.8091812133789,
- 0.40473902225494385,
- -5.343265533447266,
- 16.448652267456055,
- 5.755948543548584,
- 8.034867286682129,
- 1.9738346338272095,
- 0.8543528914451599,
- 193.16583251953125
+ 0.0051155900582671165,
+ 0.013708611018955708,
+ 0.0586785227060318,
+ -0.00521049415692687,
+ -0.006021605804562569,
+ 0.0021888241171836853,
+ 0.0016582651296630502,
+ -6.60333967061888e-7,
+ 0.01028458122164011,
+ 0.004753753077238798,
+ -0.04624764621257782,
+ 0.0144317876547575,
+ -0.0520596019923687,
+ -0.02623317949473858,
+ 0.1910277158021927,
+ 0.13933075964450836,
+ 0.024587323889136314,
+ 0.039449431002140045,
+ 54.07745361328125,
+ 59.98140335083008
],
[
- 0.19928956031799316,
- -0.7926640510559082,
- -0.33886241912841797,
- -0.6365681886672974,
- -1.6411441564559937,
- -0.41482436656951904,
- 0.953245222568512,
- 0.0018760856473818421,
- 48.95395278930664,
- 6.103858470916748,
- -5.4297051429748535,
- 0.1609586477279663,
- 0.6505838632583618,
- 23.07547950744629,
- 5.43159818649292,
- 4.431673526763916,
- 0.35956060886383057,
- 0.3377896845340729,
- 203.73019409179688
+ 0.006552720908075571,
+ 0.021093690767884254,
+ -0.004166960250586271,
+ -0.004569957032799721,
+ 0.1000647097826004,
+ 0.02844686061143875,
+ 0.001574114547111094,
+ -6.855601668576128e-7,
+ 0.06880180537700653,
+ 0.24191595613956451,
+ 0.016743412241339684,
+ -0.0017078702803701162,
+ -0.16520315408706665,
+ -0.04825649783015251,
+ 0.16505631804466248,
+ 0.008172517642378807,
+ -0.22833600640296936,
+ 0.012792401015758514,
+ 46.16494369506836,
+ 229.34437561035156
],
[
- 0.12561261653900146,
- -0.31200775504112244,
- -0.12821342051029205,
- -0.9878201484680176,
- -1.5346041917800903,
- -0.7124462723731995,
- 1.3390915393829346,
- 0.0067122639156877995,
- 68.63040924072266,
- 8.366534233093262,
- 181.4793243408203,
- -0.048752136528491974,
- 5.048268795013428,
- 87.0127944946289,
- 3.649786949157715,
- -1.8663026094436646,
- -1.0483384132385254,
- 0.7698644399642944,
- 246.24838256835938
+ 0.0027308680582791567,
+ 0.0021503602620214224,
+ -0.0008001903188414872,
+ -0.003485697554424405,
+ 2.2844645977020264,
+ 8.986417770385742,
+ 0.0015294291079044342,
+ -6.855601668576128e-7,
+ 0.026866432279348373,
+ -0.2701061964035034,
+ 1.371681809425354,
+ -0.0037539168260991573,
+ -0.12190468609333038,
+ -0.01394245121628046,
+ -0.3494392931461334,
+ 0.09893947094678879,
+ -2.0895285606384277,
+ -0.1872989535331726,
+ 33.96226119995117,
+ 659.6015014648438
],
[
- 0.14318406581878662,
- -0.16817134618759155,
- 0.044656164944171906,
- -1.000720500946045,
- -1.4363611936569214,
- -0.39889147877693176,
- 1.3321622610092163,
- 0.006973070092499256,
- 69.49068450927734,
- 6.908123016357422,
- 178.58457946777344,
- 0.028811536729335785,
- 6.33791971206665,
- 78.09114837646484,
- 2.4604194164276123,
- -5.162672996520996,
- -1.9589805603027344,
- 1.2794933319091797,
- 250.82594299316406
+ 0.0024374150671064854,
+ -0.020248033106327057,
+ 0.00034445818164385855,
+ -0.003253122791647911,
+ 2.324909210205078,
+ 9.341946601867676,
+ 0.002594148041680455,
+ -6.554711262651836e-7,
+ 0.02889416366815567,
+ -0.2641706168651581,
+ 0.3747313618659973,
+ -0.003101702779531479,
+ -0.10966076701879501,
+ -0.009845799766480923,
+ -0.18709450960159302,
+ 0.04467674717307091,
+ -2.2230875492095947,
+ 0.6362816691398621,
+ 37.760650634765625,
+ 654.1412963867188
],
[
- 0.25990957021713257,
- -0.45059436559677124,
- 0.06157448887825012,
- -0.7794139385223389,
- 0.6918620467185974,
- 0.44951292872428894,
- 1.0499746799468994,
- 0.005841830279678106,
- 56.292964935302734,
- 5.9671502113342285,
- 66.78968811035156,
- 0.03751257807016373,
- 8.603753089904785,
- 47.94328689575195,
- 3.6040074825286865,
- 1.6773055791854858,
- -2.9190239906311035,
- -1.7982277870178223,
- 209.1162109375
+ 0.034104444086551666,
+ -0.23246055841445923,
+ -0.13084915280342102,
+ 0.036282431334257126,
+ 0.004120054189115763,
+ 0.006236033979803324,
+ 0.0056472113355994225,
+ -6.855601668576128e-7,
+ 0.2013559192419052,
+ -0.4898975193500519,
+ 0.6545728445053101,
+ 0.01100543886423111,
+ -0.1647973209619522,
+ 0.15560060739517212,
+ 0.5139564871788025,
+ 0.12526537477970123,
+ 0.005154544487595558,
+ 0.6279791593551636,
+ 52.74618148803711,
+ 458.1688537597656
],
[
- 0.15738365054130554,
- -0.1990543156862259,
- -0.21096879243850708,
- -0.7437237501144409,
- 0.5962345600128174,
- 0.12838692963123322,
- 0.9325858354568481,
- 0.00018758232181426138,
- 41.38226318359375,
- 1.345165729522705,
- -2.0313286781311035,
- -0.07635390013456345,
- 5.108170986175537,
- 47.13261795043945,
- 3.0720739364624023,
- 3.1783692836761475,
- -3.6837525367736816,
- 0.8788055777549744,
- 142.00624084472656
+ 0.01109375525265932,
+ 0.013730977661907673,
+ 0.03841618075966835,
+ -0.001548058702610433,
+ -0.02407185547053814,
+ 0.001612392719835043,
+ -0.007716449908912182,
+ -6.554711262651836e-7,
+ -0.023874696344137192,
+ 0.49692827463150024,
+ -0.10035189986228943,
+ -0.003512770403176546,
+ -0.012134197168052197,
+ -0.006361364386975765,
+ 0.054602764546871185,
+ 0.0893259271979332,
+ -0.15294845402240753,
+ 0.06783509254455566,
+ 20.251659393310547,
+ 318.2106018066406
],
[
- 0.17235073447227478,
- 0.01019226387143135,
- -0.35296082496643066,
- -0.6621893048286438,
- 0.5560445189476013,
- 0.11236726492643356,
- 0.7399334907531738,
- 0.0004884038353338838,
- 41.968544006347656,
- 0.2141100913286209,
- -38.599220275878906,
- -0.06284061074256897,
- 5.414779186248779,
- 39.87111282348633,
- 3.059467315673828,
- 2.390272378921509,
- -3.2591283321380615,
- -3.486874580383301,
- 138.43185424804688
+ -0.0028282429557293653,
+ -0.0014945812290534377,
+ 0.046444203704595566,
+ -0.003155444748699665,
+ 0.004562507849186659,
+ -0.005724669434130192,
+ 0.0009992136619985104,
+ -6.235584919522807e-7,
+ 0.10754438489675522,
+ 0.045591022819280624,
+ -0.27491089701652527,
+ -0.0031523474026471376,
+ 0.027146119624376297,
+ -0.01713075302541256,
+ 0.041630007326602936,
+ 0.1728299856185913,
+ -0.08897142112255096,
+ -0.09937268495559692,
+ 14.589468002319336,
+ 204.3438262939453
],
[
- 0.23794770240783691,
- -0.4900645613670349,
- -0.011707608588039875,
- -0.6704952716827393,
- 0.5372632741928101,
- 0.051002152264118195,
- 0.7467884421348572,
- 0.0004856945888604969,
- 40.592533111572266,
- 2.753553867340088,
- -42.574153900146484,
- -0.07540760189294815,
- 3.0798721313476562,
- 20.167428970336914,
- 3.7870593070983887,
- 4.918464660644531,
- -0.7026727199554443,
- 1.1029096841812134,
- 51.432491302490234
+ -0.0014534194488078356,
+ -0.0009526879875920713,
+ -0.004172423854470253,
+ 0.0006921079475432634,
+ -0.0021921396255493164,
+ -0.004376234021037817,
+ -0.011242687702178955,
+ -6.235584919522807e-7,
+ 0.07362504303455353,
+ -0.013226994313299656,
+ -0.007348771672695875,
+ -0.0006700772792100906,
+ -0.011323693208396435,
+ -0.006611754186451435,
+ 0.0238584503531456,
+ 0.010366292670369148,
+ 0.13107959926128387,
+ -0.00043945739162154496,
+ -16.430917739868164,
+ 87.13360595703125
],
[
- 0.2759004533290863,
- -0.5924070477485657,
- 0.020931249484419823,
- -0.5460458993911743,
- 0.6820108890533447,
- 0.09886196255683899,
- 0.7167019248008728,
- 0.0005002596299163997,
- 21.094329833984375,
- 2.4871826171875,
- -60.72250747680664,
- -0.03376798704266548,
- 1.3835946321487427,
- 10.921226501464844,
- 1.651340365409851,
- 1.753352403640747,
- -1.0688366889953613,
- 0.4954444169998169,
- -39.085052490234375
+ 0.006273296661674976,
+ 0.0011205810587853193,
+ 0.007991373538970947,
+ 0.001794453477486968,
+ 0.006793729029595852,
+ -0.0004884173977188766,
+ 0.0004177966620773077,
+ -6.402746066669351e-7,
+ 0.02280062809586525,
+ 0.003200351260602474,
+ 0.027727358043193817,
+ -0.0004356981662567705,
+ 0.022232266142964363,
+ -0.0014346633106470108,
+ 0.020758768543601036,
+ 0.03470739349722862,
+ 0.015497592277824879,
+ 0.022245561704039574,
+ -14.392223358154297,
+ -11.860679626464844
],
[
- 0.2188735157251358,
- -0.3142482340335846,
- -0.014533264562487602,
- -0.5839090347290039,
- 0.518755316734314,
- 0.000005135694664204493,
- 0.6131640672683716,
- 0.0006211507134139538,
- 20.23552703857422,
- 2.1691536903381348,
- -94.65522003173828,
- 0.03900580108165741,
- 3.6193885803222656,
- 2.670538902282715,
- 1.6299409866333008,
- 1.5473499298095703,
- -0.8562081456184387,
- 0.4622454047203064,
- -39.50715255737305
+ 0.0006121488404460251,
+ 0.0009147220989689231,
+ 0.0064460719004273415,
+ -0.0014003872638568282,
+ 0.010643861256539822,
+ -0.0014645555056631565,
+ 0.0024916932452470064,
+ -6.296804713201709e-7,
+ 0.017859121784567833,
+ 0.0019433759152889252,
+ -0.031107306480407715,
+ 0.0020908708684146404,
+ -0.006044676527380943,
+ 0.0004562509711831808,
+ 0.03634059801697731,
+ 0.022720249369740486,
+ -0.022457778453826904,
+ 0.008153820410370827,
+ -4.730391502380371,
+ -91.0995101928711
],
[
- 0.198481485247612,
- -0.07439839094877243,
- 0.06274367868900299,
- -0.5037127137184143,
- 0.5450150966644287,
- 0.04884336516261101,
- 1.023443341255188,
- 0.0030024913139641285,
- 16.98451042175293,
- 1.5871094465255737,
- -81.69155883789062,
- 0.050032585859298706,
- 2.0760021209716797,
- 5.364504337310791,
- 1.3132153749465942,
- 1.8380100727081299,
- -1.8052141666412354,
- 0.11141256988048553,
- -87.30631256103516
+ 0.0018851486966013908,
+ 0.0054558501578867435,
+ -0.0007014277507551014,
+ -0.00039270296110771596,
+ -0.0003778787504415959,
+ -0.0013664799043908715,
+ -0.0002624162589199841,
+ -0.000002671184802238713,
+ 0.019027940928936005,
+ 0.00520913302898407,
+ 0.023297913372516632,
+ -0.00020716941799037158,
+ 0.001424801885150373,
+ -0.0018882871372625232,
+ 0.031407516449689865,
+ 0.030792301520705223,
+ -0.012409285642206669,
+ -0.0012749603483825922,
+ -12.370261192321777,
+ -121.95105743408203
],
[
- 0.2194717824459076,
- -0.11921803653240204,
- 0.019222011789679527,
- -0.47156256437301636,
- 0.5185927748680115,
- 0.005403690971434116,
- 1.1428186893463135,
- 0.0012586560333147645,
- 16.242998123168945,
- 1.5087487697601318,
- -79.564453125,
- 0.027658730745315552,
- 0.8004121780395508,
- 7.296459674835205,
- 1.0413297414779663,
- 1.63692045211792,
- -2.1477887630462646,
- 0.16242094337940216,
- -102.68614196777344
+ 0.0018644777592271566,
+ 0.0017501466209068894,
+ 0.0034476486034691334,
+ -0.00004615205034497194,
+ 0.0001728174975141883,
+ -0.0016761317383497953,
+ 0.0005739852203987539,
+ -0.0000017286308775510406,
+ 0.026555201038718224,
+ 0.009488275274634361,
+ -0.00799616239964962,
+ -0.00029638581327162683,
+ 0.0008565817843191326,
+ -0.0007673294749110937,
+ 0.028684915974736214,
+ 0.0361049585044384,
+ -0.017951123416423798,
+ 0.0011661732569336891,
+ -14.519098281860352,
+ -134.12452697753906
],
[
- 0.24611498415470123,
- -0.05045967549085617,
- 0.09174752235412598,
- -0.46277180314064026,
- 0.5304945111274719,
- -0.012623950839042664,
- 1.2979978322982788,
- 0.000569057185202837,
- 15.881168365478516,
- 1.5359578132629395,
- -79.95002746582031,
- -0.00878177210688591,
- 0.9832655191421509,
- 8.446954727172852,
- 0.997465968132019,
- 1.639317512512207,
- -1.9241515398025513,
- 0.2967201769351959,
- -105.7148666381836
+ 0.0017109895125031471,
+ 0.00012154371506767347,
+ 0.0018292537424713373,
+ 0.00003634540917119011,
+ -0.0003699215012602508,
+ -0.0017253721598535776,
+ 0.00027517296257428825,
+ -0.0000017776970935301506,
+ 0.027265286073088646,
+ 0.007882017642259598,
+ -0.007030893117189407,
+ -0.00004591633114614524,
+ 0.0005454054335132241,
+ -0.0003182536456733942,
+ 0.02650558389723301,
+ 0.02703513577580452,
+ -0.016857491806149483,
+ 0.0005129948258399963,
+ -14.51955509185791,
+ -142.11451721191406
],
[
- 0.23592261970043182,
- -0.056163568049669266,
- 0.04964485019445419,
- -0.4659730792045593,
- -0.7095680236816406,
- 0.048651017248630524,
- 1.2980189323425293,
- 0.0007347611244767904,
- 16.73440933227539,
- 1.762690544128418,
- -70.92251586914062,
- -0.032373104244470596,
- 1.05104398727417,
- 10.196749687194824,
- 1.0973315238952637,
- 1.7885221242904663,
- -2.9193472862243652,
- 0.2187758833169937,
- -115.69583129882812
+ 0.001764987246133387,
+ 0.00040870634256862104,
+ 0.0026142201386392117,
+ 0.00010971222218358889,
+ 0.003135998034849763,
+ 0.018326980993151665,
+ 0.00003488236325210892,
+ -0.0000018250796074426034,
+ 0.02729359269142151,
+ 0.0074472576379776,
+ -0.008192232809960842,
+ -0.0003391087520867586,
+ 0.00003360493064974435,
+ -0.0019099856726825237,
+ 0.026653960347175598,
+ 0.026819605380296707,
+ -0.018351014703512192,
+ 0.00594355771318078,
+ -15.885224342346191,
+ -136.7732696533203
],
[
- 0.15151800215244293,
- -0.09102077037096024,
- 0.014796901494264603,
- -0.4803575873374939,
- -0.7396679520606995,
- -0.0007302318117581308,
- 1.1593388319015503,
- 0.0025926027446985245,
- 20.630054473876953,
- 1.8797599077224731,
- -52.01689910888672,
- -0.03619256988167763,
- 1.1444971561431885,
- 15.103338241577148,
- 1.2100002765655518,
- 1.3989856243133545,
- -3.14176082611084,
- 0.16095776855945587,
- -110.93091583251953
+ 0.000326479144860059,
+ -0.00044680634164251387,
+ 0.0017102574929594994,
+ -0.0006227491539902985,
+ 0.003544948995113373,
+ 0.012842614203691483,
+ 0.00040936892037279904,
+ -0.000002505772727090516,
+ 0.018943898379802704,
+ 0.015294032171368599,
+ -0.015672592446208,
+ 0.0010230701882392168,
+ 0.007264846470206976,
+ -0.0006108736852183938,
+ 0.016240650787949562,
+ 0.015199842862784863,
+ -0.022456450387835503,
+ 0.0007514688186347485,
+ -15.68520450592041,
+ -105.30023956298828
],
[
- 0.3331563174724579,
- -0.5375060439109802,
- 0.07809200137853622,
- -0.5034290552139282,
- 1.7812379598617554,
- 0.2593395709991455,
- 1.1528451442718506,
- 0.0026077369693666697,
- 27.796009063720703,
- 6.520780563354492,
- 10.290216445922852,
- -0.047430116683244705,
- 1.8525245189666748,
- 26.498050689697266,
- 2.599048137664795,
- 2.684617519378662,
- -1.538456916809082,
- 0.2234235405921936,
- -85.03682708740234
+ 0.020400794222950935,
+ -0.00768673000857234,
+ 0.004406789317727089,
+ -0.0033031501807272434,
+ 0.011665650643408298,
+ -0.010954625904560089,
+ 0.002179280389100313,
+ -0.000035670920624397695,
+ 0.025301825255155563,
+ 0.05416324362158775,
+ 0.15290139615535736,
+ -0.0024674225132912397,
+ 0.025210324674844742,
+ -0.002035625744611025,
+ 0.05389327183365822,
+ 0.04954264312982559,
+ 0.01483103260397911,
+ 0.011409739032387733,
+ -30.215980529785156,
+ 35.14985656738281
],
[
- 0.6148445010185242,
- -0.5458109974861145,
- 0.07436816394329071,
- -0.5558772683143616,
- -1.6022089719772339,
- -1.8660619258880615,
- 1.4260317087173462,
- 0.0005109156481921673,
- 55.66039276123047,
- 10.748068809509277,
- 133.65122985839844,
- -0.20039774477481842,
- 2.7093417644500732,
- 47.711605072021484,
- 4.897413730621338,
- 7.3790411949157715,
- -3.70729398727417,
- -0.4770473539829254,
- 20.235145568847656
+ 0.012882553972303867,
+ 0.0020992765203118324,
+ 0.015202692709863186,
+ -0.012168941088020802,
+ 0.01564415544271469,
+ -0.04519487917423248,
+ 0.001339140348136425,
+ -6.296804713201709e-7,
+ 0.07985254377126694,
+ -0.007246454246342182,
+ 0.16258569061756134,
+ -0.000311128213070333,
+ 0.06551415473222733,
+ 0.00241997092962265,
+ 0.15746580064296722,
+ 0.11649887263774872,
+ -0.06699211150407791,
+ 0.031001735478639603,
+ -24.172758102416992,
+ 332.6954650878906
],
[
- 1.219691514968872,
- -3.930114984512329,
- -0.05820227786898613,
- -0.7105394601821899,
- 1.1356737613677979,
- 0.3353612422943115,
- 2.251840114593506,
- 0.00047251631622202694,
- 85.90479278564453,
- 6.80287504196167,
- 229.81942749023438,
- -0.07705919444561005,
- 2.6597917079925537,
- 64.78392791748047,
- -2.5225374698638916,
- 1.3843309879302979,
- 1.1906018257141113,
- -0.05136825144290924,
- 86.52433013916016
+ 0.0011922651901841164,
+ 0.005094096530228853,
+ 0.0011413958854973316,
+ -0.00010120282968273386,
+ 0.05222266912460327,
+ 0.0006828928599134088,
+ 0.0006594562437385321,
+ -6.129643566055165e-7,
+ 0.025119218975305557,
+ 0.0019202145049348474,
+ -1.602044939994812,
+ -0.0006180015043355525,
+ -0.29915931820869446,
+ -0.0013092391891404986,
+ 0.504203200340271,
+ 0.388370543718338,
+ -0.2482994943857193,
+ -0.1138865202665329,
+ -26.923301696777344,
+ 561.306396484375
],
[
- 0.20475554466247559,
- -0.21365594863891602,
- -0.00399854127317667,
- -0.5768263339996338,
- 0.4638493061065674,
- -0.025749268010258675,
- 1.2562960386276245,
- 0.00046094285789877176,
- 65.2007827758789,
- 3.486802816390991,
- 11.989641189575195,
- -0.14037208259105682,
- 1.885317325592041,
- 18.04607582092285,
- 2.0254745483398438,
- 2.0944604873657227,
- -0.48780372738838196,
- 0.42370009422302246,
- 81.5890884399414
+ 0.0009351265616714954,
+ 0.007318131625652313,
+ 0.04327269643545151,
+ -0.0027673649601638317,
+ -0.0015376709634438157,
+ 0.003044597338885069,
+ -0.00017425682744942605,
+ -6.296804713201709e-7,
+ 0.0480995737016201,
+ 0.03952695056796074,
+ 0.0067872400395572186,
+ -0.0007200067047961056,
+ 0.04268776252865791,
+ -0.010047940537333488,
+ 0.1016235202550888,
+ 0.09350592643022537,
+ -0.00942146684974432,
+ -0.041886553168296814,
+ 1.6088515520095825,
+ 190.7541961669922
],
[
- 0.10137239098548889,
- -0.37388700246810913,
- -0.020501015707850456,
- -0.6074191927909851,
- 0.4287753403186798,
- 0.115017831325531,
- 0.7555304169654846,
- 0.00048564354074187577,
- 29.506513595581055,
- 2.9056577682495117,
- -94.57997131347656,
- 0.03204174339771271,
- 3.9000699520111084,
- 19.290468215942383,
- 1.8547735214233398,
- 1.6670939922332764,
- 0.32219696044921875,
- -0.3370084762573242,
- 123.68209075927734
+ 0.009475890547037125,
+ -0.012754441238939762,
+ 0.014517473988234997,
+ 0.0007223412394523621,
+ 0.011792725883424282,
+ 0.0030101898591965437,
+ 0.0049566421657800674,
+ -6.59769568756019e-7,
+ 0.01913546212017536,
+ 0.04366765916347504,
+ 0.0042127324268221855,
+ -0.0028712258208543062,
+ -0.025256698951125145,
+ -0.0007370527018792927,
+ 0.06467468291521072,
+ 0.09340886771678925,
+ 0.007270434405654669,
+ -0.019520539790391922,
+ 26.672191619873047,
+ 12.285402297973633
],
[
- 0.18710395693778992,
- -0.19680142402648926,
- -0.32244470715522766,
- -0.5688077807426453,
- 0.4720882475376129,
- 0.0397401861846447,
- 0.7683758735656738,
- 0.0005462547997012734,
- 31.28867530822754,
- 3.731929063796997,
- -90.71562957763672,
- -0.03494120389223099,
- 0.08460897952318192,
- 17.6873836517334,
- 3.125368118286133,
- 3.4693655967712402,
- 2.5074703693389893,
- 2.282147169113159,
- 160.0921173095703
+ -0.003595867194235325,
+ 0.02590436488389969,
+ 0.02023005299270153,
+ -0.003800253849476576,
+ 0.008041446097195148,
+ 0.00385810574516654,
+ -0.003484839340671897,
+ -6.245136887628178e-7,
+ 0.06476068496704102,
+ 0.002525066491216421,
+ -0.029194869101047516,
+ -0.00638494873419404,
+ 0.016409598290920258,
+ 0.012734143063426018,
+ -0.08917476236820221,
+ -0.09934348613023758,
+ -0.040918078273534775,
+ -0.040972184389829636,
+ 44.671382904052734,
+ 48.46432113647461
],
[
- 0.1529584527015686,
- -0.0030397260561585426,
- -0.1533682495355606,
- -0.709664523601532,
- 0.893938422203064,
- 0.5760723352432251,
- 0.8047239184379578,
- 0.0004966786364093423,
- 36.98611068725586,
- 3.146008014678955,
- -71.38362121582031,
- 0.018817907199263573,
- 3.2452728748321533,
- 19.201480865478516,
- 2.6668121814727783,
- 1.8272329568862915,
- 3.000004291534424,
- 0.04630224406719208,
- 150.34600830078125
+ -0.0027415738441050053,
+ 0.012843387201428413,
+ 0.012368951924145222,
+ -0.007282966282218695,
+ -0.0036422843113541603,
+ 0.002714993664994836,
+ 0.0008106424356810749,
+ -6.245136887628178e-7,
+ 0.0859946459531784,
+ -0.024970823898911476,
+ 0.03838440030813217,
+ -0.003770943032577634,
+ -0.004189699422568083,
+ -0.042557600885629654,
+ 0.048626914620399475,
+ -0.04452104866504669,
+ -0.03643934056162834,
+ 0.1041995957493782,
+ 23.8453311920166,
+ 88.74214172363281
],
[
- 0.12564659118652344,
- -0.10856067389249802,
- -0.13760994374752045,
- -0.6819873452186584,
- 0.985526442527771,
- 0.5328243970870972,
- 0.8184333443641663,
- 0.0004991660825908184,
- 36.06460952758789,
- 2.3818607330322266,
- -67.15582275390625,
- 0.06724181771278381,
- 4.003010272979736,
- 20.30370330810547,
- 1.7372372150421143,
- 0.7887271046638489,
- 3.711036205291748,
- -0.16165831685066223,
- 140.82354736328125
+ 0.003854126902297139,
+ 0.001576035632751882,
+ 0.008885622955858707,
+ -0.005271625705063343,
+ -0.0023203503806144,
+ -0.005372942890971899,
+ 0.003013846930116415,
+ -6.245136887628178e-7,
+ 0.08896153420209885,
+ -0.03911498188972473,
+ 0.12514419853687286,
+ -0.0035561970435082912,
+ 0.02814716473221779,
+ -0.033137667924165726,
+ 0.03835460543632507,
+ -0.03409173712134361,
+ 0.04170946776866913,
+ 0.045622568577528,
+ 20.829662322998047,
+ 96.88123321533203
],
[
- 0.2156868875026703,
- -0.21970093250274658,
- -0.17157238721847534,
- -0.582151472568512,
- 0.7571473121643066,
- 0.34388917684555054,
- 0.8021156191825867,
- 0.0004671056231018156,
- 35.37557601928711,
- 3.965250015258789,
- -80.08492279052734,
- -0.020001837983727455,
- -0.5407283902168274,
- 18.760866165161133,
- 2.503405809402466,
- 1.832324504852295,
- 2.6140968799591064,
- -0.19020792841911316,
- 150.99533081054688
+ -0.0012652892619371414,
+ 0.032153572887182236,
+ 0.002453049411997199,
+ -0.0032540622632950544,
+ 0.013310075737535954,
+ 0.0272426325827837,
+ -0.001575018628500402,
+ -0.000013358599062485155,
+ -0.0164583008736372,
+ -0.007747939322143793,
+ 0.04255817458033562,
+ -0.004524235147982836,
+ 0.011644282378256321,
+ -0.0521705225110054,
+ -0.013563261367380619,
+ 0.02266467735171318,
+ 0.03389376029372215,
+ 0.04875112324953079,
+ 39.69292068481445,
+ 43.906280517578125
],
[
- 0.1412637084722519,
- -0.30071574449539185,
- -0.022506190463900566,
- -0.5232022404670715,
- 0.5742732882499695,
- 0.07827191799879074,
- 0.8163344860076904,
- 0.0004601764085236937,
- 40.39252471923828,
- 3.7928383350372314,
- -66.60188293457031,
- -0.05314407870173454,
- 1.8710877895355225,
- 12.72307300567627,
- 2.8527181148529053,
- 2.524333953857422,
- 2.7482614517211914,
- 0.30411258339881897,
- 106.4751968383789
+ -0.01138776820152998,
+ -0.019260939210653305,
+ 0.01770198903977871,
+ -0.0008159659337252378,
+ -0.0118977976962924,
+ -0.003278925083577633,
+ 0.002105925465002656,
+ -6.713189009133202e-7,
+ 0.07362348586320877,
+ 0.02034197747707367,
+ 0.07931266725063324,
+ -0.010636311955749989,
+ 0.050536494702100754,
+ -0.015463519841432571,
+ -0.009573938325047493,
+ -0.00405559316277504,
+ -0.004031286109238863,
+ -0.03622780740261078,
+ 7.665294170379639,
+ 98.60101318359375
],
[
- 0.21904438734054565,
- -0.9796338081359863,
- -0.20808185636997223,
- -0.6725241541862488,
- 0.76905757188797,
- 0.1507904976606369,
- 0.9582247138023376,
- 0.0018147160299122334,
- 51.486236572265625,
- 8.145078659057617,
- 2.00826358795166,
- -0.02299480140209198,
- 1.78370201587677,
- 28.655366897583008,
- 3.6398465633392334,
- 3.2651970386505127,
- 3.6815109252929688,
- 0.6304918527603149,
- 186.10191345214844
+ -0.0025428812950849533,
+ 0.024447908625006676,
+ 0.016216157004237175,
+ -0.00737366545945406,
+ 0.017084097489714622,
+ 0.02352946251630783,
+ 0.00334238656796515,
+ -6.713189009133202e-7,
+ 0.14979508519172668,
+ 0.14088411629199982,
+ 0.12428082525730133,
+ -0.00471983989700675,
+ 0.01947079412639141,
+ -0.053790025413036346,
+ -0.010958381928503513,
+ -0.024521172046661377,
+ -0.259072870016098,
+ 0.07200291752815247,
+ 32.92738342285156,
+ 214.14283752441406
],
[
- 0.14291352033615112,
- -0.4092702567577362,
- -0.016462016850709915,
- -1.0074352025985718,
- 0.7507007122039795,
- 0.0233329888433218,
- 1.2622381448745728,
- 0.00662043783813715,
- 76.708984375,
- 9.956892013549805,
- 188.7099609375,
- -0.10155251622200012,
- 3.933154344558716,
- 78.10543823242188,
- 4.067844390869141,
- -2.402595281600952,
- 6.157655715942383,
- 0.5734622478485107,
- 253.45640563964844
+ 0.013717562891542912,
+ -0.024167805910110474,
+ -0.002355935052037239,
+ -0.0032061149831861258,
+ -0.36795344948768616,
+ -0.9022139310836792,
+ 0.01909729652106762,
+ -6.713189009133202e-7,
+ 0.028088895604014397,
+ -0.3541243374347687,
+ 0.9499292373657227,
+ -0.002360778860747814,
+ -0.03607526794075966,
+ -0.012956582941114902,
+ 0.12242666631937027,
+ -0.13002637028694153,
+ 1.0533497333526611,
+ 0.7263461351394653,
+ 31.455093383789062,
+ 618.6956787109375
],
[
- 0.020308295264840126,
- -0.12989488244056702,
- 0.012950842268764973,
- -1.0508146286010742,
- -1.8382384777069092,
- -0.18744176626205444,
- 1.3021883964538574,
- 0.007097089663147926,
- 64.22801971435547,
- 5.043331623077393,
- 185.12010192871094,
- -0.11849214881658554,
- 5.452884197235107,
- 99.28350067138672,
- 6.566226959228516,
- 2.2203423976898193,
- 3.2472586631774902,
- -0.5647582411766052,
- 199.72872924804688
+ 0.0025698402896523476,
+ 0.0009632104774937034,
+ 0.0006638492341153324,
+ -0.0029753427952528,
+ 2.0014991760253906,
+ 8.14316463470459,
+ 0.0006877673440612853,
+ -6.59769568756019e-7,
+ 0.02777082286775112,
+ -0.1344112604856491,
+ 0.4689863324165344,
+ -0.003940984606742859,
+ 0.39745262265205383,
+ -0.014108015224337578,
+ 0.06260238587856293,
+ 0.40793123841285706,
+ 0.5186389684677124,
+ 0.4311058521270752,
+ 8.814284324645996,
+ 650.5953979492188
],
[
- 0.3228916525840759,
- -0.3939247727394104,
- -0.07691303640604019,
- -0.835760772228241,
- 0.7163823246955872,
- 0.5999462008476257,
- 1.0237541198730469,
- 0.005271204747259617,
- 60.66386795043945,
- 6.487387657165527,
- 80.66358947753906,
- -0.23649781942367554,
- 6.688722610473633,
- 65.82988739013672,
- 4.051763534545898,
- 1.3767602443695068,
- 1.2283387184143066,
- -1.5445997714996338,
- 189.17742919921875
+ -0.0006769955507479608,
+ -0.033583804965019226,
+ -0.10036676377058029,
+ 0.04574335739016533,
+ 0.013621430844068527,
+ 0.02133261412382126,
+ -0.004449136555194855,
+ -6.296804713201709e-7,
+ 0.21215377748012543,
+ -0.0750940814614296,
+ 0.1647428721189499,
+ -0.005425931885838509,
+ -0.1541910171508789,
+ -0.017091935500502586,
+ 0.2820179760456085,
+ 0.7086883187294006,
+ -0.14498333632946014,
+ 0.24409180879592896,
+ 34.18855285644531,
+ 426.7582092285156
],
[
- 0.22933758795261383,
- -0.5853457450866699,
- -0.40808942914009094,
- -0.7420495748519897,
- 0.5262842774391174,
- 0.12272506207227707,
- 0.8630633354187012,
- 0.0002305197558598593,
- 45.97563552856445,
- 1.6473886966705322,
- 0.2738247513771057,
- -0.25354090332984924,
- 5.018074989318848,
- 49.321250915527344,
- 4.49329948425293,
- 3.769881010055542,
- 0.5061792135238647,
- 2.4303884506225586,
- 171.16476440429688
+ 0.002609187038615346,
+ 0.1641944944858551,
+ 0.0361909493803978,
+ -0.001093503786250949,
+ 0.0005517358658835292,
+ 0.017809666693210602,
+ 0.014160111546516418,
+ -6.59769568756019e-7,
+ 0.062133464962244034,
+ -0.013912361115217209,
+ -0.13000942766666412,
+ -0.0074212695471942425,
+ -0.07604885846376419,
+ -0.03963059186935425,
+ 0.23234203457832336,
+ 0.11440657079219818,
+ -0.09428989887237549,
+ 0.020115243270993233,
+ 29.244321823120117,
+ 281.5018615722656
],
[
- 0.10595784336328506,
- -0.3034239709377289,
- 0.004209194332361221,
- -0.5913828015327454,
- -0.6290345191955566,
- -0.1300378441810608,
- 0.795529842376709,
- 0.0004703139129560441,
- 38.556922912597656,
- 2.611149787902832,
- -29.965702056884766,
- -0.2867933511734009,
- 3.7744107246398926,
- 19.35792350769043,
- 4.308314323425293,
- 5.401734352111816,
- -1.5967721939086914,
- 1.1559562683105469,
- 80.67886352539062
+ 0.0069834040477871895,
+ 0.041601769626140594,
+ 0.0057310424745082855,
+ -0.00531318923458457,
+ 0.02157048135995865,
+ 0.01661366969347,
+ 0.015246346592903137,
+ -6.211704430825193e-7,
+ 0.06806056946516037,
+ 0.05313645675778389,
+ -0.00100362254306674,
+ -0.0005730095435865223,
+ 0.13145634531974792,
+ -0.0034821562003344297,
+ 0.1268721967935562,
+ 0.019754214212298393,
+ 0.050151947885751724,
+ -0.08839767426252365,
+ -2.570124626159668,
+ 177.4750213623047
],
[
- 0.18422643840312958,
- -0.61520916223526,
- 0.00014860428927931935,
- -0.5726089477539062,
- -0.8390034437179565,
- -0.28560081124305725,
- 0.7249773144721985,
- 0.00046326289884746075,
- 36.372188568115234,
- 2.6457676887512207,
- -49.63511276245117,
- -0.1284542679786682,
- 2.8439812660217285,
- 17.921478271484375,
- 4.430426597595215,
- 5.805295467376709,
- -0.828450620174408,
- -0.8559787273406982,
- 57.3697624206543
+ 0.0025039881002157927,
+ 0.007702127564698458,
+ -0.00045940163545310497,
+ -0.004002944100648165,
+ 0.0037886283826082945,
+ 0.0017252910183742642,
+ 0.00038392742862924933,
+ -6.512594836749486e-7,
+ 0.09889813512563705,
+ 0.04272354394197464,
+ -0.010497978888452053,
+ -0.0003051680396310985,
+ 0.00895459670573473,
+ 0.017775943502783775,
+ 0.012162710539996624,
+ 0.035248011350631714,
+ -0.04287286102771759,
+ 0.06903758645057678,
+ -10.82508659362793,
+ 107.75061798095703
],
[
- 0.3403075337409973,
- -0.49216631054878235,
- 0.03154202178120613,
- -0.5617940425872803,
- 0.6211637854576111,
- 0.0806439071893692,
- 0.7029438614845276,
- 0.0005348918493837118,
- 21.42361831665039,
- 2.2635087966918945,
- -63.300052642822266,
- -0.04405362904071808,
- 5.08213472366333,
- 11.197439193725586,
- 1.9858449697494507,
- 2.1883108615875244,
- -1.1526974439620972,
- 1.0649752616882324,
- -30.624439239501953
+ 0.011076230555772781,
+ 0.0014311260310932994,
+ -0.004055170342326164,
+ -0.004592095036059618,
+ -0.0031197774223983288,
+ -0.004475312773138285,
+ 0.0040420591831207275,
+ -6.044542715244461e-7,
+ 0.013708456419408321,
+ 0.02070705033838749,
+ -0.0036784380208700895,
+ 0.002353113144636154,
+ -0.007001507095992565,
+ -0.0014610891230404377,
+ 0.10256830602884293,
+ 0.10486700385808945,
+ 0.024727050215005875,
+ 0.01584123820066452,
+ -17.319719314575195,
+ 11.110079765319824
],
[
- 0.25372663140296936,
- -0.320645272731781,
- -0.07507364451885223,
- -0.5897619724273682,
- 0.5589356422424316,
- 0.04340376704931259,
- 0.5946183800697327,
- 0.0006588282412849367,
- 20.094369888305664,
- 1.8859014511108398,
- -93.14723205566406,
- 0.04088236391544342,
- 4.745431900024414,
- 3.4518299102783203,
- 2.009272336959839,
- 2.3444361686706543,
- 0.32627999782562256,
- -0.770842432975769,
- -38.7278938293457
+ 0.0016084255184978247,
+ -0.000058056619309354573,
+ 0.0035995407961308956,
+ -0.0002546110190451145,
+ 0.0032382626086473465,
+ 0.0009177429601550102,
+ 0.0005268087261356413,
+ -5.435280172605417e-7,
+ 0.022768178954720497,
+ -0.005499211139976978,
+ -0.010610557161271572,
+ 0.00007200468826340511,
+ 0.028107669204473495,
+ 0.0039767916314303875,
+ 0.017439140006899834,
+ 0.04443226754665375,
+ -0.02291657216846943,
+ -0.000984368845820427,
+ -6.033478736877441,
+ -72.48958587646484
],
[
- 0.21943247318267822,
- -0.12726733088493347,
- 0.037228118628263474,
- -0.534363865852356,
- 0.5164883732795715,
- 0.03384561836719513,
- 0.8946473002433777,
- 0.002717023016884923,
- 17.320478439331055,
- 1.5989444255828857,
- -83.35277557373047,
- 0.04878876730799675,
- 2.4009861946105957,
- 5.762009620666504,
- 1.32908034324646,
- 1.8349647521972656,
- -0.21863609552383423,
- -0.023395920172333717,
- -84.03746795654297
+ 0.005728207994252443,
+ 0.007338241674005985,
+ -0.0013876617886126041,
+ -0.00005841227903147228,
+ 0.0013115369947627187,
+ -0.0034035714343190193,
+ 0.0010424795327708125,
+ -0.0000039857986848801374,
+ 0.007220836356282234,
+ -0.0009676579502411187,
+ 0.002990919165313244,
+ 0.00002437340845062863,
+ 0.015586882829666138,
+ -0.004794564098119736,
+ 0.021078355610370636,
+ 0.010257022455334663,
+ -0.007763806264847517,
+ -0.001913520391099155,
+ -12.853437423706055,
+ -109.05554962158203
],
[
- 0.20040203630924225,
- -0.11559498310089111,
- 0.06417270004749298,
- -0.5235376954078674,
- 0.4606982469558716,
- -0.03526902571320534,
- 0.9255168437957764,
- 0.0023979234974831343,
- 16.93575096130371,
- 1.9022513628005981,
- -88.30435943603516,
- 0.0501277782022953,
- 0.9381177425384521,
- 5.077188014984131,
- 1.1604444980621338,
- 1.5118155479431152,
- -1.317555546760559,
- 0.08588874340057373,
- -85.24915313720703
+ 0.0019176827045157552,
+ -0.0012269424041733146,
+ -0.004493480548262596,
+ -0.0009640853968448937,
+ -0.0024018618278205395,
+ -0.0006162429344840348,
+ 0.0007012590649537742,
+ -0.0000021855248633073643,
+ 0.03149329870939255,
+ 0.00817134790122509,
+ -0.013098659925162792,
+ -0.0008149266359396279,
+ -0.005814816802740097,
+ -0.0018502436578273773,
+ 0.004352622199803591,
+ -0.024434806779026985,
+ -0.007340642623603344,
+ 0.004219281952828169,
+ -10.980875968933105,
+ -131.90362548828125
],
[
- 0.18269747495651245,
- -0.07605229318141937,
- 0.07173091173171997,
- -0.4844357669353485,
- -0.5732073783874512,
- 0.007844681851565838,
- 1.12010657787323,
- 0.0014891471946612,
- 16.58222198486328,
- 1.64606511592865,
- -83.35057067871094,
- -0.01078686024993658,
- 0.7091659903526306,
- 8.082894325256348,
- 1.1329712867736816,
- 1.1000499725341797,
- -1.6158696413040161,
- -0.04177570715546608,
- -96.3712387084961
+ 0.0019435613648965955,
+ 0.00003689707591547631,
+ 0.0017084202263504267,
+ -0.0002471527550369501,
+ 0.0029769781976938248,
+ 0.018473217263817787,
+ 0.00022028482635505497,
+ -0.0000024530525024601957,
+ 0.02743135206401348,
+ 0.007595893461257219,
+ -0.00796431303024292,
+ -0.000054649990488542244,
+ 0.014777128584682941,
+ -0.0003132588171865791,
+ 0.033614858984947205,
+ 0.028629209846258163,
+ -0.013384222984313965,
+ 0.002354757394641638,
+ -12.905701637268066,
+ -140.77879333496094
],
[
- 0.1609257012605667,
- -0.05698171257972717,
- 0.04584861919283867,
- -0.43657249212265015,
- -0.9378309845924377,
- -0.03391912952065468,
- -4.230218887329102,
- 0.0004189460596535355,
- 16.555925369262695,
- 1.4549293518066406,
- -62.00870895385742,
- -0.03154341131448746,
- 0.8709114193916321,
- 9.55553913116455,
- 0.9311321973800659,
- 1.621904730796814,
- -2.1065187454223633,
- -0.09628447890281677,
- -117.97828674316406
+ 0.0016929584089666605,
+ 0.00031156433396972716,
+ 0.002085567219182849,
+ -0.0001084033865481615,
+ 0.0029236648697406054,
+ -0.0015846418682485819,
+ -0.0027090918738394976,
+ -0.0000020209704416629393,
+ 0.027477720752358437,
+ 0.007388049270957708,
+ -0.006592149846255779,
+ -0.0001898197369882837,
+ 0.013151525519788265,
+ -0.0005260236794129014,
+ 0.027983564883470535,
+ 0.02940315008163452,
+ -0.016687549650669098,
+ 0.001318069058470428,
+ -15.724103927612305,
+ -139.9279327392578
],
[
- 0.08872067928314209,
- -0.08316853642463684,
- 0.0016095149330794811,
- -0.45677241683006287,
- -0.7193160057067871,
- -0.004891686141490936,
- -4.217394828796387,
- 0.0008948497707024217,
- 19.923673629760742,
- 1.6255260705947876,
- -43.96807098388672,
- -0.023817621171474457,
- 0.6935403347015381,
- 14.397486686706543,
- 1.1161388158798218,
- 1.7200865745544434,
- -2.053905487060547,
- -0.18823200464248657,
- -113.9238052368164
+ 0.0016968236304819584,
+ 0.00046028036740608513,
+ 0.002799232956022024,
+ -0.00018599066243041307,
+ 0.0006236761691980064,
+ -0.002048034919425845,
+ -0.0023637674748897552,
+ -0.0000027183796191820875,
+ 0.030608220025897026,
+ 0.008410527370870113,
+ -0.010060888715088367,
+ -0.000538619002327323,
+ 0.025311332195997238,
+ 0.00013549694267567247,
+ 0.03711697831749916,
+ 0.03740866854786873,
+ -0.01991852931678295,
+ -0.0007309842039830983,
+ -13.930608749389648,
+ -115.61981201171875
],
[
- 0.0777093768119812,
- 0.013259045779705048,
- 0.03686278313398361,
- -0.5079013109207153,
- -2.0132761001586914,
- 0.0010254626395180821,
- -6.094466209411621,
- 0.000774412474129349,
- 20.7618408203125,
- 3.0023746490478516,
- 0.21572139859199524,
- -0.04260637238621712,
- -0.36693641543388367,
- 19.99711799621582,
- 1.3040275573730469,
- 1.5885565280914307,
- -3.245990514755249,
- -1.6222633123397827,
- -111.28253173828125
+ 0.005469616036862135,
+ -0.0009162102942354977,
+ 0.0019053783034905791,
+ -0.0007327375351451337,
+ 0.004812548402696848,
+ -0.0004097820492461324,
+ -0.0005595733528025448,
+ -0.0000019636120214272523,
+ 0.018957683816552162,
+ 0.01140508335083723,
+ -0.04296485334634781,
+ -0.001897835754789412,
+ 0.01194736547768116,
+ 0.00017597072292119265,
+ 0.03229542076587677,
+ 0.027351053431630135,
+ -0.00648263655602932,
+ -0.004493009764701128,
+ -16.884206771850586,
+ -102.13335418701172
],
[
- 1.3190847635269165,
- -0.5746856927871704,
- 0.17855508625507355,
- -0.4402800500392914,
- -0.9835253357887268,
- -0.10344929993152618,
- -23.086894989013672,
- 0.0010899447370320559,
- 33.84690856933594,
- 6.115768909454346,
- 89.60429382324219,
- -0.07197070121765137,
- 7.1410698890686035,
- 31.115278244018555,
- -0.05915360897779465,
- 0.12214836478233337,
- -7.519678592681885,
- 0.6514346599578857,
- -114.10769653320312
+ 0.0011101252166554332,
+ 0.009871318936347961,
+ 0.004710619803518057,
+ 0.00038246429176069796,
+ 0.011278638616204262,
+ -0.0013867070665583014,
+ -0.006719605997204781,
+ -0.000002404046654191916,
+ 0.022509479895234108,
+ 0.04487566649913788,
+ -0.02667502872645855,
+ 0.0001557477517053485,
+ 0.039571698755025864,
+ -0.0008765723323449492,
+ 0.029532067477703094,
+ 0.03739596903324127,
+ -0.02450568601489067,
+ 0.0043879104778170586,
+ -30.45172691345215,
+ 1.7444103956222534
],
[
- 1.2231159210205078,
- -0.9607287645339966,
- 0.11360731720924377,
- -0.8973789811134338,
- -3.622178554534912,
- -0.04175031557679176,
- -31.327651977539062,
- 0.00081804976798594,
- 55.58741760253906,
- 7.034365653991699,
- 180.90435791015625,
- -0.1258937418460846,
- 5.686140060424805,
- 43.01454544067383,
- -2.399845838546753,
- -6.53320837020874,
- -8.385109901428223,
- -0.6005556583404541,
- -81.34176635742188
+ -0.012205596081912518,
+ 0.0015175752341747284,
+ -0.008626663126051426,
+ -0.0012961893808096647,
+ -0.0022021764889359474,
+ 0.0011928001185879111,
+ -0.010106973350048065,
+ -0.0000016436210898973513,
+ 0.02495524100959301,
+ -0.01598449982702732,
+ -0.01273770909756422,
+ 0.0000033652813726803288,
+ 0.024278419092297554,
+ -0.005338772665709257,
+ -0.01608208194375038,
+ 0.0007213237113319337,
+ -0.05310326814651489,
+ 0.008837436325848103,
+ -21.1495361328125,
+ -22.980985641479492
],
[
- 0.1511291116476059,
- -0.14357897639274597,
- -0.040454570204019547,
- -0.6771087646484375,
- -0.9349943995475769,
- -0.18844249844551086,
- 1.8697611093521118,
- 0.0005906057194806635,
- 48.79141616821289,
- 3.4771835803985596,
- 64.20134735107422,
- -0.07858435064554214,
- 1.188006043434143,
- 29.33063316345215,
- 2.216262102127075,
- 2.483311891555786,
- -2.1261587142944336,
- 1.5241737365722656,
- -3.6361958980560303
+ -0.0024537891149520874,
+ -0.018920551985502243,
+ -0.0028547083493322134,
+ 0.009560754522681236,
+ 0.008460825309157372,
+ 0.03177504241466522,
+ 0.0004432738642208278,
+ -5.435280172605417e-7,
+ 0.06357890367507935,
+ -0.0159006230533123,
+ -0.01408358383923769,
+ -0.00013421075709629804,
+ 0.05839915946125984,
+ -0.0030350429005920887,
+ 0.04186831787228584,
+ 0.05348591133952141,
+ -0.07922319322824478,
+ -0.016010867431759834,
+ -29.424467086791992,
+ 86.34281158447266
],
[
- 0.08736417442560196,
- -0.08311426639556885,
- -0.01806890033185482,
- -0.624649703502655,
- 0.6050037741661072,
- -0.02681633271276951,
- 1.0923813581466675,
- 0.0006138867465779185,
- 32.609310150146484,
- 1.8777395486831665,
- -67.16415405273438,
- -0.06076953560113907,
- 1.5194796323776245,
- 12.951915740966797,
- 3.7513234615325928,
- 1.5240014791488647,
- -8.173264503479004,
- 0.45639482140541077,
- 18.55360984802246
+ 0.00821803230792284,
+ -0.0036728119011968374,
+ 0.009658719412982464,
+ -0.0037206667475402355,
+ -0.0028535432647913694,
+ 0.0010842755436897278,
+ 0.0011418440844863653,
+ -5.435280172605417e-7,
+ -0.005440083798021078,
+ 0.03370354324579239,
+ 0.013569224625825882,
+ -0.0003185592941008508,
+ -0.002975594252347946,
+ 0.001179794897325337,
+ 0.016818633303046227,
+ 0.01726139709353447,
+ -0.008923901244997978,
+ 0.004194809589534998,
+ -9.714076042175293,
+ 39.888450622558594
],
[
- 0.04419853538274765,
- -0.4252106249332428,
- -0.06638911366462708,
- -0.5873331427574158,
- -0.6901756525039673,
- 0.05158567801117897,
- -3.1602203845977783,
- 0.00033470726339146495,
- 27.93245506286621,
- 2.6492807865142822,
- -81.19194030761719,
- 0.005892109125852585,
- 2.6808066368103027,
- 19.46100425720215,
- 1.354649305343628,
- 2.2994210720062256,
- -3.287984609603882,
- -0.13685253262519836,
- 129.00477600097656
+ -0.0011057185474783182,
+ -0.016233308240771294,
+ 0.0075501915998756886,
+ -0.0035093214828521013,
+ -0.017202753573656082,
+ -0.0008982795989140868,
+ -0.04288431257009506,
+ -5.836467948938662e-7,
+ 0.09137625247240067,
+ 0.013150972314178944,
+ 0.16757790744304657,
+ -0.005765180569142103,
+ 0.04132239520549774,
+ 0.10927649587392807,
+ 0.07402195036411285,
+ 0.015537441708147526,
+ -0.020421525463461876,
+ 0.02361263893544674,
+ 15.355531692504883,
+ 74.1473617553711
],
[
- 0.11973437666893005,
- -0.10793077945709229,
- -0.10786595940589905,
- -0.6045520305633545,
- -1.2147974967956543,
- -0.9284350872039795,
- 0.7844049334526062,
- 0.00048030438483692706,
- 32.625423431396484,
- 2.515143632888794,
- -56.58749771118164,
- 0.0021387909073382616,
- 4.255259990692139,
- 19.609878540039062,
- 2.299473524093628,
- 2.23740553855896,
- -1.2034484148025513,
- 0.1916126310825348,
- 136.5943603515625
+ 0.0004184774006716907,
+ 0.00017482656403444707,
+ -0.012260599061846733,
+ 0.016875242814421654,
+ -0.009085153229534626,
+ -0.00348266726359725,
+ 0.0010970159200951457,
+ -5.234686568655889e-7,
+ 0.04750418663024902,
+ 0.0015898060519248247,
+ 0.07386710494756699,
+ -0.003485350403934717,
+ 0.06950930505990982,
+ -0.006707921624183655,
+ 0.05835278332233429,
+ 0.05805078148841858,
+ 0.04707755893468857,
+ -0.029627811163663864,
+ 15.726099014282227,
+ 134.1823272705078
],
[
- 0.1082364097237587,
- -0.21223677694797516,
- -0.05490153655409813,
- -0.545283854007721,
- -1.429426908493042,
- -0.3627423346042633,
- 0.8043985962867737,
- 0.0004843123606406152,
- 34.36043167114258,
- 2.9854509830474854,
- -57.13039016723633,
- -0.08268441259860992,
- 3.9013848304748535,
- 18.15716552734375,
- 3.1370790004730225,
- 2.550403594970703,
- -0.14497748017311096,
- 0.07626056671142578,
- 119.68839263916016
+ 0.001450967974960804,
+ 0.008663523942232132,
+ -0.08330849558115005,
+ -0.001517414697445929,
+ -0.004734954796731472,
+ 0.0226710457354784,
+ 0.0012432464864104986,
+ -5.234686568655889e-7,
+ 0.07729528844356537,
+ -0.013958658091723919,
+ 0.13128314912319183,
+ 0.0057492125779390335,
+ 0.012975051067769527,
+ -0.021029822528362274,
+ -0.10661817342042923,
+ -0.03641486167907715,
+ -0.05615438148379326,
+ 0.07721966505050659,
+ 10.229193687438965,
+ 117.00929260253906
],
[
- 0.12623703479766846,
- -0.09981473535299301,
- -0.022092686966061592,
- -0.6123619675636292,
- 0.6960574984550476,
- 0.17629790306091309,
- 0.7644410729408264,
- 0.0004500673967413604,
- 31.243064880371094,
- 2.7847800254821777,
- -71.42472076416016,
- 0.029871594160795212,
- 1.6017038822174072,
- 18.788877487182617,
- 1.5603853464126587,
- 2.075836181640625,
- -0.5787506103515625,
- -0.8384397029876709,
- 123.85447692871094
+ 0.01717088557779789,
+ -0.011571023613214493,
+ -0.06975243985652924,
+ -0.006548789795488119,
+ -0.006513265427201986,
+ -0.0033634547144174576,
+ 0.001120731350965798,
+ -5.234686568655889e-7,
+ 0.03558531403541565,
+ 0.021320698782801628,
+ 0.1137283593416214,
+ -0.0044189924374222755,
+ 0.15400280058383942,
+ 0.0007578463992103934,
+ -0.01506777387112379,
+ 0.0024891418870538473,
+ -0.006772348657250404,
+ 0.02102750353515148,
+ 12.581000328063965,
+ 129.55410766601562
],
[
- 0.30559927225112915,
- -0.6843422055244446,
- -0.5509061217308044,
- -0.5843949317932129,
- 0.49212977290153503,
- 0.05200646445155144,
- 0.7462283372879028,
- 0.0004433387366589159,
- 36.03656768798828,
- 1.8012105226516724,
- -52.44881057739258,
- 0.08841561526060104,
- 4.25314474105835,
- 18.274324417114258,
- 6.6279802322387695,
- 9.095296859741211,
- 1.1217288970947266,
- -1.7296305894851685,
- 186.48130798339844
+ -0.001816046074964106,
+ -0.012102648615837097,
+ 0.01982852630317211,
+ 0.0004926009569317102,
+ 0.007860597223043442,
+ -0.0018960374873131514,
+ 0.0008538152324035764,
+ -5.234686568655889e-7,
+ 0.06222555786371231,
+ -0.021105941385030746,
+ 0.06905367970466614,
+ -0.0040780240669846535,
+ 0.031888414174318314,
+ -0.03257666528224945,
+ 0.025799615308642387,
+ -0.02419019676744938,
+ 0.04766393452882767,
+ 0.0015151231782510877,
+ 36.550254821777344,
+ 123.88862609863281
],
[
- 0.19026543200016022,
- -0.9811125993728638,
- -0.24197007715702057,
- -0.6790480017662048,
- 0.826160728931427,
- 0.1361076533794403,
- 0.9567856788635254,
- 0.0017447572899982333,
- 44.38533020019531,
- 6.729168891906738,
- 8.35029125213623,
- -0.008922005072236061,
- -0.3479408025741577,
- 27.414697647094727,
- 4.110133647918701,
- 3.7592267990112305,
- -2.021366596221924,
- -0.2974810302257538,
- 183.8362274169922
+ 0.001257514231838286,
+ -0.015130575746297836,
+ -0.004414551891386509,
+ 0.008090966381132603,
+ 0.004658644087612629,
+ -0.015146417543292046,
+ 0.00020971645426470786,
+ -5.234686568655889e-7,
+ 0.011706914752721786,
+ 0.20146164298057556,
+ 0.19861085712909698,
+ -0.00803178921341896,
+ 0.12098423391580582,
+ -0.06273028999567032,
+ 0.10733574628829956,
+ 0.044928617775440216,
+ 0.17564228177070618,
+ -0.03375009447336197,
+ 32.01504898071289,
+ 267.82757568359375
],
[
- 0.11138199269771576,
- -0.21216361224651337,
- -0.07062851637601852,
- -1.0341061353683472,
- 0.7042338252067566,
- -0.03752940893173218,
- 1.26123046875,
- 0.006767518352717161,
- 65.3997802734375,
- 5.077115058898926,
- 168.5412139892578,
- -0.07065502554178238,
- -21.741933822631836,
- 66.58692932128906,
- 3.9180402755737305,
- -2.6938364505767822,
- -0.8006421327590942,
- 0.15820886194705963,
- 232.139892578125
+ 0.024126891046762466,
+ -0.06981115788221359,
+ -0.002126110251992941,
+ -0.0030447172466665506,
+ 0.01010955311357975,
+ -0.016713373363018036,
+ 0.0011414185864850879,
+ -5.903332294110442e-7,
+ 0.02796195261180401,
+ 0.10212533921003342,
+ 0.21606597304344177,
+ 0.028450297191739082,
+ 0.3123534023761749,
+ 0.03849228844046593,
+ 0.19616052508354187,
+ 0.06000271439552307,
+ -0.15320873260498047,
+ 0.07142939418554306,
+ 38.81772994995117,
+ 528.9920654296875
],
[
- 0.11156803369522095,
- -0.14972706139087677,
- -0.03701518103480339,
- -1.0750479698181152,
- 0.7851226925849915,
- 0.05880920961499214,
- 1.2723593711853027,
- 0.006968651432543993,
- 71.91404724121094,
- 5.302643775939941,
- 160.10682678222656,
- -0.32071197032928467,
- -27.322114944458008,
- 81.18883514404297,
- 3.3621318340301514,
- -2.1586947441101074,
- -3.7938132286071777,
- -0.14915278553962708,
- 197.42027282714844
+ 0.0007653198554180562,
+ -0.03893428295850754,
+ -0.11176957935094833,
+ 0.04548726975917816,
+ 0.013672908768057823,
+ 0.025302406400442123,
+ 0.0037610491272062063,
+ -5.234686568655889e-7,
+ 0.15557515621185303,
+ -0.1976618766784668,
+ 0.15321378409862518,
+ -0.0045678457245230675,
+ 0.9221652150154114,
+ -0.016127025708556175,
+ 0.3365885019302368,
+ 0.441148966550827,
+ -0.19978415966033936,
+ 0.14800995588302612,
+ 29.793498992919922,
+ 436.032958984375
],
[
- 0.204599067568779,
- -0.2461235225200653,
- -0.21333153545856476,
- -0.7938452959060669,
- 0.4815913140773773,
- 0.1256493330001831,
- 1.0464138984680176,
- 0.00518224760890007,
- 49.97133255004883,
- 4.894437789916992,
- 53.68952941894531,
- -0.19911928474903107,
- -23.529586791992188,
- 55.32871627807617,
- 3.3635354042053223,
- 1.538684368133545,
- -2.1115994453430176,
- -0.26926857233047485,
- 174.94149780273438
+ 0.0014974954538047314,
+ 0.1354808211326599,
+ 0.14720602333545685,
+ 0.00072560302214697,
+ 0.008653385564684868,
+ 0.002555368933826685,
+ 0.017076756805181503,
+ -5.903332294110442e-7,
+ 0.024949247017502785,
+ 0.18119129538536072,
+ -0.10510391741991043,
+ -0.004335414152592421,
+ 0.26319852471351624,
+ -0.035990964621305466,
+ 0.4638155400753021,
+ 0.37781164050102234,
+ 0.023205336183309555,
+ 0.1530095487833023,
+ 36.669219970703125,
+ 291.54913330078125
],
[
- 0.284850537776947,
- -0.7224855422973633,
- -0.10599470883607864,
- -0.7012123465538025,
- 0.6031214594841003,
- 0.1194339394569397,
- 1.062707781791687,
- 0.0002201393072027713,
- 47.41392517089844,
- 3.0333330631256104,
- 15.15195083618164,
- -0.16700708866119385,
- -11.840907096862793,
- 22.97865104675293,
- 4.272884368896484,
- 3.205537796020508,
- 1.213819980621338,
- 0.24470829963684082,
- 102.32076263427734
+ 0.0005830085137858987,
+ -0.0147970886901021,
+ -0.0005603164900094271,
+ -0.0021417096722871065,
+ 0.009206392802298069,
+ 0.0026123817078769207,
+ 0.004351895302534103,
+ -5.234686568655889e-7,
+ 0.08664233982563019,
+ 0.03897193819284439,
+ 0.1724054217338562,
+ -0.0003045381745323539,
+ -0.017801929265260696,
+ -0.016221223399043083,
+ 0.09720641374588013,
+ 0.11877352744340897,
+ 0.012688951566815376,
+ 0.0767255648970604,
+ 1.4028081893920898,
+ 205.1221466064453
],
[
- 0.08558260649442673,
- -0.26781657338142395,
- -0.03651169314980507,
- -0.6109598875045776,
- 0.4114564061164856,
- 0.024791114032268524,
- 0.7712389230728149,
- 0.00045804245746694505,
- 41.705875396728516,
- 2.4311540126800537,
- -35.981204986572266,
- -0.18467994034290314,
- -3.1382734775543213,
- 16.870887756347656,
- 4.5229268074035645,
- 4.405489921569824,
- -2.3479084968566895,
- 0.03791113942861557,
- 82.2328872680664
+ 0.0000801934365881607,
+ -0.004456205293536186,
+ -0.006387252826243639,
+ 0.0043287803418934345,
+ 0.011961555108428001,
+ 0.004476806148886681,
+ -0.00011448755685705692,
+ -5.818232011733926e-7,
+ 0.06868594884872437,
+ -0.039755579084157944,
+ -0.00942378118634224,
+ -0.0001892316504381597,
+ 0.05081229656934738,
+ -0.002565302886068821,
+ 0.09789375215768814,
+ 0.05228988081216812,
+ 0.002476600231602788,
+ -0.011131628416478634,
+ -3.6125998497009277,
+ 127.83191680908203
],
[
- 0.18889480829238892,
- -0.7775468826293945,
- -0.034241363406181335,
- -0.4900377690792084,
- 0.4668247401714325,
- 0.03599352017045021,
- 0.6572790741920471,
- 0.0004563787078950554,
- 38.646183013916016,
- 2.2688169479370117,
- -59.59256362915039,
- -0.18536728620529175,
- 0.9315031170845032,
- 13.838233947753906,
- 4.0595269203186035,
- 5.059770107269287,
- -1.8184020519256592,
- 0.10285140573978424,
- 80.02012634277344
+ -0.0021726444829255342,
+ 0.002795000094920397,
+ -0.005302713718265295,
+ -0.0017264267662540078,
+ -0.017086002975702286,
+ -0.022952895611524582,
+ -0.0018570241518318653,
+ -5.818232011733926e-7,
+ 0.04155479371547699,
+ -0.0010825778590515256,
+ 0.0496688187122345,
+ -0.00024980775197036564,
+ -0.006641995161771774,
+ -0.003954743500798941,
+ 0.05811557173728943,
+ 0.01580921560525894,
+ 0.0028322285506874323,
+ -0.004397578537464142,
+ 6.032445907592773,
+ 49.352500915527344
],
[
- 0.11466164141893387,
- -0.16193976998329163,
- -0.050843071192502975,
- -0.5839547514915466,
- 0.4238177239894867,
- 0.0644395723938942,
- 0.6787403225898743,
- 0.0004557965148705989,
- 29.917152404785156,
- 1.2996795177459717,
- -81.47754669189453,
- -0.07345428317785263,
- 2.0325613021850586,
- 13.935806274414062,
- 0.7567772269248962,
- 1.9554189443588257,
- -1.8155736923217773,
- -0.9485164284706116,
- 40.475616455078125
+ 0.00346371834166348,
+ -0.007487223017960787,
+ -0.010854658670723438,
+ 0.007249853573739529,
+ 0.009227815084159374,
+ 0.007073963526636362,
+ 0.0002005675487453118,
+ -0.000016336676708306186,
+ 0.027244770899415016,
+ 0.014673888683319092,
+ 0.02144038863480091,
+ -0.0003468676586635411,
+ -0.019865011796355247,
+ -0.0020196696277707815,
+ 0.024652913212776184,
+ 0.01293950341641903,
+ -0.02054225280880928,
+ 0.002757658250629902,
+ -4.6295037269592285,
+ 33.4580078125
],
[
- -0.3174290060997009,
- 0.3310340642929077,
- -0.12958554923534393,
- -1.3448700904846191,
- 0.5881621837615967,
- -0.004714091308414936,
- 0.5277523994445801,
- 0.001710362615995109,
- 25.41599464416504,
- 1.3539729118347168,
- -50.08005142211914,
- -0.3727305829524994,
- 3.743600845336914,
- -26.54120445251465,
- -1.3080363273620605,
- 1.7957813739776611,
- -2.2712464332580566,
- 0.7923770546913147,
- 41.63277816772461
+ 0.004500665236264467,
+ 0.004311287775635719,
+ -0.0015911366790533066,
+ -0.00004341434396337718,
+ -0.0036416773218661547,
+ -0.008009851910173893,
+ 0.0007097645429894328,
+ -5.903332294110442e-7,
+ 0.025420092046260834,
+ 0.024150747805833817,
+ -0.030794087797403336,
+ 0.00014085270231589675,
+ 0.010085618123412132,
+ -0.005375177599489689,
+ 0.04862995073199272,
+ 0.018579328432679176,
+ 0.013278493657708168,
+ 0.008740434423089027,
+ -0.2043718844652176,
+ 17.173580169677734
],
[
- -0.19238382577896118,
- 0.16576017439365387,
- -0.06331092119216919,
- -0.877108633518219,
- 0.5804239511489868,
- 0.02127970941364765,
- 0.5031863451004028,
- 0.002146092476323247,
- 22.907079696655273,
- 2.157161235809326,
- -53.333221435546875,
- -0.15660357475280762,
- 4.341437339782715,
- -30.90949821472168,
- -1.8963706493377686,
- 0.18700070679187775,
- -1.8457233905792236,
- 0.1540101170539856,
- 31.643033981323242
+ 0.0003680420632008463,
+ -0.0021799395326524973,
+ -0.0031030476093292236,
+ 0.000007032229859760264,
+ 0.002278556814417243,
+ -0.0001272457739105448,
+ 0.0002727881073951721,
+ -5.903332294110442e-7,
+ 0.049778763204813004,
+ 0.00500711053609848,
+ -0.06298993527889252,
+ -0.0000027592561764322454,
+ 0.01155101228505373,
+ 0.005016802344471216,
+ 0.022589804604649544,
+ 0.0030735796317458153,
+ 0.00017903615662362427,
+ 0.020538311451673508,
+ 2.777050256729126,
+ -49.536006927490234
],
[
- 0.04668380692601204,
- 0.046534158289432526,
- 0.20892439782619476,
- -0.6090874671936035,
- -0.5739677548408508,
- 0.020424511283636093,
- -2.284179449081421,
- 0.0005521719576790929,
- 15.208908081054688,
- 0.8874129056930542,
- -55.6029167175293,
- 0.15441690385341644,
- 1.6044375896453857,
- -19.737382888793945,
- 0.18790587782859802,
- 0.5347346067428589,
- -1.110144853591919,
- -0.07951051741838455,
- -30.715444564819336
+ 0.0019602749962359667,
+ -0.0002076018718071282,
+ 0.000924740161281079,
+ -0.004042718093842268,
+ 0.0015761936083436012,
+ -0.003634627675637603,
+ -0.002123443875461817,
+ -5.836467948938662e-7,
+ 0.012589669786393642,
+ 0.008601898327469826,
+ -0.002863467438146472,
+ -0.00037004690966568887,
+ 0.0030082284938544035,
+ -0.00837839674204588,
+ 0.03412327915430069,
+ 0.03683372959494591,
+ 0.011561469174921513,
+ -0.007075319532305002,
+ -3.8904707431793213,
+ -73.40371704101562
],
[
- 0.0704040378332138,
- 0.00306660495698452,
- 0.005788542330265045,
- -0.5281633138656616,
- -0.3896014392375946,
- -0.051410697400569916,
- -2.4512624740600586,
- 0.0005640322342514992,
- 14.02071762084961,
- 0.9111858606338501,
- -42.93519592285156,
- 0.022168485447764397,
- 1.2551944255828857,
- -14.146629333496094,
- 0.7183982133865356,
- 1.0827301740646362,
- -1.948799967765808,
- 0.03619908541440964,
- -95.28205108642578
+ 0.0021590138785541058,
+ -0.0012494655093178153,
+ 0.00531137827783823,
+ -0.0006216082256287336,
+ 0.0023445889819413424,
+ -0.0018516307463869452,
+ -0.002895719138905406,
+ -0.0000019111487290501827,
+ 0.026525065302848816,
+ 0.008116654120385647,
+ -0.009352079592645168,
+ -0.000039801943785278127,
+ 0.0064659519121050835,
+ 0.0032814410515129566,
+ 0.023766664788126945,
+ 0.022764375433325768,
+ -0.014719526283442974,
+ 0.003942584618926048,
+ -15.14365291595459,
+ -126.5219955444336
],
[
- 0.07861907035112381,
- -0.041344404220581055,
- -0.00439880695194006,
- -0.5452210307121277,
- 0.32789313793182373,
- -0.01280132308602333,
- 0.6400336027145386,
- 0.0008225631900131702,
- 14.963103294372559,
- 1.159946084022522,
- -51.35942840576172,
- -0.10364393144845963,
- 1.2107940912246704,
- -22.75741958618164,
- 0.4763311743736267,
- 0.853819727897644,
- -1.950206995010376,
- 0.16697914898395538,
- -95.26329803466797
+ 0.001963126240298152,
+ 0.0004278573323972523,
+ 0.0017210913356393576,
+ -0.0004960409132763743,
+ -0.0002697939344216138,
+ -0.0012964805355295539,
+ 0.0002213371335528791,
+ -0.0000024363362172152847,
+ 0.027362344786524773,
+ 0.007259185891598463,
+ -0.0072751338593661785,
+ -0.0002024852583417669,
+ 0.01341261062771082,
+ 0.0028589600697159767,
+ 0.022945748642086983,
+ 0.021707018837332726,
+ -0.01633487455546856,
+ 0.0010154079645872116,
+ -13.435151100158691,
+ -139.20156860351562
],
[
- 0.13270977139472961,
- -0.01503751054406166,
- 0.03497190773487091,
- -0.5262167453765869,
- 0.37883010506629944,
- 0.0026681271847337484,
- 0.6798986196517944,
- 0.0008393845055252314,
- 14.390527725219727,
- 1.1559127569198608,
- -34.342041015625,
- -0.2232520431280136,
- 0.9509322047233582,
- -32.627685546875,
- 0.7535831928253174,
- 1.1008868217468262,
- -2.6093475818634033,
- 0.02177518419921398,
- -103.45665740966797
+ 0.0017983439611271024,
+ -0.00022226972214411944,
+ 0.0023725302889943123,
+ 0.000009755483915796503,
+ -0.0004627624002750963,
+ -0.0018390193581581116,
+ 0.0001538219948997721,
+ -0.0000016591945950494846,
+ 0.0263361856341362,
+ 0.007185096386820078,
+ -0.00688078161329031,
+ -0.00026726291980594397,
+ 0.012591404840350151,
+ 0.004633589182049036,
+ 0.02266033925116062,
+ 0.018868226557970047,
+ -0.019568270072340965,
+ 0.0014882589457556605,
+ -14.473722457885742,
+ -137.16183471679688
],
[
- 0.15651755034923553,
- -0.15258224308490753,
- 0.03707513585686684,
- -0.5549656748771667,
- -0.8716737031936646,
- -0.17876099050045013,
- 0.5893511772155762,
- 0.0012780610704794526,
- 16.52436065673828,
- 1.6463030576705933,
- -15.422141075134277,
- -0.3689005374908447,
- 1.9884896278381348,
- -55.493408203125,
- 0.8239267468452454,
- 0.7360613942146301,
- -2.750591278076172,
- -0.06881178915500641,
- -82.84323120117188
+ 0.0027924291789531708,
+ 0.0006672564777545631,
+ 0.019606126472353935,
+ 0.0042277052998542786,
+ 0.0055525414645671844,
+ 0.016647664830088615,
+ -0.0005231742397882044,
+ -0.0000021688085780624533,
+ 0.02380349487066269,
+ 0.008502909913659096,
+ -0.008627854287624359,
+ -0.0001291552180191502,
+ 0.015335661359131336,
+ 0.008100496605038643,
+ 0.02183554135262966,
+ 0.02545825205743313,
+ -0.007043658755719662,
+ 0.021084072068333626,
+ -12.392168998718262,
+ -127.07182312011719
],
[
- 0.4447348117828369,
- -0.4231981933116913,
- -0.02228293940424919,
- -0.7803685665130615,
- 0.7693158984184265,
- 0.3406188488006592,
- 1.031157374382019,
- 0.0005409898003563285,
- 26.59900665283203,
- 4.324277877807617,
- 44.66126251220703,
- -0.6762575507164001,
- 4.063052177429199,
- -120.94087219238281,
- 2.1688156127929688,
- 2.7925262451171875,
- -2.3223366737365723,
- 0.47057315707206726,
- -57.06726837158203
+ 0.0008910028263926506,
+ -0.0023655213881284,
+ -0.00016925547970458865,
+ 0.0007772634271532297,
+ -0.00028832152020186186,
+ -0.0015376099618151784,
+ 0.00120789825450629,
+ -2.7600034968600085e-7,
+ 0.025869540870189667,
+ 0.010142544284462929,
+ 0.01182663906365633,
+ -0.0011886279098689556,
+ -0.002079905942082405,
+ 0.020062390714883804,
+ 0.022434281185269356,
+ 0.028602467849850655,
+ -0.0005579907447099686,
+ 0.0041159093379974365,
+ -13.156085968017578,
+ -87.2933578491211
],
[
- 0.3455011546611786,
- -0.34853312373161316,
- -0.07679200172424316,
- -0.7773706316947937,
- 0.8298165798187256,
- 0.1192348450422287,
- 1.2219772338867188,
- 0.0004078227502759546,
- 40.303794860839844,
- 3.6706557273864746,
- 87.4390869140625,
- -0.5022661089897156,
- 5.4427337646484375,
- -179.41114807128906,
- -2.2335124015808105,
- 0.38430309295654297,
- -3.290996789932251,
- 0.5145955681800842,
- 37.80179977416992
+ 0.002520846202969551,
+ -0.0016090237768366933,
+ -0.011034599505364895,
+ -0.0037454143166542053,
+ -0.006465476006269455,
+ 0.004928687121719122,
+ 0.00012173393770353869,
+ -5.435280172605417e-7,
+ 0.02550685405731201,
+ -0.00030980102019384503,
+ -0.0033666309900581837,
+ 0.00003521377220749855,
+ 0.015116547234356403,
+ 0.0031370152719318867,
+ 0.023118756711483,
+ 0.037078917026519775,
+ -0.03095299005508423,
+ -0.0003248572757001966,
+ -7.020362377166748,
+ 6.664906024932861
],
[
- -0.9017656445503235,
- 0.4451572299003601,
- 0.06388839334249496,
- -0.7944748997688293,
- 0.6035032272338867,
- -0.0905015766620636,
- 0.7729612588882446,
- 0.00041011886787600815,
- 37.274715423583984,
- 1.159719467163086,
- 14.937543869018555,
- -2.050440788269043,
- 3.1982452869415283,
- -70.25680541992188,
- -1.3633711338043213,
- 0.7603104114532471,
- -5.101544380187988,
- -0.42048677802085876,
- 83.18323516845703
+ -0.0011328888358548284,
+ -0.0006776886293664575,
+ 0.0025607720017433167,
+ -0.0010662269778549671,
+ -0.004179570358246565,
+ 0.01139034517109394,
+ 0.00048582968884147704,
+ -5.602441888186149e-7,
+ 0.051470667123794556,
+ 0.0793420597910881,
+ -0.021775605157017708,
+ -0.00029938897932879627,
+ -0.042126886546611786,
+ 0.019091205671429634,
+ 0.05989614129066467,
+ 0.03380190581083298,
+ 0.01294303871691227,
+ -0.00526716373860836,
+ -0.6558831930160522,
+ 108.92472839355469
],
[
- 0.11393378674983978,
- 0.11304812133312225,
- -0.16461777687072754,
- -0.7269461154937744,
- 0.16770629584789276,
- -0.1017497181892395,
- 0.5087674260139465,
- 0.0004202720010653138,
- 27.24408531188965,
- 1.5593397617340088,
- -28.239973068237305,
- 0.4899006187915802,
- 1.0886896848678589,
- -24.55528450012207,
- 2.7483482360839844,
- 2.03686785697937,
- -0.42894095182418823,
- 1.3455692529678345,
- 204.861572265625
+ 0.004372152499854565,
+ -0.08473900705575943,
+ -0.033088285475969315,
+ 0.011379732750356197,
+ -0.07079089432954788,
+ -0.05249302461743355,
+ 0.0011294371215626597,
+ -5.435280172605417e-7,
+ 0.07675136625766754,
+ -0.1803426742553711,
+ 0.04048972204327583,
+ -0.0025652775075286627,
+ 0.022899962961673737,
+ 0.02303881011903286,
+ -0.01693040505051613,
+ 0.05974923074245453,
+ -0.053477831184864044,
+ -0.13646526634693146,
+ 58.41898727416992,
+ 188.3303985595703
],
[
- 0.03289812058210373,
- 0.00438904482871294,
- -0.02268366888165474,
- -0.6151777505874634,
- 0.26423653960227966,
- -0.05472677946090698,
- 0.5688372254371643,
- 0.00039869867032393813,
- 40.12403869628906,
- 6.724072456359863,
- -3.9013240337371826,
- 0.13893280923366547,
- 0.9798011779785156,
- -21.420793533325195,
- -1.6129995584487915,
- -4.774735450744629,
- -2.7931156158447266,
- 1.4105048179626465,
- 319.2957458496094
+ 0.023136653006076813,
+ 0.013332482427358627,
+ -0.10747312754392624,
+ -0.000027626136215985753,
+ 0.01566438376903534,
+ 0.04234756901860237,
+ 0.0014431572053581476,
+ -5.602441888186149e-7,
+ 1.1457523107528687,
+ 0.013935286551713943,
+ 0.23359306156635284,
+ -0.0012342684203758836,
+ 0.026020588353276253,
+ 0.03317909687757492,
+ 0.09904667735099792,
+ 0.02392827905714512,
+ 0.09438963979482651,
+ 0.06155690178275108,
+ 118.4447021484375,
+ 216.02000427246094
],
[
- -0.03983254358172417,
- -0.03532906994223595,
- -0.022279951721429825,
- -0.627357006072998,
- 0.4631103277206421,
- -0.015223309397697449,
- 0.5658614635467529,
- 0.00040272370097227395,
- 35.80498123168945,
- 20.436368942260742,
- 4.8773040771484375,
- -0.02710779756307602,
- 2.5953235626220703,
- -20.015819549560547,
- -0.4222872853279114,
- -6.170653820037842,
- -1.3667196035385132,
- -0.08611901849508286,
- 363.1136779785156
+ 0.00473807705566287,
+ -0.013561918400228024,
+ -0.00569318188354373,
+ 0.006259304471313953,
+ 0.04020430147647858,
+ 0.015873584896326065,
+ 0.0008505901205353439,
+ -5.903332294110442e-7,
+ 0.7021811008453369,
+ -0.2398284673690796,
+ -0.003728893818333745,
+ -0.001245810417458415,
+ 0.08301378786563873,
+ 0.006334937177598476,
+ -0.1641101986169815,
+ -0.19872988760471344,
+ -0.43158915638923645,
+ 0.0553923100233078,
+ 125.51891326904297,
+ 256.03302001953125
],
[
- -0.029909580945968628,
- -0.054200202226638794,
- -0.015400067903101444,
- -0.6077865958213806,
- 0.45533764362335205,
- 0.003094450104981661,
- 0.5511691570281982,
- 0.00041140950634144247,
- 32.99904251098633,
- 26.067794799804688,
- 5.580532550811768,
- -0.01208861917257309,
- 2.7792036533355713,
- -19.195932388305664,
- -3.357377052307129,
- -8.327322006225586,
- 1.2978521585464478,
- 0.4992067217826843,
- 374.6746826171875
+ -0.019758548587560654,
+ 0.010217578150331974,
+ -0.00971164833754301,
+ -0.002168492414057255,
+ 0.050850387662649155,
+ 0.01615949533879757,
+ 0.000913315627258271,
+ -5.234686568655889e-7,
+ 0.23350246250629425,
+ 0.05356588959693909,
+ 0.2396046668291092,
+ -0.0019483801443129778,
+ 0.1325407475233078,
+ 0.047976866364479065,
+ -0.17942087352275848,
+ -0.22870692610740662,
+ -0.30266401171684265,
+ -0.15156613290309906,
+ 136.47964477539062,
+ 273.0892639160156
],
[
- 0.002795484848320484,
- -0.0554082915186882,
- -0.033671021461486816,
- -0.6234163641929626,
- 0.560994029045105,
- 0.020386941730976105,
- 0.5377357006072998,
- 0.00039178752922452986,
- 32.3141975402832,
- 23.293106079101562,
- 1.1144087314605713,
- 0.2542417645454407,
- 2.357220411300659,
- -18.85422134399414,
- -0.9144224524497986,
- -15.955507278442383,
- 1.5044362545013428,
- -0.023106178268790245,
- 381.828125
+ 0.003229377791285515,
+ -0.0003926470235455781,
+ -0.16129636764526367,
+ 0.0017673897091299295,
+ 0.032411836087703705,
+ 0.004987923428416252,
+ 0.0017363234655931592,
+ -5.234686568655889e-7,
+ 1.7381287813186646,
+ -0.24203439056873322,
+ 0.09731228649616241,
+ 0.015623160637915134,
+ 0.1461087167263031,
+ 0.029173608869314194,
+ 0.1483512818813324,
+ 0.050507497042417526,
+ -0.5012174844741821,
+ 0.01543451752513647,
+ 146.48016357421875,
+ 224.67330932617188
],
[
- 0.0010237160604447126,
- -0.06102044880390167,
- -0.034895896911621094,
- -0.625860869884491,
- 0.5427557229995728,
- 0.013131984509527683,
- 0.5326250195503235,
- 0.0003884797915816307,
- 32.58828353881836,
- 24.576950073242188,
- 1.2001595497131348,
- 0.25430577993392944,
- 2.411581516265869,
- -19.075937271118164,
- -1.6931570768356323,
- -12.839770317077637,
- 3.3814566135406494,
- -0.1815534234046936,
- 378.95782470703125
+ -0.0026937625370919704,
+ -0.024381984025239944,
+ -0.013046693056821823,
+ -0.0008301987545564771,
+ 0.07341579347848892,
+ 0.008803494274616241,
+ 0.005390099715441465,
+ -5.903332294110442e-7,
+ 2.091766834259033,
+ -0.13497331738471985,
+ 0.25884851813316345,
+ -0.0012181127676740289,
+ 0.013696557842195034,
+ 0.03928625211119652,
+ 0.10275577008724213,
+ 0.0670732632279396,
+ -0.028537996113300323,
+ 0.06219366192817688,
+ 143.07008361816406,
+ 245.90567016601562
]
]
}
@@ -4548,7 +4686,9 @@
}
],
"source": [
- "px.imshow(samples_explanations, height=700, color_continuous_scale='Bluered', title=\"Sample Explanations\")"
+ "px.imshow(\n",
+ " samples_explanations, height=700, color_continuous_scale=\"Bluered\", title=\"Sample Explanations\"\n",
+ ")"
]
}
],
@@ -4568,7 +4708,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.4"
+ "version": "3.12.5"
}
},
"nbformat": 4,
diff --git a/notebooks/indicators.ipynb b/notebooks/indicators.ipynb
index ae0dad3..b76c8fb 100644
--- a/notebooks/indicators.ipynb
+++ b/notebooks/indicators.ipynb
@@ -128,9 +128,9 @@
" \n",
" 0 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:02:02.224 \n",
- " 598443335336095652 \n",
- " 2024-07-21 15:02:02.224 \n",
+ " 2024-12-14 14:35:02.439 \n",
+ " 300971336194126583 \n",
+ " 2024-12-14 14:35:02.439 \n",
" active \n",
" bikes \n",
" {} \n",
@@ -141,10 +141,10 @@
],
"text/plain": [
" artifact_location creation_time \\\n",
- "0 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:02:02.224 \n",
+ "0 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:35:02.439 \n",
"\n",
" experiment_id last_update_time lifecycle_stage name tags \n",
- "0 598443335336095652 2024-07-21 15:02:02.224 active bikes {} "
+ "0 300971336194126583 2024-12-14 14:35:02.439 active bikes {} "
]
},
"execution_count": 5,
@@ -174,7 +174,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "(18, 30)\n"
+ "(27, 29)\n"
]
},
{
@@ -222,7 +222,6 @@
" mlflow.runName \n",
" mlflow.project.env \n",
" mlflow.project.backend \n",
- " mlflow.datasets \n",
" estimator_name \n",
" estimator_class \n",
" mlflow.log-model.history \n",
@@ -234,24 +233,24 @@
" \n",
" 0 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:31:53.829 \n",
- " 598443335336095652 \n",
+ " 2024-12-14 14:42:28.056 \n",
+ " 300971336194126583 \n",
" active \n",
- " 4df1e5931159491c963f2252add508cd \n",
+ " 9923cb99c1824857b68c0bedb63f8446 \n",
" Explanations \n",
- " 4df1e5931159491c963f2252add508cd \n",
- " 2024-07-21 15:31:20.207 \n",
+ " 9923cb99c1824857b68c0bedb63f8446 \n",
+ " 2024-12-14 14:42:16.077 \n",
" FINISHED \n",
" fmind \n",
" {} \n",
" {'conf_file': 'confs/explanations.yaml'} \n",
" {'mlflow.user': 'fmind', 'mlflow.source.name':... \n",
- " 33.622 \n",
+ " 11.979 \n",
" fmind \n",
" file:///home/fmind/mlops-python-package \n",
" PROJECT \n",
" main \n",
- " ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ " 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
" git@github.com:fmind/mlops-python-package \n",
" git@github.com:fmind/mlops-python-package \n",
" Explanations \n",
@@ -262,35 +261,33 @@
" NaN \n",
" NaN \n",
" NaN \n",
- " NaN \n",
" \n",
" \n",
" 1 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:31:13.361 \n",
- " 598443335336095652 \n",
+ " 2024-12-14 14:42:13.733 \n",
+ " 300971336194126583 \n",
" active \n",
- " e993a53ee04e4357bad5cec101ab4031 \n",
+ " bfce074e34834054b84e5794450a4fa2 \n",
" Evaluations \n",
- " e993a53ee04e4357bad5cec101ab4031 \n",
- " 2024-07-21 15:31:07.565 \n",
+ " bfce074e34834054b84e5794450a4fa2 \n",
+ " 2024-12-14 14:42:07.488 \n",
" FINISHED \n",
" fmind \n",
" {'example_count': 13903.0, 'mean_absolute_erro... \n",
" {'conf_file': 'confs/evaluations.yaml'} \n",
" {'mlflow.user': 'fmind', 'mlflow.source.name':... \n",
- " 5.796 \n",
+ " 6.245 \n",
" fmind \n",
" file:///home/fmind/mlops-python-package \n",
" PROJECT \n",
" main \n",
- " ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ " 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
" git@github.com:fmind/mlops-python-package \n",
" git@github.com:fmind/mlops-python-package \n",
" Evaluations \n",
" virtualenv \n",
" local \n",
- " [{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"h... \n",
" NaN \n",
" NaN \n",
" NaN \n",
@@ -300,24 +297,24 @@
" \n",
" 2 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:31:04.758 \n",
- " 598443335336095652 \n",
+ " 2024-12-14 14:42:05.031 \n",
+ " 300971336194126583 \n",
" active \n",
- " c17b893e525b44ed89e349421e72510a \n",
+ " 5ebe28d67ed54300a177eb61825a6688 \n",
" Inference \n",
- " c17b893e525b44ed89e349421e72510a \n",
- " 2024-07-21 15:30:59.023 \n",
+ " 5ebe28d67ed54300a177eb61825a6688 \n",
+ " 2024-12-14 14:41:59.607 \n",
" FINISHED \n",
" fmind \n",
" {} \n",
" {'conf_file': 'confs/inference.yaml'} \n",
" {'mlflow.user': 'fmind', 'mlflow.source.name':... \n",
- " 5.735 \n",
+ " 5.424 \n",
" fmind \n",
" file:///home/fmind/mlops-python-package \n",
" PROJECT \n",
" main \n",
- " ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ " 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
" git@github.com:fmind/mlops-python-package \n",
" git@github.com:fmind/mlops-python-package \n",
" Inference \n",
@@ -328,29 +325,28 @@
" NaN \n",
" NaN \n",
" NaN \n",
- " NaN \n",
" \n",
" \n",
" 3 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:30:56.969 \n",
- " 598443335336095652 \n",
+ " 2024-12-14 14:41:57.245 \n",
+ " 300971336194126583 \n",
" active \n",
- " d538cc2f3f644b6e97b611c1d96801ac \n",
+ " f29b930df5a54f1fa9ec5fe4b27df8b9 \n",
" Promotion \n",
- " d538cc2f3f644b6e97b611c1d96801ac \n",
- " 2024-07-21 15:30:51.594 \n",
+ " f29b930df5a54f1fa9ec5fe4b27df8b9 \n",
+ " 2024-12-14 14:41:52.639 \n",
" FINISHED \n",
" fmind \n",
" {} \n",
" {'conf_file': 'confs/promotion.yaml'} \n",
" {'mlflow.user': 'fmind', 'mlflow.source.name':... \n",
- " 5.375 \n",
+ " 4.606 \n",
" fmind \n",
" file:///home/fmind/mlops-python-package \n",
" PROJECT \n",
" main \n",
- " ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ " 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
" git@github.com:fmind/mlops-python-package \n",
" git@github.com:fmind/mlops-python-package \n",
" Promotion \n",
@@ -361,38 +357,36 @@
" NaN \n",
" NaN \n",
" NaN \n",
- " NaN \n",
" \n",
" \n",
" 4 \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
- " 2024-07-21 15:30:46.302 \n",
- " 598443335336095652 \n",
+ " 2024-12-14 14:41:49.910 \n",
+ " 300971336194126583 \n",
" active \n",
- " a75ea3e9742c48fd9c34a5b8abf9bd89 \n",
+ " 4753bf6b106845d19eca79b7cb329343 \n",
" Training \n",
- " a75ea3e9742c48fd9c34a5b8abf9bd89 \n",
- " 2024-07-21 15:29:25.495 \n",
+ " 4753bf6b106845d19eca79b7cb329343 \n",
+ " 2024-12-14 14:41:23.914 \n",
" FINISHED \n",
" fmind \n",
- " {'training_mean_squared_error': 124.5105461557... \n",
+ " {'training_mean_squared_error': 1.280665585452... \n",
" {'conf_file': 'confs/training.yaml', 'memory':... \n",
" {'mlflow.user': 'fmind', 'mlflow.source.name':... \n",
- " 80.807 \n",
+ " 25.996 \n",
" fmind \n",
" file:///home/fmind/mlops-python-package \n",
" PROJECT \n",
" main \n",
- " ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ " 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
" git@github.com:fmind/mlops-python-package \n",
" git@github.com:fmind/mlops-python-package \n",
" Training \n",
" virtualenv \n",
" local \n",
- " NaN \n",
" Pipeline \n",
" sklearn.pipeline.Pipeline \n",
- " [{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\"... \n",
+ " [{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\"... \n",
" NaN \n",
" NaN \n",
" \n",
@@ -402,32 +396,32 @@
],
"text/plain": [
" artifact_uri end_time \\\n",
- "0 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:31:53.829 \n",
- "1 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:31:13.361 \n",
- "2 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:31:04.758 \n",
- "3 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:30:56.969 \n",
- "4 file:///home/fmind/mlops-python-package/mlruns... 2024-07-21 15:30:46.302 \n",
+ "0 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:42:28.056 \n",
+ "1 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:42:13.733 \n",
+ "2 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:42:05.031 \n",
+ "3 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:41:57.245 \n",
+ "4 file:///home/fmind/mlops-python-package/mlruns... 2024-12-14 14:41:49.910 \n",
"\n",
" experiment_id lifecycle_stage run_id \\\n",
- "0 598443335336095652 active 4df1e5931159491c963f2252add508cd \n",
- "1 598443335336095652 active e993a53ee04e4357bad5cec101ab4031 \n",
- "2 598443335336095652 active c17b893e525b44ed89e349421e72510a \n",
- "3 598443335336095652 active d538cc2f3f644b6e97b611c1d96801ac \n",
- "4 598443335336095652 active a75ea3e9742c48fd9c34a5b8abf9bd89 \n",
+ "0 300971336194126583 active 9923cb99c1824857b68c0bedb63f8446 \n",
+ "1 300971336194126583 active bfce074e34834054b84e5794450a4fa2 \n",
+ "2 300971336194126583 active 5ebe28d67ed54300a177eb61825a6688 \n",
+ "3 300971336194126583 active f29b930df5a54f1fa9ec5fe4b27df8b9 \n",
+ "4 300971336194126583 active 4753bf6b106845d19eca79b7cb329343 \n",
"\n",
" run_name run_uuid start_time \\\n",
- "0 Explanations 4df1e5931159491c963f2252add508cd 2024-07-21 15:31:20.207 \n",
- "1 Evaluations e993a53ee04e4357bad5cec101ab4031 2024-07-21 15:31:07.565 \n",
- "2 Inference c17b893e525b44ed89e349421e72510a 2024-07-21 15:30:59.023 \n",
- "3 Promotion d538cc2f3f644b6e97b611c1d96801ac 2024-07-21 15:30:51.594 \n",
- "4 Training a75ea3e9742c48fd9c34a5b8abf9bd89 2024-07-21 15:29:25.495 \n",
+ "0 Explanations 9923cb99c1824857b68c0bedb63f8446 2024-12-14 14:42:16.077 \n",
+ "1 Evaluations bfce074e34834054b84e5794450a4fa2 2024-12-14 14:42:07.488 \n",
+ "2 Inference 5ebe28d67ed54300a177eb61825a6688 2024-12-14 14:41:59.607 \n",
+ "3 Promotion f29b930df5a54f1fa9ec5fe4b27df8b9 2024-12-14 14:41:52.639 \n",
+ "4 Training 4753bf6b106845d19eca79b7cb329343 2024-12-14 14:41:23.914 \n",
"\n",
" status user_id metrics \\\n",
"0 FINISHED fmind {} \n",
"1 FINISHED fmind {'example_count': 13903.0, 'mean_absolute_erro... \n",
"2 FINISHED fmind {} \n",
"3 FINISHED fmind {} \n",
- "4 FINISHED fmind {'training_mean_squared_error': 124.5105461557... \n",
+ "4 FINISHED fmind {'training_mean_squared_error': 1.280665585452... \n",
"\n",
" params \\\n",
"0 {'conf_file': 'confs/explanations.yaml'} \n",
@@ -437,11 +431,11 @@
"4 {'conf_file': 'confs/training.yaml', 'memory':... \n",
"\n",
" tags run_time_secs \\\n",
- "0 {'mlflow.user': 'fmind', 'mlflow.source.name':... 33.622 \n",
- "1 {'mlflow.user': 'fmind', 'mlflow.source.name':... 5.796 \n",
- "2 {'mlflow.user': 'fmind', 'mlflow.source.name':... 5.735 \n",
- "3 {'mlflow.user': 'fmind', 'mlflow.source.name':... 5.375 \n",
- "4 {'mlflow.user': 'fmind', 'mlflow.source.name':... 80.807 \n",
+ "0 {'mlflow.user': 'fmind', 'mlflow.source.name':... 11.979 \n",
+ "1 {'mlflow.user': 'fmind', 'mlflow.source.name':... 6.245 \n",
+ "2 {'mlflow.user': 'fmind', 'mlflow.source.name':... 5.424 \n",
+ "3 {'mlflow.user': 'fmind', 'mlflow.source.name':... 4.606 \n",
+ "4 {'mlflow.user': 'fmind', 'mlflow.source.name':... 25.996 \n",
"\n",
" mlflow.user mlflow.source.name mlflow.source.type \\\n",
"0 fmind file:///home/fmind/mlops-python-package PROJECT \n",
@@ -451,11 +445,11 @@
"4 fmind file:///home/fmind/mlops-python-package PROJECT \n",
"\n",
" mlflow.project.entryPoint mlflow.source.git.commit \\\n",
- "0 main ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
- "1 main ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
- "2 main ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
- "3 main ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
- "4 main ee17d0a9de59efd2eb99d667786ac417ec8b3b63 \n",
+ "0 main 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
+ "1 main 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
+ "2 main 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
+ "3 main 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
+ "4 main 1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c \n",
"\n",
" mlflow.source.git.repoURL \\\n",
"0 git@github.com:fmind/mlops-python-package \n",
@@ -471,19 +465,12 @@
"3 git@github.com:fmind/mlops-python-package Promotion \n",
"4 git@github.com:fmind/mlops-python-package Training \n",
"\n",
- " mlflow.project.env mlflow.project.backend \\\n",
- "0 virtualenv local \n",
- "1 virtualenv local \n",
- "2 virtualenv local \n",
- "3 virtualenv local \n",
- "4 virtualenv local \n",
- "\n",
- " mlflow.datasets estimator_name \\\n",
- "0 NaN NaN \n",
- "1 [{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"h... NaN \n",
- "2 NaN NaN \n",
- "3 NaN NaN \n",
- "4 NaN Pipeline \n",
+ " mlflow.project.env mlflow.project.backend estimator_name \\\n",
+ "0 virtualenv local NaN \n",
+ "1 virtualenv local NaN \n",
+ "2 virtualenv local NaN \n",
+ "3 virtualenv local NaN \n",
+ "4 virtualenv local Pipeline \n",
"\n",
" estimator_class \\\n",
"0 NaN \n",
@@ -497,7 +484,7 @@
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 NaN NaN \n",
- "4 [{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\"... NaN \n",
+ "4 [{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\"... NaN \n",
"\n",
" mlflow.parentRunId \n",
"0 NaN \n",
@@ -523,9 +510,11 @@
"runs = pd.DataFrame(runs).assign(\n",
" end_time=lambda data: pd.to_datetime(data[\"end_time\"], unit=\"ms\"),\n",
" start_time=lambda data: pd.to_datetime(data[\"start_time\"], unit=\"ms\"),\n",
- " run_time_secs=lambda data: (data['end_time'] - data['start_time']).map(lambda t: t.total_seconds()),\n",
+ " run_time_secs=lambda data: (data[\"end_time\"] - data[\"start_time\"]).map(\n",
+ " lambda t: t.total_seconds()\n",
+ " ),\n",
")\n",
- "runs = pd.concat([runs, pd.json_normalize(runs['tags'])], axis=\"columns\")\n",
+ "runs = pd.concat([runs, pd.json_normalize(runs[\"tags\"])], axis=\"columns\")\n",
"print(runs.shape)\n",
"runs.head()"
]
@@ -574,10 +563,10 @@
" \n",
" \n",
" 0 \n",
- " {'Champion': '2'} \n",
- " 2024-07-21 15:03:06.208 \n",
+ " {'Champion': '3'} \n",
+ " 2024-12-14 14:37:45.482 \n",
" \n",
- " 2024-07-21 15:30:56.443 \n",
+ " 2024-12-14 14:41:56.590 \n",
" bikes \n",
" {} \n",
" \n",
@@ -587,10 +576,10 @@
],
"text/plain": [
" aliases creation_timestamp description \\\n",
- "0 {'Champion': '2'} 2024-07-21 15:03:06.208 \n",
+ "0 {'Champion': '3'} 2024-12-14 14:37:45.482 \n",
"\n",
" last_updated_timestamp name tags \n",
- "0 2024-07-21 15:30:56.443 bikes {} "
+ "0 2024-12-14 14:41:56.590 bikes {} "
]
},
"execution_count": 7,
@@ -603,10 +592,16 @@
" max_results=MAX_RESULTS, order_by=[\"creation_timestamp DESC\"]\n",
")\n",
"models = [dict(model) for model in models]\n",
- "models = pd.DataFrame(models).assign(\n",
- " creation_timestamp=lambda data: pd.to_datetime(data[\"creation_timestamp\"], unit=\"ms\"),\n",
- " last_updated_timestamp=lambda data: pd.to_datetime(data[\"last_updated_timestamp\"], unit=\"ms\"),\n",
- ").drop(columns=['latest_versions'])\n",
+ "models = (\n",
+ " pd.DataFrame(models)\n",
+ " .assign(\n",
+ " creation_timestamp=lambda data: pd.to_datetime(data[\"creation_timestamp\"], unit=\"ms\"),\n",
+ " last_updated_timestamp=lambda data: pd.to_datetime(\n",
+ " data[\"last_updated_timestamp\"], unit=\"ms\"\n",
+ " ),\n",
+ " )\n",
+ " .drop(columns=[\"latest_versions\"])\n",
+ ")\n",
"print(models.shape)\n",
"models"
]
@@ -620,7 +615,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "(2, 14)\n"
+ "(3, 14)\n"
]
},
{
@@ -664,29 +659,46 @@
" \n",
" 0 \n",
" Champion \n",
- " 2024-07-21 15:30:44.679 \n",
+ " 2024-12-14 14:41:48.936 \n",
" None \n",
" \n",
- " 2024-07-21 15:30:44.679 \n",
+ " 2024-12-14 14:41:48.936 \n",
" bikes \n",
- " a75ea3e9742c48fd9c34a5b8abf9bd89 \n",
+ " 4753bf6b106845d19eca79b7cb329343 \n",
" \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
" READY \n",
" \n",
" {} \n",
" \n",
- " 2 \n",
+ " 3 \n",
" \n",
" \n",
" 1 \n",
" None \n",
- " 2024-07-21 15:03:06.212 \n",
+ " 2024-12-14 14:39:49.417 \n",
+ " None \n",
+ " \n",
+ " 2024-12-14 14:39:49.417 \n",
+ " bikes \n",
+ " ae9f673f6b264240bb79ffd94ca49fe2 \n",
+ " \n",
+ " file:///home/fmind/mlops-python-package/mlruns... \n",
+ " READY \n",
+ " \n",
+ " {} \n",
+ " \n",
+ " 2 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " None \n",
+ " 2024-12-14 14:37:45.487 \n",
" None \n",
" \n",
- " 2024-07-21 15:03:06.212 \n",
+ " 2024-12-14 14:37:45.487 \n",
" bikes \n",
- " 47302e957d8542198a281aad07b2413b \n",
+ " d2aed973c12b475f849743599f7bc973 \n",
" \n",
" file:///home/fmind/mlops-python-package/mlruns... \n",
" READY \n",
@@ -701,20 +713,24 @@
],
"text/plain": [
" aliases creation_timestamp current_stage description \\\n",
- "0 Champion 2024-07-21 15:30:44.679 None \n",
- "1 None 2024-07-21 15:03:06.212 None \n",
+ "0 Champion 2024-12-14 14:41:48.936 None \n",
+ "1 None 2024-12-14 14:39:49.417 None \n",
+ "2 None 2024-12-14 14:37:45.487 None \n",
"\n",
" last_updated_timestamp name run_id run_link \\\n",
- "0 2024-07-21 15:30:44.679 bikes a75ea3e9742c48fd9c34a5b8abf9bd89 \n",
- "1 2024-07-21 15:03:06.212 bikes 47302e957d8542198a281aad07b2413b \n",
+ "0 2024-12-14 14:41:48.936 bikes 4753bf6b106845d19eca79b7cb329343 \n",
+ "1 2024-12-14 14:39:49.417 bikes ae9f673f6b264240bb79ffd94ca49fe2 \n",
+ "2 2024-12-14 14:37:45.487 bikes d2aed973c12b475f849743599f7bc973 \n",
"\n",
" source status status_message \\\n",
"0 file:///home/fmind/mlops-python-package/mlruns... READY \n",
"1 file:///home/fmind/mlops-python-package/mlruns... READY \n",
+ "2 file:///home/fmind/mlops-python-package/mlruns... READY \n",
"\n",
" tags user_id version \n",
- "0 {} 2 \n",
- "1 {} 1 "
+ "0 {} 3 \n",
+ "1 {} 2 \n",
+ "2 {} 1 "
]
},
"execution_count": 8,
@@ -728,7 +744,7 @@
")\n",
"versions = [dict(version) for version in versions]\n",
"versions = pd.DataFrame(versions).assign(\n",
- " aliases=lambda data: data['aliases'].map(lambda x: x[0] if len(x) else None),\n",
+ " aliases=lambda data: data[\"aliases\"].map(lambda x: x[0] if len(x) else None),\n",
" creation_timestamp=lambda data: pd.to_datetime(data[\"creation_timestamp\"], unit=\"ms\"),\n",
" last_updated_timestamp=lambda data: pd.to_datetime(data[\"last_updated_timestamp\"], unit=\"ms\"),\n",
")\n",
@@ -760,9 +776,9 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652",
- "598443335336095652",
- "2024-07-21T15:02:02.224000",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583",
+ "300971336194126583",
+ "2024-12-14T14:35:02.439000",
"active",
"bikes",
{}
@@ -788,7 +804,7 @@
"showlegend": true,
"type": "box",
"x": [
- "2024-07-21T15:02:02.224000"
+ "2024-12-14T14:35:02.439000"
],
"x0": " ",
"xaxis": "x",
@@ -1676,10 +1692,10 @@
"customdata": [
[
{
- "Champion": "2"
+ "Champion": "3"
},
"",
- "2024-07-21T15:30:56.443000",
+ "2024-12-14T14:41:56.590000",
"bikes",
{}
]
@@ -1704,7 +1720,7 @@
"showlegend": false,
"type": "box",
"x": [
- "2024-07-21T15:03:06.208000"
+ "2024-12-14T14:37:45.482000"
],
"x0": " ",
"xaxis": "x",
@@ -2588,10 +2604,10 @@
"customdata": [
[
{
- "Champion": "2"
+ "Champion": "3"
},
"",
- "2024-07-21T15:30:56.443000",
+ "2024-12-14T14:41:56.590000",
"bikes",
{}
]
@@ -2616,7 +2632,7 @@
"showlegend": false,
"type": "box",
"x": [
- "2024-07-21T15:03:06.208000"
+ "2024-12-14T14:37:45.482000"
],
"x0": " ",
"xaxis": "x",
@@ -3502,11 +3518,26 @@
"Champion",
"None",
"",
- "2024-07-21T15:30:44.679000",
+ "2024-12-14T14:41:48.936000",
+ "bikes",
+ "4753bf6b106845d19eca79b7cb329343",
+ "",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/4753bf6b106845d19eca79b7cb329343/artifacts/model",
+ "READY",
+ "",
+ {},
+ "",
+ "3"
+ ],
+ [
+ null,
+ "None",
+ "",
+ "2024-12-14T14:39:49.417000",
"bikes",
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
"",
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/a75ea3e9742c48fd9c34a5b8abf9bd89/artifacts/model",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/ae9f673f6b264240bb79ffd94ca49fe2/artifacts/model",
"READY",
"",
{},
@@ -3517,11 +3548,11 @@
null,
"None",
"",
- "2024-07-21T15:03:06.212000",
+ "2024-12-14T14:37:45.487000",
"bikes",
- "47302e957d8542198a281aad07b2413b",
+ "d2aed973c12b475f849743599f7bc973",
"",
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/47302e957d8542198a281aad07b2413b/artifacts/model",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/d2aed973c12b475f849743599f7bc973/artifacts/model",
"READY",
"",
{},
@@ -3533,6 +3564,7 @@
"hoveron": "points",
"hovertemplate": "%{hovertext} name=%{customdata[4]} creation_timestamp=%{x} aliases=%{customdata[0]} current_stage=%{customdata[1]} description=%{customdata[2]} last_updated_timestamp=%{customdata[3]} run_id=%{customdata[5]} run_link=%{customdata[6]} source=%{customdata[7]} status=%{customdata[8]} status_message=%{customdata[9]} tags=%{customdata[10]} user_id=%{customdata[11]} version=%{customdata[12]} ",
"hovertext": [
+ "bikes",
"bikes",
"bikes"
],
@@ -3550,8 +3582,9 @@
"showlegend": true,
"type": "box",
"x": [
- "2024-07-21T15:30:44.679000",
- "2024-07-21T15:03:06.212000"
+ "2024-12-14T14:41:48.936000",
+ "2024-12-14T14:39:49.417000",
+ "2024-12-14T14:37:45.487000"
],
"x0": " ",
"xaxis": "x",
@@ -4438,13 +4471,13 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/4df1e5931159491c963f2252add508cd/artifacts",
- "2024-07-21T15:31:53.829000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/9923cb99c1824857b68c0bedb63f8446/artifacts",
+ "2024-12-14T14:42:28.056000",
+ "300971336194126583",
"active",
- "4df1e5931159491c963f2252add508cd",
+ "9923cb99c1824857b68c0bedb63f8446",
"Explanations",
- "4df1e5931159491c963f2252add508cd",
+ "9923cb99c1824857b68c0bedb63f8446",
"FINISHED",
"fmind",
{},
@@ -4457,18 +4490,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Explanations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 33.622,
+ 11.979,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Explanations",
@@ -4478,58 +4511,55 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/e993a53ee04e4357bad5cec101ab4031/artifacts",
- "2024-07-21T15:31:13.361000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/bfce074e34834054b84e5794450a4fa2/artifacts",
+ "2024-12-14T14:42:13.733000",
+ "300971336194126583",
"active",
- "e993a53ee04e4357bad5cec101ab4031",
+ "bfce074e34834054b84e5794450a4fa2",
"Evaluations",
- "e993a53ee04e4357bad5cec101ab4031",
+ "bfce074e34834054b84e5794450a4fa2",
"FINISHED",
"fmind",
{
"example_count": 13903,
"max_error": 4294967295,
- "mean_absolute_error": 2044457567.3205063,
- "mean_absolute_percentage_error": 55189262.03890929,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
"mean_on_target": 174.63914263108683,
- "mean_squared_error": 296.66338200388407,
- "r2_score": 0.9893562621162568,
- "root_mean_squared_error": 17.223918892165166,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
"sum_on_target": 2428008
},
{
"conf_file": "confs/evaluations.yaml"
},
{
- "mlflow.datasets": "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"06840f30fcdd4553a7aaf17e83232475\"}]",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Evaluations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 5.796,
+ 6.245,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Evaluations",
"virtualenv",
"local",
- "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"06840f30fcdd4553a7aaf17e83232475\"}]",
null,
null,
null,
@@ -4537,13 +4567,13 @@
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/c17b893e525b44ed89e349421e72510a/artifacts",
- "2024-07-21T15:31:04.758000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/5ebe28d67ed54300a177eb61825a6688/artifacts",
+ "2024-12-14T14:42:05.031000",
+ "300971336194126583",
"active",
- "c17b893e525b44ed89e349421e72510a",
+ "5ebe28d67ed54300a177eb61825a6688",
"Inference",
- "c17b893e525b44ed89e349421e72510a",
+ "5ebe28d67ed54300a177eb61825a6688",
"FINISHED",
"fmind",
{},
@@ -4556,18 +4586,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Inference",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 5.735,
+ 5.424,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Inference",
@@ -4577,17 +4607,16 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/d538cc2f3f644b6e97b611c1d96801ac/artifacts",
- "2024-07-21T15:30:56.969000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/f29b930df5a54f1fa9ec5fe4b27df8b9/artifacts",
+ "2024-12-14T14:41:57.245000",
+ "300971336194126583",
"active",
- "d538cc2f3f644b6e97b611c1d96801ac",
+ "f29b930df5a54f1fa9ec5fe4b27df8b9",
"Promotion",
- "d538cc2f3f644b6e97b611c1d96801ac",
+ "f29b930df5a54f1fa9ec5fe4b27df8b9",
"FINISHED",
"fmind",
{},
@@ -4600,18 +4629,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Promotion",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 5.375,
+ 4.606,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Promotion",
@@ -4621,34 +4650,33 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/a75ea3e9742c48fd9c34a5b8abf9bd89/artifacts",
- "2024-07-21T15:30:46.302000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/4753bf6b106845d19eca79b7cb329343/artifacts",
+ "2024-12-14T14:41:49.910000",
+ "300971336194126583",
"active",
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
+ "4753bf6b106845d19eca79b7cb329343",
"Training",
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
+ "4753bf6b106845d19eca79b7cb329343",
"FINISHED",
"fmind",
{
- "mean_squared_error": -1786.7527777777777,
- "system/cpu_utilization_percentage": 38.1,
- "system/disk_available_megabytes": 32585.5,
- "system/disk_usage_megabytes": 73526.3,
- "system/disk_usage_percentage": 69.3,
- "system/network_receive_megabytes": 0.02063199999997778,
- "system/network_transmit_megabytes": 0.00015000000007603376,
- "system/system_memory_usage_megabytes": 10535.7,
- "system/system_memory_usage_percentage": 69.8,
- "training_mean_absolute_error": 6.8051192198812736,
- "training_mean_squared_error": 124.51054615575788,
- "training_r2_score": 0.9948851411922456,
- "training_root_mean_squared_error": 11.158429376742852,
- "training_score": 0.9948851411922456
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 14.3,
+ "system/disk_available_megabytes": 7454.1,
+ "system/disk_usage_megabytes": 108457.2,
+ "system/disk_usage_percentage": 93.6,
+ "system/network_receive_megabytes": 0,
+ "system/network_transmit_megabytes": 0,
+ "system/system_memory_usage_megabytes": 4700.3,
+ "system/system_memory_usage_percentage": 31.2,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
},
{
"conf_file": "confs/training.yaml",
@@ -4672,8 +4700,8 @@
"regressor__random_state": "42",
"regressor__verbose": "0",
"regressor__warm_start": "False",
- "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
- "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
"transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
"transformer__categoricals__categories": "auto",
"transformer__categoricals__drop": "None",
@@ -4683,12 +4711,13 @@
"transformer__categoricals__max_categories": "None",
"transformer__categoricals__min_frequency": "None",
"transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
"transformer__n_jobs": "None",
"transformer__numericals": "passthrough",
"transformer__remainder": "drop",
"transformer__sparse_threshold": "0.3",
"transformer__transformer_weights": "None",
- "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])]",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
"transformer__verbose": "False",
"transformer__verbose_feature_names_out": "True",
"verbose": "False"
@@ -4697,125 +4726,55 @@
"estimator_class": "sklearn.pipeline.Pipeline",
"estimator_name": "Pipeline",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:23.365959\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"ade01433a8a54ec298de322ba009fa10\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:35.571973\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"06840f30fcdd4553a7aaf17e83232475\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:38.398638\", \"model_uuid\": \"77e276c4bf79429ca932062f2825649b\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:42.667182\", \"model_uuid\": \"50dd5f99ebb944c7a02879fd4dc8d43c\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Training",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 80.807,
+ 25.996,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Training",
"virtualenv",
"local",
- null,
"Pipeline",
"sklearn.pipeline.Pipeline",
- "[{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:23.365959\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"ade01433a8a54ec298de322ba009fa10\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:35.571973\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"06840f30fcdd4553a7aaf17e83232475\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
- null,
- null
- ],
- [
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/005e2f5532664a7aa7aafaa1509c3575/artifacts",
- "2024-07-21T15:29:11.193000",
- "598443335336095652",
- "active",
- "005e2f5532664a7aa7aafaa1509c3575",
- "Tuning",
- "005e2f5532664a7aa7aafaa1509c3575",
- "FINISHED",
- "fmind",
- {
- "best_cv_score": -5517.252604166667,
- "system/cpu_utilization_percentage": 47.2,
- "system/disk_available_megabytes": 34093.7,
- "system/disk_usage_megabytes": 71913,
- "system/disk_usage_percentage": 67.8,
- "system/network_receive_megabytes": 254.222282,
- "system/network_transmit_megabytes": 507.10717,
- "system/system_memory_usage_megabytes": 8470.1,
- "system/system_memory_usage_percentage": 56.2,
- "training_score": -1951.0630079838884
- },
- {
- "best_max_depth": "7",
- "conf_file": "confs/tuning.yaml",
- "cv": "KIND='TimeSeriesSplitter' gap=0 n_splits=4 test_size=1440",
- "error_score": "raise",
- "estimator": "KIND='BaselineSklearnModel' max_depth=20 n_estimators=200 random_state=42",
- "n_jobs": "None",
- "param_grid": "{'max_depth': [3, 5, 7]}",
- "pre_dispatch": "2*n_jobs",
- "refit": "True",
- "return_train_score": "False",
- "scoring": "",
- "verbose": "3"
- },
- {
- "estimator_class": "sklearn.model_selection._search.GridSearchCV",
- "estimator_name": "GridSearchCV",
- "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:28:24.521733\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"c800dd5b2d1f49ce98281338d9abbd29\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:28:50.044236\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"acb76eef9e5e4a56aa84e634b7d7444c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
- "mlflow.project.backend": "local",
- "mlflow.project.entryPoint": "main",
- "mlflow.project.env": "virtualenv",
- "mlflow.runName": "Tuning",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.source.name": "file:///home/fmind/mlops-python-package",
- "mlflow.source.type": "PROJECT",
- "mlflow.user": "fmind"
- },
- 100.111,
- "fmind",
- "file:///home/fmind/mlops-python-package",
- "PROJECT",
- "main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- "git@github.com:fmind/mlops-python-package",
- "git@github.com:fmind/mlops-python-package",
- "Tuning",
- "virtualenv",
- "local",
- null,
- "GridSearchCV",
- "sklearn.model_selection._search.GridSearchCV",
- "[{\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:28:24.521733\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"c800dd5b2d1f49ce98281338d9abbd29\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:28:50.044236\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"acb76eef9e5e4a56aa84e634b7d7444c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "[{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:38.398638\", \"model_uuid\": \"77e276c4bf79429ca932062f2825649b\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:42.667182\", \"model_uuid\": \"50dd5f99ebb944c7a02879fd4dc8d43c\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/9867f954f07b448a901844dae9fb8d23/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/066cf65cd3214378a7675e2536c6eb60/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
"active",
- "9867f954f07b448a901844dae9fb8d23",
- "rumbling-bass-180",
- "9867f954f07b448a901844dae9fb8d23",
+ "066cf65cd3214378a7675e2536c6eb60",
+ "wise-hound-335",
+ "066cf65cd3214378a7675e2536c6eb60",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.2907636165618896,
- "mean_score_time": 0.04417002201080322,
- "mean_test_score": -16644.957118055558,
- "rank_test_score": 3,
- "std_fit_time": 0.20825952588936553,
- "std_score_time": 0.005795796359843565,
- "std_test_score": 5315.459715152708
+ "mean_fit_time": 2.2717891335487366,
+ "mean_score_time": 0.04655104875564575,
+ "mean_test_score": -711.7982638888889,
+ "rank_test_score": 2,
+ "std_fit_time": 0.2744423843818404,
+ "std_score_time": 0.0008752424197515631,
+ "std_test_score": 506.2583283876414
},
{
- "max_depth": "3",
+ "max_depth": "5",
"n_estimators": "200",
"random_state": "42"
},
@@ -4823,52 +4782,51 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "rumbling-bass-180",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "wise-hound-335",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
- 94.174,
+ 46.191,
"fmind",
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
null,
- "rumbling-bass-180",
- null,
+ "wise-hound-335",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "6f68ed7fee59407f83bff115536fdfc0"
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/9b9c55b6f0874d0eb97963fff97c172c/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/0cdfaf5a0e7b44ea88d7297746e6af1f/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
"active",
- "9b9c55b6f0874d0eb97963fff97c172c",
- "redolent-koi-314",
- "9b9c55b6f0874d0eb97963fff97c172c",
+ "0cdfaf5a0e7b44ea88d7297746e6af1f",
+ "auspicious-fly-358",
+ "0cdfaf5a0e7b44ea88d7297746e6af1f",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.8935438394546509,
- "mean_score_time": 0.04412144422531128,
- "mean_test_score": -8287.860416666666,
- "rank_test_score": 2,
- "std_fit_time": 0.35395270632391435,
- "std_score_time": 0.001845193435988503,
- "std_test_score": 1045.7595024691313
+ "mean_fit_time": 3.0942174792289734,
+ "mean_score_time": 0.054158151149749756,
+ "mean_test_score": -319.5045138888889,
+ "rank_test_score": 1,
+ "std_fit_time": 0.41821529328335627,
+ "std_score_time": 0.0011713553122119475,
+ "std_test_score": 350.4638291591938
},
{
- "max_depth": "5",
+ "max_depth": "7",
"n_estimators": "200",
"random_state": "42"
},
@@ -4876,52 +4834,119 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "redolent-koi-314",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "auspicious-fly-358",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
- 94.174,
+ 46.191,
"fmind",
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "redolent-koi-314",
null,
+ "auspicious-fly-358",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "6f68ed7fee59407f83bff115536fdfc0"
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/b8cf5f33d9ac429fab195d32a9326725/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/6f68ed7fee59407f83bff115536fdfc0/artifacts",
+ "2024-12-14T14:41:21.575000",
+ "300971336194126583",
"active",
- "b8cf5f33d9ac429fab195d32a9326725",
- "languid-eel-151",
- "b8cf5f33d9ac429fab195d32a9326725",
+ "6f68ed7fee59407f83bff115536fdfc0",
+ "Tuning",
+ "6f68ed7fee59407f83bff115536fdfc0",
"FINISHED",
"fmind",
{
- "mean_fit_time": 4.7537882924079895,
- "mean_score_time": 0.1421765685081482,
- "mean_test_score": -5517.252604166667,
- "rank_test_score": 1,
- "std_fit_time": 3.0094242269462623,
- "std_score_time": 0.10171904359731292,
- "std_test_score": 1613.520146542553
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 13.8,
+ "system/disk_available_megabytes": 7460.8,
+ "system/disk_usage_megabytes": 108450.2,
+ "system/disk_usage_percentage": 93.6,
+ "system/network_receive_megabytes": 0.1935390000001007,
+ "system/network_transmit_megabytes": 0.2145869999999377,
+ "system/system_memory_usage_megabytes": 4516.7,
+ "system/system_memory_usage_percentage": 30,
+ "training_score": -25.253110839387183
},
{
- "max_depth": "7",
+ "best_max_depth": "7",
+ "conf_file": "confs/tuning.yaml",
+ "cv": "KIND='TimeSeriesSplitter' gap=0 n_splits=4 test_size=1440",
+ "error_score": "raise",
+ "estimator": "KIND='BaselineSklearnModel' max_depth=20 n_estimators=200 random_state=42",
+ "n_jobs": "None",
+ "param_grid": "{'max_depth': [3, 5, 7]}",
+ "pre_dispatch": "2*n_jobs",
+ "refit": "True",
+ "return_train_score": "False",
+ "scoring": "",
+ "verbose": "3"
+ },
+ {
+ "estimator_class": "sklearn.model_selection._search.GridSearchCV",
+ "estimator_name": "GridSearchCV",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:11.433265\", \"model_uuid\": \"77b9177b6a914d2d83f8c6062bcaa438\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:41:16.492519\", \"model_uuid\": \"862871d930c845ec882f4b82890fc495\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Tuning",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 47.159,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Tuning",
+ "virtualenv",
+ "local",
+ "GridSearchCV",
+ "sklearn.model_selection._search.GridSearchCV",
+ "[{\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:11.433265\", \"model_uuid\": \"77b9177b6a914d2d83f8c6062bcaa438\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:41:16.492519\", \"model_uuid\": \"862871d930c845ec882f4b82890fc495\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e3975321ef4645b698cd8832a2ead79d/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
+ "active",
+ "e3975321ef4645b698cd8832a2ead79d",
+ "lyrical-asp-40",
+ "e3975321ef4645b698cd8832a2ead79d",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 1.5403740406036377,
+ "mean_score_time": 0.04439198970794678,
+ "mean_test_score": -2845.011111111111,
+ "rank_test_score": 3,
+ "std_fit_time": 0.26986769561457347,
+ "std_score_time": 0.0011455098275932603,
+ "std_test_score": 1362.0703338739036
+ },
+ {
+ "max_depth": "3",
"n_estimators": "200",
"random_state": "42"
},
@@ -4929,39 +4954,38 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "languid-eel-151",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "lyrical-asp-40",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
- 94.174,
+ 46.191,
"fmind",
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
null,
- "languid-eel-151",
- null,
+ "lyrical-asp-40",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "6f68ed7fee59407f83bff115536fdfc0"
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/5936b0cb0d9b47b2a1862344a79e55e7/artifacts",
- "2024-07-21T15:04:07.438000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/149bc47563a94ae5bc05bbcb7853c122/artifacts",
+ "2024-12-14T14:40:29.333000",
+ "300971336194126583",
"active",
- "5936b0cb0d9b47b2a1862344a79e55e7",
+ "149bc47563a94ae5bc05bbcb7853c122",
"Explanations",
- "5936b0cb0d9b47b2a1862344a79e55e7",
+ "149bc47563a94ae5bc05bbcb7853c122",
"FINISHED",
"fmind",
{},
@@ -4974,18 +4998,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Explanations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 39.107,
+ 12.229,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Explanations",
@@ -4995,58 +5019,55 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/ef5b224b3f4e4dbcb05169cfc4f358f7/artifacts",
- "2024-07-21T15:03:25.782000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/534a4ff3a1b04ae3b7c5c5e5295b87a8/artifacts",
+ "2024-12-14T14:40:14.595000",
+ "300971336194126583",
"active",
- "ef5b224b3f4e4dbcb05169cfc4f358f7",
+ "534a4ff3a1b04ae3b7c5c5e5295b87a8",
"Evaluations",
- "ef5b224b3f4e4dbcb05169cfc4f358f7",
+ "534a4ff3a1b04ae3b7c5c5e5295b87a8",
"FINISHED",
"fmind",
{
"example_count": 13903,
"max_error": 4294967295,
- "mean_absolute_error": 2044457567.3205063,
- "mean_absolute_percentage_error": 55189262.03890929,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
"mean_on_target": 174.63914263108683,
- "mean_squared_error": 296.66338200388407,
- "r2_score": 0.9893562621162568,
- "root_mean_squared_error": 17.223918892165166,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
"sum_on_target": 2428008
},
{
"conf_file": "confs/evaluations.yaml"
},
{
- "mlflow.datasets": "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"c18c304506ec438c9937a5804b4e19bc\"}]",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Evaluations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 6.145,
+ 6.616,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Evaluations",
"virtualenv",
"local",
- "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"c18c304506ec438c9937a5804b4e19bc\"}]",
null,
null,
null,
@@ -5054,13 +5075,13 @@
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/65f34c799e814cfe82d844b0eff6a16f/artifacts",
- "2024-07-21T15:03:18.035000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/4a629039b6c84ad3947f7529f9a28e21/artifacts",
+ "2024-12-14T14:40:05.598000",
+ "300971336194126583",
"active",
- "65f34c799e814cfe82d844b0eff6a16f",
+ "4a629039b6c84ad3947f7529f9a28e21",
"Inference",
- "65f34c799e814cfe82d844b0eff6a16f",
+ "4a629039b6c84ad3947f7529f9a28e21",
"FINISHED",
"fmind",
{},
@@ -5073,18 +5094,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Inference",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 4.182,
+ 5.034,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Inference",
@@ -5094,17 +5115,16 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/a5dbcb3fc6a24fdc863fb31eb0fc4d7a/artifacts",
- "2024-07-21T15:03:12.321000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e20be51c8bbb4cfb98ad440209dd2ea6/artifacts",
+ "2024-12-14T14:39:58.173000",
+ "300971336194126583",
"active",
- "a5dbcb3fc6a24fdc863fb31eb0fc4d7a",
+ "e20be51c8bbb4cfb98ad440209dd2ea6",
"Promotion",
- "a5dbcb3fc6a24fdc863fb31eb0fc4d7a",
+ "e20be51c8bbb4cfb98ad440209dd2ea6",
"FINISHED",
"fmind",
{},
@@ -5117,18 +5137,18 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Promotion",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 3.31,
+ 5.05,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Promotion",
@@ -5138,34 +5158,33 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/47302e957d8542198a281aad07b2413b/artifacts",
- "2024-07-21T15:03:07.098000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/ae9f673f6b264240bb79ffd94ca49fe2/artifacts",
+ "2024-12-14T14:39:50.546000",
+ "300971336194126583",
"active",
- "47302e957d8542198a281aad07b2413b",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
"Training",
- "47302e957d8542198a281aad07b2413b",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
"FINISHED",
"fmind",
{
- "mean_squared_error": -1786.7527777777777,
- "system/cpu_utilization_percentage": 15.6,
- "system/disk_available_megabytes": 35139.3,
- "system/disk_usage_megabytes": 70848.1,
- "system/disk_usage_percentage": 66.8,
- "system/network_receive_megabytes": 0.001855000000034579,
- "system/network_transmit_megabytes": 0.003730000000018663,
- "system/system_memory_usage_megabytes": 4143.6,
- "system/system_memory_usage_percentage": 27.5,
- "training_mean_absolute_error": 6.8051192198812736,
- "training_mean_squared_error": 124.51054615575788,
- "training_r2_score": 0.9948851411922456,
- "training_root_mean_squared_error": 11.158429376742852,
- "training_score": 0.9948851411922456
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 14.8,
+ "system/disk_available_megabytes": 7735.1,
+ "system/disk_usage_megabytes": 108174.9,
+ "system/disk_usage_percentage": 93.3,
+ "system/network_receive_megabytes": 0.006746999999904801,
+ "system/network_transmit_megabytes": 0.006637000000068838,
+ "system/system_memory_usage_megabytes": 4542,
+ "system/system_memory_usage_percentage": 30.1,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
},
{
"conf_file": "confs/training.yaml",
@@ -5189,8 +5208,8 @@
"regressor__random_state": "42",
"regressor__verbose": "0",
"regressor__warm_start": "False",
- "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
- "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
"transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
"transformer__categoricals__categories": "auto",
"transformer__categoricals__drop": "None",
@@ -5200,12 +5219,13 @@
"transformer__categoricals__max_categories": "None",
"transformer__categoricals__min_frequency": "None",
"transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
"transformer__n_jobs": "None",
"transformer__numericals": "passthrough",
"transformer__remainder": "drop",
"transformer__sparse_threshold": "0.3",
"transformer__transformer_weights": "None",
- "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])]",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
"transformer__verbose": "False",
"transformer__verbose_feature_names_out": "True",
"verbose": "False"
@@ -5214,56 +5234,107 @@
"estimator_class": "sklearn.pipeline.Pipeline",
"estimator_name": "Pipeline",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:54.863113\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"4fd09447dee548f586e05d2edbfbe2d8\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:59.278448\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"c18c304506ec438c9937a5804b4e19bc\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:38.524131\", \"model_uuid\": \"18f54df2a682488593dd0412c7be229e\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:42.939094\", \"model_uuid\": \"4cc5e6d8a7d841059b37797a371ea10d\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Training",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 25.008,
+ 25.986,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Training",
"virtualenv",
"local",
- null,
"Pipeline",
"sklearn.pipeline.Pipeline",
- "[{\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:54.863113\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"4fd09447dee548f586e05d2edbfbe2d8\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:59.278448\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"c18c304506ec438c9937a5804b4e19bc\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "[{\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:38.524131\", \"model_uuid\": \"18f54df2a682488593dd0412c7be229e\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:42.939094\", \"model_uuid\": \"4cc5e6d8a7d841059b37797a371ea10d\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/38a4df3abf194e06b5eeaaa0bb383ee8/artifacts",
- "2024-07-21T15:02:40.466000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/71d90d8febd9448584236ff7da490944/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
+ "active",
+ "71d90d8febd9448584236ff7da490944",
+ "classy-yak-743",
+ "71d90d8febd9448584236ff7da490944",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 2.310912549495697,
+ "mean_score_time": 0.04688429832458496,
+ "mean_test_score": -711.7982638888889,
+ "rank_test_score": 2,
+ "std_fit_time": 0.34795851007651757,
+ "std_score_time": 0.0015674315113117095,
+ "std_test_score": 506.2583283876414
+ },
+ {
+ "max_depth": "5",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "classy-yak-743",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ 46.567,
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
+ null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "classy-yak-743",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "9c36f396f2214f7bb0c6d9713d5e833e"
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/9c36f396f2214f7bb0c6d9713d5e833e/artifacts",
+ "2024-12-14T14:39:22.225000",
+ "300971336194126583",
"active",
- "38a4df3abf194e06b5eeaaa0bb383ee8",
+ "9c36f396f2214f7bb0c6d9713d5e833e",
"Tuning",
- "38a4df3abf194e06b5eeaaa0bb383ee8",
+ "9c36f396f2214f7bb0c6d9713d5e833e",
"FINISHED",
"fmind",
{
- "best_cv_score": -5517.252604166667,
- "system/cpu_utilization_percentage": 17.1,
- "system/disk_available_megabytes": 35143.4,
- "system/disk_usage_megabytes": 70843.7,
- "system/disk_usage_percentage": 66.8,
- "system/network_receive_megabytes": 0.012593999999978678,
- "system/network_transmit_megabytes": 0.006136999999995396,
- "system/system_memory_usage_megabytes": 4245,
- "system/system_memory_usage_percentage": 28.1,
- "training_score": -1951.0630079838884
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 13.7,
+ "system/disk_available_megabytes": 7735.1,
+ "system/disk_usage_megabytes": 108174.9,
+ "system/disk_usage_percentage": 93.3,
+ "system/network_receive_megabytes": 0.013674000000037267,
+ "system/network_transmit_megabytes": 0.0075299999999742795,
+ "system/system_memory_usage_megabytes": 4324.7,
+ "system/system_memory_usage_percentage": 28.7,
+ "training_score": -25.253110839387183
},
{
"best_max_depth": "7",
@@ -5283,56 +5354,55 @@
"estimator_class": "sklearn.model_selection._search.GridSearchCV",
"estimator_name": "GridSearchCV",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:33.521812\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"67c6c33385b04cb5ad03402d17d4e377\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:02:37.041779\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"301cd67b8f704f2280ce6b59d6846c7c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:11.770616\", \"model_uuid\": \"ba0e722effe1437ba691fb61e730dfb7\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:39:16.824355\", \"model_uuid\": \"c561b4012c1445eca99fcd5d7260ad62\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Tuning",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 38.088,
+ 47.579,
"fmind",
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Tuning",
"virtualenv",
"local",
- null,
"GridSearchCV",
"sklearn.model_selection._search.GridSearchCV",
- "[{\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:33.521812\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"67c6c33385b04cb5ad03402d17d4e377\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:02:37.041779\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"301cd67b8f704f2280ce6b59d6846c7c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "[{\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:11.770616\", \"model_uuid\": \"ba0e722effe1437ba691fb61e730dfb7\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:39:16.824355\", \"model_uuid\": \"c561b4012c1445eca99fcd5d7260ad62\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/38c04e59e8344096bf574faf63b10cd1/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/d927facc28d74fbe8d607c7f1656321a/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
"active",
- "38c04e59e8344096bf574faf63b10cd1",
- "charming-boar-572",
- "38c04e59e8344096bf574faf63b10cd1",
+ "d927facc28d74fbe8d607c7f1656321a",
+ "legendary-dove-782",
+ "d927facc28d74fbe8d607c7f1656321a",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.0880586504936218,
- "mean_score_time": 0.03774416446685791,
- "mean_test_score": -16644.957118055558,
- "rank_test_score": 3,
- "std_fit_time": 0.15489854371698458,
- "std_score_time": 0.001806776770578061,
- "std_test_score": 5315.459715152708
+ "mean_fit_time": 3.1809995770454407,
+ "mean_score_time": 0.05519115924835205,
+ "mean_test_score": -319.5045138888889,
+ "rank_test_score": 1,
+ "std_fit_time": 0.4297416271813794,
+ "std_score_time": 0.002215700766888834,
+ "std_test_score": 350.4638291591938
},
{
- "max_depth": "3",
+ "max_depth": "7",
"n_estimators": "200",
"random_state": "42"
},
@@ -5340,52 +5410,51 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "charming-boar-572",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "legendary-dove-782",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
- 37.246,
+ 46.567,
"fmind",
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "charming-boar-572",
null,
+ "legendary-dove-782",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "9c36f396f2214f7bb0c6d9713d5e833e"
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/82f77216b8ee4a2d8dc0869d4a6bfc48/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/dafb45859edf45979643cccb32ea3828/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
"active",
- "82f77216b8ee4a2d8dc0869d4a6bfc48",
- "luxuriant-bird-233",
- "82f77216b8ee4a2d8dc0869d4a6bfc48",
+ "dafb45859edf45979643cccb32ea3828",
+ "big-duck-612",
+ "dafb45859edf45979643cccb32ea3828",
"FINISHED",
"fmind",
{
- "mean_fit_time": 2.5814242362976074,
- "mean_score_time": 0.04819995164871216,
- "mean_test_score": -5517.252604166667,
- "rank_test_score": 1,
- "std_fit_time": 0.41318261395357886,
- "std_score_time": 0.00042696711729265627,
- "std_test_score": 1613.520146542553
+ "mean_fit_time": 1.4297820329666138,
+ "mean_score_time": 0.042337894439697266,
+ "mean_test_score": -2845.011111111111,
+ "rank_test_score": 3,
+ "std_fit_time": 0.1887011060177697,
+ "std_score_time": 0.0005584766538439517,
+ "std_test_score": 1362.0703338739036
},
{
- "max_depth": "7",
+ "max_depth": "3",
"n_estimators": "200",
"random_state": "42"
},
@@ -5393,140 +5462,612 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "luxuriant-bird-233",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "big-duck-612",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
- 37.246,
+ 46.567,
"fmind",
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
null,
- "luxuriant-bird-233",
- null,
+ "big-duck-612",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "9c36f396f2214f7bb0c6d9713d5e833e"
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/e110400581f846d08f802c970ae25458/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/422986fde3df4962b0765cdf008a721b/artifacts",
+ "2024-12-14T14:38:26.878000",
+ "300971336194126583",
"active",
- "e110400581f846d08f802c970ae25458",
- "capricious-bear-977",
- "e110400581f846d08f802c970ae25458",
+ "422986fde3df4962b0765cdf008a721b",
+ "Explanations",
+ "422986fde3df4962b0765cdf008a721b",
"FINISHED",
"fmind",
+ {},
{
- "mean_fit_time": 1.7571877837181091,
- "mean_score_time": 0.0408632755279541,
- "mean_test_score": -8287.860416666666,
- "rank_test_score": 2,
- "std_fit_time": 0.2750353199252692,
- "std_score_time": 0.0028638736758093077,
- "std_test_score": 1045.7595024691313
- },
- {
- "max_depth": "5",
- "n_estimators": "200",
- "random_state": "42"
+ "conf_file": "confs/explanations.yaml"
},
{
- "estimator_class": "bikes.core.models.BaselineSklearnModel",
- "estimator_name": "BaselineSklearnModel",
- "mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "capricious-bear-977",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
- "mlflow.source.type": "LOCAL",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Explanations",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
"mlflow.user": "fmind"
},
- 37.246,
+ 12.349,
"fmind",
- "/home/fmind/mlops-python-package/src/bikes/__main__.py",
- "LOCAL",
- null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
- null,
- "capricious-bear-977",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Explanations",
+ "virtualenv",
+ "local",
null,
null,
null,
- "BaselineSklearnModel",
- "bikes.core.models.BaselineSklearnModel",
null,
- "sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
- ]
- ],
- "fillcolor": "rgba(255,255,255,0)",
- "hoveron": "points",
- "hovertemplate": "%{hovertext} experiment_id=%{customdata[2]} start_time=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_name=%{customdata[5]} run_uuid=%{customdata[6]} status=%{customdata[7]} user_id=%{customdata[8]} metrics=%{customdata[9]} params=%{customdata[10]} tags=%{customdata[11]} run_time_secs=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
- "hovertext": [
- "Explanations",
- "Evaluations",
- "Inference",
- "Promotion",
- "Training",
- "Tuning",
- "rumbling-bass-180",
- "redolent-koi-314",
- "languid-eel-151",
- "Explanations",
- "Evaluations",
- "Inference",
- "Promotion",
- "Training",
- "Tuning",
- "charming-boar-572",
- "luxuriant-bird-233",
- "capricious-bear-977"
- ],
- "legendgroup": "598443335336095652",
- "line": {
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/b486861e5799446c9bc40c37413acf46/artifacts",
+ "2024-12-14T14:38:12.143000",
+ "300971336194126583",
+ "active",
+ "b486861e5799446c9bc40c37413acf46",
+ "Evaluations",
+ "b486861e5799446c9bc40c37413acf46",
+ "FINISHED",
+ "fmind",
+ {
+ "example_count": 13903,
+ "max_error": 4294967295,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
+ "mean_on_target": 174.63914263108683,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
+ "sum_on_target": 2428008
+ },
+ {
+ "conf_file": "confs/evaluations.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Evaluations",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 6.338,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Evaluations",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/dd848a2a73d6469d860c54c519b4cab4/artifacts",
+ "2024-12-14T14:38:03.147000",
+ "300971336194126583",
+ "active",
+ "dd848a2a73d6469d860c54c519b4cab4",
+ "Inference",
+ "dd848a2a73d6469d860c54c519b4cab4",
+ "FINISHED",
+ "fmind",
+ {},
+ {
+ "conf_file": "confs/inference.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Inference",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 5.776,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Inference",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/a9225f3845ab4da6baf77885d9c75dfd/artifacts",
+ "2024-12-14T14:37:54.740000",
+ "300971336194126583",
+ "active",
+ "a9225f3845ab4da6baf77885d9c75dfd",
+ "Promotion",
+ "a9225f3845ab4da6baf77885d9c75dfd",
+ "FINISHED",
+ "fmind",
+ {},
+ {
+ "conf_file": "confs/promotion.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Promotion",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 5.117,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Promotion",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/d2aed973c12b475f849743599f7bc973/artifacts",
+ "2024-12-14T14:37:46.512000",
+ "300971336194126583",
+ "active",
+ "d2aed973c12b475f849743599f7bc973",
+ "Training",
+ "d2aed973c12b475f849743599f7bc973",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 20.8,
+ "system/disk_available_megabytes": 8002.4,
+ "system/disk_usage_megabytes": 107906.7,
+ "system/disk_usage_percentage": 93.1,
+ "system/network_receive_megabytes": 0.006799000000000888,
+ "system/network_transmit_megabytes": 0.004778000000101201,
+ "system/system_memory_usage_megabytes": 4375.5,
+ "system/system_memory_usage_percentage": 29,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
+ },
+ {
+ "conf_file": "confs/training.yaml",
+ "memory": "None",
+ "regressor": "RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42)",
+ "regressor__bootstrap": "True",
+ "regressor__ccp_alpha": "0.0",
+ "regressor__criterion": "squared_error",
+ "regressor__max_depth": "20",
+ "regressor__max_features": "1.0",
+ "regressor__max_leaf_nodes": "None",
+ "regressor__max_samples": "None",
+ "regressor__min_impurity_decrease": "0.0",
+ "regressor__min_samples_leaf": "1",
+ "regressor__min_samples_split": "2",
+ "regressor__min_weight_fraction_leaf": "0.0",
+ "regressor__monotonic_cst": "None",
+ "regressor__n_estimators": "200",
+ "regressor__n_jobs": "None",
+ "regressor__oob_score": "False",
+ "regressor__random_state": "42",
+ "regressor__verbose": "0",
+ "regressor__warm_start": "False",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
+ "transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
+ "transformer__categoricals__categories": "auto",
+ "transformer__categoricals__drop": "None",
+ "transformer__categoricals__dtype": "",
+ "transformer__categoricals__feature_name_combiner": "concat",
+ "transformer__categoricals__handle_unknown": "ignore",
+ "transformer__categoricals__max_categories": "None",
+ "transformer__categoricals__min_frequency": "None",
+ "transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
+ "transformer__n_jobs": "None",
+ "transformer__numericals": "passthrough",
+ "transformer__remainder": "drop",
+ "transformer__sparse_threshold": "0.3",
+ "transformer__transformer_weights": "None",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
+ "transformer__verbose": "False",
+ "transformer__verbose_feature_names_out": "True",
+ "verbose": "False"
+ },
+ {
+ "estimator_class": "sklearn.pipeline.Pipeline",
+ "estimator_name": "Pipeline",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:33.468367\", \"model_uuid\": \"e6f77661d7214385a83cc9a45c689a0a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:38.175626\", \"model_uuid\": \"4b143c2fc8234dac9c98bbdfb03aaa1a\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Training",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 28.042,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Training",
+ "virtualenv",
+ "local",
+ "Pipeline",
+ "sklearn.pipeline.Pipeline",
+ "[{\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:33.468367\", \"model_uuid\": \"e6f77661d7214385a83cc9a45c689a0a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:38.175626\", \"model_uuid\": \"4b143c2fc8234dac9c98bbdfb03aaa1a\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/006ccc2cf48e489099b285ab6d538d1a/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
+ "active",
+ "006ccc2cf48e489099b285ab6d538d1a",
+ "sincere-sow-522",
+ "006ccc2cf48e489099b285ab6d538d1a",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 1.635141909122467,
+ "mean_score_time": 0.04768478870391846,
+ "mean_test_score": -2845.011111111111,
+ "rank_test_score": 3,
+ "std_fit_time": 0.16971366972379937,
+ "std_score_time": 0.002114185952165752,
+ "std_test_score": 1362.0703338739036
+ },
+ {
+ "max_depth": "3",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "sincere-sow-522",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ 132.755,
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
+ null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "sincere-sow-522",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "857f0dd0a344439693b8cb9ecbf3ee10"
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/44be742accc846c784acacab379cdca3/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
+ "active",
+ "44be742accc846c784acacab379cdca3",
+ "bittersweet-fowl-631",
+ "44be742accc846c784acacab379cdca3",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 2.448797047138214,
+ "mean_score_time": 0.05008918046951294,
+ "mean_test_score": -711.7982638888889,
+ "rank_test_score": 2,
+ "std_fit_time": 0.33258931824071436,
+ "std_score_time": 0.0004049252455184904,
+ "std_test_score": 506.2583283876414
+ },
+ {
+ "max_depth": "5",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "bittersweet-fowl-631",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ 132.755,
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
+ null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "bittersweet-fowl-631",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "857f0dd0a344439693b8cb9ecbf3ee10"
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/857f0dd0a344439693b8cb9ecbf3ee10/artifacts",
+ "2024-12-14T14:37:16.048000",
+ "300971336194126583",
+ "active",
+ "857f0dd0a344439693b8cb9ecbf3ee10",
+ "Tuning",
+ "857f0dd0a344439693b8cb9ecbf3ee10",
+ "FINISHED",
+ "fmind",
+ {
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 21.5,
+ "system/disk_available_megabytes": 8003.8,
+ "system/disk_usage_megabytes": 107904.9,
+ "system/disk_usage_percentage": 93.1,
+ "system/network_receive_megabytes": 0.012895999999955166,
+ "system/network_transmit_megabytes": 0.0012200000001030276,
+ "system/system_memory_usage_megabytes": 4608.4,
+ "system/system_memory_usage_percentage": 30.6,
+ "training_score": -25.253110839387183
+ },
+ {
+ "best_max_depth": "7",
+ "conf_file": "confs/tuning.yaml",
+ "cv": "KIND='TimeSeriesSplitter' gap=0 n_splits=4 test_size=1440",
+ "error_score": "raise",
+ "estimator": "KIND='BaselineSklearnModel' max_depth=20 n_estimators=200 random_state=42",
+ "n_jobs": "None",
+ "param_grid": "{'max_depth': [3, 5, 7]}",
+ "pre_dispatch": "2*n_jobs",
+ "refit": "True",
+ "return_train_score": "False",
+ "scoring": "",
+ "verbose": "3"
+ },
+ {
+ "estimator_class": "sklearn.model_selection._search.GridSearchCV",
+ "estimator_name": "GridSearchCV",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:05.731840\", \"model_uuid\": \"4ada6a336e424391bf2cdf750e2c7042\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:37:11.174511\", \"model_uuid\": \"7be250b39fd343ec99975be2a910fb2a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Tuning",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ 133.542,
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Tuning",
+ "virtualenv",
+ "local",
+ "GridSearchCV",
+ "sklearn.model_selection._search.GridSearchCV",
+ "[{\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:05.731840\", \"model_uuid\": \"4ada6a336e424391bf2cdf750e2c7042\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:37:11.174511\", \"model_uuid\": \"7be250b39fd343ec99975be2a910fb2a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e9980ab9c8db4f80a18aadfa47a3e83e/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
+ "active",
+ "e9980ab9c8db4f80a18aadfa47a3e83e",
+ "smiling-hound-227",
+ "e9980ab9c8db4f80a18aadfa47a3e83e",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 3.4514302015304565,
+ "mean_score_time": 0.060173630714416504,
+ "mean_test_score": -319.5045138888889,
+ "rank_test_score": 1,
+ "std_fit_time": 0.44103751840131455,
+ "std_score_time": 0.002450930454703554,
+ "std_test_score": 350.4638291591938
+ },
+ {
+ "max_depth": "7",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "smiling-hound-227",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ 132.755,
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
+ null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "smiling-hound-227",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "857f0dd0a344439693b8cb9ecbf3ee10"
+ ]
+ ],
+ "fillcolor": "rgba(255,255,255,0)",
+ "hoveron": "points",
+ "hovertemplate": "%{hovertext} experiment_id=%{customdata[2]} start_time=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_name=%{customdata[5]} run_uuid=%{customdata[6]} status=%{customdata[7]} user_id=%{customdata[8]} metrics=%{customdata[9]} params=%{customdata[10]} tags=%{customdata[11]} run_time_secs=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
+ "hovertext": [
+ "Explanations",
+ "Evaluations",
+ "Inference",
+ "Promotion",
+ "Training",
+ "wise-hound-335",
+ "auspicious-fly-358",
+ "Tuning",
+ "lyrical-asp-40",
+ "Explanations",
+ "Evaluations",
+ "Inference",
+ "Promotion",
+ "Training",
+ "classy-yak-743",
+ "Tuning",
+ "legendary-dove-782",
+ "big-duck-612",
+ "Explanations",
+ "Evaluations",
+ "Inference",
+ "Promotion",
+ "Training",
+ "sincere-sow-522",
+ "bittersweet-fowl-631",
+ "Tuning",
+ "smiling-hound-227"
+ ],
+ "legendgroup": "300971336194126583",
+ "line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
"color": "#636efa"
},
- "name": "598443335336095652",
- "offsetgroup": "598443335336095652",
+ "name": "300971336194126583",
+ "offsetgroup": "300971336194126583",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- "2024-07-21T15:31:20.207000",
- "2024-07-21T15:31:07.565000",
- "2024-07-21T15:30:59.023000",
- "2024-07-21T15:30:51.594000",
- "2024-07-21T15:29:25.495000",
- "2024-07-21T15:27:31.082000",
- "2024-07-21T15:27:31.082000",
- "2024-07-21T15:27:31.082000",
- "2024-07-21T15:27:31.082000",
- "2024-07-21T15:03:28.331000",
- "2024-07-21T15:03:19.637000",
- "2024-07-21T15:03:13.853000",
- "2024-07-21T15:03:09.011000",
- "2024-07-21T15:02:42.090000",
- "2024-07-21T15:02:02.378000",
- "2024-07-21T15:02:02.378000",
- "2024-07-21T15:02:02.378000",
- "2024-07-21T15:02:02.378000"
+ "2024-12-14T14:42:16.077000",
+ "2024-12-14T14:42:07.488000",
+ "2024-12-14T14:41:59.607000",
+ "2024-12-14T14:41:52.639000",
+ "2024-12-14T14:41:23.914000",
+ "2024-12-14T14:40:34.416000",
+ "2024-12-14T14:40:34.416000",
+ "2024-12-14T14:40:34.416000",
+ "2024-12-14T14:40:34.416000",
+ "2024-12-14T14:40:17.104000",
+ "2024-12-14T14:40:07.979000",
+ "2024-12-14T14:40:00.564000",
+ "2024-12-14T14:39:53.123000",
+ "2024-12-14T14:39:24.560000",
+ "2024-12-14T14:38:34.646000",
+ "2024-12-14T14:38:34.646000",
+ "2024-12-14T14:38:34.646000",
+ "2024-12-14T14:38:34.646000",
+ "2024-12-14T14:38:14.529000",
+ "2024-12-14T14:38:05.805000",
+ "2024-12-14T14:37:57.371000",
+ "2024-12-14T14:37:49.623000",
+ "2024-12-14T14:37:18.470000",
+ "2024-12-14T14:35:02.506000",
+ "2024-12-14T14:35:02.506000",
+ "2024-12-14T14:35:02.506000",
+ "2024-12-14T14:35:02.506000"
],
"x0": " ",
"xaxis": "x",
@@ -6413,14 +6954,14 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/4df1e5931159491c963f2252add508cd/artifacts",
- "2024-07-21T15:31:53.829000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/9923cb99c1824857b68c0bedb63f8446/artifacts",
+ "2024-12-14T14:42:28.056000",
+ "300971336194126583",
"active",
- "4df1e5931159491c963f2252add508cd",
+ "9923cb99c1824857b68c0bedb63f8446",
"Explanations",
- "4df1e5931159491c963f2252add508cd",
- "2024-07-21T15:31:20.207000",
+ "9923cb99c1824857b68c0bedb63f8446",
+ "2024-12-14T14:42:16.077000",
"FINISHED",
"fmind",
{},
@@ -6433,7 +6974,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Explanations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6443,7 +6984,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Explanations",
@@ -6453,18 +6994,17 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/5936b0cb0d9b47b2a1862344a79e55e7/artifacts",
- "2024-07-21T15:04:07.438000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/149bc47563a94ae5bc05bbcb7853c122/artifacts",
+ "2024-12-14T14:40:29.333000",
+ "300971336194126583",
"active",
- "5936b0cb0d9b47b2a1862344a79e55e7",
+ "149bc47563a94ae5bc05bbcb7853c122",
"Explanations",
- "5936b0cb0d9b47b2a1862344a79e55e7",
- "2024-07-21T15:03:28.331000",
+ "149bc47563a94ae5bc05bbcb7853c122",
+ "2024-12-14T14:40:17.104000",
"FINISHED",
"fmind",
{},
@@ -6477,7 +7017,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Explanations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6487,7 +7027,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Explanations",
@@ -6497,16 +7037,59 @@
null,
null,
null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/422986fde3df4962b0765cdf008a721b/artifacts",
+ "2024-12-14T14:38:26.878000",
+ "300971336194126583",
+ "active",
+ "422986fde3df4962b0765cdf008a721b",
+ "Explanations",
+ "422986fde3df4962b0765cdf008a721b",
+ "2024-12-14T14:38:14.529000",
+ "FINISHED",
+ "fmind",
+ {},
+ {
+ "conf_file": "confs/explanations.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Explanations",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Explanations",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
null,
null
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "4df1e5931159491c963f2252add508cd",
- "5936b0cb0d9b47b2a1862344a79e55e7"
+ "9923cb99c1824857b68c0bedb63f8446",
+ "149bc47563a94ae5bc05bbcb7853c122",
+ "422986fde3df4962b0765cdf008a721b"
],
"legendgroup": "Explanations",
"line": {
@@ -6522,8 +7105,9 @@
"showlegend": true,
"type": "box",
"x": [
- 33.622,
- 39.107
+ 11.979,
+ 12.229,
+ 12.349
],
"x0": " ",
"xaxis": "x",
@@ -6535,38 +7119,90 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/e993a53ee04e4357bad5cec101ab4031/artifacts",
- "2024-07-21T15:31:13.361000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/bfce074e34834054b84e5794450a4fa2/artifacts",
+ "2024-12-14T14:42:13.733000",
+ "300971336194126583",
+ "active",
+ "bfce074e34834054b84e5794450a4fa2",
+ "Evaluations",
+ "bfce074e34834054b84e5794450a4fa2",
+ "2024-12-14T14:42:07.488000",
+ "FINISHED",
+ "fmind",
+ {
+ "example_count": 13903,
+ "max_error": 4294967295,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
+ "mean_on_target": 174.63914263108683,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
+ "sum_on_target": 2428008
+ },
+ {
+ "conf_file": "confs/evaluations.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Evaluations",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Evaluations",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/534a4ff3a1b04ae3b7c5c5e5295b87a8/artifacts",
+ "2024-12-14T14:40:14.595000",
+ "300971336194126583",
"active",
- "e993a53ee04e4357bad5cec101ab4031",
+ "534a4ff3a1b04ae3b7c5c5e5295b87a8",
"Evaluations",
- "e993a53ee04e4357bad5cec101ab4031",
- "2024-07-21T15:31:07.565000",
+ "534a4ff3a1b04ae3b7c5c5e5295b87a8",
+ "2024-12-14T14:40:07.979000",
"FINISHED",
"fmind",
{
"example_count": 13903,
"max_error": 4294967295,
- "mean_absolute_error": 2044457567.3205063,
- "mean_absolute_percentage_error": 55189262.03890929,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
"mean_on_target": 174.63914263108683,
- "mean_squared_error": 296.66338200388407,
- "r2_score": 0.9893562621162568,
- "root_mean_squared_error": 17.223918892165166,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
"sum_on_target": 2428008
},
{
"conf_file": "confs/evaluations.yaml"
},
{
- "mlflow.datasets": "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"06840f30fcdd4553a7aaf17e83232475\"}]",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Evaluations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6576,13 +7212,12 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Evaluations",
"virtualenv",
"local",
- "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"06840f30fcdd4553a7aaf17e83232475\"}]",
null,
null,
null,
@@ -6590,38 +7225,37 @@
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/ef5b224b3f4e4dbcb05169cfc4f358f7/artifacts",
- "2024-07-21T15:03:25.782000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/b486861e5799446c9bc40c37413acf46/artifacts",
+ "2024-12-14T14:38:12.143000",
+ "300971336194126583",
"active",
- "ef5b224b3f4e4dbcb05169cfc4f358f7",
+ "b486861e5799446c9bc40c37413acf46",
"Evaluations",
- "ef5b224b3f4e4dbcb05169cfc4f358f7",
- "2024-07-21T15:03:19.637000",
+ "b486861e5799446c9bc40c37413acf46",
+ "2024-12-14T14:38:05.805000",
"FINISHED",
"fmind",
{
"example_count": 13903,
"max_error": 4294967295,
- "mean_absolute_error": 2044457567.3205063,
- "mean_absolute_percentage_error": 55189262.03890929,
+ "mean_absolute_error": 1959503528.083579,
+ "mean_absolute_percentage_error": 23650884.88200852,
"mean_on_target": 174.63914263108683,
- "mean_squared_error": 296.66338200388407,
- "r2_score": 0.9893562621162568,
- "root_mean_squared_error": 17.223918892165166,
+ "mean_squared_error": 4.060274760842984,
+ "r2_score": 0.9998543247906146,
+ "root_mean_squared_error": 2.0150123475658863,
"sum_on_target": 2428008
},
{
"conf_file": "confs/evaluations.yaml"
},
{
- "mlflow.datasets": "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"c18c304506ec438c9937a5804b4e19bc\"}]",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Evaluations",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6631,13 +7265,12 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Evaluations",
"virtualenv",
"local",
- "[{\"name\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"hash\":\"ce0fe6e33c74e2fa3659d51482be5f27\",\"model\":\"c18c304506ec438c9937a5804b4e19bc\"}]",
null,
null,
null,
@@ -6647,10 +7280,11 @@
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "e993a53ee04e4357bad5cec101ab4031",
- "ef5b224b3f4e4dbcb05169cfc4f358f7"
+ "bfce074e34834054b84e5794450a4fa2",
+ "534a4ff3a1b04ae3b7c5c5e5295b87a8",
+ "b486861e5799446c9bc40c37413acf46"
],
"legendgroup": "Evaluations",
"line": {
@@ -6666,8 +7300,9 @@
"showlegend": true,
"type": "box",
"x": [
- 5.796,
- 6.145
+ 6.245,
+ 6.616,
+ 6.338
],
"x0": " ",
"xaxis": "x",
@@ -6679,14 +7314,57 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/c17b893e525b44ed89e349421e72510a/artifacts",
- "2024-07-21T15:31:04.758000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/5ebe28d67ed54300a177eb61825a6688/artifacts",
+ "2024-12-14T14:42:05.031000",
+ "300971336194126583",
+ "active",
+ "5ebe28d67ed54300a177eb61825a6688",
+ "Inference",
+ "5ebe28d67ed54300a177eb61825a6688",
+ "2024-12-14T14:41:59.607000",
+ "FINISHED",
+ "fmind",
+ {},
+ {
+ "conf_file": "confs/inference.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Inference",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Inference",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
+ null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/4a629039b6c84ad3947f7529f9a28e21/artifacts",
+ "2024-12-14T14:40:05.598000",
+ "300971336194126583",
"active",
- "c17b893e525b44ed89e349421e72510a",
+ "4a629039b6c84ad3947f7529f9a28e21",
"Inference",
- "c17b893e525b44ed89e349421e72510a",
- "2024-07-21T15:30:59.023000",
+ "4a629039b6c84ad3947f7529f9a28e21",
+ "2024-12-14T14:40:00.564000",
"FINISHED",
"fmind",
{},
@@ -6699,7 +7377,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Inference",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6709,7 +7387,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Inference",
@@ -6719,18 +7397,17 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/65f34c799e814cfe82d844b0eff6a16f/artifacts",
- "2024-07-21T15:03:18.035000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/dd848a2a73d6469d860c54c519b4cab4/artifacts",
+ "2024-12-14T14:38:03.147000",
+ "300971336194126583",
"active",
- "65f34c799e814cfe82d844b0eff6a16f",
+ "dd848a2a73d6469d860c54c519b4cab4",
"Inference",
- "65f34c799e814cfe82d844b0eff6a16f",
- "2024-07-21T15:03:13.853000",
+ "dd848a2a73d6469d860c54c519b4cab4",
+ "2024-12-14T14:37:57.371000",
"FINISHED",
"fmind",
{},
@@ -6743,7 +7420,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Inference",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6753,7 +7430,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Inference",
@@ -6763,16 +7440,16 @@
null,
null,
null,
- null,
null
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "c17b893e525b44ed89e349421e72510a",
- "65f34c799e814cfe82d844b0eff6a16f"
+ "5ebe28d67ed54300a177eb61825a6688",
+ "4a629039b6c84ad3947f7529f9a28e21",
+ "dd848a2a73d6469d860c54c519b4cab4"
],
"legendgroup": "Inference",
"line": {
@@ -6788,8 +7465,9 @@
"showlegend": true,
"type": "box",
"x": [
- 5.735,
- 4.182
+ 5.424,
+ 5.034,
+ 5.776
],
"x0": " ",
"xaxis": "x",
@@ -6801,14 +7479,14 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/d538cc2f3f644b6e97b611c1d96801ac/artifacts",
- "2024-07-21T15:30:56.969000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/f29b930df5a54f1fa9ec5fe4b27df8b9/artifacts",
+ "2024-12-14T14:41:57.245000",
+ "300971336194126583",
"active",
- "d538cc2f3f644b6e97b611c1d96801ac",
+ "f29b930df5a54f1fa9ec5fe4b27df8b9",
"Promotion",
- "d538cc2f3f644b6e97b611c1d96801ac",
- "2024-07-21T15:30:51.594000",
+ "f29b930df5a54f1fa9ec5fe4b27df8b9",
+ "2024-12-14T14:41:52.639000",
"FINISHED",
"fmind",
{},
@@ -6821,7 +7499,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Promotion",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6831,7 +7509,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Promotion",
@@ -6841,18 +7519,17 @@
null,
null,
null,
- null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/a5dbcb3fc6a24fdc863fb31eb0fc4d7a/artifacts",
- "2024-07-21T15:03:12.321000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e20be51c8bbb4cfb98ad440209dd2ea6/artifacts",
+ "2024-12-14T14:39:58.173000",
+ "300971336194126583",
"active",
- "a5dbcb3fc6a24fdc863fb31eb0fc4d7a",
+ "e20be51c8bbb4cfb98ad440209dd2ea6",
"Promotion",
- "a5dbcb3fc6a24fdc863fb31eb0fc4d7a",
- "2024-07-21T15:03:09.011000",
+ "e20be51c8bbb4cfb98ad440209dd2ea6",
+ "2024-12-14T14:39:53.123000",
"FINISHED",
"fmind",
{},
@@ -6865,7 +7542,7 @@
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Promotion",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -6875,7 +7552,7 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Promotion",
@@ -6885,16 +7562,59 @@
null,
null,
null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/a9225f3845ab4da6baf77885d9c75dfd/artifacts",
+ "2024-12-14T14:37:54.740000",
+ "300971336194126583",
+ "active",
+ "a9225f3845ab4da6baf77885d9c75dfd",
+ "Promotion",
+ "a9225f3845ab4da6baf77885d9c75dfd",
+ "2024-12-14T14:37:49.623000",
+ "FINISHED",
+ "fmind",
+ {},
+ {
+ "conf_file": "confs/promotion.yaml"
+ },
+ {
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Promotion",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Promotion",
+ "virtualenv",
+ "local",
+ null,
+ null,
+ null,
null,
null
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "d538cc2f3f644b6e97b611c1d96801ac",
- "a5dbcb3fc6a24fdc863fb31eb0fc4d7a"
+ "f29b930df5a54f1fa9ec5fe4b27df8b9",
+ "e20be51c8bbb4cfb98ad440209dd2ea6",
+ "a9225f3845ab4da6baf77885d9c75dfd"
],
"legendgroup": "Promotion",
"line": {
@@ -6910,8 +7630,9 @@
"showlegend": true,
"type": "box",
"x": [
- 5.375,
- 3.31
+ 4.606,
+ 5.05,
+ 5.117
],
"x0": " ",
"xaxis": "x",
@@ -6923,31 +7644,31 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/a75ea3e9742c48fd9c34a5b8abf9bd89/artifacts",
- "2024-07-21T15:30:46.302000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/4753bf6b106845d19eca79b7cb329343/artifacts",
+ "2024-12-14T14:41:49.910000",
+ "300971336194126583",
"active",
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
+ "4753bf6b106845d19eca79b7cb329343",
"Training",
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
- "2024-07-21T15:29:25.495000",
+ "4753bf6b106845d19eca79b7cb329343",
+ "2024-12-14T14:41:23.914000",
"FINISHED",
"fmind",
{
- "mean_squared_error": -1786.7527777777777,
- "system/cpu_utilization_percentage": 38.1,
- "system/disk_available_megabytes": 32585.5,
- "system/disk_usage_megabytes": 73526.3,
- "system/disk_usage_percentage": 69.3,
- "system/network_receive_megabytes": 0.02063199999997778,
- "system/network_transmit_megabytes": 0.00015000000007603376,
- "system/system_memory_usage_megabytes": 10535.7,
- "system/system_memory_usage_percentage": 69.8,
- "training_mean_absolute_error": 6.8051192198812736,
- "training_mean_squared_error": 124.51054615575788,
- "training_r2_score": 0.9948851411922456,
- "training_root_mean_squared_error": 11.158429376742852,
- "training_score": 0.9948851411922456
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 14.3,
+ "system/disk_available_megabytes": 7454.1,
+ "system/disk_usage_megabytes": 108457.2,
+ "system/disk_usage_percentage": 93.6,
+ "system/network_receive_megabytes": 0,
+ "system/network_transmit_megabytes": 0,
+ "system/system_memory_usage_megabytes": 4700.3,
+ "system/system_memory_usage_percentage": 31.2,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
},
{
"conf_file": "confs/training.yaml",
@@ -6971,8 +7692,8 @@
"regressor__random_state": "42",
"regressor__verbose": "0",
"regressor__warm_start": "False",
- "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
- "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
"transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
"transformer__categoricals__categories": "auto",
"transformer__categoricals__drop": "None",
@@ -6982,12 +7703,13 @@
"transformer__categoricals__max_categories": "None",
"transformer__categoricals__min_frequency": "None",
"transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
"transformer__n_jobs": "None",
"transformer__numericals": "passthrough",
"transformer__remainder": "drop",
"transformer__sparse_threshold": "0.3",
"transformer__transformer_weights": "None",
- "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])]",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
"transformer__verbose": "False",
"transformer__verbose_feature_names_out": "True",
"verbose": "False"
@@ -6996,12 +7718,12 @@
"estimator_class": "sklearn.pipeline.Pipeline",
"estimator_name": "Pipeline",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:23.365959\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"ade01433a8a54ec298de322ba009fa10\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:35.571973\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"06840f30fcdd4553a7aaf17e83232475\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:38.398638\", \"model_uuid\": \"77e276c4bf79429ca932062f2825649b\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:42.667182\", \"model_uuid\": \"50dd5f99ebb944c7a02879fd4dc8d43c\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Training",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -7011,145 +7733,416 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Training",
"virtualenv",
"local",
+ "Pipeline",
+ "sklearn.pipeline.Pipeline",
+ "[{\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:38.398638\", \"model_uuid\": \"77e276c4bf79429ca932062f2825649b\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"4753bf6b106845d19eca79b7cb329343\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:42.667182\", \"model_uuid\": \"50dd5f99ebb944c7a02879fd4dc8d43c\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/ae9f673f6b264240bb79ffd94ca49fe2/artifacts",
+ "2024-12-14T14:39:50.546000",
+ "300971336194126583",
+ "active",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
+ "Training",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
+ "2024-12-14T14:39:24.560000",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 14.8,
+ "system/disk_available_megabytes": 7735.1,
+ "system/disk_usage_megabytes": 108174.9,
+ "system/disk_usage_percentage": 93.3,
+ "system/network_receive_megabytes": 0.006746999999904801,
+ "system/network_transmit_megabytes": 0.006637000000068838,
+ "system/system_memory_usage_megabytes": 4542,
+ "system/system_memory_usage_percentage": 30.1,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
+ },
+ {
+ "conf_file": "confs/training.yaml",
+ "memory": "None",
+ "regressor": "RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42)",
+ "regressor__bootstrap": "True",
+ "regressor__ccp_alpha": "0.0",
+ "regressor__criterion": "squared_error",
+ "regressor__max_depth": "20",
+ "regressor__max_features": "1.0",
+ "regressor__max_leaf_nodes": "None",
+ "regressor__max_samples": "None",
+ "regressor__min_impurity_decrease": "0.0",
+ "regressor__min_samples_leaf": "1",
+ "regressor__min_samples_split": "2",
+ "regressor__min_weight_fraction_leaf": "0.0",
+ "regressor__monotonic_cst": "None",
+ "regressor__n_estimators": "200",
+ "regressor__n_jobs": "None",
+ "regressor__oob_score": "False",
+ "regressor__random_state": "42",
+ "regressor__verbose": "0",
+ "regressor__warm_start": "False",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
+ "transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
+ "transformer__categoricals__categories": "auto",
+ "transformer__categoricals__drop": "None",
+ "transformer__categoricals__dtype": "",
+ "transformer__categoricals__feature_name_combiner": "concat",
+ "transformer__categoricals__handle_unknown": "ignore",
+ "transformer__categoricals__max_categories": "None",
+ "transformer__categoricals__min_frequency": "None",
+ "transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
+ "transformer__n_jobs": "None",
+ "transformer__numericals": "passthrough",
+ "transformer__remainder": "drop",
+ "transformer__sparse_threshold": "0.3",
+ "transformer__transformer_weights": "None",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
+ "transformer__verbose": "False",
+ "transformer__verbose_feature_names_out": "True",
+ "verbose": "False"
+ },
+ {
+ "estimator_class": "sklearn.pipeline.Pipeline",
+ "estimator_name": "Pipeline",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:38.524131\", \"model_uuid\": \"18f54df2a682488593dd0412c7be229e\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:42.939094\", \"model_uuid\": \"4cc5e6d8a7d841059b37797a371ea10d\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Training",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Training",
+ "virtualenv",
+ "local",
"Pipeline",
"sklearn.pipeline.Pipeline",
- "[{\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:23.365959\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"ade01433a8a54ec298de322ba009fa10\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"a75ea3e9742c48fd9c34a5b8abf9bd89\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:30:35.571973\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"06840f30fcdd4553a7aaf17e83232475\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "[{\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:38.524131\", \"model_uuid\": \"18f54df2a682488593dd0412c7be229e\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"ae9f673f6b264240bb79ffd94ca49fe2\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:42.939094\", \"model_uuid\": \"4cc5e6d8a7d841059b37797a371ea10d\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/47302e957d8542198a281aad07b2413b/artifacts",
- "2024-07-21T15:03:07.098000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/d2aed973c12b475f849743599f7bc973/artifacts",
+ "2024-12-14T14:37:46.512000",
+ "300971336194126583",
+ "active",
+ "d2aed973c12b475f849743599f7bc973",
+ "Training",
+ "d2aed973c12b475f849743599f7bc973",
+ "2024-12-14T14:37:18.470000",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_squared_error": -24.55763888888889,
+ "system/cpu_utilization_percentage": 20.8,
+ "system/disk_available_megabytes": 8002.4,
+ "system/disk_usage_megabytes": 107906.7,
+ "system/disk_usage_percentage": 93.1,
+ "system/network_receive_megabytes": 0.006799000000000888,
+ "system/network_transmit_megabytes": 0.004778000000101201,
+ "system/system_memory_usage_megabytes": 4375.5,
+ "system/system_memory_usage_percentage": 29,
+ "training_mean_absolute_error": 0.3561289343195786,
+ "training_mean_squared_error": 1.2806655854526316,
+ "training_r2_score": 0.9999473906118655,
+ "training_root_mean_squared_error": 1.1316649616616359,
+ "training_score": 0.9999473906118655
+ },
+ {
+ "conf_file": "confs/training.yaml",
+ "memory": "None",
+ "regressor": "RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42)",
+ "regressor__bootstrap": "True",
+ "regressor__ccp_alpha": "0.0",
+ "regressor__criterion": "squared_error",
+ "regressor__max_depth": "20",
+ "regressor__max_features": "1.0",
+ "regressor__max_leaf_nodes": "None",
+ "regressor__max_samples": "None",
+ "regressor__min_impurity_decrease": "0.0",
+ "regressor__min_samples_leaf": "1",
+ "regressor__min_samples_split": "2",
+ "regressor__min_weight_fraction_leaf": "0.0",
+ "regressor__monotonic_cst": "None",
+ "regressor__n_estimators": "200",
+ "regressor__n_jobs": "None",
+ "regressor__oob_score": "False",
+ "regressor__random_state": "42",
+ "regressor__verbose": "0",
+ "regressor__warm_start": "False",
+ "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
+ "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual', 'registered'])])",
+ "transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
+ "transformer__categoricals__categories": "auto",
+ "transformer__categoricals__drop": "None",
+ "transformer__categoricals__dtype": "",
+ "transformer__categoricals__feature_name_combiner": "concat",
+ "transformer__categoricals__handle_unknown": "ignore",
+ "transformer__categoricals__max_categories": "None",
+ "transformer__categoricals__min_frequency": "None",
+ "transformer__categoricals__sparse_output": "False",
+ "transformer__force_int_remainder_cols": "True",
+ "transformer__n_jobs": "None",
+ "transformer__numericals": "passthrough",
+ "transformer__remainder": "drop",
+ "transformer__sparse_threshold": "0.3",
+ "transformer__transformer_weights": "None",
+ "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual', 'registered'])]",
+ "transformer__verbose": "False",
+ "transformer__verbose_feature_names_out": "True",
+ "verbose": "False"
+ },
+ {
+ "estimator_class": "sklearn.pipeline.Pipeline",
+ "estimator_name": "Pipeline",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:33.468367\", \"model_uuid\": \"e6f77661d7214385a83cc9a45c689a0a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:38.175626\", \"model_uuid\": \"4b143c2fc8234dac9c98bbdfb03aaa1a\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Training",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Training",
+ "virtualenv",
+ "local",
+ "Pipeline",
+ "sklearn.pipeline.Pipeline",
+ "[{\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:33.468367\", \"model_uuid\": \"e6f77661d7214385a83cc9a45c689a0a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"d2aed973c12b475f849743599f7bc973\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:38.175626\", \"model_uuid\": \"4b143c2fc8234dac9c98bbdfb03aaa1a\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.1.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}}]",
+ null,
+ null
+ ]
+ ],
+ "fillcolor": "rgba(255,255,255,0)",
+ "hoveron": "points",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
+ "hovertext": [
+ "4753bf6b106845d19eca79b7cb329343",
+ "ae9f673f6b264240bb79ffd94ca49fe2",
+ "d2aed973c12b475f849743599f7bc973"
+ ],
+ "legendgroup": "Training",
+ "line": {
+ "color": "rgba(255,255,255,0)"
+ },
+ "marker": {
+ "color": "#FFA15A"
+ },
+ "name": "Training",
+ "offsetgroup": "Training",
+ "orientation": "h",
+ "pointpos": 0,
+ "showlegend": true,
+ "type": "box",
+ "x": [
+ 25.996,
+ 25.986,
+ 28.042
+ ],
+ "x0": " ",
+ "xaxis": "x",
+ "y0": " ",
+ "yaxis": "y"
+ },
+ {
+ "alignmentgroup": "True",
+ "boxpoints": "all",
+ "customdata": [
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/066cf65cd3214378a7675e2536c6eb60/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
+ "active",
+ "066cf65cd3214378a7675e2536c6eb60",
+ "wise-hound-335",
+ "066cf65cd3214378a7675e2536c6eb60",
+ "2024-12-14T14:40:34.416000",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 2.2717891335487366,
+ "mean_score_time": 0.04655104875564575,
+ "mean_test_score": -711.7982638888889,
+ "rank_test_score": 2,
+ "std_fit_time": 0.2744423843818404,
+ "std_score_time": 0.0008752424197515631,
+ "std_test_score": 506.2583283876414
+ },
+ {
+ "max_depth": "5",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "wise-hound-335",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
+ null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "wise-hound-335",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "6f68ed7fee59407f83bff115536fdfc0"
+ ]
+ ],
+ "fillcolor": "rgba(255,255,255,0)",
+ "hoveron": "points",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
+ "hovertext": [
+ "066cf65cd3214378a7675e2536c6eb60"
+ ],
+ "legendgroup": "wise-hound-335",
+ "line": {
+ "color": "rgba(255,255,255,0)"
+ },
+ "marker": {
+ "color": "#19d3f3"
+ },
+ "name": "wise-hound-335",
+ "offsetgroup": "wise-hound-335",
+ "orientation": "h",
+ "pointpos": 0,
+ "showlegend": true,
+ "type": "box",
+ "x": [
+ 46.191
+ ],
+ "x0": " ",
+ "xaxis": "x",
+ "y0": " ",
+ "yaxis": "y"
+ },
+ {
+ "alignmentgroup": "True",
+ "boxpoints": "all",
+ "customdata": [
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/0cdfaf5a0e7b44ea88d7297746e6af1f/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
"active",
- "47302e957d8542198a281aad07b2413b",
- "Training",
- "47302e957d8542198a281aad07b2413b",
- "2024-07-21T15:02:42.090000",
+ "0cdfaf5a0e7b44ea88d7297746e6af1f",
+ "auspicious-fly-358",
+ "0cdfaf5a0e7b44ea88d7297746e6af1f",
+ "2024-12-14T14:40:34.416000",
"FINISHED",
"fmind",
{
- "mean_squared_error": -1786.7527777777777,
- "system/cpu_utilization_percentage": 15.6,
- "system/disk_available_megabytes": 35139.3,
- "system/disk_usage_megabytes": 70848.1,
- "system/disk_usage_percentage": 66.8,
- "system/network_receive_megabytes": 0.001855000000034579,
- "system/network_transmit_megabytes": 0.003730000000018663,
- "system/system_memory_usage_megabytes": 4143.6,
- "system/system_memory_usage_percentage": 27.5,
- "training_mean_absolute_error": 6.8051192198812736,
- "training_mean_squared_error": 124.51054615575788,
- "training_r2_score": 0.9948851411922456,
- "training_root_mean_squared_error": 11.158429376742852,
- "training_score": 0.9948851411922456
+ "mean_fit_time": 3.0942174792289734,
+ "mean_score_time": 0.054158151149749756,
+ "mean_test_score": -319.5045138888889,
+ "rank_test_score": 1,
+ "std_fit_time": 0.41821529328335627,
+ "std_score_time": 0.0011713553122119475,
+ "std_test_score": 350.4638291591938
},
{
- "conf_file": "confs/training.yaml",
- "memory": "None",
- "regressor": "RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42)",
- "regressor__bootstrap": "True",
- "regressor__ccp_alpha": "0.0",
- "regressor__criterion": "squared_error",
- "regressor__max_depth": "20",
- "regressor__max_features": "1.0",
- "regressor__max_leaf_nodes": "None",
- "regressor__max_samples": "None",
- "regressor__min_impurity_decrease": "0.0",
- "regressor__min_samples_leaf": "1",
- "regressor__min_samples_split": "2",
- "regressor__min_weight_fraction_leaf": "0.0",
- "regressor__monotonic_cst": "None",
- "regressor__n_estimators": "200",
- "regressor__n_jobs": "None",
- "regressor__oob_score": "False",
- "regressor__random_state": "42",
- "regressor__verbose": "0",
- "regressor__warm_start": "False",
- "steps": "[('transformer', ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])), ('regressor', RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42))]",
- "transformer": "ColumnTransformer(transformers=[('categoricals',\n OneHotEncoder(handle_unknown='ignore',\n sparse_output=False),\n ['season', 'weathersit']),\n ('numericals', 'passthrough',\n ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n 'workingday', 'temp', 'atemp', 'hum',\n 'windspeed', 'casual'])])",
- "transformer__categoricals": "OneHotEncoder(handle_unknown='ignore', sparse_output=False)",
- "transformer__categoricals__categories": "auto",
- "transformer__categoricals__drop": "None",
- "transformer__categoricals__dtype": "",
- "transformer__categoricals__feature_name_combiner": "concat",
- "transformer__categoricals__handle_unknown": "ignore",
- "transformer__categoricals__max_categories": "None",
- "transformer__categoricals__min_frequency": "None",
- "transformer__categoricals__sparse_output": "False",
- "transformer__n_jobs": "None",
- "transformer__numericals": "passthrough",
- "transformer__remainder": "drop",
- "transformer__sparse_threshold": "0.3",
- "transformer__transformer_weights": "None",
- "transformer__transformers": "[('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])]",
- "transformer__verbose": "False",
- "transformer__verbose_feature_names_out": "True",
- "verbose": "False"
+ "max_depth": "7",
+ "n_estimators": "200",
+ "random_state": "42"
},
{
- "estimator_class": "sklearn.pipeline.Pipeline",
- "estimator_name": "Pipeline",
- "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:54.863113\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"4fd09447dee548f586e05d2edbfbe2d8\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:59.278448\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"c18c304506ec438c9937a5804b4e19bc\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
- "mlflow.project.backend": "local",
- "mlflow.project.entryPoint": "main",
- "mlflow.project.env": "virtualenv",
- "mlflow.runName": "Training",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.source.name": "file:///home/fmind/mlops-python-package",
- "mlflow.source.type": "PROJECT",
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "auspicious-fly-358",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
},
"fmind",
- "file:///home/fmind/mlops-python-package",
- "PROJECT",
- "main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- "git@github.com:fmind/mlops-python-package",
- "git@github.com:fmind/mlops-python-package",
- "Training",
- "virtualenv",
- "local",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
null,
- "Pipeline",
- "sklearn.pipeline.Pipeline",
- "[{\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:54.863113\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"4fd09447dee548f586e05d2edbfbe2d8\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"tensor\\\", \\\"tensor-spec\\\": {\\\"dtype\\\": \\\"float64\\\", \\\"shape\\\": [-1]}}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 203898413}, {\"run_id\": \"47302e957d8542198a281aad07b2413b\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:59.278448\", \"flavors\": {\"python_function\": {\"streamable\": false, \"cloudpickle_version\": \"3.0.0\", \"python_model\": \"python_model.pkl\", \"loader_module\": \"mlflow.pyfunc.model\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}, \"code\": null}}, \"model_uuid\": \"c18c304506ec438c9937a5804b4e19bc\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 205599260}]",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- null
+ null,
+ "auspicious-fly-358",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "6f68ed7fee59407f83bff115536fdfc0"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "a75ea3e9742c48fd9c34a5b8abf9bd89",
- "47302e957d8542198a281aad07b2413b"
+ "0cdfaf5a0e7b44ea88d7297746e6af1f"
],
- "legendgroup": "Training",
+ "legendgroup": "auspicious-fly-358",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#FFA15A"
+ "color": "#FF6692"
},
- "name": "Training",
- "offsetgroup": "Training",
+ "name": "auspicious-fly-358",
+ "offsetgroup": "auspicious-fly-358",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 80.807,
- 25.008
+ 46.191
],
"x0": " ",
"xaxis": "x",
@@ -7161,27 +8154,27 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/005e2f5532664a7aa7aafaa1509c3575/artifacts",
- "2024-07-21T15:29:11.193000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/6f68ed7fee59407f83bff115536fdfc0/artifacts",
+ "2024-12-14T14:41:21.575000",
+ "300971336194126583",
"active",
- "005e2f5532664a7aa7aafaa1509c3575",
+ "6f68ed7fee59407f83bff115536fdfc0",
"Tuning",
- "005e2f5532664a7aa7aafaa1509c3575",
- "2024-07-21T15:27:31.082000",
+ "6f68ed7fee59407f83bff115536fdfc0",
+ "2024-12-14T14:40:34.416000",
"FINISHED",
"fmind",
{
- "best_cv_score": -5517.252604166667,
- "system/cpu_utilization_percentage": 47.2,
- "system/disk_available_megabytes": 34093.7,
- "system/disk_usage_megabytes": 71913,
- "system/disk_usage_percentage": 67.8,
- "system/network_receive_megabytes": 254.222282,
- "system/network_transmit_megabytes": 507.10717,
- "system/system_memory_usage_megabytes": 8470.1,
- "system/system_memory_usage_percentage": 56.2,
- "training_score": -1951.0630079838884
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 13.8,
+ "system/disk_available_megabytes": 7460.8,
+ "system/disk_usage_megabytes": 108450.2,
+ "system/disk_usage_percentage": 93.6,
+ "system/network_receive_megabytes": 0.1935390000001007,
+ "system/network_transmit_megabytes": 0.2145869999999377,
+ "system/system_memory_usage_megabytes": 4516.7,
+ "system/system_memory_usage_percentage": 30,
+ "training_score": -25.253110839387183
},
{
"best_max_depth": "7",
@@ -7201,12 +8194,12 @@
"estimator_class": "sklearn.model_selection._search.GridSearchCV",
"estimator_name": "GridSearchCV",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:28:24.521733\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"c800dd5b2d1f49ce98281338d9abbd29\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:28:50.044236\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"acb76eef9e5e4a56aa84e634b7d7444c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:11.433265\", \"model_uuid\": \"77b9177b6a914d2d83f8c6062bcaa438\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:41:16.492519\", \"model_uuid\": \"862871d930c845ec882f4b82890fc495\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Tuning",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -7216,41 +8209,40 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Tuning",
"virtualenv",
"local",
- null,
"GridSearchCV",
"sklearn.model_selection._search.GridSearchCV",
- "[{\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:28:24.521733\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"c800dd5b2d1f49ce98281338d9abbd29\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"005e2f5532664a7aa7aafaa1509c3575\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:28:50.044236\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"acb76eef9e5e4a56aa84e634b7d7444c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "[{\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:41:11.433265\", \"model_uuid\": \"77b9177b6a914d2d83f8c6062bcaa438\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"6f68ed7fee59407f83bff115536fdfc0\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:41:16.492519\", \"model_uuid\": \"862871d930c845ec882f4b82890fc495\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
null,
null
],
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/38a4df3abf194e06b5eeaaa0bb383ee8/artifacts",
- "2024-07-21T15:02:40.466000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/9c36f396f2214f7bb0c6d9713d5e833e/artifacts",
+ "2024-12-14T14:39:22.225000",
+ "300971336194126583",
"active",
- "38a4df3abf194e06b5eeaaa0bb383ee8",
+ "9c36f396f2214f7bb0c6d9713d5e833e",
"Tuning",
- "38a4df3abf194e06b5eeaaa0bb383ee8",
- "2024-07-21T15:02:02.378000",
+ "9c36f396f2214f7bb0c6d9713d5e833e",
+ "2024-12-14T14:38:34.646000",
"FINISHED",
"fmind",
{
- "best_cv_score": -5517.252604166667,
- "system/cpu_utilization_percentage": 17.1,
- "system/disk_available_megabytes": 35143.4,
- "system/disk_usage_megabytes": 70843.7,
- "system/disk_usage_percentage": 66.8,
- "system/network_receive_megabytes": 0.012593999999978678,
- "system/network_transmit_megabytes": 0.006136999999995396,
- "system/system_memory_usage_megabytes": 4245,
- "system/system_memory_usage_percentage": 28.1,
- "training_score": -1951.0630079838884
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 13.7,
+ "system/disk_available_megabytes": 7735.1,
+ "system/disk_usage_megabytes": 108174.9,
+ "system/disk_usage_percentage": 93.3,
+ "system/network_receive_megabytes": 0.013674000000037267,
+ "system/network_transmit_megabytes": 0.0075299999999742795,
+ "system/system_memory_usage_megabytes": 4324.7,
+ "system/system_memory_usage_percentage": 28.7,
+ "training_score": -25.253110839387183
},
{
"best_max_depth": "7",
@@ -7270,12 +8262,12 @@
"estimator_class": "sklearn.model_selection._search.GridSearchCV",
"estimator_name": "GridSearchCV",
"mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
- "mlflow.log-model.history": "[{\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:33.521812\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"67c6c33385b04cb5ad03402d17d4e377\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:02:37.041779\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"301cd67b8f704f2280ce6b59d6846c7c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "mlflow.log-model.history": "[{\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:11.770616\", \"model_uuid\": \"ba0e722effe1437ba691fb61e730dfb7\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:39:16.824355\", \"model_uuid\": \"c561b4012c1445eca99fcd5d7260ad62\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
"mlflow.project.backend": "local",
"mlflow.project.entryPoint": "main",
"mlflow.project.env": "virtualenv",
"mlflow.runName": "Tuning",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
"mlflow.source.name": "file:///home/fmind/mlops-python-package",
"mlflow.source.type": "PROJECT",
@@ -7285,33 +8277,101 @@
"file:///home/fmind/mlops-python-package",
"PROJECT",
"main",
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"git@github.com:fmind/mlops-python-package",
"git@github.com:fmind/mlops-python-package",
"Tuning",
"virtualenv",
"local",
+ "GridSearchCV",
+ "sklearn.model_selection._search.GridSearchCV",
+ "[{\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:39:11.770616\", \"model_uuid\": \"ba0e722effe1437ba691fb61e730dfb7\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"9c36f396f2214f7bb0c6d9713d5e833e\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:39:16.824355\", \"model_uuid\": \"c561b4012c1445eca99fcd5d7260ad62\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
null,
+ null
+ ],
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/857f0dd0a344439693b8cb9ecbf3ee10/artifacts",
+ "2024-12-14T14:37:16.048000",
+ "300971336194126583",
+ "active",
+ "857f0dd0a344439693b8cb9ecbf3ee10",
+ "Tuning",
+ "857f0dd0a344439693b8cb9ecbf3ee10",
+ "2024-12-14T14:35:02.506000",
+ "FINISHED",
+ "fmind",
+ {
+ "best_cv_score": -319.5045138888889,
+ "system/cpu_utilization_percentage": 21.5,
+ "system/disk_available_megabytes": 8003.8,
+ "system/disk_usage_megabytes": 107904.9,
+ "system/disk_usage_percentage": 93.1,
+ "system/network_receive_megabytes": 0.012895999999955166,
+ "system/network_transmit_megabytes": 0.0012200000001030276,
+ "system/system_memory_usage_megabytes": 4608.4,
+ "system/system_memory_usage_percentage": 30.6,
+ "training_score": -25.253110839387183
+ },
+ {
+ "best_max_depth": "7",
+ "conf_file": "confs/tuning.yaml",
+ "cv": "KIND='TimeSeriesSplitter' gap=0 n_splits=4 test_size=1440",
+ "error_score": "raise",
+ "estimator": "KIND='BaselineSklearnModel' max_depth=20 n_estimators=200 random_state=42",
+ "n_jobs": "None",
+ "param_grid": "{'max_depth': [3, 5, 7]}",
+ "pre_dispatch": "2*n_jobs",
+ "refit": "True",
+ "return_train_score": "False",
+ "scoring": "",
+ "verbose": "3"
+ },
+ {
+ "estimator_class": "sklearn.model_selection._search.GridSearchCV",
+ "estimator_name": "GridSearchCV",
+ "mlflow.gitRepoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.log-model.history": "[{\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:05.731840\", \"model_uuid\": \"4ada6a336e424391bf2cdf750e2c7042\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:37:11.174511\", \"model_uuid\": \"7be250b39fd343ec99975be2a910fb2a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
+ "mlflow.project.backend": "local",
+ "mlflow.project.entryPoint": "main",
+ "mlflow.project.env": "virtualenv",
+ "mlflow.runName": "Tuning",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.git.repoURL": "git@github.com:fmind/mlops-python-package",
+ "mlflow.source.name": "file:///home/fmind/mlops-python-package",
+ "mlflow.source.type": "PROJECT",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "file:///home/fmind/mlops-python-package",
+ "PROJECT",
+ "main",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "git@github.com:fmind/mlops-python-package",
+ "git@github.com:fmind/mlops-python-package",
+ "Tuning",
+ "virtualenv",
+ "local",
"GridSearchCV",
"sklearn.model_selection._search.GridSearchCV",
- "[{\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-07-21 15:02:33.521812\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"67c6c33385b04cb5ad03402d17d4e377\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3726525}, {\"run_id\": \"38a4df3abf194e06b5eeaaa0bb383ee8\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-07-21 15:02:37.041779\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.4\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.4.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}, \"model_uuid\": \"301cd67b8f704f2280ce6b59d6846c7c\", \"mlflow_version\": \"2.14.3\", \"signature\": {\"inputs\": \"[{\\\"type\\\": \\\"datetime\\\", \\\"name\\\": \\\"dteday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"season\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"yr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"mnth\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"hr\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"holiday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weekday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"boolean\\\", \\\"name\\\": \\\"workingday\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"integer\\\", \\\"name\\\": \\\"weathersit\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"temp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"atemp\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"hum\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"float\\\", \\\"name\\\": \\\"windspeed\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"casual\\\", \\\"required\\\": true}, {\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"registered\\\", \\\"required\\\": true}]\", \"outputs\": \"[{\\\"type\\\": \\\"long\\\", \\\"name\\\": \\\"prediction\\\", \\\"required\\\": true}]\", \"params\": null}, \"saved_input_example_info\": {\"artifact_path\": \"input_example.json\", \"type\": \"dataframe\", \"pandas_orient\": \"split\"}, \"model_size_bytes\": 3713919}]",
+ "[{\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"model\", \"utc_time_created\": \"2024-12-14 14:37:05.731840\", \"model_uuid\": \"4ada6a336e424391bf2cdf750e2c7042\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}, {\"run_id\": \"857f0dd0a344439693b8cb9ecbf3ee10\", \"artifact_path\": \"best_estimator\", \"utc_time_created\": \"2024-12-14 14:37:11.174511\", \"model_uuid\": \"7be250b39fd343ec99975be2a910fb2a\", \"flavors\": {\"python_function\": {\"model_path\": \"model.pkl\", \"predict_fn\": \"predict\", \"loader_module\": \"mlflow.sklearn\", \"python_version\": \"3.12.7\", \"env\": {\"conda\": \"conda.yaml\", \"virtualenv\": \"python_env.yaml\"}}, \"sklearn\": {\"pickled_model\": \"model.pkl\", \"sklearn_version\": \"1.5.2\", \"serialization_format\": \"cloudpickle\", \"code\": null}}}]",
null,
null
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "005e2f5532664a7aa7aafaa1509c3575",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "6f68ed7fee59407f83bff115536fdfc0",
+ "9c36f396f2214f7bb0c6d9713d5e833e",
+ "857f0dd0a344439693b8cb9ecbf3ee10"
],
"legendgroup": "Tuning",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#19d3f3"
+ "color": "#B6E880"
},
"name": "Tuning",
"offsetgroup": "Tuning",
@@ -7320,8 +8380,9 @@
"showlegend": true,
"type": "box",
"x": [
- 100.111,
- 38.088
+ 47.159,
+ 47.579,
+ 133.542
],
"x0": " ",
"xaxis": "x",
@@ -7333,24 +8394,24 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/9867f954f07b448a901844dae9fb8d23/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e3975321ef4645b698cd8832a2ead79d/artifacts",
+ "2024-12-14T14:41:20.607000",
+ "300971336194126583",
"active",
- "9867f954f07b448a901844dae9fb8d23",
- "rumbling-bass-180",
- "9867f954f07b448a901844dae9fb8d23",
- "2024-07-21T15:27:31.082000",
+ "e3975321ef4645b698cd8832a2ead79d",
+ "lyrical-asp-40",
+ "e3975321ef4645b698cd8832a2ead79d",
+ "2024-12-14T14:40:34.416000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.2907636165618896,
- "mean_score_time": 0.04417002201080322,
- "mean_test_score": -16644.957118055558,
+ "mean_fit_time": 1.5403740406036377,
+ "mean_score_time": 0.04439198970794678,
+ "mean_test_score": -2845.011111111111,
"rank_test_score": 3,
- "std_fit_time": 0.20825952588936553,
- "std_score_time": 0.005795796359843565,
- "std_test_score": 5315.459715152708
+ "std_fit_time": 0.26986769561457347,
+ "std_score_time": 0.0011455098275932603,
+ "std_test_score": 1362.0703338739036
},
{
"max_depth": "3",
@@ -7361,9 +8422,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "rumbling-bass-180",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "6f68ed7fee59407f83bff115536fdfc0",
+ "mlflow.runName": "lyrical-asp-40",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7372,41 +8433,40 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "rumbling-bass-180",
null,
+ "lyrical-asp-40",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "6f68ed7fee59407f83bff115536fdfc0"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "9867f954f07b448a901844dae9fb8d23"
+ "e3975321ef4645b698cd8832a2ead79d"
],
- "legendgroup": "rumbling-bass-180",
+ "legendgroup": "lyrical-asp-40",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#FF6692"
+ "color": "#FF97FF"
},
- "name": "rumbling-bass-180",
- "offsetgroup": "rumbling-bass-180",
+ "name": "lyrical-asp-40",
+ "offsetgroup": "lyrical-asp-40",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 94.174
+ 46.191
],
"x0": " ",
"xaxis": "x",
@@ -7418,24 +8478,24 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/9b9c55b6f0874d0eb97963fff97c172c/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/71d90d8febd9448584236ff7da490944/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
"active",
- "9b9c55b6f0874d0eb97963fff97c172c",
- "redolent-koi-314",
- "9b9c55b6f0874d0eb97963fff97c172c",
- "2024-07-21T15:27:31.082000",
+ "71d90d8febd9448584236ff7da490944",
+ "classy-yak-743",
+ "71d90d8febd9448584236ff7da490944",
+ "2024-12-14T14:38:34.646000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.8935438394546509,
- "mean_score_time": 0.04412144422531128,
- "mean_test_score": -8287.860416666666,
+ "mean_fit_time": 2.310912549495697,
+ "mean_score_time": 0.04688429832458496,
+ "mean_test_score": -711.7982638888889,
"rank_test_score": 2,
- "std_fit_time": 0.35395270632391435,
- "std_score_time": 0.001845193435988503,
- "std_test_score": 1045.7595024691313
+ "std_fit_time": 0.34795851007651757,
+ "std_score_time": 0.0015674315113117095,
+ "std_test_score": 506.2583283876414
},
{
"max_depth": "5",
@@ -7446,9 +8506,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "redolent-koi-314",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "classy-yak-743",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7457,41 +8517,40 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
null,
- "redolent-koi-314",
- null,
+ "classy-yak-743",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "9c36f396f2214f7bb0c6d9713d5e833e"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "9b9c55b6f0874d0eb97963fff97c172c"
+ "71d90d8febd9448584236ff7da490944"
],
- "legendgroup": "redolent-koi-314",
+ "legendgroup": "classy-yak-743",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#B6E880"
+ "color": "#FECB52"
},
- "name": "redolent-koi-314",
- "offsetgroup": "redolent-koi-314",
+ "name": "classy-yak-743",
+ "offsetgroup": "classy-yak-743",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 94.174
+ 46.567
],
"x0": " ",
"xaxis": "x",
@@ -7503,24 +8562,24 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/b8cf5f33d9ac429fab195d32a9326725/artifacts",
- "2024-07-21T15:29:05.256000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/d927facc28d74fbe8d607c7f1656321a/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
"active",
- "b8cf5f33d9ac429fab195d32a9326725",
- "languid-eel-151",
- "b8cf5f33d9ac429fab195d32a9326725",
- "2024-07-21T15:27:31.082000",
+ "d927facc28d74fbe8d607c7f1656321a",
+ "legendary-dove-782",
+ "d927facc28d74fbe8d607c7f1656321a",
+ "2024-12-14T14:38:34.646000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 4.7537882924079895,
- "mean_score_time": 0.1421765685081482,
- "mean_test_score": -5517.252604166667,
+ "mean_fit_time": 3.1809995770454407,
+ "mean_score_time": 0.05519115924835205,
+ "mean_test_score": -319.5045138888889,
"rank_test_score": 1,
- "std_fit_time": 3.0094242269462623,
- "std_score_time": 0.10171904359731292,
- "std_test_score": 1613.520146542553
+ "std_fit_time": 0.4297416271813794,
+ "std_score_time": 0.002215700766888834,
+ "std_test_score": 350.4638291591938
},
{
"max_depth": "7",
@@ -7531,9 +8590,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "005e2f5532664a7aa7aafaa1509c3575",
- "mlflow.runName": "languid-eel-151",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "legendary-dove-782",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7542,41 +8601,40 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "languid-eel-151",
null,
+ "legendary-dove-782",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "005e2f5532664a7aa7aafaa1509c3575"
+ "9c36f396f2214f7bb0c6d9713d5e833e"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "b8cf5f33d9ac429fab195d32a9326725"
+ "d927facc28d74fbe8d607c7f1656321a"
],
- "legendgroup": "languid-eel-151",
+ "legendgroup": "legendary-dove-782",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#FF97FF"
+ "color": "#636efa"
},
- "name": "languid-eel-151",
- "offsetgroup": "languid-eel-151",
+ "name": "legendary-dove-782",
+ "offsetgroup": "legendary-dove-782",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 94.174
+ 46.567
],
"x0": " ",
"xaxis": "x",
@@ -7588,24 +8646,24 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/38c04e59e8344096bf574faf63b10cd1/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/dafb45859edf45979643cccb32ea3828/artifacts",
+ "2024-12-14T14:39:21.213000",
+ "300971336194126583",
"active",
- "38c04e59e8344096bf574faf63b10cd1",
- "charming-boar-572",
- "38c04e59e8344096bf574faf63b10cd1",
- "2024-07-21T15:02:02.378000",
+ "dafb45859edf45979643cccb32ea3828",
+ "big-duck-612",
+ "dafb45859edf45979643cccb32ea3828",
+ "2024-12-14T14:38:34.646000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.0880586504936218,
- "mean_score_time": 0.03774416446685791,
- "mean_test_score": -16644.957118055558,
+ "mean_fit_time": 1.4297820329666138,
+ "mean_score_time": 0.042337894439697266,
+ "mean_test_score": -2845.011111111111,
"rank_test_score": 3,
- "std_fit_time": 0.15489854371698458,
- "std_score_time": 0.001806776770578061,
- "std_test_score": 5315.459715152708
+ "std_fit_time": 0.1887011060177697,
+ "std_score_time": 0.0005584766538439517,
+ "std_test_score": 1362.0703338739036
},
{
"max_depth": "3",
@@ -7616,9 +8674,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "charming-boar-572",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "9c36f396f2214f7bb0c6d9713d5e833e",
+ "mlflow.runName": "big-duck-612",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7627,41 +8685,40 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
null,
- "charming-boar-572",
- null,
+ "big-duck-612",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "9c36f396f2214f7bb0c6d9713d5e833e"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "38c04e59e8344096bf574faf63b10cd1"
+ "dafb45859edf45979643cccb32ea3828"
],
- "legendgroup": "charming-boar-572",
+ "legendgroup": "big-duck-612",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#FECB52"
+ "color": "#EF553B"
},
- "name": "charming-boar-572",
- "offsetgroup": "charming-boar-572",
+ "name": "big-duck-612",
+ "offsetgroup": "big-duck-612",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 37.246
+ 46.567
],
"x0": " ",
"xaxis": "x",
@@ -7673,27 +8730,27 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/82f77216b8ee4a2d8dc0869d4a6bfc48/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/006ccc2cf48e489099b285ab6d538d1a/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
"active",
- "82f77216b8ee4a2d8dc0869d4a6bfc48",
- "luxuriant-bird-233",
- "82f77216b8ee4a2d8dc0869d4a6bfc48",
- "2024-07-21T15:02:02.378000",
+ "006ccc2cf48e489099b285ab6d538d1a",
+ "sincere-sow-522",
+ "006ccc2cf48e489099b285ab6d538d1a",
+ "2024-12-14T14:35:02.506000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 2.5814242362976074,
- "mean_score_time": 0.04819995164871216,
- "mean_test_score": -5517.252604166667,
- "rank_test_score": 1,
- "std_fit_time": 0.41318261395357886,
- "std_score_time": 0.00042696711729265627,
- "std_test_score": 1613.520146542553
+ "mean_fit_time": 1.635141909122467,
+ "mean_score_time": 0.04768478870391846,
+ "mean_test_score": -2845.011111111111,
+ "rank_test_score": 3,
+ "std_fit_time": 0.16971366972379937,
+ "std_score_time": 0.002114185952165752,
+ "std_test_score": 1362.0703338739036
},
{
- "max_depth": "7",
+ "max_depth": "3",
"n_estimators": "200",
"random_state": "42"
},
@@ -7701,9 +8758,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "luxuriant-bird-233",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "sincere-sow-522",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7712,41 +8769,40 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
- null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "luxuriant-bird-233",
null,
+ "sincere-sow-522",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "857f0dd0a344439693b8cb9ecbf3ee10"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "82f77216b8ee4a2d8dc0869d4a6bfc48"
+ "006ccc2cf48e489099b285ab6d538d1a"
],
- "legendgroup": "luxuriant-bird-233",
+ "legendgroup": "sincere-sow-522",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#636efa"
+ "color": "#00cc96"
},
- "name": "luxuriant-bird-233",
- "offsetgroup": "luxuriant-bird-233",
+ "name": "sincere-sow-522",
+ "offsetgroup": "sincere-sow-522",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 37.246
+ 132.755
],
"x0": " ",
"xaxis": "x",
@@ -7758,24 +8814,24 @@
"boxpoints": "all",
"customdata": [
[
- "file:///home/fmind/mlops-python-package/mlruns/598443335336095652/e110400581f846d08f802c970ae25458/artifacts",
- "2024-07-21T15:02:39.624000",
- "598443335336095652",
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/44be742accc846c784acacab379cdca3/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
"active",
- "e110400581f846d08f802c970ae25458",
- "capricious-bear-977",
- "e110400581f846d08f802c970ae25458",
- "2024-07-21T15:02:02.378000",
+ "44be742accc846c784acacab379cdca3",
+ "bittersweet-fowl-631",
+ "44be742accc846c784acacab379cdca3",
+ "2024-12-14T14:35:02.506000",
"FINISHED",
"fmind",
{
- "mean_fit_time": 1.7571877837181091,
- "mean_score_time": 0.0408632755279541,
- "mean_test_score": -8287.860416666666,
+ "mean_fit_time": 2.448797047138214,
+ "mean_score_time": 0.05008918046951294,
+ "mean_test_score": -711.7982638888889,
"rank_test_score": 2,
- "std_fit_time": 0.2750353199252692,
- "std_score_time": 0.0028638736758093077,
- "std_test_score": 1045.7595024691313
+ "std_fit_time": 0.33258931824071436,
+ "std_score_time": 0.0004049252455184904,
+ "std_test_score": 506.2583283876414
},
{
"max_depth": "5",
@@ -7786,9 +8842,9 @@
"estimator_class": "bikes.core.models.BaselineSklearnModel",
"estimator_name": "BaselineSklearnModel",
"mlflow.autologging": "sklearn",
- "mlflow.parentRunId": "38a4df3abf194e06b5eeaaa0bb383ee8",
- "mlflow.runName": "capricious-bear-977",
- "mlflow.source.git.commit": "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "bittersweet-fowl-631",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
"mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
"mlflow.source.type": "LOCAL",
"mlflow.user": "fmind"
@@ -7797,41 +8853,124 @@
"/home/fmind/mlops-python-package/src/bikes/__main__.py",
"LOCAL",
null,
- "ee17d0a9de59efd2eb99d667786ac417ec8b3b63",
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ null,
+ null,
+ "bittersweet-fowl-631",
+ null,
+ null,
+ "BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ null,
+ "sklearn",
+ "857f0dd0a344439693b8cb9ecbf3ee10"
+ ]
+ ],
+ "fillcolor": "rgba(255,255,255,0)",
+ "hoveron": "points",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
+ "hovertext": [
+ "44be742accc846c784acacab379cdca3"
+ ],
+ "legendgroup": "bittersweet-fowl-631",
+ "line": {
+ "color": "rgba(255,255,255,0)"
+ },
+ "marker": {
+ "color": "#ab63fa"
+ },
+ "name": "bittersweet-fowl-631",
+ "offsetgroup": "bittersweet-fowl-631",
+ "orientation": "h",
+ "pointpos": 0,
+ "showlegend": true,
+ "type": "box",
+ "x": [
+ 132.755
+ ],
+ "x0": " ",
+ "xaxis": "x",
+ "y0": " ",
+ "yaxis": "y"
+ },
+ {
+ "alignmentgroup": "True",
+ "boxpoints": "all",
+ "customdata": [
+ [
+ "file:///home/fmind/mlops-python-package/mlruns/300971336194126583/e9980ab9c8db4f80a18aadfa47a3e83e/artifacts",
+ "2024-12-14T14:37:15.261000",
+ "300971336194126583",
+ "active",
+ "e9980ab9c8db4f80a18aadfa47a3e83e",
+ "smiling-hound-227",
+ "e9980ab9c8db4f80a18aadfa47a3e83e",
+ "2024-12-14T14:35:02.506000",
+ "FINISHED",
+ "fmind",
+ {
+ "mean_fit_time": 3.4514302015304565,
+ "mean_score_time": 0.060173630714416504,
+ "mean_test_score": -319.5045138888889,
+ "rank_test_score": 1,
+ "std_fit_time": 0.44103751840131455,
+ "std_score_time": 0.002450930454703554,
+ "std_test_score": 350.4638291591938
+ },
+ {
+ "max_depth": "7",
+ "n_estimators": "200",
+ "random_state": "42"
+ },
+ {
+ "estimator_class": "bikes.core.models.BaselineSklearnModel",
+ "estimator_name": "BaselineSklearnModel",
+ "mlflow.autologging": "sklearn",
+ "mlflow.parentRunId": "857f0dd0a344439693b8cb9ecbf3ee10",
+ "mlflow.runName": "smiling-hound-227",
+ "mlflow.source.git.commit": "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
+ "mlflow.source.name": "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "mlflow.source.type": "LOCAL",
+ "mlflow.user": "fmind"
+ },
+ "fmind",
+ "/home/fmind/mlops-python-package/src/bikes/__main__.py",
+ "LOCAL",
null,
+ "1a4b8a25a32f0e933a7db9ec47f763cc7bd17d1c",
null,
- "capricious-bear-977",
null,
+ "smiling-hound-227",
null,
null,
"BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
null,
"sklearn",
- "38a4df3abf194e06b5eeaaa0bb383ee8"
+ "857f0dd0a344439693b8cb9ecbf3ee10"
]
],
"fillcolor": "rgba(255,255,255,0)",
"hoveron": "points",
- "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} mlflow.datasets=%{customdata[23]} estimator_name=%{customdata[24]} estimator_class=%{customdata[25]} mlflow.log-model.history=%{customdata[26]} mlflow.autologging=%{customdata[27]} mlflow.parentRunId=%{customdata[28]} ",
+ "hovertemplate": "%{hovertext} run_name=%{customdata[5]} run_time_secs=%{x} artifact_uri=%{customdata[0]} end_time=%{customdata[1]} experiment_id=%{customdata[2]} lifecycle_stage=%{customdata[3]} run_id=%{customdata[4]} run_uuid=%{customdata[6]} start_time=%{customdata[7]} status=%{customdata[8]} user_id=%{customdata[9]} metrics=%{customdata[10]} params=%{customdata[11]} tags=%{customdata[12]} mlflow.user=%{customdata[13]} mlflow.source.name=%{customdata[14]} mlflow.source.type=%{customdata[15]} mlflow.project.entryPoint=%{customdata[16]} mlflow.source.git.commit=%{customdata[17]} mlflow.source.git.repoURL=%{customdata[18]} mlflow.gitRepoURL=%{customdata[19]} mlflow.runName=%{customdata[20]} mlflow.project.env=%{customdata[21]} mlflow.project.backend=%{customdata[22]} estimator_name=%{customdata[23]} estimator_class=%{customdata[24]} mlflow.log-model.history=%{customdata[25]} mlflow.autologging=%{customdata[26]} mlflow.parentRunId=%{customdata[27]} ",
"hovertext": [
- "e110400581f846d08f802c970ae25458"
+ "e9980ab9c8db4f80a18aadfa47a3e83e"
],
- "legendgroup": "capricious-bear-977",
+ "legendgroup": "smiling-hound-227",
"line": {
"color": "rgba(255,255,255,0)"
},
"marker": {
- "color": "#EF553B"
+ "color": "#FFA15A"
},
- "name": "capricious-bear-977",
- "offsetgroup": "capricious-bear-977",
+ "name": "smiling-hound-227",
+ "offsetgroup": "smiling-hound-227",
"orientation": "h",
"pointpos": 0,
"showlegend": true,
"type": "box",
"x": [
- 37.246
+ 132.755
],
"x0": " ",
"xaxis": "x",
@@ -8735,18 +9874,27 @@
null,
null,
"sklearn.pipeline.Pipeline",
- "sklearn.model_selection._search.GridSearchCV",
"bikes.core.models.BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
+ "sklearn.model_selection._search.GridSearchCV",
"bikes.core.models.BaselineSklearnModel",
null,
null,
null,
null,
"sklearn.pipeline.Pipeline",
+ "bikes.core.models.BaselineSklearnModel",
"sklearn.model_selection._search.GridSearchCV",
"bikes.core.models.BaselineSklearnModel",
"bikes.core.models.BaselineSklearnModel",
+ null,
+ null,
+ null,
+ null,
+ "sklearn.pipeline.Pipeline",
+ "bikes.core.models.BaselineSklearnModel",
+ "bikes.core.models.BaselineSklearnModel",
+ "sklearn.model_selection._search.GridSearchCV",
"bikes.core.models.BaselineSklearnModel"
],
"xaxis": "x",
@@ -8768,6 +9916,15 @@
1,
1,
1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
1
],
"yaxis": "y"
@@ -9645,7 +10802,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.4"
+ "version": "3.12.5"
}
},
"nbformat": 4,
diff --git a/notebooks/processing.ipynb b/notebooks/processing.ipynb
index 78f28c4..c967b38 100644
--- a/notebooks/processing.ipynb
+++ b/notebooks/processing.ipynb
@@ -65,7 +65,7 @@
"outputs": [],
"source": [
"INDEX_COL = \"instant\"\n",
- "TARGET_COL = 'cnt'"
+ "TARGET_COL = \"cnt\""
]
},
{
@@ -81,7 +81,7 @@
"metadata": {},
"outputs": [],
"source": [
- "SHUFFLE = False # time-sensitive\n",
+ "SHUFFLE = False # time-sensitive\n",
"TEST_SIZE = 0.2"
]
},
@@ -98,8 +98,7 @@
"metadata": {},
"outputs": [],
"source": [
- "SAMPLE_RATIO = 0.15\n",
- "SAMPLE_RANDOM_STATE = 0"
+ "SAMPLE_SIZE = 2000"
]
},
{
@@ -659,7 +658,7 @@
{
"data": {
"text/plain": [
- "((2085, 15), (2085, 1))"
+ "((2000, 15), (2000, 1))"
]
},
"execution_count": 11,
@@ -668,8 +667,8 @@
}
],
"source": [
- "inputs_train_sample = inputs_train.sample(frac=SAMPLE_RATIO, random_state=SAMPLE_RANDOM_STATE)\n",
- "targets_train_sample = targets_train.sample(frac=SAMPLE_RATIO, random_state=SAMPLE_RANDOM_STATE)\n",
+ "inputs_train_sample = inputs_train.tail(SAMPLE_SIZE)\n",
+ "targets_train_sample = targets_train.tail(SAMPLE_SIZE)\n",
"inputs_train_sample.shape, targets_train_sample.shape"
]
},
@@ -711,7 +710,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.4"
+ "version": "3.12.5"
}
},
"nbformat": 4,
diff --git a/notebooks/prototype.ipynb b/notebooks/prototype.ipynb
index 7d222f6..fc52d1e 100644
--- a/notebooks/prototype.ipynb
+++ b/notebooks/prototype.ipynb
@@ -45,9 +45,9 @@
"outputs": [],
"source": [
"import pandas as pd\n",
- "import sklearn as sk\n",
- "import plotly.io as pio\n",
"import plotly.express as px\n",
+ "import plotly.io as pio\n",
+ "import sklearn as sk\n",
"from sklearn import compose, ensemble, metrics, model_selection, pipeline, preprocessing"
]
},
@@ -90,7 +90,7 @@
"source": [
"ROOT = Path(\"../\")\n",
"DATA = str(ROOT / \"data\")\n",
- "CACHE = str(ROOT / \".cache\")"
+ "CACHE = str(ROOT / \".cache\")"
]
},
{
@@ -141,7 +141,7 @@
"source": [
"SPLITS = 4\n",
"SHUFFLE = False # required (time sensitive)\n",
- "TEST_SIZE = 24 * 30 * 2 # use 2 months for backtesting"
+ "TEST_SIZE = 24 * 30 * 2 # use 2 months for backtesting"
]
},
{
@@ -203,7 +203,7 @@
"outputs": [],
"source": [
"# change the default theme\n",
- "pio.templates.default = \"plotly_dark\""
+ "pio.templates.default = \"plotly_white\""
]
},
{
@@ -575,7 +575,7 @@
" \n",
" \n",
" top \n",
- " 2011-01-01 \n",
+ " 2012-12-31 \n",
" NaN \n",
" NaN \n",
" NaN \n",
@@ -752,7 +752,7 @@
" dteday season yr mnth hr \\\n",
"count 17379 17379.000000 17379.000000 17379.000000 17379.000000 \n",
"unique 731 NaN NaN NaN NaN \n",
- "top 2011-01-01 NaN NaN NaN NaN \n",
+ "top 2012-12-31 NaN NaN NaN NaN \n",
"freq 24 NaN NaN NaN NaN \n",
"mean NaN 2.501640 0.502561 6.537775 11.546752 \n",
"std NaN 1.106918 0.500008 3.438776 6.914405 \n",
@@ -105220,14 +105220,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -105243,7 +105243,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -105258,18 +105258,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -105587,10 +105587,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -105637,8 +105637,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -105743,18 +105744,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -105763,7 +105764,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -105919,123 +105920,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -106052,8 +106043,11 @@
],
"source": [
"px.scatter_matrix(\n",
- " hour, dimensions=[\"registered\", \"casual\", \"cnt\", \"mnth\", \"hr\"], color=TARGET,\n",
- " height=800, title=\"Analysis of top features\",\n",
+ " hour,\n",
+ " dimensions=[\"registered\", \"casual\", \"cnt\", \"mnth\", \"hr\"],\n",
+ " color=TARGET,\n",
+ " height=800,\n",
+ " title=\"Analysis of top features\",\n",
")"
]
},
@@ -106087,7 +106081,7 @@
],
"source": [
"inputs, targets = hour.drop(columns=TARGET), hour[TARGET]\n",
- "print('Inputs:', inputs.shape, '; Targets:', targets.shape)"
+ "print(\"Inputs:\", inputs.shape, \"; Targets:\", targets.shape)"
]
},
{
@@ -106125,8 +106119,12 @@
"metadata": {},
"outputs": [],
"source": [
- "assert inputs_train.index.max() < inputs_test.index.min(), \"Inputs train should be before inputs test\"\n",
- "assert targets_train.index.max() < targets_test.index.min(), \"Targets train should be before targets test\""
+ "assert (\n",
+ " inputs_train.index.max() < inputs_test.index.min()\n",
+ "), \"Inputs train should be before inputs test\"\n",
+ "assert (\n",
+ " targets_train.index.max() < targets_test.index.min()\n",
+ "), \"Targets train should be before targets test\""
]
},
{
@@ -106154,7 +106152,9 @@
" \"season\",\n",
" \"weathersit\",\n",
"]\n",
- "assert all(col in inputs.columns for col in categoricals), \"All categorical columns should be in inputs.\""
+ "assert all(\n",
+ " col in inputs.columns for col in categoricals\n",
+ "), \"All categorical columns should be in inputs.\""
]
},
{
@@ -106177,7 +106177,9 @@
" \"casual\",\n",
" # \"registered\", # too correlated with target\n",
"]\n",
- "assert all(col in inputs.columns for col in numericals), \"All numerical columns should be in inputs.\""
+ "assert all(\n",
+ " col in inputs.columns for col in numericals\n",
+ "), \"All numerical columns should be in inputs.\""
]
},
{
@@ -106620,7 +106622,7 @@
" 'workingday', 'temp',\n",
" 'atemp', 'hum', 'windspeed',\n",
" 'casual'])])),\n",
- " ('regressor', RandomForestRegressor(random_state=42))])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. Pipeline?Documentation for Pipeline iNot fitted Pipeline(memory='../.cache',\n",
+ " ('regressor', RandomForestRegressor(random_state=42))]) In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. Pipeline?Documentation for Pipeline iNot fitted Pipeline(memory='../.cache',\n",
" steps=[('transformer',\n",
" ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
@@ -106632,14 +106634,14 @@
" 'workingday', 'temp',\n",
" 'atemp', 'hum', 'windspeed',\n",
" 'casual'])])),\n",
- " ('regressor', RandomForestRegressor(random_state=42))]) transformer: ColumnTransformer?Documentation for transformer: ColumnTransformer ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
" sparse_output=False),\n",
" ['season', 'weathersit']),\n",
" ('numericals', 'passthrough',\n",
" ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n",
" 'workingday', 'temp', 'atemp', 'hum',\n",
- " 'windspeed', 'casual'])]) numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
+ " 'windspeed', 'casual'])])
numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
],
"text/plain": [
"Pipeline(memory='../.cache',\n",
@@ -106665,12 +106667,20 @@
"source": [
"draft = pipeline.Pipeline(\n",
" steps=[\n",
- " (\"transformer\", compose.ColumnTransformer([\n",
- " (\"categoricals\", preprocessing.OneHotEncoder(\n",
- " sparse_output=False, handle_unknown=\"ignore\"\n",
- " ), categoricals),\n",
- " (\"numericals\", \"passthrough\", numericals),\n",
- " ], remainder=\"drop\")),\n",
+ " (\n",
+ " \"transformer\",\n",
+ " compose.ColumnTransformer(\n",
+ " [\n",
+ " (\n",
+ " \"categoricals\",\n",
+ " preprocessing.OneHotEncoder(sparse_output=False, handle_unknown=\"ignore\"),\n",
+ " categoricals,\n",
+ " ),\n",
+ " (\"numericals\", \"passthrough\", numericals),\n",
+ " ],\n",
+ " remainder=\"drop\",\n",
+ " ),\n",
+ " ),\n",
" (\"regressor\", ensemble.RandomForestRegressor(random_state=RANDOM)),\n",
" ],\n",
" memory=CACHE,\n",
@@ -106710,8 +106720,10 @@
],
"source": [
"splitter = model_selection.TimeSeriesSplit(n_splits=SPLITS, test_size=TEST_SIZE)\n",
- "for train_index, test_index in splitter.split(inputs_train): # test splitter generation\n",
- " print(f\"Train: {train_index.min()} - {train_index.max()}; Test: {test_index.min()} - {test_index.max()}\")"
+ "for train_index, test_index in splitter.split(inputs_train): # test splitter generation\n",
+ " print(\n",
+ " f\"Train: {train_index.min()} - {train_index.max()}; Test: {test_index.min()} - {test_index.max()}\"\n",
+ " )"
]
},
{
@@ -106739,7 +106751,23 @@
"text": [
"/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
"\n",
- "Persisting input arguments took 1.02s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
+ "Persisting input arguments took 0.68s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
+ "\n",
+ "/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
+ "\n",
+ "Persisting input arguments took 0.69s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
+ "\n",
+ "/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
+ "\n",
+ "Persisting input arguments took 0.79s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
+ "\n",
+ "/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
+ "\n",
+ "Persisting input arguments took 0.90s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
+ "\n",
+ "/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
+ "\n",
+ "Persisting input arguments took 1.00s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
"\n"
]
},
@@ -107175,7 +107203,7 @@
" RandomForestRegressor(random_state=42))]),\n",
" param_grid={'regressor__max_depth': [15, 20, 25],\n",
" 'regressor__n_estimators': [150, 200, 250]},\n",
- " scoring='neg_mean_squared_error', verbose=1)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. GridSearchCV?Documentation for GridSearchCV iFitted GridSearchCV(cv=TimeSeriesSplit(gap=0, max_train_size=None, n_splits=4, test_size=1440),\n",
+ " scoring='neg_mean_squared_error', verbose=1) In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. GridSearchCV?Documentation for GridSearchCV iFitted GridSearchCV(cv=TimeSeriesSplit(gap=0, max_train_size=None, n_splits=4, test_size=1440),\n",
" estimator=Pipeline(memory='../.cache',\n",
" steps=[('transformer',\n",
" ColumnTransformer(transformers=[('categoricals',\n",
@@ -107200,7 +107228,7 @@
" RandomForestRegressor(random_state=42))]),\n",
" param_grid={'regressor__max_depth': [15, 20, 25],\n",
" 'regressor__n_estimators': [150, 200, 250]},\n",
- " scoring='neg_mean_squared_error', verbose=1) best_estimator_: Pipeline Pipeline(memory='../.cache',\n",
" steps=[('transformer',\n",
" ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
@@ -107212,14 +107240,16 @@
" 'workingday', 'temp',\n",
" 'atemp', 'hum', 'windspeed',\n",
" 'casual'])])),\n",
- " ('regressor', RandomForestRegressor(random_state=42))]) transformer: ColumnTransformer?Documentation for transformer: ColumnTransformer ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
" sparse_output=False),\n",
" ['season', 'weathersit']),\n",
" ('numericals', 'passthrough',\n",
" ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n",
" 'workingday', 'temp', 'atemp', 'hum',\n",
- " 'windspeed', 'casual'])]) numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
+ " 'windspeed', 'casual'])])
numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
],
"text/plain": [
"GridSearchCV(cv=TimeSeriesSplit(gap=0, max_train_size=None, n_splits=4, test_size=1440),\n",
@@ -107314,10 +107344,10 @@
" \n",
" \n",
" 4 \n",
- " 9.851526 \n",
- " 2.065956 \n",
- " 0.071210 \n",
- " 0.029418 \n",
+ " 9.947961 \n",
+ " 1.757322 \n",
+ " 0.065129 \n",
+ " 0.012880 \n",
" 20 \n",
" 200 \n",
" {'regressor__max_depth': 20, 'regressor__n_est... \n",
@@ -107331,10 +107361,10 @@
" \n",
" \n",
" 1 \n",
- " 6.918022 \n",
- " 0.886340 \n",
- " 0.043904 \n",
- " 0.005060 \n",
+ " 9.226854 \n",
+ " 0.965719 \n",
+ " 0.050904 \n",
+ " 0.002971 \n",
" 15 \n",
" 200 \n",
" {'regressor__max_depth': 15, 'regressor__n_est... \n",
@@ -107348,10 +107378,10 @@
" \n",
" \n",
" 5 \n",
- " 11.964708 \n",
- " 1.272631 \n",
- " 0.074480 \n",
- " 0.013998 \n",
+ " 11.779174 \n",
+ " 1.353100 \n",
+ " 0.066897 \n",
+ " 0.005953 \n",
" 20 \n",
" 250 \n",
" {'regressor__max_depth': 20, 'regressor__n_est... \n",
@@ -107365,10 +107395,10 @@
" \n",
" \n",
" 7 \n",
- " 8.290697 \n",
- " 1.105596 \n",
- " 0.049447 \n",
- " 0.004403 \n",
+ " 9.096495 \n",
+ " 1.247697 \n",
+ " 0.054601 \n",
+ " 0.006268 \n",
" 25 \n",
" 200 \n",
" {'regressor__max_depth': 25, 'regressor__n_est... \n",
@@ -107382,10 +107412,10 @@
" \n",
" \n",
" 2 \n",
- " 8.716824 \n",
- " 1.402426 \n",
- " 0.055110 \n",
- " 0.008181 \n",
+ " 10.684988 \n",
+ " 1.501814 \n",
+ " 0.064013 \n",
+ " 0.008608 \n",
" 15 \n",
" 250 \n",
" {'regressor__max_depth': 15, 'regressor__n_est... \n",
@@ -107403,18 +107433,18 @@
],
"text/plain": [
" mean_fit_time std_fit_time mean_score_time std_score_time \\\n",
- "4 9.851526 2.065956 0.071210 0.029418 \n",
- "1 6.918022 0.886340 0.043904 0.005060 \n",
- "5 11.964708 1.272631 0.074480 0.013998 \n",
- "7 8.290697 1.105596 0.049447 0.004403 \n",
- "2 8.716824 1.402426 0.055110 0.008181 \n",
+ "4 9.947961 1.757322 0.065129 0.012880 \n",
+ "1 9.226854 0.965719 0.050904 0.002971 \n",
+ "5 11.779174 1.353100 0.066897 0.005953 \n",
+ "7 9.096495 1.247697 0.054601 0.006268 \n",
+ "2 10.684988 1.501814 0.064013 0.008608 \n",
"\n",
- " param_regressor__max_depth param_regressor__n_estimators \\\n",
- "4 20 200 \n",
- "1 15 200 \n",
- "5 20 250 \n",
- "7 25 200 \n",
- "2 15 250 \n",
+ " param_regressor__max_depth param_regressor__n_estimators \\\n",
+ "4 20 200 \n",
+ "1 15 200 \n",
+ "5 20 250 \n",
+ "7 25 200 \n",
+ "2 15 250 \n",
"\n",
" params split0_test_score \\\n",
"4 {'regressor__max_depth': 20, 'regressor__n_est... -8284.760118 \n",
@@ -107890,7 +107920,7 @@
" 'casual'])])),\n",
" ('regressor',\n",
" RandomForestRegressor(max_depth=20, n_estimators=200,\n",
- " random_state=42))])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. Pipeline?Documentation for Pipeline iFitted Pipeline(memory='../.cache',\n",
+ " random_state=42))]) In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. Pipeline?Documentation for Pipeline iFitted Pipeline(memory='../.cache',\n",
" steps=[('transformer',\n",
" ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
@@ -107904,14 +107934,14 @@
" 'casual'])])),\n",
" ('regressor',\n",
" RandomForestRegressor(max_depth=20, n_estimators=200,\n",
- " random_state=42))]) transformer: ColumnTransformer?Documentation for transformer: ColumnTransformer ColumnTransformer(transformers=[('categoricals',\n",
" OneHotEncoder(handle_unknown='ignore',\n",
" sparse_output=False),\n",
" ['season', 'weathersit']),\n",
" ('numericals', 'passthrough',\n",
" ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n",
" 'workingday', 'temp', 'atemp', 'hum',\n",
- " 'windspeed', 'casual'])]) numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
+ " 'windspeed', 'casual'])])
numericals ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'] "
],
"text/plain": [
"Pipeline(memory='../.cache',\n",
@@ -107971,7 +108001,7 @@
" ('numericals', 'passthrough',\n",
" ['yr', 'mnth', 'hr', 'holiday', 'weekday',\n",
" 'workingday', 'temp', 'atemp', 'hum',\n",
- " 'windspeed', 'casual'])]), 'regressor': RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42), 'transformer__n_jobs': None, 'transformer__remainder': 'drop', 'transformer__sparse_threshold': 0.3, 'transformer__transformer_weights': None, 'transformer__transformers': [('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])], 'transformer__verbose': False, 'transformer__verbose_feature_names_out': True, 'transformer__categoricals': OneHotEncoder(handle_unknown='ignore', sparse_output=False), 'transformer__numericals': 'passthrough', 'transformer__categoricals__categories': 'auto', 'transformer__categoricals__drop': None, 'transformer__categoricals__dtype': , 'transformer__categoricals__feature_name_combiner': 'concat', 'transformer__categoricals__handle_unknown': 'ignore', 'transformer__categoricals__max_categories': None, 'transformer__categoricals__min_frequency': None, 'transformer__categoricals__sparse_output': False, 'regressor__bootstrap': True, 'regressor__ccp_alpha': 0.0, 'regressor__criterion': 'squared_error', 'regressor__max_depth': 20, 'regressor__max_features': 1.0, 'regressor__max_leaf_nodes': None, 'regressor__max_samples': None, 'regressor__min_impurity_decrease': 0.0, 'regressor__min_samples_leaf': 1, 'regressor__min_samples_split': 2, 'regressor__min_weight_fraction_leaf': 0.0, 'regressor__monotonic_cst': None, 'regressor__n_estimators': 200, 'regressor__n_jobs': None, 'regressor__oob_score': False, 'regressor__random_state': 42, 'regressor__verbose': 0, 'regressor__warm_start': False}\n"
+ " 'windspeed', 'casual'])]), 'regressor': RandomForestRegressor(max_depth=20, n_estimators=200, random_state=42), 'transformer__force_int_remainder_cols': True, 'transformer__n_jobs': None, 'transformer__remainder': 'drop', 'transformer__sparse_threshold': 0.3, 'transformer__transformer_weights': None, 'transformer__transformers': [('categoricals', OneHotEncoder(handle_unknown='ignore', sparse_output=False), ['season', 'weathersit']), ('numericals', 'passthrough', ['yr', 'mnth', 'hr', 'holiday', 'weekday', 'workingday', 'temp', 'atemp', 'hum', 'windspeed', 'casual'])], 'transformer__verbose': False, 'transformer__verbose_feature_names_out': True, 'transformer__categoricals': OneHotEncoder(handle_unknown='ignore', sparse_output=False), 'transformer__numericals': 'passthrough', 'transformer__categoricals__categories': 'auto', 'transformer__categoricals__drop': None, 'transformer__categoricals__dtype': , 'transformer__categoricals__feature_name_combiner': 'concat', 'transformer__categoricals__handle_unknown': 'ignore', 'transformer__categoricals__max_categories': None, 'transformer__categoricals__min_frequency': None, 'transformer__categoricals__sparse_output': False, 'regressor__bootstrap': True, 'regressor__ccp_alpha': 0.0, 'regressor__criterion': 'squared_error', 'regressor__max_depth': 20, 'regressor__max_features': 1.0, 'regressor__max_leaf_nodes': None, 'regressor__max_samples': None, 'regressor__min_impurity_decrease': 0.0, 'regressor__min_samples_leaf': 1, 'regressor__min_samples_split': 2, 'regressor__min_weight_fraction_leaf': 0.0, 'regressor__monotonic_cst': None, 'regressor__n_estimators': 200, 'regressor__n_jobs': None, 'regressor__oob_score': False, 'regressor__random_state': 42, 'regressor__verbose': 0, 'regressor__warm_start': False}\n"
]
}
],
@@ -108140,14 +108170,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -108163,7 +108193,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -108178,18 +108208,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -108507,10 +108537,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -108557,8 +108587,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -108663,18 +108694,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -108683,7 +108714,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -108839,123 +108870,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -109130,14 +109151,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -109153,7 +109174,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -109168,18 +109189,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -109497,10 +109518,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -109547,8 +109568,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -109653,18 +109675,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -109673,7 +109695,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -109829,123 +109851,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -109962,7 +109974,9 @@
],
"source": [
"dimensions = [col for col in results.columns if col.startswith(\"param_\")]\n",
- "px.parallel_categories(results, dimensions=dimensions, color=\"mean_test_score\", title=\"Params by test score\")"
+ "px.parallel_categories(\n",
+ " results, dimensions=dimensions, color=\"mean_test_score\", title=\"Params by test score\"\n",
+ ")"
]
},
{
@@ -109980,7 +109994,7 @@
{
"data": {
"text/plain": [
- "4706.147416021958"
+ "np.float64(4706.147416021958)"
]
},
"execution_count": 32,
@@ -111577,14 +111591,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -111600,7 +111614,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -111615,18 +111629,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -111944,10 +111958,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -111994,8 +112008,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -112100,18 +112115,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -112120,7 +112135,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -112276,123 +112291,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -112562,14 +112567,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -112585,7 +112590,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -112600,18 +112605,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -112929,10 +112934,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -112979,8 +112984,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -113085,18 +113091,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -113105,7 +113111,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -113261,123 +113267,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -113435,16 +113431,6 @@
"execution_count": 37,
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/home/fmind/mlops-python-package/.venv/lib/python3.12/site-packages/joblib/memory.py:577: UserWarning:\n",
- "\n",
- "Persisting input arguments took 0.54s to run.If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function.\n",
- "\n"
- ]
- },
{
"data": {
"application/vnd.plotly.v1+json": {
@@ -113529,14 +113515,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -113552,7 +113538,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -113567,18 +113553,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -113896,10 +113882,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -113946,8 +113932,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -114052,18 +114039,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -114072,7 +114059,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -114228,123 +114215,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -114381,7 +114358,12 @@
],
"source": [
"train_size, train_scores, test_scores = model_selection.learning_curve(\n",
- " final, inputs, targets, cv=splitter, scoring=SCORING, random_state=RANDOM,\n",
+ " final,\n",
+ " inputs,\n",
+ " targets,\n",
+ " cv=splitter,\n",
+ " scoring=SCORING,\n",
+ " random_state=RANDOM,\n",
")\n",
"learning = pd.DataFrame(\n",
" {\n",
@@ -114488,14 +114470,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -114511,7 +114493,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -114526,18 +114508,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -114855,10 +114837,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -114905,8 +114887,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -115011,18 +114994,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -115031,7 +115014,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -115187,123 +115170,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -115420,14 +115393,14 @@
"bar": [
{
"error_x": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"error_y": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -115443,7 +115416,7 @@
{
"marker": {
"line": {
- "color": "rgb(17,17,17)",
+ "color": "white",
"width": 0.5
},
"pattern": {
@@ -115458,18 +115431,18 @@
"carpet": [
{
"aaxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"baxis": {
- "endlinecolor": "#A2B1C6",
- "gridcolor": "#506784",
- "linecolor": "#506784",
- "minorgridcolor": "#506784",
- "startlinecolor": "#A2B1C6"
+ "endlinecolor": "#2a3f5f",
+ "gridcolor": "#C8D4E3",
+ "linecolor": "#C8D4E3",
+ "minorgridcolor": "#C8D4E3",
+ "startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
@@ -115787,10 +115760,10 @@
],
"scatter": [
{
- "marker": {
- "line": {
- "color": "#283442"
- }
+ "fillpattern": {
+ "fillmode": "overlay",
+ "size": 10,
+ "solidity": 0.2
},
"type": "scatter"
}
@@ -115837,8 +115810,9 @@
"scattergl": [
{
"marker": {
- "line": {
- "color": "#283442"
+ "colorbar": {
+ "outlinewidth": 0,
+ "ticks": ""
}
},
"type": "scattergl"
@@ -115943,18 +115917,18 @@
{
"cells": {
"fill": {
- "color": "#506784"
+ "color": "#EBF0F8"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"header": {
"fill": {
- "color": "#2a3f5f"
+ "color": "#C8D4E3"
},
"line": {
- "color": "rgb(17,17,17)"
+ "color": "white"
}
},
"type": "table"
@@ -115963,7 +115937,7 @@
},
"layout": {
"annotationdefaults": {
- "arrowcolor": "#f2f5fa",
+ "arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
@@ -116119,123 +116093,113 @@
"#FECB52"
],
"font": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
},
"geo": {
- "bgcolor": "rgb(17,17,17)",
- "lakecolor": "rgb(17,17,17)",
- "landcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
+ "lakecolor": "white",
+ "landcolor": "white",
"showlakes": true,
"showland": true,
- "subunitcolor": "#506784"
+ "subunitcolor": "#C8D4E3"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
- "style": "dark"
+ "style": "light"
},
- "paper_bgcolor": "rgb(17,17,17)",
- "plot_bgcolor": "rgb(17,17,17)",
+ "paper_bgcolor": "white",
+ "plot_bgcolor": "white",
"polar": {
"angularaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"radialaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": ""
}
},
"scene": {
"xaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"yaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
},
"zaxis": {
- "backgroundcolor": "rgb(17,17,17)",
- "gridcolor": "#506784",
+ "backgroundcolor": "white",
+ "gridcolor": "#DFE8F3",
"gridwidth": 2,
- "linecolor": "#506784",
+ "linecolor": "#EBF0F8",
"showbackground": true,
"ticks": "",
- "zerolinecolor": "#C8D4E3"
+ "zerolinecolor": "#EBF0F8"
}
},
"shapedefaults": {
"line": {
- "color": "#f2f5fa"
+ "color": "#2a3f5f"
}
},
- "sliderdefaults": {
- "bgcolor": "#C8D4E3",
- "bordercolor": "rgb(17,17,17)",
- "borderwidth": 1,
- "tickwidth": 0
- },
"ternary": {
"aaxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
"baxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
},
- "bgcolor": "rgb(17,17,17)",
+ "bgcolor": "white",
"caxis": {
- "gridcolor": "#506784",
- "linecolor": "#506784",
+ "gridcolor": "#DFE8F3",
+ "linecolor": "#A2B1C6",
"ticks": ""
}
},
"title": {
"x": 0.05
},
- "updatemenudefaults": {
- "bgcolor": "#506784",
- "borderwidth": 0
- },
"xaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
- "gridcolor": "#283442",
- "linecolor": "#506784",
+ "gridcolor": "#EBF0F8",
+ "linecolor": "#EBF0F8",
"ticks": "",
"title": {
"standoff": 15
},
- "zerolinecolor": "#283442",
+ "zerolinecolor": "#EBF0F8",
"zerolinewidth": 2
}
}
@@ -116274,8 +116238,13 @@
"for param_name, param_range in PARAM_GRID.items():\n",
" print(f\"Validation Curve for: {param_name} -> {param_range}\")\n",
" train_scores, test_scores = model_selection.validation_curve(\n",
- " final, inputs, targets, cv=splitter, scoring=SCORING,\n",
- " param_name=param_name, param_range=param_range,\n",
+ " final,\n",
+ " inputs,\n",
+ " targets,\n",
+ " cv=splitter,\n",
+ " scoring=SCORING,\n",
+ " param_name=param_name,\n",
+ " param_range=param_range,\n",
" )\n",
" validation = pd.DataFrame(\n",
" {\n",
@@ -116285,7 +116254,10 @@
" }\n",
" )\n",
" curve = px.line(\n",
- " validation, x=\"param_value\", y=[\"mean_test_score\", \"mean_train_score\"], title=f\"Validation Curve: {param_name}\"\n",
+ " validation,\n",
+ " x=\"param_value\",\n",
+ " y=[\"mean_test_score\", \"mean_train_score\"],\n",
+ " title=f\"Validation Curve: {param_name}\",\n",
" )\n",
" curve.show()"
]
@@ -116307,7 +116279,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.4"
+ "version": "3.12.5"
},
"orig_nbformat": 4
},
diff --git a/poetry.lock b/poetry.lock
deleted file mode 100644
index b4a779b..0000000
--- a/poetry.lock
+++ /dev/null
@@ -1,3837 +0,0 @@
-# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
-
-[[package]]
-name = "alembic"
-version = "1.13.2"
-description = "A database migration tool for SQLAlchemy."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "alembic-1.13.2-py3-none-any.whl", hash = "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953"},
- {file = "alembic-1.13.2.tar.gz", hash = "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef"},
-]
-
-[package.dependencies]
-Mako = "*"
-SQLAlchemy = ">=1.3.0"
-typing-extensions = ">=4"
-
-[package.extras]
-tz = ["backports.zoneinfo"]
-
-[[package]]
-name = "aniso8601"
-version = "9.0.1"
-description = "A library for parsing ISO 8601 strings."
-optional = false
-python-versions = "*"
-files = [
- {file = "aniso8601-9.0.1-py2.py3-none-any.whl", hash = "sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f"},
- {file = "aniso8601-9.0.1.tar.gz", hash = "sha256:72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"},
-]
-
-[package.extras]
-dev = ["black", "coverage", "isort", "pre-commit", "pyenchant", "pylint"]
-
-[[package]]
-name = "annotated-types"
-version = "0.7.0"
-description = "Reusable constraint types to use with typing.Annotated"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
- {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
-]
-
-[[package]]
-name = "antlr4-python3-runtime"
-version = "4.9.3"
-description = "ANTLR 4.9.3 runtime for Python 3.7"
-optional = false
-python-versions = "*"
-files = [
- {file = "antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b"},
-]
-
-[[package]]
-name = "appnope"
-version = "0.1.4"
-description = "Disable App Nap on macOS >= 10.9"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"},
- {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"},
-]
-
-[[package]]
-name = "argcomplete"
-version = "3.4.0"
-description = "Bash tab completion for argparse"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "argcomplete-3.4.0-py3-none-any.whl", hash = "sha256:69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5"},
- {file = "argcomplete-3.4.0.tar.gz", hash = "sha256:c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f"},
-]
-
-[package.extras]
-test = ["coverage", "mypy", "pexpect", "ruff", "wheel"]
-
-[[package]]
-name = "asttokens"
-version = "2.4.1"
-description = "Annotate AST trees with source code positions"
-optional = false
-python-versions = "*"
-files = [
- {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"},
- {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"},
-]
-
-[package.dependencies]
-six = ">=1.12.0"
-
-[package.extras]
-astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"]
-test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"]
-
-[[package]]
-name = "attrs"
-version = "23.2.0"
-description = "Classes Without Boilerplate"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
- {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
-]
-
-[package.extras]
-cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
-dev = ["attrs[tests]", "pre-commit"]
-docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
-tests = ["attrs[tests-no-zope]", "zope-interface"]
-tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"]
-tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"]
-
-[[package]]
-name = "bandit"
-version = "1.7.9"
-description = "Security oriented static analyser for python code."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "bandit-1.7.9-py3-none-any.whl", hash = "sha256:52077cb339000f337fb25f7e045995c4ad01511e716e5daac37014b9752de8ec"},
- {file = "bandit-1.7.9.tar.gz", hash = "sha256:7c395a436743018f7be0a4cbb0a4ea9b902b6d87264ddecf8cfdc73b4f78ff61"},
-]
-
-[package.dependencies]
-colorama = {version = ">=0.3.9", markers = "platform_system == \"Windows\""}
-PyYAML = ">=5.3.1"
-rich = "*"
-stevedore = ">=1.20.0"
-
-[package.extras]
-baseline = ["GitPython (>=3.1.30)"]
-sarif = ["jschema-to-python (>=1.2.3)", "sarif-om (>=1.0.4)"]
-test = ["beautifulsoup4 (>=4.8.0)", "coverage (>=4.5.4)", "fixtures (>=3.0.0)", "flake8 (>=4.0.0)", "pylint (==1.9.4)", "stestr (>=2.5.0)", "testscenarios (>=0.5.0)", "testtools (>=2.3.0)"]
-toml = ["tomli (>=1.1.0)"]
-yaml = ["PyYAML"]
-
-[[package]]
-name = "blinker"
-version = "1.8.2"
-description = "Fast, simple object-to-object and broadcast signaling"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"},
- {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"},
-]
-
-[[package]]
-name = "cachetools"
-version = "5.4.0"
-description = "Extensible memoizing collections and decorators"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "cachetools-5.4.0-py3-none-any.whl", hash = "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474"},
- {file = "cachetools-5.4.0.tar.gz", hash = "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827"},
-]
-
-[[package]]
-name = "certifi"
-version = "2024.7.4"
-description = "Python package for providing Mozilla's CA Bundle."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"},
- {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"},
-]
-
-[[package]]
-name = "cffi"
-version = "1.16.0"
-description = "Foreign Function Interface for Python calling C code."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"},
- {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"},
- {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"},
- {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"},
- {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"},
- {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"},
- {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"},
- {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"},
- {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"},
- {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"},
- {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"},
- {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"},
- {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"},
- {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"},
- {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"},
- {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"},
- {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"},
- {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"},
- {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"},
- {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"},
- {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"},
- {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"},
- {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"},
- {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"},
- {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"},
- {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"},
-]
-
-[package.dependencies]
-pycparser = "*"
-
-[[package]]
-name = "cfgv"
-version = "3.4.0"
-description = "Validate configuration and produce human readable error messages."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"},
- {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"},
-]
-
-[[package]]
-name = "charset-normalizer"
-version = "3.3.2"
-description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
- {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
-]
-
-[[package]]
-name = "click"
-version = "8.1.7"
-description = "Composable command line interface toolkit"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
- {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "platform_system == \"Windows\""}
-
-[[package]]
-name = "cloudpickle"
-version = "3.0.0"
-description = "Pickler class to extend the standard pickle.Pickler functionality"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"},
- {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"},
-]
-
-[[package]]
-name = "colorama"
-version = "0.4.6"
-description = "Cross-platform colored terminal text."
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
-files = [
- {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
- {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
-]
-
-[[package]]
-name = "comm"
-version = "0.2.2"
-description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"},
- {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"},
-]
-
-[package.dependencies]
-traitlets = ">=4"
-
-[package.extras]
-test = ["pytest"]
-
-[[package]]
-name = "commitizen"
-version = "3.28.0"
-description = "Python commitizen client tool"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "commitizen-3.28.0-py3-none-any.whl", hash = "sha256:372dba10bb082be0e571cfa9ac0946f4333c3f4b2e242fbe32ae2f2afea143e4"},
- {file = "commitizen-3.28.0.tar.gz", hash = "sha256:de3a90b3246233260649e423963cd702d56a3b499ea02886a6412ebfb76f9462"},
-]
-
-[package.dependencies]
-argcomplete = ">=1.12.1,<3.5"
-charset-normalizer = ">=2.1.0,<4"
-colorama = ">=0.4.1,<0.5.0"
-decli = ">=0.6.0,<0.7.0"
-jinja2 = ">=2.10.3"
-packaging = ">=19"
-pyyaml = ">=3.08"
-questionary = ">=2.0,<3.0"
-termcolor = ">=1.1,<3"
-tomlkit = ">=0.5.3,<1.0.0"
-
-[[package]]
-name = "contourpy"
-version = "1.2.1"
-description = "Python library for calculating contours of 2D quadrilateral grids"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"},
- {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"},
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"},
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"},
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"},
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"},
- {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"},
- {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"},
- {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"},
- {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"},
- {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"},
- {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"},
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"},
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"},
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"},
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"},
- {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"},
- {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"},
- {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"},
- {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"},
- {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"},
- {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"},
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"},
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"},
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"},
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"},
- {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"},
- {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"},
- {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"},
- {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"},
- {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"},
- {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"},
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"},
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"},
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"},
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"},
- {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"},
- {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"},
- {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"},
- {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"},
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"},
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"},
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"},
- {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"},
-]
-
-[package.dependencies]
-numpy = ">=1.20"
-
-[package.extras]
-bokeh = ["bokeh", "selenium"]
-docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
-mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"]
-test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
-test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
-
-[[package]]
-name = "coverage"
-version = "7.6.0"
-description = "Code coverage measurement for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"},
- {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"},
- {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"},
- {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"},
- {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"},
- {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"},
- {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"},
- {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"},
- {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"},
- {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"},
- {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"},
- {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"},
- {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"},
- {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"},
- {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"},
- {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"},
- {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"},
- {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"},
- {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"},
- {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"},
- {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"},
- {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"},
- {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"},
- {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"},
- {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"},
- {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"},
- {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"},
- {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"},
- {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"},
- {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"},
- {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"},
- {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"},
- {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"},
- {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"},
- {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"},
- {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"},
- {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"},
- {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"},
- {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"},
- {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"},
- {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"},
- {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"},
- {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"},
- {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"},
- {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"},
- {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"},
- {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"},
- {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"},
- {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"},
- {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"},
- {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"},
- {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"},
-]
-
-[package.extras]
-toml = ["tomli"]
-
-[[package]]
-name = "cycler"
-version = "0.12.1"
-description = "Composable style cycles"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"},
- {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"},
-]
-
-[package.extras]
-docs = ["ipython", "matplotlib", "numpydoc", "sphinx"]
-tests = ["pytest", "pytest-cov", "pytest-xdist"]
-
-[[package]]
-name = "debugpy"
-version = "1.8.2"
-description = "An implementation of the Debug Adapter Protocol for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "debugpy-1.8.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7ee2e1afbf44b138c005e4380097d92532e1001580853a7cb40ed84e0ef1c3d2"},
- {file = "debugpy-1.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f8c3f7c53130a070f0fc845a0f2cee8ed88d220d6b04595897b66605df1edd6"},
- {file = "debugpy-1.8.2-cp310-cp310-win32.whl", hash = "sha256:f179af1e1bd4c88b0b9f0fa153569b24f6b6f3de33f94703336363ae62f4bf47"},
- {file = "debugpy-1.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:0600faef1d0b8d0e85c816b8bb0cb90ed94fc611f308d5fde28cb8b3d2ff0fe3"},
- {file = "debugpy-1.8.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:8a13417ccd5978a642e91fb79b871baded925d4fadd4dfafec1928196292aa0a"},
- {file = "debugpy-1.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acdf39855f65c48ac9667b2801234fc64d46778021efac2de7e50907ab90c634"},
- {file = "debugpy-1.8.2-cp311-cp311-win32.whl", hash = "sha256:2cbd4d9a2fc5e7f583ff9bf11f3b7d78dfda8401e8bb6856ad1ed190be4281ad"},
- {file = "debugpy-1.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:d3408fddd76414034c02880e891ea434e9a9cf3a69842098ef92f6e809d09afa"},
- {file = "debugpy-1.8.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:5d3ccd39e4021f2eb86b8d748a96c766058b39443c1f18b2dc52c10ac2757835"},
- {file = "debugpy-1.8.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62658aefe289598680193ff655ff3940e2a601765259b123dc7f89c0239b8cd3"},
- {file = "debugpy-1.8.2-cp312-cp312-win32.whl", hash = "sha256:bd11fe35d6fd3431f1546d94121322c0ac572e1bfb1f6be0e9b8655fb4ea941e"},
- {file = "debugpy-1.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:15bc2f4b0f5e99bf86c162c91a74c0631dbd9cef3c6a1d1329c946586255e859"},
- {file = "debugpy-1.8.2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:5a019d4574afedc6ead1daa22736c530712465c0c4cd44f820d803d937531b2d"},
- {file = "debugpy-1.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40f062d6877d2e45b112c0bbade9a17aac507445fd638922b1a5434df34aed02"},
- {file = "debugpy-1.8.2-cp38-cp38-win32.whl", hash = "sha256:c78ba1680f1015c0ca7115671fe347b28b446081dada3fedf54138f44e4ba031"},
- {file = "debugpy-1.8.2-cp38-cp38-win_amd64.whl", hash = "sha256:cf327316ae0c0e7dd81eb92d24ba8b5e88bb4d1b585b5c0d32929274a66a5210"},
- {file = "debugpy-1.8.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:1523bc551e28e15147815d1397afc150ac99dbd3a8e64641d53425dba57b0ff9"},
- {file = "debugpy-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e24ccb0cd6f8bfaec68d577cb49e9c680621c336f347479b3fce060ba7c09ec1"},
- {file = "debugpy-1.8.2-cp39-cp39-win32.whl", hash = "sha256:7f8d57a98c5a486c5c7824bc0b9f2f11189d08d73635c326abef268f83950326"},
- {file = "debugpy-1.8.2-cp39-cp39-win_amd64.whl", hash = "sha256:16c8dcab02617b75697a0a925a62943e26a0330da076e2a10437edd9f0bf3755"},
- {file = "debugpy-1.8.2-py2.py3-none-any.whl", hash = "sha256:16e16df3a98a35c63c3ab1e4d19be4cbc7fdda92d9ddc059294f18910928e0ca"},
- {file = "debugpy-1.8.2.zip", hash = "sha256:95378ed08ed2089221896b9b3a8d021e642c24edc8fef20e5d4342ca8be65c00"},
-]
-
-[[package]]
-name = "decli"
-version = "0.6.2"
-description = "Minimal, easy-to-use, declarative cli tool"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "decli-0.6.2-py3-none-any.whl", hash = "sha256:2fc84106ce9a8f523ed501ca543bdb7e416c064917c12a59ebdc7f311a97b7ed"},
- {file = "decli-0.6.2.tar.gz", hash = "sha256:36f71eb55fd0093895efb4f416ec32b7f6e00147dda448e3365cf73ceab42d6f"},
-]
-
-[[package]]
-name = "decorator"
-version = "5.1.1"
-description = "Decorators for Humans"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
- {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
-]
-
-[[package]]
-name = "deprecated"
-version = "1.2.14"
-description = "Python @deprecated decorator to deprecate old python classes, functions or methods."
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
- {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"},
- {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"},
-]
-
-[package.dependencies]
-wrapt = ">=1.10,<2"
-
-[package.extras]
-dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"]
-
-[[package]]
-name = "distlib"
-version = "0.3.8"
-description = "Distribution utilities"
-optional = false
-python-versions = "*"
-files = [
- {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"},
- {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"},
-]
-
-[[package]]
-name = "docker"
-version = "7.1.0"
-description = "A Python library for the Docker Engine API."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"},
- {file = "docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c"},
-]
-
-[package.dependencies]
-pywin32 = {version = ">=304", markers = "sys_platform == \"win32\""}
-requests = ">=2.26.0"
-urllib3 = ">=1.26.0"
-
-[package.extras]
-dev = ["coverage (==7.2.7)", "pytest (==7.4.2)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.1.0)", "ruff (==0.1.8)"]
-docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"]
-ssh = ["paramiko (>=2.4.3)"]
-websockets = ["websocket-client (>=1.3.0)"]
-
-[[package]]
-name = "entrypoints"
-version = "0.4"
-description = "Discover and load entry points from installed packages."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"},
- {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"},
-]
-
-[[package]]
-name = "execnet"
-version = "2.1.1"
-description = "execnet: rapid multi-Python deployment"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc"},
- {file = "execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3"},
-]
-
-[package.extras]
-testing = ["hatch", "pre-commit", "pytest", "tox"]
-
-[[package]]
-name = "executing"
-version = "2.0.1"
-description = "Get the currently executing AST node of a frame, and other information"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "executing-2.0.1-py2.py3-none-any.whl", hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"},
- {file = "executing-2.0.1.tar.gz", hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147"},
-]
-
-[package.extras]
-tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"]
-
-[[package]]
-name = "fastjsonschema"
-version = "2.20.0"
-description = "Fastest Python implementation of JSON schema"
-optional = false
-python-versions = "*"
-files = [
- {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"},
- {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"},
-]
-
-[package.extras]
-devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"]
-
-[[package]]
-name = "filelock"
-version = "3.15.4"
-description = "A platform independent file lock."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"},
- {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"},
-]
-
-[package.extras]
-docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"]
-typing = ["typing-extensions (>=4.8)"]
-
-[[package]]
-name = "flask"
-version = "3.0.3"
-description = "A simple framework for building complex web applications."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "flask-3.0.3-py3-none-any.whl", hash = "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3"},
- {file = "flask-3.0.3.tar.gz", hash = "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"},
-]
-
-[package.dependencies]
-blinker = ">=1.6.2"
-click = ">=8.1.3"
-itsdangerous = ">=2.1.2"
-Jinja2 = ">=3.1.2"
-Werkzeug = ">=3.0.0"
-
-[package.extras]
-async = ["asgiref (>=3.2)"]
-dotenv = ["python-dotenv"]
-
-[[package]]
-name = "fonttools"
-version = "4.53.1"
-description = "Tools to manipulate font files"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "fonttools-4.53.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397"},
- {file = "fonttools-4.53.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3"},
- {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d"},
- {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0"},
- {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41"},
- {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f"},
- {file = "fonttools-4.53.1-cp310-cp310-win32.whl", hash = "sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4"},
- {file = "fonttools-4.53.1-cp310-cp310-win_amd64.whl", hash = "sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671"},
- {file = "fonttools-4.53.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1"},
- {file = "fonttools-4.53.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923"},
- {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719"},
- {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"},
- {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb"},
- {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2"},
- {file = "fonttools-4.53.1-cp311-cp311-win32.whl", hash = "sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88"},
- {file = "fonttools-4.53.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02"},
- {file = "fonttools-4.53.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58"},
- {file = "fonttools-4.53.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8"},
- {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60"},
- {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f"},
- {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2"},
- {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f"},
- {file = "fonttools-4.53.1-cp312-cp312-win32.whl", hash = "sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670"},
- {file = "fonttools-4.53.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab"},
- {file = "fonttools-4.53.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c818c058404eb2bba05e728d38049438afd649e3c409796723dfc17cd3f08749"},
- {file = "fonttools-4.53.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:651390c3b26b0c7d1f4407cad281ee7a5a85a31a110cbac5269de72a51551ba2"},
- {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e54f1bba2f655924c1138bbc7fa91abd61f45c68bd65ab5ed985942712864bbb"},
- {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9cd19cf4fe0595ebdd1d4915882b9440c3a6d30b008f3cc7587c1da7b95be5f"},
- {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2af40ae9cdcb204fc1d8f26b190aa16534fcd4f0df756268df674a270eab575d"},
- {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35250099b0cfb32d799fb5d6c651220a642fe2e3c7d2560490e6f1d3f9ae9169"},
- {file = "fonttools-4.53.1-cp38-cp38-win32.whl", hash = "sha256:f08df60fbd8d289152079a65da4e66a447efc1d5d5a4d3f299cdd39e3b2e4a7d"},
- {file = "fonttools-4.53.1-cp38-cp38-win_amd64.whl", hash = "sha256:7b6b35e52ddc8fb0db562133894e6ef5b4e54e1283dff606fda3eed938c36fc8"},
- {file = "fonttools-4.53.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a"},
- {file = "fonttools-4.53.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31"},
- {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c"},
- {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407"},
- {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb"},
- {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122"},
- {file = "fonttools-4.53.1-cp39-cp39-win32.whl", hash = "sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb"},
- {file = "fonttools-4.53.1-cp39-cp39-win_amd64.whl", hash = "sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb"},
- {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"},
- {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"},
-]
-
-[package.extras]
-all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"]
-graphite = ["lz4 (>=1.7.4.2)"]
-interpolatable = ["munkres", "pycairo", "scipy"]
-lxml = ["lxml (>=4.0)"]
-pathops = ["skia-pathops (>=0.5.0)"]
-plot = ["matplotlib"]
-repacker = ["uharfbuzz (>=0.23.0)"]
-symfont = ["sympy"]
-type1 = ["xattr"]
-ufo = ["fs (>=2.2.0,<3)"]
-unicode = ["unicodedata2 (>=15.1.0)"]
-woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"]
-
-[[package]]
-name = "gitdb"
-version = "4.0.11"
-description = "Git Object Database"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"},
- {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"},
-]
-
-[package.dependencies]
-smmap = ">=3.0.1,<6"
-
-[[package]]
-name = "gitpython"
-version = "3.1.43"
-description = "GitPython is a Python library used to interact with Git repositories"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"},
- {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"},
-]
-
-[package.dependencies]
-gitdb = ">=4.0.1,<5"
-
-[package.extras]
-doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"]
-test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"]
-
-[[package]]
-name = "graphene"
-version = "3.3"
-description = "GraphQL Framework for Python"
-optional = false
-python-versions = "*"
-files = [
- {file = "graphene-3.3-py2.py3-none-any.whl", hash = "sha256:bb3810be33b54cb3e6969506671eb72319e8d7ba0d5ca9c8066472f75bf35a38"},
- {file = "graphene-3.3.tar.gz", hash = "sha256:529bf40c2a698954217d3713c6041d69d3f719ad0080857d7ee31327112446b0"},
-]
-
-[package.dependencies]
-aniso8601 = ">=8,<10"
-graphql-core = ">=3.1,<3.3"
-graphql-relay = ">=3.1,<3.3"
-
-[package.extras]
-dev = ["black (==22.3.0)", "coveralls (>=3.3,<4)", "flake8 (>=4,<5)", "iso8601 (>=1,<2)", "mock (>=4,<5)", "pytest (>=6,<7)", "pytest-asyncio (>=0.16,<2)", "pytest-benchmark (>=3.4,<4)", "pytest-cov (>=3,<4)", "pytest-mock (>=3,<4)", "pytz (==2022.1)", "snapshottest (>=0.6,<1)"]
-test = ["coveralls (>=3.3,<4)", "iso8601 (>=1,<2)", "mock (>=4,<5)", "pytest (>=6,<7)", "pytest-asyncio (>=0.16,<2)", "pytest-benchmark (>=3.4,<4)", "pytest-cov (>=3,<4)", "pytest-mock (>=3,<4)", "pytz (==2022.1)", "snapshottest (>=0.6,<1)"]
-
-[[package]]
-name = "graphql-core"
-version = "3.2.3"
-description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL."
-optional = false
-python-versions = ">=3.6,<4"
-files = [
- {file = "graphql-core-3.2.3.tar.gz", hash = "sha256:06d2aad0ac723e35b1cb47885d3e5c45e956a53bc1b209a9fc5369007fe46676"},
- {file = "graphql_core-3.2.3-py3-none-any.whl", hash = "sha256:5766780452bd5ec8ba133f8bf287dc92713e3868ddd83aee4faab9fc3e303dc3"},
-]
-
-[[package]]
-name = "graphql-relay"
-version = "3.2.0"
-description = "Relay library for graphql-core"
-optional = false
-python-versions = ">=3.6,<4"
-files = [
- {file = "graphql-relay-3.2.0.tar.gz", hash = "sha256:1ff1c51298356e481a0be009ccdff249832ce53f30559c1338f22a0e0d17250c"},
- {file = "graphql_relay-3.2.0-py3-none-any.whl", hash = "sha256:c9b22bd28b170ba1fe674c74384a8ff30a76c8e26f88ac3aa1584dd3179953e5"},
-]
-
-[package.dependencies]
-graphql-core = ">=3.2,<3.3"
-
-[[package]]
-name = "greenlet"
-version = "3.0.3"
-description = "Lightweight in-process concurrent programming"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"},
- {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"},
- {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"},
- {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"},
- {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"},
- {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"},
- {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"},
- {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"},
- {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"},
- {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"},
- {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"},
- {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"},
- {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"},
- {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"},
- {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"},
- {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"},
- {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"},
- {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"},
- {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"},
- {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"},
- {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"},
- {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"},
- {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"},
- {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"},
- {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"},
- {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"},
- {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"},
- {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"},
- {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"},
- {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"},
- {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"},
- {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"},
- {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"},
- {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"},
-]
-
-[package.extras]
-docs = ["Sphinx", "furo"]
-test = ["objgraph", "psutil"]
-
-[[package]]
-name = "gunicorn"
-version = "22.0.0"
-description = "WSGI HTTP Server for UNIX"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "gunicorn-22.0.0-py3-none-any.whl", hash = "sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9"},
- {file = "gunicorn-22.0.0.tar.gz", hash = "sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63"},
-]
-
-[package.dependencies]
-packaging = "*"
-
-[package.extras]
-eventlet = ["eventlet (>=0.24.1,!=0.36.0)"]
-gevent = ["gevent (>=1.4.0)"]
-setproctitle = ["setproctitle"]
-testing = ["coverage", "eventlet", "gevent", "pytest", "pytest-cov"]
-tornado = ["tornado (>=0.2)"]
-
-[[package]]
-name = "identify"
-version = "2.6.0"
-description = "File identification library for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"},
- {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"},
-]
-
-[package.extras]
-license = ["ukkonen"]
-
-[[package]]
-name = "idna"
-version = "3.7"
-description = "Internationalized Domain Names in Applications (IDNA)"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
- {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
-]
-
-[[package]]
-name = "importlib-metadata"
-version = "7.2.1"
-description = "Read metadata from Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "importlib_metadata-7.2.1-py3-none-any.whl", hash = "sha256:ffef94b0b66046dd8ea2d619b701fe978d9264d38f3998bc4c27ec3b146a87c8"},
- {file = "importlib_metadata-7.2.1.tar.gz", hash = "sha256:509ecb2ab77071db5137c655e24ceb3eee66e7bbc6574165d0d114d9fc4bbe68"},
-]
-
-[package.dependencies]
-zipp = ">=0.5"
-
-[package.extras]
-doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-perf = ["ipython"]
-test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"]
-
-[[package]]
-name = "iniconfig"
-version = "2.0.0"
-description = "brain-dead simple config-ini parsing"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
- {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
-]
-
-[[package]]
-name = "invoke"
-version = "2.2.0"
-description = "Pythonic task execution"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820"},
- {file = "invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5"},
-]
-
-[[package]]
-name = "ipykernel"
-version = "6.29.5"
-description = "IPython Kernel for Jupyter"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"},
- {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"},
-]
-
-[package.dependencies]
-appnope = {version = "*", markers = "platform_system == \"Darwin\""}
-comm = ">=0.1.1"
-debugpy = ">=1.6.5"
-ipython = ">=7.23.1"
-jupyter-client = ">=6.1.12"
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
-matplotlib-inline = ">=0.1"
-nest-asyncio = "*"
-packaging = "*"
-psutil = "*"
-pyzmq = ">=24"
-tornado = ">=6.1"
-traitlets = ">=5.4.0"
-
-[package.extras]
-cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"]
-docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"]
-pyqt5 = ["pyqt5"]
-pyside6 = ["pyside6"]
-test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"]
-
-[[package]]
-name = "ipython"
-version = "8.18.0"
-description = "IPython: Productive Interactive Computing"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "ipython-8.18.0-py3-none-any.whl", hash = "sha256:d538a7a98ad9b7e018926447a5f35856113a85d08fd68a165d7871ab5175f6e0"},
- {file = "ipython-8.18.0.tar.gz", hash = "sha256:4feb61210160f75e229ce932dbf8b719bff37af123c0b985fd038b14233daa16"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-decorator = "*"
-jedi = ">=0.16"
-matplotlib-inline = "*"
-pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""}
-prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0"
-pygments = ">=2.4.0"
-stack-data = "*"
-traitlets = ">=5"
-
-[package.extras]
-all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"]
-black = ["black"]
-doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"]
-kernel = ["ipykernel"]
-nbconvert = ["nbconvert"]
-nbformat = ["nbformat"]
-notebook = ["ipywidgets", "notebook"]
-parallel = ["ipyparallel"]
-qtconsole = ["qtconsole"]
-test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"]
-test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"]
-
-[[package]]
-name = "itsdangerous"
-version = "2.2.0"
-description = "Safely pass data to untrusted environments and back."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"},
- {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"},
-]
-
-[[package]]
-name = "jedi"
-version = "0.19.1"
-description = "An autocompletion tool for Python that can be used for text editors."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"},
- {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"},
-]
-
-[package.dependencies]
-parso = ">=0.8.3,<0.9.0"
-
-[package.extras]
-docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"]
-qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
-testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"]
-
-[[package]]
-name = "jinja2"
-version = "3.1.4"
-description = "A very fast and expressive template engine."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
- {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
-]
-
-[package.dependencies]
-MarkupSafe = ">=2.0"
-
-[package.extras]
-i18n = ["Babel (>=2.7)"]
-
-[[package]]
-name = "joblib"
-version = "1.4.2"
-description = "Lightweight pipelining with Python functions"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"},
- {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"},
-]
-
-[[package]]
-name = "jsonschema"
-version = "4.23.0"
-description = "An implementation of JSON Schema validation for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"},
- {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"},
-]
-
-[package.dependencies]
-attrs = ">=22.2.0"
-jsonschema-specifications = ">=2023.03.6"
-referencing = ">=0.28.4"
-rpds-py = ">=0.7.1"
-
-[package.extras]
-format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
-format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"]
-
-[[package]]
-name = "jsonschema-specifications"
-version = "2023.12.1"
-description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"},
- {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"},
-]
-
-[package.dependencies]
-referencing = ">=0.31.0"
-
-[[package]]
-name = "jupyter-client"
-version = "8.6.2"
-description = "Jupyter protocol implementation and client libraries"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"},
- {file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"},
-]
-
-[package.dependencies]
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
-python-dateutil = ">=2.8.2"
-pyzmq = ">=23.0"
-tornado = ">=6.2"
-traitlets = ">=5.3"
-
-[package.extras]
-docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
-test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
-
-[[package]]
-name = "jupyter-core"
-version = "5.7.2"
-description = "Jupyter core package. A base package on which Jupyter projects rely."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"},
- {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"},
-]
-
-[package.dependencies]
-platformdirs = ">=2.5"
-pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""}
-traitlets = ">=5.3"
-
-[package.extras]
-docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"]
-test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"]
-
-[[package]]
-name = "kiwisolver"
-version = "1.4.5"
-description = "A fast implementation of the Cassowary constraint solver"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"},
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"},
- {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"},
- {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"},
- {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"},
- {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"},
- {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"},
- {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"},
- {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"},
- {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"},
- {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"},
- {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"},
- {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"},
- {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"},
- {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"},
- {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"},
- {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"},
- {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"},
- {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"},
- {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"},
- {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"},
- {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"},
- {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"},
- {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"},
- {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"},
- {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"},
- {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"},
- {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"},
- {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"},
- {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"},
- {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"},
- {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"},
-]
-
-[[package]]
-name = "llvmlite"
-version = "0.43.0"
-description = "lightweight wrapper around basic LLVM functionality"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "llvmlite-0.43.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a289af9a1687c6cf463478f0fa8e8aa3b6fb813317b0d70bf1ed0759eab6f761"},
- {file = "llvmlite-0.43.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6d4fd101f571a31acb1559ae1af30f30b1dc4b3186669f92ad780e17c81e91bc"},
- {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d434ec7e2ce3cc8f452d1cd9a28591745de022f931d67be688a737320dfcead"},
- {file = "llvmlite-0.43.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6912a87782acdff6eb8bf01675ed01d60ca1f2551f8176a300a886f09e836a6a"},
- {file = "llvmlite-0.43.0-cp310-cp310-win_amd64.whl", hash = "sha256:14f0e4bf2fd2d9a75a3534111e8ebeb08eda2f33e9bdd6dfa13282afacdde0ed"},
- {file = "llvmlite-0.43.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3e8d0618cb9bfe40ac38a9633f2493d4d4e9fcc2f438d39a4e854f39cc0f5f98"},
- {file = "llvmlite-0.43.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e0a9a1a39d4bf3517f2af9d23d479b4175ead205c592ceeb8b89af48a327ea57"},
- {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1da416ab53e4f7f3bc8d4eeba36d801cc1894b9fbfbf2022b29b6bad34a7df2"},
- {file = "llvmlite-0.43.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:977525a1e5f4059316b183fb4fd34fa858c9eade31f165427a3977c95e3ee749"},
- {file = "llvmlite-0.43.0-cp311-cp311-win_amd64.whl", hash = "sha256:d5bd550001d26450bd90777736c69d68c487d17bf371438f975229b2b8241a91"},
- {file = "llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7"},
- {file = "llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7"},
- {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f"},
- {file = "llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844"},
- {file = "llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9"},
- {file = "llvmlite-0.43.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9cd2a7376f7b3367019b664c21f0c61766219faa3b03731113ead75107f3b66c"},
- {file = "llvmlite-0.43.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18e9953c748b105668487b7c81a3e97b046d8abf95c4ddc0cd3c94f4e4651ae8"},
- {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74937acd22dc11b33946b67dca7680e6d103d6e90eeaaaf932603bec6fe7b03a"},
- {file = "llvmlite-0.43.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc9efc739cc6ed760f795806f67889923f7274276f0eb45092a1473e40d9b867"},
- {file = "llvmlite-0.43.0-cp39-cp39-win_amd64.whl", hash = "sha256:47e147cdda9037f94b399bf03bfd8a6b6b1f2f90be94a454e3386f006455a9b4"},
- {file = "llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5"},
-]
-
-[[package]]
-name = "loguru"
-version = "0.7.2"
-description = "Python logging made (stupidly) simple"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"},
- {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"},
-]
-
-[package.dependencies]
-colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""}
-win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""}
-
-[package.extras]
-dev = ["Sphinx (==7.2.5)", "colorama (==0.4.5)", "colorama (==0.4.6)", "exceptiongroup (==1.1.3)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v1.4.1)", "mypy (==v1.5.1)", "pre-commit (==3.4.0)", "pytest (==6.1.2)", "pytest (==7.4.0)", "pytest-cov (==2.12.1)", "pytest-cov (==4.1.0)", "pytest-mypy-plugins (==1.9.3)", "pytest-mypy-plugins (==3.0.0)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.3.0)", "tox (==3.27.1)", "tox (==4.11.0)"]
-
-[[package]]
-name = "mako"
-version = "1.3.5"
-description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "Mako-1.3.5-py3-none-any.whl", hash = "sha256:260f1dbc3a519453a9c856dedfe4beb4e50bd5a26d96386cb6c80856556bb91a"},
- {file = "Mako-1.3.5.tar.gz", hash = "sha256:48dbc20568c1d276a2698b36d968fa76161bf127194907ea6fc594fa81f943bc"},
-]
-
-[package.dependencies]
-MarkupSafe = ">=0.9.2"
-
-[package.extras]
-babel = ["Babel"]
-lingua = ["lingua"]
-testing = ["pytest"]
-
-[[package]]
-name = "markdown"
-version = "3.6"
-description = "Python implementation of John Gruber's Markdown."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"},
- {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"},
-]
-
-[package.extras]
-docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"]
-testing = ["coverage", "pyyaml"]
-
-[[package]]
-name = "markdown-it-py"
-version = "3.0.0"
-description = "Python port of markdown-it. Markdown parsing, done right!"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
- {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
-]
-
-[package.dependencies]
-mdurl = ">=0.1,<1.0"
-
-[package.extras]
-benchmarking = ["psutil", "pytest", "pytest-benchmark"]
-code-style = ["pre-commit (>=3.0,<4.0)"]
-compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"]
-linkify = ["linkify-it-py (>=1,<3)"]
-plugins = ["mdit-py-plugins"]
-profiling = ["gprof2dot"]
-rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"]
-testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"]
-
-[[package]]
-name = "markupsafe"
-version = "2.1.5"
-description = "Safely add untrusted strings to HTML/XML markup."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
- {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
-]
-
-[[package]]
-name = "matplotlib"
-version = "3.9.1"
-description = "Python plotting package"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "matplotlib-3.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7ccd6270066feb9a9d8e0705aa027f1ff39f354c72a87efe8fa07632f30fc6bb"},
- {file = "matplotlib-3.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:591d3a88903a30a6d23b040c1e44d1afdd0d778758d07110eb7596f811f31842"},
- {file = "matplotlib-3.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd2a59ff4b83d33bca3b5ec58203cc65985367812cb8c257f3e101632be86d92"},
- {file = "matplotlib-3.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fc001516ffcf1a221beb51198b194d9230199d6842c540108e4ce109ac05cc0"},
- {file = "matplotlib-3.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:83c6a792f1465d174c86d06f3ae85a8fe36e6f5964633ae8106312ec0921fdf5"},
- {file = "matplotlib-3.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:421851f4f57350bcf0811edd754a708d2275533e84f52f6760b740766c6747a7"},
- {file = "matplotlib-3.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:b3fce58971b465e01b5c538f9d44915640c20ec5ff31346e963c9e1cd66fa812"},
- {file = "matplotlib-3.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a973c53ad0668c53e0ed76b27d2eeeae8799836fd0d0caaa4ecc66bf4e6676c0"},
- {file = "matplotlib-3.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cd5acf8f3ef43f7532c2f230249720f5dc5dd40ecafaf1c60ac8200d46d7eb"},
- {file = "matplotlib-3.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab38a4f3772523179b2f772103d8030215b318fef6360cb40558f585bf3d017f"},
- {file = "matplotlib-3.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2315837485ca6188a4b632c5199900e28d33b481eb083663f6a44cfc8987ded3"},
- {file = "matplotlib-3.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0c977c5c382f6696caf0bd277ef4f936da7e2aa202ff66cad5f0ac1428ee15b"},
- {file = "matplotlib-3.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:565d572efea2b94f264dd86ef27919515aa6d629252a169b42ce5f570db7f37b"},
- {file = "matplotlib-3.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d397fd8ccc64af2ec0af1f0efc3bacd745ebfb9d507f3f552e8adb689ed730a"},
- {file = "matplotlib-3.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26040c8f5121cd1ad712abffcd4b5222a8aec3a0fe40bc8542c94331deb8780d"},
- {file = "matplotlib-3.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d12cb1837cffaac087ad6b44399d5e22b78c729de3cdae4629e252067b705e2b"},
- {file = "matplotlib-3.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0e835c6988edc3d2d08794f73c323cc62483e13df0194719ecb0723b564e0b5c"},
- {file = "matplotlib-3.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:44a21d922f78ce40435cb35b43dd7d573cf2a30138d5c4b709d19f00e3907fd7"},
- {file = "matplotlib-3.9.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0c584210c755ae921283d21d01f03a49ef46d1afa184134dd0f95b0202ee6f03"},
- {file = "matplotlib-3.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11fed08f34fa682c2b792942f8902e7aefeed400da71f9e5816bea40a7ce28fe"},
- {file = "matplotlib-3.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0000354e32efcfd86bda75729716b92f5c2edd5b947200be9881f0a671565c33"},
- {file = "matplotlib-3.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db17fea0ae3aceb8e9ac69c7e3051bae0b3d083bfec932240f9bf5d0197a049"},
- {file = "matplotlib-3.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:208cbce658b72bf6a8e675058fbbf59f67814057ae78165d8a2f87c45b48d0ff"},
- {file = "matplotlib-3.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:dc23f48ab630474264276be156d0d7710ac6c5a09648ccdf49fef9200d8cbe80"},
- {file = "matplotlib-3.9.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3fda72d4d472e2ccd1be0e9ccb6bf0d2eaf635e7f8f51d737ed7e465ac020cb3"},
- {file = "matplotlib-3.9.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:84b3ba8429935a444f1fdc80ed930babbe06725bcf09fbeb5c8757a2cd74af04"},
- {file = "matplotlib-3.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b918770bf3e07845408716e5bbda17eadfc3fcbd9307dc67f37d6cf834bb3d98"},
- {file = "matplotlib-3.9.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:f1f2e5d29e9435c97ad4c36fb6668e89aee13d48c75893e25cef064675038ac9"},
- {file = "matplotlib-3.9.1.tar.gz", hash = "sha256:de06b19b8db95dd33d0dc17c926c7c9ebed9f572074b6fac4f65068a6814d010"},
-]
-
-[package.dependencies]
-contourpy = ">=1.0.1"
-cycler = ">=0.10"
-fonttools = ">=4.22.0"
-kiwisolver = ">=1.3.1"
-numpy = ">=1.23"
-packaging = ">=20.0"
-pillow = ">=8"
-pyparsing = ">=2.3.1"
-python-dateutil = ">=2.7"
-
-[package.extras]
-dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"]
-
-[[package]]
-name = "matplotlib-inline"
-version = "0.1.7"
-description = "Inline Matplotlib backend for Jupyter"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"},
- {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"},
-]
-
-[package.dependencies]
-traitlets = "*"
-
-[[package]]
-name = "mdurl"
-version = "0.1.2"
-description = "Markdown URL utilities"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
- {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
-]
-
-[[package]]
-name = "mlflow"
-version = "2.14.3"
-description = "MLflow is an open source platform for the complete machine learning lifecycle"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "mlflow-2.14.3-py3-none-any.whl", hash = "sha256:2de915346c8e34a9d13efbd6469551980923619274db57fd2253621a2c666e18"},
- {file = "mlflow-2.14.3.tar.gz", hash = "sha256:292cae4b83574a0cb223117e224caa6798933078af0233719c2b612bea645617"},
-]
-
-[package.dependencies]
-alembic = "<1.10.0 || >1.10.0,<2"
-cachetools = ">=5.0.0,<6"
-click = ">=7.0,<9"
-cloudpickle = "<4"
-docker = ">=4.0.0,<8"
-entrypoints = "<1"
-Flask = "<4"
-gitpython = ">=3.1.9,<4"
-graphene = "<4"
-gunicorn = {version = "<23", markers = "platform_system != \"Windows\""}
-importlib-metadata = ">=3.7.0,<4.7.0 || >4.7.0,<8"
-Jinja2 = [
- {version = ">=2.11,<4", markers = "platform_system != \"Windows\""},
- {version = ">=3.0,<4", markers = "platform_system == \"Windows\""},
-]
-markdown = ">=3.3,<4"
-matplotlib = "<4"
-numpy = "<2"
-opentelemetry-api = ">=1.9.0,<3"
-opentelemetry-sdk = ">=1.9.0,<3"
-packaging = "<25"
-pandas = "<3"
-protobuf = ">=3.12.0,<5"
-pyarrow = ">=4.0.0,<16"
-pytz = "<2025"
-pyyaml = ">=5.1,<7"
-querystring-parser = "<2"
-requests = ">=2.17.3,<3"
-scikit-learn = "<2"
-scipy = "<2"
-sqlalchemy = ">=1.4.0,<3"
-sqlparse = ">=0.4.0,<1"
-waitress = {version = "<4", markers = "platform_system == \"Windows\""}
-
-[package.extras]
-aliyun-oss = ["aliyunstoreplugin"]
-databricks = ["azure-storage-file-datalake (>12)", "boto3 (>1)", "botocore", "google-cloud-storage (>=1.30.0)"]
-extras = ["azureml-core (>=1.2.0)", "boto3", "botocore", "google-cloud-storage (>=1.30.0)", "kubernetes", "mlserver (>=1.2.0,!=1.3.1,<1.4.0)", "mlserver-mlflow (>=1.2.0,!=1.3.1,<1.4.0)", "prometheus-flask-exporter", "pyarrow", "pysftp", "requests-auth-aws-sigv4", "virtualenv"]
-gateway = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (>=0.1.9,<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"]
-genai = ["aiohttp (<4)", "boto3 (>=1.28.56,<2)", "fastapi (<1)", "pydantic (>=1.0,<3)", "slowapi (>=0.1.9,<1)", "tiktoken (<1)", "uvicorn[standard] (<1)", "watchfiles (<1)"]
-jfrog = ["mlflow-jfrog-plugin"]
-langchain = ["langchain (>=0.1.0,<=0.2.3)"]
-sqlserver = ["mlflow-dbstore"]
-xethub = ["mlflow-xethub"]
-
-[[package]]
-name = "multimethod"
-version = "1.10"
-description = "Multiple argument dispatching."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "multimethod-1.10-py3-none-any.whl", hash = "sha256:afd84da9c3d0445c84f827e4d63ad42d17c6d29b122427c6dee9032ac2d2a0d4"},
- {file = "multimethod-1.10.tar.gz", hash = "sha256:daa45af3fe257f73abb69673fd54ddeaf31df0eb7363ad6e1251b7c9b192d8c5"},
-]
-
-[[package]]
-name = "mypy"
-version = "1.11.0"
-description = "Optional static typing for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "mypy-1.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3824187c99b893f90c845bab405a585d1ced4ff55421fdf5c84cb7710995229"},
- {file = "mypy-1.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:96f8dbc2c85046c81bcddc246232d500ad729cb720da4e20fce3b542cab91287"},
- {file = "mypy-1.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a5d8d8dd8613a3e2be3eae829ee891b6b2de6302f24766ff06cb2875f5be9c6"},
- {file = "mypy-1.11.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:72596a79bbfb195fd41405cffa18210af3811beb91ff946dbcb7368240eed6be"},
- {file = "mypy-1.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:35ce88b8ed3a759634cb4eb646d002c4cef0a38f20565ee82b5023558eb90c00"},
- {file = "mypy-1.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:98790025861cb2c3db8c2f5ad10fc8c336ed2a55f4daf1b8b3f877826b6ff2eb"},
- {file = "mypy-1.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:25bcfa75b9b5a5f8d67147a54ea97ed63a653995a82798221cca2a315c0238c1"},
- {file = "mypy-1.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bea2a0e71c2a375c9fa0ede3d98324214d67b3cbbfcbd55ac8f750f85a414e3"},
- {file = "mypy-1.11.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d2b3d36baac48e40e3064d2901f2fbd2a2d6880ec6ce6358825c85031d7c0d4d"},
- {file = "mypy-1.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8e2e43977f0e09f149ea69fd0556623919f816764e26d74da0c8a7b48f3e18a"},
- {file = "mypy-1.11.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1d44c1e44a8be986b54b09f15f2c1a66368eb43861b4e82573026e04c48a9e20"},
- {file = "mypy-1.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cea3d0fb69637944dd321f41bc896e11d0fb0b0aa531d887a6da70f6e7473aba"},
- {file = "mypy-1.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a83ec98ae12d51c252be61521aa5731f5512231d0b738b4cb2498344f0b840cd"},
- {file = "mypy-1.11.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:c7b73a856522417beb78e0fb6d33ef89474e7a622db2653bc1285af36e2e3e3d"},
- {file = "mypy-1.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:f2268d9fcd9686b61ab64f077be7ffbc6fbcdfb4103e5dd0cc5eaab53a8886c2"},
- {file = "mypy-1.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:940bfff7283c267ae6522ef926a7887305945f716a7704d3344d6d07f02df850"},
- {file = "mypy-1.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:14f9294528b5f5cf96c721f231c9f5b2733164e02c1c018ed1a0eff8a18005ac"},
- {file = "mypy-1.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7b54c27783991399046837df5c7c9d325d921394757d09dbcbf96aee4649fe9"},
- {file = "mypy-1.11.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:65f190a6349dec29c8d1a1cd4aa71284177aee5949e0502e6379b42873eddbe7"},
- {file = "mypy-1.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:dbe286303241fea8c2ea5466f6e0e6a046a135a7e7609167b07fd4e7baf151bf"},
- {file = "mypy-1.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:104e9c1620c2675420abd1f6c44bab7dd33cc85aea751c985006e83dcd001095"},
- {file = "mypy-1.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f006e955718ecd8d159cee9932b64fba8f86ee6f7728ca3ac66c3a54b0062abe"},
- {file = "mypy-1.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:becc9111ca572b04e7e77131bc708480cc88a911adf3d0239f974c034b78085c"},
- {file = "mypy-1.11.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6801319fe76c3f3a3833f2b5af7bd2c17bb93c00026a2a1b924e6762f5b19e13"},
- {file = "mypy-1.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:c1a184c64521dc549324ec6ef7cbaa6b351912be9cb5edb803c2808a0d7e85ac"},
- {file = "mypy-1.11.0-py3-none-any.whl", hash = "sha256:56913ec8c7638b0091ef4da6fcc9136896914a9d60d54670a75880c3e5b99ace"},
- {file = "mypy-1.11.0.tar.gz", hash = "sha256:93743608c7348772fdc717af4aeee1997293a1ad04bc0ea6efa15bf65385c538"},
-]
-
-[package.dependencies]
-mypy-extensions = ">=1.0.0"
-typing-extensions = ">=4.6.0"
-
-[package.extras]
-dmypy = ["psutil (>=4.0)"]
-install-types = ["pip"]
-mypyc = ["setuptools (>=50)"]
-reports = ["lxml"]
-
-[[package]]
-name = "mypy-extensions"
-version = "1.0.0"
-description = "Type system extensions for programs checked with the mypy type checker."
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
- {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
-]
-
-[[package]]
-name = "nbformat"
-version = "5.10.4"
-description = "The Jupyter Notebook format"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"},
- {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"},
-]
-
-[package.dependencies]
-fastjsonschema = ">=2.15"
-jsonschema = ">=2.6"
-jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
-traitlets = ">=5.1"
-
-[package.extras]
-docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
-test = ["pep440", "pre-commit", "pytest", "testpath"]
-
-[[package]]
-name = "nest-asyncio"
-version = "1.6.0"
-description = "Patch asyncio to allow nested event loops"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"},
- {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"},
-]
-
-[[package]]
-name = "nodeenv"
-version = "1.9.1"
-description = "Node.js virtual environment builder"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
-files = [
- {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"},
- {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"},
-]
-
-[[package]]
-name = "numba"
-version = "0.60.0"
-description = "compiling Python code using LLVM"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "numba-0.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5d761de835cd38fb400d2c26bb103a2726f548dc30368853121d66201672e651"},
- {file = "numba-0.60.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:159e618ef213fba758837f9837fb402bbe65326e60ba0633dbe6c7f274d42c1b"},
- {file = "numba-0.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1527dc578b95c7c4ff248792ec33d097ba6bef9eda466c948b68dfc995c25781"},
- {file = "numba-0.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fe0b28abb8d70f8160798f4de9d486143200f34458d34c4a214114e445d7124e"},
- {file = "numba-0.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:19407ced081d7e2e4b8d8c36aa57b7452e0283871c296e12d798852bc7d7f198"},
- {file = "numba-0.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a17b70fc9e380ee29c42717e8cc0bfaa5556c416d94f9aa96ba13acb41bdece8"},
- {file = "numba-0.60.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3fb02b344a2a80efa6f677aa5c40cd5dd452e1b35f8d1c2af0dfd9ada9978e4b"},
- {file = "numba-0.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5f4fde652ea604ea3c86508a3fb31556a6157b2c76c8b51b1d45eb40c8598703"},
- {file = "numba-0.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4142d7ac0210cc86432b818338a2bc368dc773a2f5cf1e32ff7c5b378bd63ee8"},
- {file = "numba-0.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cac02c041e9b5bc8cf8f2034ff6f0dbafccd1ae9590dc146b3a02a45e53af4e2"},
- {file = "numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404"},
- {file = "numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c"},
- {file = "numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e"},
- {file = "numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d"},
- {file = "numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347"},
- {file = "numba-0.60.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:01ef4cd7d83abe087d644eaa3d95831b777aa21d441a23703d649e06b8e06b74"},
- {file = "numba-0.60.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:819a3dfd4630d95fd574036f99e47212a1af41cbcb019bf8afac63ff56834449"},
- {file = "numba-0.60.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b983bd6ad82fe868493012487f34eae8bf7dd94654951404114f23c3466d34b"},
- {file = "numba-0.60.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c151748cd269ddeab66334bd754817ffc0cabd9433acb0f551697e5151917d25"},
- {file = "numba-0.60.0-cp39-cp39-win_amd64.whl", hash = "sha256:3031547a015710140e8c87226b4cfe927cac199835e5bf7d4fe5cb64e814e3ab"},
- {file = "numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16"},
-]
-
-[package.dependencies]
-llvmlite = "==0.43.*"
-numpy = ">=1.22,<2.1"
-
-[[package]]
-name = "numpy"
-version = "1.26.4"
-description = "Fundamental package for array computing in Python"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
- {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
- {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
- {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
- {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
- {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"},
- {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"},
- {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"},
- {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"},
- {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"},
- {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"},
- {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"},
- {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"},
- {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"},
- {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"},
- {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"},
- {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"},
- {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"},
- {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"},
- {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"},
- {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
- {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
- {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
-]
-
-[[package]]
-name = "omegaconf"
-version = "2.3.0"
-description = "A flexible configuration library"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "omegaconf-2.3.0-py3-none-any.whl", hash = "sha256:7b4df175cdb08ba400f45cae3bdcae7ba8365db4d165fc65fd04b050ab63b46b"},
- {file = "omegaconf-2.3.0.tar.gz", hash = "sha256:d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7"},
-]
-
-[package.dependencies]
-antlr4-python3-runtime = "==4.9.*"
-PyYAML = ">=5.1.0"
-
-[[package]]
-name = "opentelemetry-api"
-version = "1.26.0"
-description = "OpenTelemetry Python API"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "opentelemetry_api-1.26.0-py3-none-any.whl", hash = "sha256:7d7ea33adf2ceda2dd680b18b1677e4152000b37ca76e679da71ff103b943064"},
- {file = "opentelemetry_api-1.26.0.tar.gz", hash = "sha256:2bd639e4bed5b18486fef0b5a520aaffde5a18fc225e808a1ac4df363f43a1ce"},
-]
-
-[package.dependencies]
-deprecated = ">=1.2.6"
-importlib-metadata = ">=6.0,<=8.0.0"
-
-[[package]]
-name = "opentelemetry-sdk"
-version = "1.26.0"
-description = "OpenTelemetry Python SDK"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "opentelemetry_sdk-1.26.0-py3-none-any.whl", hash = "sha256:feb5056a84a88670c041ea0ded9921fca559efec03905dddeb3885525e0af897"},
- {file = "opentelemetry_sdk-1.26.0.tar.gz", hash = "sha256:c90d2868f8805619535c05562d699e2f4fb1f00dbd55a86dcefca4da6fa02f85"},
-]
-
-[package.dependencies]
-opentelemetry-api = "1.26.0"
-opentelemetry-semantic-conventions = "0.47b0"
-typing-extensions = ">=3.7.4"
-
-[[package]]
-name = "opentelemetry-semantic-conventions"
-version = "0.47b0"
-description = "OpenTelemetry Semantic Conventions"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "opentelemetry_semantic_conventions-0.47b0-py3-none-any.whl", hash = "sha256:4ff9d595b85a59c1c1413f02bba320ce7ea6bf9e2ead2b0913c4395c7bbc1063"},
- {file = "opentelemetry_semantic_conventions-0.47b0.tar.gz", hash = "sha256:a8d57999bbe3495ffd4d510de26a97dadc1dace53e0275001b2c1b2f67992a7e"},
-]
-
-[package.dependencies]
-deprecated = ">=1.2.6"
-opentelemetry-api = "1.26.0"
-
-[[package]]
-name = "packaging"
-version = "24.1"
-description = "Core utilities for Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"},
- {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"},
-]
-
-[[package]]
-name = "pandas"
-version = "2.2.2"
-description = "Powerful data structures for data analysis, time series, and statistics"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"},
- {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"},
- {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"},
- {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"},
- {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"},
- {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"},
- {file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"},
- {file = "pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288"},
- {file = "pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151"},
- {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b"},
- {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee"},
- {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db"},
- {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1"},
- {file = "pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24"},
- {file = "pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef"},
- {file = "pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce"},
- {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad"},
- {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"},
- {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76"},
- {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"},
- {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"},
- {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"},
- {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"},
- {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"},
- {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"},
- {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"},
- {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57"},
- {file = "pandas-2.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4"},
- {file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"},
-]
-
-[package.dependencies]
-numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""}
-python-dateutil = ">=2.8.2"
-pytz = ">=2020.1"
-tzdata = ">=2022.7"
-
-[package.extras]
-all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"]
-aws = ["s3fs (>=2022.11.0)"]
-clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"]
-compression = ["zstandard (>=0.19.0)"]
-computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"]
-consortium-standard = ["dataframe-api-compat (>=0.1.7)"]
-excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"]
-feather = ["pyarrow (>=10.0.1)"]
-fss = ["fsspec (>=2022.11.0)"]
-gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"]
-hdf5 = ["tables (>=3.8.0)"]
-html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"]
-mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"]
-output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"]
-parquet = ["pyarrow (>=10.0.1)"]
-performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"]
-plot = ["matplotlib (>=3.6.3)"]
-postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"]
-pyarrow = ["pyarrow (>=10.0.1)"]
-spss = ["pyreadstat (>=1.2.0)"]
-sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"]
-test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"]
-xml = ["lxml (>=4.9.2)"]
-
-[[package]]
-name = "pandas-stubs"
-version = "2.2.2.240603"
-description = "Type annotations for pandas"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "pandas_stubs-2.2.2.240603-py3-none-any.whl", hash = "sha256:e08ce7f602a4da2bff5a67475ba881c39f2a4d4f7fccc1cba57c6f35a379c6c0"},
- {file = "pandas_stubs-2.2.2.240603.tar.gz", hash = "sha256:2dcc86e8fa6ea41535a4561c1f08b3942ba5267b464eff2e99caeee66f9e4cd1"},
-]
-
-[package.dependencies]
-numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\" and python_version < \"3.13\""}
-types-pytz = ">=2022.1.1"
-
-[[package]]
-name = "pandera"
-version = "0.20.3"
-description = "A light-weight and flexible data validation and testing tool for statistical data objects."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pandera-0.20.3-py3-none-any.whl", hash = "sha256:0c251a3947d8c6d7a0e26602e78fa425268bc9f448f3a0fded85249b158a65c2"},
- {file = "pandera-0.20.3.tar.gz", hash = "sha256:d8542a68493d2dfe3226c186cc145be8d27535d7edf396178e93811515fe3470"},
-]
-
-[package.dependencies]
-multimethod = "<=1.10.0"
-numpy = ">=1.19.0"
-packaging = ">=20.0"
-pandas = ">=1.2.0"
-pandas-stubs = {version = "*", optional = true, markers = "extra == \"mypy\""}
-pydantic = "*"
-typeguard = "*"
-typing-inspect = ">=0.6.0"
-wrapt = "*"
-
-[package.extras]
-all = ["black", "dask[dataframe]", "fastapi", "frictionless (<=4.40.8)", "geopandas", "hypothesis (>=6.92.7)", "modin", "pandas-stubs", "polars (>=0.20.0)", "pyspark (>=3.2.0)", "pyyaml (>=5.1)", "ray", "scipy", "shapely"]
-dask = ["dask[dataframe]"]
-fastapi = ["fastapi"]
-geopandas = ["geopandas", "shapely"]
-hypotheses = ["scipy"]
-io = ["black", "frictionless (<=4.40.8)", "pyyaml (>=5.1)"]
-modin = ["dask[dataframe]", "modin", "ray"]
-modin-dask = ["dask[dataframe]", "modin"]
-modin-ray = ["modin", "ray"]
-mypy = ["pandas-stubs"]
-polars = ["polars (>=0.20.0)"]
-pyspark = ["pyspark (>=3.2.0)"]
-strategies = ["hypothesis (>=6.92.7)"]
-
-[[package]]
-name = "parso"
-version = "0.8.4"
-description = "A Python Parser"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"},
- {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"},
-]
-
-[package.extras]
-qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"]
-testing = ["docopt", "pytest"]
-
-[[package]]
-name = "pbr"
-version = "6.0.0"
-description = "Python Build Reasonableness"
-optional = false
-python-versions = ">=2.6"
-files = [
- {file = "pbr-6.0.0-py2.py3-none-any.whl", hash = "sha256:4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda"},
- {file = "pbr-6.0.0.tar.gz", hash = "sha256:d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9"},
-]
-
-[[package]]
-name = "pdoc"
-version = "14.6.0"
-description = "API Documentation for Python Projects"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pdoc-14.6.0-py3-none-any.whl", hash = "sha256:36c42c546a317d8e3e8c0b39645f24161374de0c7066ccaae76628d721e49ba5"},
- {file = "pdoc-14.6.0.tar.gz", hash = "sha256:6e98a24c5e0ca5d188397969cf82581836eaef13f172fc3820047bfe15c61c9a"},
-]
-
-[package.dependencies]
-Jinja2 = ">=2.11.0"
-MarkupSafe = "*"
-pygments = ">=2.12.0"
-
-[package.extras]
-dev = ["hypothesis", "mypy", "pdoc-pyo3-sample-library (==1.0.11)", "pygments (>=2.14.0)", "pytest", "pytest-cov", "pytest-timeout", "ruff", "tox", "types-pygments"]
-
-[[package]]
-name = "pexpect"
-version = "4.9.0"
-description = "Pexpect allows easy control of interactive console applications."
-optional = false
-python-versions = "*"
-files = [
- {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"},
- {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"},
-]
-
-[package.dependencies]
-ptyprocess = ">=0.5"
-
-[[package]]
-name = "pillow"
-version = "10.4.0"
-description = "Python Imaging Library (Fork)"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"},
- {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"},
- {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"},
- {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"},
- {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"},
- {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"},
- {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"},
- {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"},
- {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"},
- {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"},
- {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"},
- {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"},
- {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"},
- {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"},
- {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"},
- {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"},
- {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"},
- {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"},
- {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"},
- {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"},
- {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"},
- {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"},
- {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"},
- {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"},
- {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"},
- {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"},
- {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"},
- {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"},
- {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"},
- {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"},
- {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"},
- {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"},
- {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"},
- {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"},
- {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"},
- {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"},
- {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"},
- {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"},
- {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"},
- {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"},
- {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"},
- {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"},
- {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"},
- {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"},
- {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"},
- {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"},
- {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"},
- {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"},
- {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"},
- {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"},
- {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"},
- {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"},
- {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"},
- {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"},
- {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"},
- {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"},
- {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"},
- {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"},
- {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"},
- {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"},
- {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"},
- {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"},
- {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"},
- {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"},
- {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"},
- {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"},
- {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"},
- {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"},
-]
-
-[package.extras]
-docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"]
-fpx = ["olefile"]
-mic = ["olefile"]
-tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
-typing = ["typing-extensions"]
-xmp = ["defusedxml"]
-
-[[package]]
-name = "platformdirs"
-version = "4.2.2"
-description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"},
- {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"},
-]
-
-[package.extras]
-docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
-type = ["mypy (>=1.8)"]
-
-[[package]]
-name = "plotly"
-version = "5.23.0"
-description = "An open-source, interactive data visualization library for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "plotly-5.23.0-py3-none-any.whl", hash = "sha256:76cbe78f75eddc10c56f5a4ee3e7ccaade7c0a57465546f02098c0caed6c2d1a"},
- {file = "plotly-5.23.0.tar.gz", hash = "sha256:89e57d003a116303a34de6700862391367dd564222ab71f8531df70279fc0193"},
-]
-
-[package.dependencies]
-packaging = "*"
-tenacity = ">=6.2.0"
-
-[[package]]
-name = "pluggy"
-version = "1.5.0"
-description = "plugin and hook calling mechanisms for python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"},
- {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"},
-]
-
-[package.extras]
-dev = ["pre-commit", "tox"]
-testing = ["pytest", "pytest-benchmark"]
-
-[[package]]
-name = "plyer"
-version = "2.1.0"
-description = "Platform-independent wrapper for platform-dependent APIs"
-optional = false
-python-versions = "*"
-files = [
- {file = "plyer-2.1.0-py2.py3-none-any.whl", hash = "sha256:1b1772060df8b3045ed4f08231690ec8f7de30f5a004aa1724665a9074eed113"},
- {file = "plyer-2.1.0.tar.gz", hash = "sha256:65b7dfb7e11e07af37a8487eb2aa69524276ef70dad500b07228ce64736baa61"},
-]
-
-[package.extras]
-android = ["pyjnius"]
-dev = ["flake8", "mock"]
-ios = ["pyobjus"]
-macosx = ["pyobjus"]
-
-[[package]]
-name = "pre-commit"
-version = "3.7.1"
-description = "A framework for managing and maintaining multi-language pre-commit hooks."
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "pre_commit-3.7.1-py2.py3-none-any.whl", hash = "sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5"},
- {file = "pre_commit-3.7.1.tar.gz", hash = "sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a"},
-]
-
-[package.dependencies]
-cfgv = ">=2.0.0"
-identify = ">=1.0.0"
-nodeenv = ">=0.11.1"
-pyyaml = ">=5.1"
-virtualenv = ">=20.10.0"
-
-[[package]]
-name = "prompt-toolkit"
-version = "3.0.36"
-description = "Library for building powerful interactive command lines in Python"
-optional = false
-python-versions = ">=3.6.2"
-files = [
- {file = "prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305"},
- {file = "prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"},
-]
-
-[package.dependencies]
-wcwidth = "*"
-
-[[package]]
-name = "protobuf"
-version = "4.25.4"
-description = ""
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "protobuf-4.25.4-cp310-abi3-win32.whl", hash = "sha256:db9fd45183e1a67722cafa5c1da3e85c6492a5383f127c86c4c4aa4845867dc4"},
- {file = "protobuf-4.25.4-cp310-abi3-win_amd64.whl", hash = "sha256:ba3d8504116a921af46499471c63a85260c1a5fc23333154a427a310e015d26d"},
- {file = "protobuf-4.25.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:eecd41bfc0e4b1bd3fa7909ed93dd14dd5567b98c941d6c1ad08fdcab3d6884b"},
- {file = "protobuf-4.25.4-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:4c8a70fdcb995dcf6c8966cfa3a29101916f7225e9afe3ced4395359955d3835"},
- {file = "protobuf-4.25.4-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:3319e073562e2515c6ddc643eb92ce20809f5d8f10fead3332f71c63be6a7040"},
- {file = "protobuf-4.25.4-cp38-cp38-win32.whl", hash = "sha256:7e372cbbda66a63ebca18f8ffaa6948455dfecc4e9c1029312f6c2edcd86c4e1"},
- {file = "protobuf-4.25.4-cp38-cp38-win_amd64.whl", hash = "sha256:051e97ce9fa6067a4546e75cb14f90cf0232dcb3e3d508c448b8d0e4265b61c1"},
- {file = "protobuf-4.25.4-cp39-cp39-win32.whl", hash = "sha256:90bf6fd378494eb698805bbbe7afe6c5d12c8e17fca817a646cd6a1818c696ca"},
- {file = "protobuf-4.25.4-cp39-cp39-win_amd64.whl", hash = "sha256:ac79a48d6b99dfed2729ccccee547b34a1d3d63289c71cef056653a846a2240f"},
- {file = "protobuf-4.25.4-py3-none-any.whl", hash = "sha256:bfbebc1c8e4793cfd58589acfb8a1026be0003e852b9da7db5a4285bde996978"},
- {file = "protobuf-4.25.4.tar.gz", hash = "sha256:0dc4a62cc4052a036ee2204d26fe4d835c62827c855c8a03f29fe6da146b380d"},
-]
-
-[[package]]
-name = "psutil"
-version = "6.0.0"
-description = "Cross-platform lib for process and system monitoring in Python."
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
-files = [
- {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"},
- {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"},
- {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"},
- {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"},
- {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"},
- {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"},
- {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"},
- {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"},
- {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"},
- {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"},
- {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"},
- {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"},
- {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"},
- {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"},
- {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"},
- {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"},
- {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"},
-]
-
-[package.extras]
-test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
-
-[[package]]
-name = "ptyprocess"
-version = "0.7.0"
-description = "Run a subprocess in a pseudo terminal"
-optional = false
-python-versions = "*"
-files = [
- {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
- {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
-]
-
-[[package]]
-name = "pure-eval"
-version = "0.2.3"
-description = "Safely evaluate AST nodes without side effects"
-optional = false
-python-versions = "*"
-files = [
- {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"},
- {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"},
-]
-
-[package.extras]
-tests = ["pytest"]
-
-[[package]]
-name = "pyarrow"
-version = "15.0.2"
-description = "Python library for Apache Arrow"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pyarrow-15.0.2-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8"},
- {file = "pyarrow-15.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac"},
- {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd"},
- {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5"},
- {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423"},
- {file = "pyarrow-15.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e"},
- {file = "pyarrow-15.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c"},
- {file = "pyarrow-15.0.2-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4"},
- {file = "pyarrow-15.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33"},
- {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7"},
- {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e"},
- {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98"},
- {file = "pyarrow-15.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197"},
- {file = "pyarrow-15.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38"},
- {file = "pyarrow-15.0.2-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440"},
- {file = "pyarrow-15.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc"},
- {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb"},
- {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f"},
- {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f"},
- {file = "pyarrow-15.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b"},
- {file = "pyarrow-15.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee"},
- {file = "pyarrow-15.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:7167107d7fb6dcadb375b4b691b7e316f4368f39f6f45405a05535d7ad5e5058"},
- {file = "pyarrow-15.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e85241b44cc3d365ef950432a1b3bd44ac54626f37b2e3a0cc89c20e45dfd8bf"},
- {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:248723e4ed3255fcd73edcecc209744d58a9ca852e4cf3d2577811b6d4b59818"},
- {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ff3bdfe6f1b81ca5b73b70a8d482d37a766433823e0c21e22d1d7dde76ca33f"},
- {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:f3d77463dee7e9f284ef42d341689b459a63ff2e75cee2b9302058d0d98fe142"},
- {file = "pyarrow-15.0.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:8c1faf2482fb89766e79745670cbca04e7018497d85be9242d5350cba21357e1"},
- {file = "pyarrow-15.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:28f3016958a8e45a1069303a4a4f6a7d4910643fc08adb1e2e4a7ff056272ad3"},
- {file = "pyarrow-15.0.2-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:89722cb64286ab3d4daf168386f6968c126057b8c7ec3ef96302e81d8cdb8ae4"},
- {file = "pyarrow-15.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0ba387705044b3ac77b1b317165c0498299b08261d8122c96051024f953cd5"},
- {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2459bf1f22b6a5cdcc27ebfd99307d5526b62d217b984b9f5c974651398832"},
- {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58922e4bfece8b02abf7159f1f53a8f4d9f8e08f2d988109126c17c3bb261f22"},
- {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:adccc81d3dc0478ea0b498807b39a8d41628fa9210729b2f718b78cb997c7c91"},
- {file = "pyarrow-15.0.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:8bd2baa5fe531571847983f36a30ddbf65261ef23e496862ece83bdceb70420d"},
- {file = "pyarrow-15.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6669799a1d4ca9da9c7e06ef48368320f5856f36f9a4dd31a11839dda3f6cc8c"},
- {file = "pyarrow-15.0.2.tar.gz", hash = "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9"},
-]
-
-[package.dependencies]
-numpy = ">=1.16.6,<2"
-
-[[package]]
-name = "pycparser"
-version = "2.22"
-description = "C parser in Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
- {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
-]
-
-[[package]]
-name = "pydantic"
-version = "2.8.2"
-description = "Data validation using Python type hints"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"},
- {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"},
-]
-
-[package.dependencies]
-annotated-types = ">=0.4.0"
-pydantic-core = "2.20.1"
-typing-extensions = [
- {version = ">=4.12.2", markers = "python_version >= \"3.13\""},
- {version = ">=4.6.1", markers = "python_version < \"3.13\""},
-]
-
-[package.extras]
-email = ["email-validator (>=2.0.0)"]
-
-[[package]]
-name = "pydantic-core"
-version = "2.20.1"
-description = "Core functionality for Pydantic validation and serialization"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"},
- {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"},
- {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"},
- {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"},
- {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"},
- {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"},
- {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"},
- {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"},
- {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"},
- {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"},
- {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"},
- {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"},
- {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"},
- {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"},
- {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"},
- {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"},
- {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"},
- {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"},
- {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"},
- {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"},
- {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"},
- {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"},
- {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"},
- {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"},
- {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"},
- {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"},
- {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"},
- {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"},
- {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"},
- {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"},
- {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"},
- {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"},
- {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"},
- {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"},
- {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"},
- {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"},
- {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"},
- {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"},
- {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"},
- {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"},
- {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"},
- {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"},
- {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"},
- {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"},
- {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"},
-]
-
-[package.dependencies]
-typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
-
-[[package]]
-name = "pydantic-settings"
-version = "2.3.4"
-description = "Settings management using Pydantic"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pydantic_settings-2.3.4-py3-none-any.whl", hash = "sha256:11ad8bacb68a045f00e4f862c7a718c8a9ec766aa8fd4c32e39a0594b207b53a"},
- {file = "pydantic_settings-2.3.4.tar.gz", hash = "sha256:c5802e3d62b78e82522319bbc9b8f8ffb28ad1c988a99311d04f2a6051fca0a7"},
-]
-
-[package.dependencies]
-pydantic = ">=2.7.0"
-python-dotenv = ">=0.21.0"
-
-[package.extras]
-toml = ["tomli (>=2.0.1)"]
-yaml = ["pyyaml (>=6.0.1)"]
-
-[[package]]
-name = "pygments"
-version = "2.18.0"
-description = "Pygments is a syntax highlighting package written in Python."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"},
- {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
-]
-
-[package.extras]
-windows-terminal = ["colorama (>=0.4.6)"]
-
-[[package]]
-name = "pynvml"
-version = "11.5.3"
-description = "Python utilities for the NVIDIA Management Library"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "pynvml-11.5.3-py3-none-any.whl", hash = "sha256:a5fba3ab14febda50d19dbda012ef62ae0aed45b7ccc07af0bc5be79223e450c"},
- {file = "pynvml-11.5.3.tar.gz", hash = "sha256:183d223ae487e5f00402d8da06c68c978ef8a9295793ee75559839c6ade7b229"},
-]
-
-[[package]]
-name = "pyparsing"
-version = "3.1.2"
-description = "pyparsing module - Classes and methods to define and execute parsing grammars"
-optional = false
-python-versions = ">=3.6.8"
-files = [
- {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"},
- {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"},
-]
-
-[package.extras]
-diagrams = ["jinja2", "railroad-diagrams"]
-
-[[package]]
-name = "pytest"
-version = "8.3.2"
-description = "pytest: simple powerful testing with Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"},
- {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-iniconfig = "*"
-packaging = "*"
-pluggy = ">=1.5,<2"
-
-[package.extras]
-dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
-
-[[package]]
-name = "pytest-cov"
-version = "5.0.0"
-description = "Pytest plugin for measuring coverage."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857"},
- {file = "pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652"},
-]
-
-[package.dependencies]
-coverage = {version = ">=5.2.1", extras = ["toml"]}
-pytest = ">=4.6"
-
-[package.extras]
-testing = ["fields", "hunter", "process-tests", "pytest-xdist", "virtualenv"]
-
-[[package]]
-name = "pytest-mock"
-version = "3.14.0"
-description = "Thin-wrapper around the mock package for easier use with pytest"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"},
- {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"},
-]
-
-[package.dependencies]
-pytest = ">=6.2.5"
-
-[package.extras]
-dev = ["pre-commit", "pytest-asyncio", "tox"]
-
-[[package]]
-name = "pytest-xdist"
-version = "3.6.1"
-description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7"},
- {file = "pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d"},
-]
-
-[package.dependencies]
-execnet = ">=2.1"
-pytest = ">=7.0.0"
-
-[package.extras]
-psutil = ["psutil (>=3.0)"]
-setproctitle = ["setproctitle"]
-testing = ["filelock"]
-
-[[package]]
-name = "python-dateutil"
-version = "2.9.0.post0"
-description = "Extensions to the standard Python datetime module"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
-files = [
- {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
- {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
-]
-
-[package.dependencies]
-six = ">=1.5"
-
-[[package]]
-name = "python-dotenv"
-version = "1.0.1"
-description = "Read key-value pairs from a .env file and set them as environment variables"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"},
- {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"},
-]
-
-[package.extras]
-cli = ["click (>=5.0)"]
-
-[[package]]
-name = "pytz"
-version = "2024.1"
-description = "World timezone definitions, modern and historical"
-optional = false
-python-versions = "*"
-files = [
- {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
- {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
-]
-
-[[package]]
-name = "pywin32"
-version = "306"
-description = "Python for Window Extensions"
-optional = false
-python-versions = "*"
-files = [
- {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"},
- {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"},
- {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"},
- {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"},
- {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"},
- {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"},
- {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"},
- {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"},
- {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"},
- {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"},
- {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"},
- {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"},
- {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"},
- {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"},
-]
-
-[[package]]
-name = "pyyaml"
-version = "6.0.1"
-description = "YAML parser and emitter for Python"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
- {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
- {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
- {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
- {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
- {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
- {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
- {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
- {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
- {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
- {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
- {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
- {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
-]
-
-[[package]]
-name = "pyzmq"
-version = "26.0.3"
-description = "Python bindings for 0MQ"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pyzmq-26.0.3-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:44dd6fc3034f1eaa72ece33588867df9e006a7303725a12d64c3dff92330f625"},
- {file = "pyzmq-26.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:acb704195a71ac5ea5ecf2811c9ee19ecdc62b91878528302dd0be1b9451cc90"},
- {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dbb9c997932473a27afa93954bb77a9f9b786b4ccf718d903f35da3232317de"},
- {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bcb34f869d431799c3ee7d516554797f7760cb2198ecaa89c3f176f72d062be"},
- {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38ece17ec5f20d7d9b442e5174ae9f020365d01ba7c112205a4d59cf19dc38ee"},
- {file = "pyzmq-26.0.3-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:ba6e5e6588e49139a0979d03a7deb9c734bde647b9a8808f26acf9c547cab1bf"},
- {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3bf8b000a4e2967e6dfdd8656cd0757d18c7e5ce3d16339e550bd462f4857e59"},
- {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:2136f64fbb86451dbbf70223635a468272dd20075f988a102bf8a3f194a411dc"},
- {file = "pyzmq-26.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e8918973fbd34e7814f59143c5f600ecd38b8038161239fd1a3d33d5817a38b8"},
- {file = "pyzmq-26.0.3-cp310-cp310-win32.whl", hash = "sha256:0aaf982e68a7ac284377d051c742610220fd06d330dcd4c4dbb4cdd77c22a537"},
- {file = "pyzmq-26.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:f1a9b7d00fdf60b4039f4455afd031fe85ee8305b019334b72dcf73c567edc47"},
- {file = "pyzmq-26.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:80b12f25d805a919d53efc0a5ad7c0c0326f13b4eae981a5d7b7cc343318ebb7"},
- {file = "pyzmq-26.0.3-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:a72a84570f84c374b4c287183debc776dc319d3e8ce6b6a0041ce2e400de3f32"},
- {file = "pyzmq-26.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ca684ee649b55fd8f378127ac8462fb6c85f251c2fb027eb3c887e8ee347bcd"},
- {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e222562dc0f38571c8b1ffdae9d7adb866363134299264a1958d077800b193b7"},
- {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f17cde1db0754c35a91ac00b22b25c11da6eec5746431d6e5092f0cd31a3fea9"},
- {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b7c0c0b3244bb2275abe255d4a30c050d541c6cb18b870975553f1fb6f37527"},
- {file = "pyzmq-26.0.3-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:ac97a21de3712afe6a6c071abfad40a6224fd14fa6ff0ff8d0c6e6cd4e2f807a"},
- {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:88b88282e55fa39dd556d7fc04160bcf39dea015f78e0cecec8ff4f06c1fc2b5"},
- {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:72b67f966b57dbd18dcc7efbc1c7fc9f5f983e572db1877081f075004614fcdd"},
- {file = "pyzmq-26.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4b6cecbbf3b7380f3b61de3a7b93cb721125dc125c854c14ddc91225ba52f83"},
- {file = "pyzmq-26.0.3-cp311-cp311-win32.whl", hash = "sha256:eed56b6a39216d31ff8cd2f1d048b5bf1700e4b32a01b14379c3b6dde9ce3aa3"},
- {file = "pyzmq-26.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:3191d312c73e3cfd0f0afdf51df8405aafeb0bad71e7ed8f68b24b63c4f36500"},
- {file = "pyzmq-26.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:b6907da3017ef55139cf0e417c5123a84c7332520e73a6902ff1f79046cd3b94"},
- {file = "pyzmq-26.0.3-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:068ca17214038ae986d68f4a7021f97e187ed278ab6dccb79f837d765a54d753"},
- {file = "pyzmq-26.0.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7821d44fe07335bea256b9f1f41474a642ca55fa671dfd9f00af8d68a920c2d4"},
- {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eeb438a26d87c123bb318e5f2b3d86a36060b01f22fbdffd8cf247d52f7c9a2b"},
- {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69ea9d6d9baa25a4dc9cef5e2b77b8537827b122214f210dd925132e34ae9b12"},
- {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7daa3e1369355766dea11f1d8ef829905c3b9da886ea3152788dc25ee6079e02"},
- {file = "pyzmq-26.0.3-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6ca7a9a06b52d0e38ccf6bca1aeff7be178917893f3883f37b75589d42c4ac20"},
- {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1b7d0e124948daa4d9686d421ef5087c0516bc6179fdcf8828b8444f8e461a77"},
- {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e746524418b70f38550f2190eeee834db8850088c834d4c8406fbb9bc1ae10b2"},
- {file = "pyzmq-26.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:6b3146f9ae6af82c47a5282ac8803523d381b3b21caeae0327ed2f7ecb718798"},
- {file = "pyzmq-26.0.3-cp312-cp312-win32.whl", hash = "sha256:2b291d1230845871c00c8462c50565a9cd6026fe1228e77ca934470bb7d70ea0"},
- {file = "pyzmq-26.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:926838a535c2c1ea21c903f909a9a54e675c2126728c21381a94ddf37c3cbddf"},
- {file = "pyzmq-26.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:5bf6c237f8c681dfb91b17f8435b2735951f0d1fad10cc5dfd96db110243370b"},
- {file = "pyzmq-26.0.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c0991f5a96a8e620f7691e61178cd8f457b49e17b7d9cfa2067e2a0a89fc1d5"},
- {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dbf012d8fcb9f2cf0643b65df3b355fdd74fc0035d70bb5c845e9e30a3a4654b"},
- {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:01fbfbeb8249a68d257f601deb50c70c929dc2dfe683b754659569e502fbd3aa"},
- {file = "pyzmq-26.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c8eb19abe87029c18f226d42b8a2c9efdd139d08f8bf6e085dd9075446db450"},
- {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5344b896e79800af86ad643408ca9aa303a017f6ebff8cee5a3163c1e9aec987"},
- {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:204e0f176fd1d067671157d049466869b3ae1fc51e354708b0dc41cf94e23a3a"},
- {file = "pyzmq-26.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a42db008d58530efa3b881eeee4991146de0b790e095f7ae43ba5cc612decbc5"},
- {file = "pyzmq-26.0.3-cp37-cp37m-win32.whl", hash = "sha256:8d7a498671ca87e32b54cb47c82a92b40130a26c5197d392720a1bce1b3c77cf"},
- {file = "pyzmq-26.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:3b4032a96410bdc760061b14ed6a33613ffb7f702181ba999df5d16fb96ba16a"},
- {file = "pyzmq-26.0.3-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2cc4e280098c1b192c42a849de8de2c8e0f3a84086a76ec5b07bfee29bda7d18"},
- {file = "pyzmq-26.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5bde86a2ed3ce587fa2b207424ce15b9a83a9fa14422dcc1c5356a13aed3df9d"},
- {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34106f68e20e6ff253c9f596ea50397dbd8699828d55e8fa18bd4323d8d966e6"},
- {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ebbbd0e728af5db9b04e56389e2299a57ea8b9dd15c9759153ee2455b32be6ad"},
- {file = "pyzmq-26.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6b1d1c631e5940cac5a0b22c5379c86e8df6a4ec277c7a856b714021ab6cfad"},
- {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e891ce81edd463b3b4c3b885c5603c00141151dd9c6936d98a680c8c72fe5c67"},
- {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9b273ecfbc590a1b98f014ae41e5cf723932f3b53ba9367cfb676f838038b32c"},
- {file = "pyzmq-26.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b32bff85fb02a75ea0b68f21e2412255b5731f3f389ed9aecc13a6752f58ac97"},
- {file = "pyzmq-26.0.3-cp38-cp38-win32.whl", hash = "sha256:f6c21c00478a7bea93caaaef9e7629145d4153b15a8653e8bb4609d4bc70dbfc"},
- {file = "pyzmq-26.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:3401613148d93ef0fd9aabdbddb212de3db7a4475367f49f590c837355343972"},
- {file = "pyzmq-26.0.3-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:2ed8357f4c6e0daa4f3baf31832df8a33334e0fe5b020a61bc8b345a3db7a606"},
- {file = "pyzmq-26.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c1c8f2a2ca45292084c75bb6d3a25545cff0ed931ed228d3a1810ae3758f975f"},
- {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:b63731993cdddcc8e087c64e9cf003f909262b359110070183d7f3025d1c56b5"},
- {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b3cd31f859b662ac5d7f4226ec7d8bd60384fa037fc02aee6ff0b53ba29a3ba8"},
- {file = "pyzmq-26.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:115f8359402fa527cf47708d6f8a0f8234f0e9ca0cab7c18c9c189c194dbf620"},
- {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:715bdf952b9533ba13dfcf1f431a8f49e63cecc31d91d007bc1deb914f47d0e4"},
- {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e1258c639e00bf5e8a522fec6c3eaa3e30cf1c23a2f21a586be7e04d50c9acab"},
- {file = "pyzmq-26.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:15c59e780be8f30a60816a9adab900c12a58d79c1ac742b4a8df044ab2a6d920"},
- {file = "pyzmq-26.0.3-cp39-cp39-win32.whl", hash = "sha256:d0cdde3c78d8ab5b46595054e5def32a755fc028685add5ddc7403e9f6de9879"},
- {file = "pyzmq-26.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:ce828058d482ef860746bf532822842e0ff484e27f540ef5c813d516dd8896d2"},
- {file = "pyzmq-26.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:788f15721c64109cf720791714dc14afd0f449d63f3a5487724f024345067381"},
- {file = "pyzmq-26.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c18645ef6294d99b256806e34653e86236eb266278c8ec8112622b61db255de"},
- {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e6bc96ebe49604df3ec2c6389cc3876cabe475e6bfc84ced1bf4e630662cb35"},
- {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:971e8990c5cc4ddcff26e149398fc7b0f6a042306e82500f5e8db3b10ce69f84"},
- {file = "pyzmq-26.0.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8416c23161abd94cc7da80c734ad7c9f5dbebdadfdaa77dad78244457448223"},
- {file = "pyzmq-26.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:082a2988364b60bb5de809373098361cf1dbb239623e39e46cb18bc035ed9c0c"},
- {file = "pyzmq-26.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d57dfbf9737763b3a60d26e6800e02e04284926329aee8fb01049635e957fe81"},
- {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:77a85dca4c2430ac04dc2a2185c2deb3858a34fe7f403d0a946fa56970cf60a1"},
- {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c82a6d952a1d555bf4be42b6532927d2a5686dd3c3e280e5f63225ab47ac1f5"},
- {file = "pyzmq-26.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4496b1282c70c442809fc1b151977c3d967bfb33e4e17cedbf226d97de18f709"},
- {file = "pyzmq-26.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:e4946d6bdb7ba972dfda282f9127e5756d4f299028b1566d1245fa0d438847e6"},
- {file = "pyzmq-26.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:03c0ae165e700364b266876d712acb1ac02693acd920afa67da2ebb91a0b3c09"},
- {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:3e3070e680f79887d60feeda051a58d0ac36622e1759f305a41059eff62c6da7"},
- {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6ca08b840fe95d1c2bd9ab92dac5685f949fc6f9ae820ec16193e5ddf603c3b2"},
- {file = "pyzmq-26.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e76654e9dbfb835b3518f9938e565c7806976c07b37c33526b574cc1a1050480"},
- {file = "pyzmq-26.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:871587bdadd1075b112e697173e946a07d722459d20716ceb3d1bd6c64bd08ce"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d0a2d1bd63a4ad79483049b26514e70fa618ce6115220da9efdff63688808b17"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0270b49b6847f0d106d64b5086e9ad5dc8a902413b5dbbb15d12b60f9c1747a4"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:703c60b9910488d3d0954ca585c34f541e506a091a41930e663a098d3b794c67"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74423631b6be371edfbf7eabb02ab995c2563fee60a80a30829176842e71722a"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4adfbb5451196842a88fda3612e2c0414134874bffb1c2ce83ab4242ec9e027d"},
- {file = "pyzmq-26.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3516119f4f9b8671083a70b6afaa0a070f5683e431ab3dc26e9215620d7ca1ad"},
- {file = "pyzmq-26.0.3.tar.gz", hash = "sha256:dba7d9f2e047dfa2bca3b01f4f84aa5246725203d6284e3790f2ca15fba6b40a"},
-]
-
-[package.dependencies]
-cffi = {version = "*", markers = "implementation_name == \"pypy\""}
-
-[[package]]
-name = "querystring-parser"
-version = "1.2.4"
-description = "QueryString parser for Python/Django that correctly handles nested dictionaries"
-optional = false
-python-versions = "*"
-files = [
- {file = "querystring_parser-1.2.4-py2.py3-none-any.whl", hash = "sha256:d2fa90765eaf0de96c8b087872991a10238e89ba015ae59fedfed6bd61c242a0"},
- {file = "querystring_parser-1.2.4.tar.gz", hash = "sha256:644fce1cffe0530453b43a83a38094dbe422ccba8c9b2f2a1c00280e14ca8a62"},
-]
-
-[package.dependencies]
-six = "*"
-
-[[package]]
-name = "questionary"
-version = "2.0.1"
-description = "Python library to build pretty command line user prompts ⭐️"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "questionary-2.0.1-py3-none-any.whl", hash = "sha256:8ab9a01d0b91b68444dff7f6652c1e754105533f083cbe27597c8110ecc230a2"},
- {file = "questionary-2.0.1.tar.gz", hash = "sha256:bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b"},
-]
-
-[package.dependencies]
-prompt_toolkit = ">=2.0,<=3.0.36"
-
-[[package]]
-name = "referencing"
-version = "0.35.1"
-description = "JSON Referencing + Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"},
- {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"},
-]
-
-[package.dependencies]
-attrs = ">=22.2.0"
-rpds-py = ">=0.7.0"
-
-[[package]]
-name = "requests"
-version = "2.32.3"
-description = "Python HTTP for Humans."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
- {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
-]
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-charset-normalizer = ">=2,<4"
-idna = ">=2.5,<4"
-urllib3 = ">=1.21.1,<3"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
-
-[[package]]
-name = "rich"
-version = "13.7.1"
-description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"},
- {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"},
-]
-
-[package.dependencies]
-markdown-it-py = ">=2.2.0"
-pygments = ">=2.13.0,<3.0.0"
-
-[package.extras]
-jupyter = ["ipywidgets (>=7.5.1,<9)"]
-
-[[package]]
-name = "rpds-py"
-version = "0.19.1"
-description = "Python bindings to Rust's persistent data structures (rpds)"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "rpds_py-0.19.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:aaf71f95b21f9dc708123335df22e5a2fef6307e3e6f9ed773b2e0938cc4d491"},
- {file = "rpds_py-0.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca0dda0c5715efe2ab35bb83f813f681ebcd2840d8b1b92bfc6fe3ab382fae4a"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81db2e7282cc0487f500d4db203edc57da81acde9e35f061d69ed983228ffe3b"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1a8dfa125b60ec00c7c9baef945bb04abf8ac772d8ebefd79dae2a5f316d7850"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:271accf41b02687cef26367c775ab220372ee0f4925591c6796e7c148c50cab5"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9bc4161bd3b970cd6a6fcda70583ad4afd10f2750609fb1f3ca9505050d4ef3"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0cf2a0dbb5987da4bd92a7ca727eadb225581dd9681365beba9accbe5308f7d"},
- {file = "rpds_py-0.19.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b5e28e56143750808c1c79c70a16519e9bc0a68b623197b96292b21b62d6055c"},
- {file = "rpds_py-0.19.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c7af6f7b80f687b33a4cdb0a785a5d4de1fb027a44c9a049d8eb67d5bfe8a687"},
- {file = "rpds_py-0.19.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e429fc517a1c5e2a70d576077231538a98d59a45dfc552d1ac45a132844e6dfb"},
- {file = "rpds_py-0.19.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d2dbd8f4990d4788cb122f63bf000357533f34860d269c1a8e90ae362090ff3a"},
- {file = "rpds_py-0.19.1-cp310-none-win32.whl", hash = "sha256:e0f9d268b19e8f61bf42a1da48276bcd05f7ab5560311f541d22557f8227b866"},
- {file = "rpds_py-0.19.1-cp310-none-win_amd64.whl", hash = "sha256:df7c841813f6265e636fe548a49664c77af31ddfa0085515326342a751a6ba51"},
- {file = "rpds_py-0.19.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:902cf4739458852fe917104365ec0efbea7d29a15e4276c96a8d33e6ed8ec137"},
- {file = "rpds_py-0.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f3d73022990ab0c8b172cce57c69fd9a89c24fd473a5e79cbce92df87e3d9c48"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3837c63dd6918a24de6c526277910e3766d8c2b1627c500b155f3eecad8fad65"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cdb7eb3cf3deb3dd9e7b8749323b5d970052711f9e1e9f36364163627f96da58"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26ab43b6d65d25b1a333c8d1b1c2f8399385ff683a35ab5e274ba7b8bb7dc61c"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75130df05aae7a7ac171b3b5b24714cffeabd054ad2ebc18870b3aa4526eba23"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c34f751bf67cab69638564eee34023909380ba3e0d8ee7f6fe473079bf93f09b"},
- {file = "rpds_py-0.19.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f2671cb47e50a97f419a02cd1e0c339b31de017b033186358db92f4d8e2e17d8"},
- {file = "rpds_py-0.19.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c73254c256081704dba0a333457e2fb815364018788f9b501efe7c5e0ada401"},
- {file = "rpds_py-0.19.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4383beb4a29935b8fa28aca8fa84c956bf545cb0c46307b091b8d312a9150e6a"},
- {file = "rpds_py-0.19.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dbceedcf4a9329cc665452db1aaf0845b85c666e4885b92ee0cddb1dbf7e052a"},
- {file = "rpds_py-0.19.1-cp311-none-win32.whl", hash = "sha256:f0a6d4a93d2a05daec7cb885157c97bbb0be4da739d6f9dfb02e101eb40921cd"},
- {file = "rpds_py-0.19.1-cp311-none-win_amd64.whl", hash = "sha256:c149a652aeac4902ecff2dd93c3b2681c608bd5208c793c4a99404b3e1afc87c"},
- {file = "rpds_py-0.19.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:56313be667a837ff1ea3508cebb1ef6681d418fa2913a0635386cf29cff35165"},
- {file = "rpds_py-0.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d1d7539043b2b31307f2c6c72957a97c839a88b2629a348ebabe5aa8b626d6b"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e1dc59a5e7bc7f44bd0c048681f5e05356e479c50be4f2c1a7089103f1621d5"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8f78398e67a7227aefa95f876481485403eb974b29e9dc38b307bb6eb2315ea"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ef07a0a1d254eeb16455d839cef6e8c2ed127f47f014bbda64a58b5482b6c836"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8124101e92c56827bebef084ff106e8ea11c743256149a95b9fd860d3a4f331f"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08ce9c95a0b093b7aec75676b356a27879901488abc27e9d029273d280438505"},
- {file = "rpds_py-0.19.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b02dd77a2de6e49078c8937aadabe933ceac04b41c5dde5eca13a69f3cf144e"},
- {file = "rpds_py-0.19.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4dd02e29c8cbed21a1875330b07246b71121a1c08e29f0ee3db5b4cfe16980c4"},
- {file = "rpds_py-0.19.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9c7042488165f7251dc7894cd533a875d2875af6d3b0e09eda9c4b334627ad1c"},
- {file = "rpds_py-0.19.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f809a17cc78bd331e137caa25262b507225854073fd319e987bd216bed911b7c"},
- {file = "rpds_py-0.19.1-cp312-none-win32.whl", hash = "sha256:3ddab996807c6b4227967fe1587febade4e48ac47bb0e2d3e7858bc621b1cace"},
- {file = "rpds_py-0.19.1-cp312-none-win_amd64.whl", hash = "sha256:32e0db3d6e4f45601b58e4ac75c6f24afbf99818c647cc2066f3e4b192dabb1f"},
- {file = "rpds_py-0.19.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:747251e428406b05fc86fee3904ee19550c4d2d19258cef274e2151f31ae9d38"},
- {file = "rpds_py-0.19.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dc733d35f861f8d78abfaf54035461e10423422999b360966bf1c443cbc42705"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbda75f245caecff8faa7e32ee94dfaa8312a3367397975527f29654cd17a6ed"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd04d8cab16cab5b0a9ffc7d10f0779cf1120ab16c3925404428f74a0a43205a"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2d66eb41ffca6cc3c91d8387509d27ba73ad28371ef90255c50cb51f8953301"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdf4890cda3b59170009d012fca3294c00140e7f2abe1910e6a730809d0f3f9b"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1fa67ef839bad3815124f5f57e48cd50ff392f4911a9f3cf449d66fa3df62a5"},
- {file = "rpds_py-0.19.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b82c9514c6d74b89a370c4060bdb80d2299bc6857e462e4a215b4ef7aa7b090e"},
- {file = "rpds_py-0.19.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c7b07959866a6afb019abb9564d8a55046feb7a84506c74a6f197cbcdf8a208e"},
- {file = "rpds_py-0.19.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4f580ae79d0b861dfd912494ab9d477bea535bfb4756a2269130b6607a21802e"},
- {file = "rpds_py-0.19.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c6d20c8896c00775e6f62d8373aba32956aa0b850d02b5ec493f486c88e12859"},
- {file = "rpds_py-0.19.1-cp313-none-win32.whl", hash = "sha256:afedc35fe4b9e30ab240b208bb9dc8938cb4afe9187589e8d8d085e1aacb8309"},
- {file = "rpds_py-0.19.1-cp313-none-win_amd64.whl", hash = "sha256:1d4af2eb520d759f48f1073ad3caef997d1bfd910dc34e41261a595d3f038a94"},
- {file = "rpds_py-0.19.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:34bca66e2e3eabc8a19e9afe0d3e77789733c702c7c43cd008e953d5d1463fde"},
- {file = "rpds_py-0.19.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:24f8ae92c7fae7c28d0fae9b52829235df83f34847aa8160a47eb229d9666c7b"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71157f9db7f6bc6599a852852f3389343bea34315b4e6f109e5cbc97c1fb2963"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1d494887d40dc4dd0d5a71e9d07324e5c09c4383d93942d391727e7a40ff810b"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b3661e6d4ba63a094138032c1356d557de5b3ea6fd3cca62a195f623e381c76"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97fbb77eaeb97591efdc654b8b5f3ccc066406ccfb3175b41382f221ecc216e8"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cc4bc73e53af8e7a42c8fd7923bbe35babacfa7394ae9240b3430b5dcf16b2a"},
- {file = "rpds_py-0.19.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:35af5e4d5448fa179fd7fff0bba0fba51f876cd55212f96c8bbcecc5c684ae5c"},
- {file = "rpds_py-0.19.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:3511f6baf8438326e351097cecd137eb45c5f019944fe0fd0ae2fea2fd26be39"},
- {file = "rpds_py-0.19.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:57863d16187995c10fe9cf911b897ed443ac68189179541734502353af33e693"},
- {file = "rpds_py-0.19.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9e318e6786b1e750a62f90c6f7fa8b542102bdcf97c7c4de2a48b50b61bd36ec"},
- {file = "rpds_py-0.19.1-cp38-none-win32.whl", hash = "sha256:53dbc35808c6faa2ce3e48571f8f74ef70802218554884787b86a30947842a14"},
- {file = "rpds_py-0.19.1-cp38-none-win_amd64.whl", hash = "sha256:8df1c283e57c9cb4d271fdc1875f4a58a143a2d1698eb0d6b7c0d7d5f49c53a1"},
- {file = "rpds_py-0.19.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:e76c902d229a3aa9d5ceb813e1cbcc69bf5bda44c80d574ff1ac1fa3136dea71"},
- {file = "rpds_py-0.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:de1f7cd5b6b351e1afd7568bdab94934d656abe273d66cda0ceea43bbc02a0c2"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fc5a84777cb61692d17988989690d6f34f7f95968ac81398d67c0d0994a897"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:74129d5ffc4cde992d89d345f7f7d6758320e5d44a369d74d83493429dad2de5"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e360188b72f8080fefa3adfdcf3618604cc8173651c9754f189fece068d2a45"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13e6d4840897d4e4e6b2aa1443e3a8eca92b0402182aafc5f4ca1f5e24f9270a"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f09529d2332264a902688031a83c19de8fda5eb5881e44233286b9c9ec91856d"},
- {file = "rpds_py-0.19.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0d4b52811dcbc1aba08fd88d475f75b4f6db0984ba12275d9bed1a04b2cae9b5"},
- {file = "rpds_py-0.19.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dd635c2c4043222d80d80ca1ac4530a633102a9f2ad12252183bcf338c1b9474"},
- {file = "rpds_py-0.19.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f35b34a5184d5e0cc360b61664c1c06e866aab077b5a7c538a3e20c8fcdbf90b"},
- {file = "rpds_py-0.19.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d4ec0046facab83012d821b33cead742a35b54575c4edfb7ed7445f63441835f"},
- {file = "rpds_py-0.19.1-cp39-none-win32.whl", hash = "sha256:f5b8353ea1a4d7dfb59a7f45c04df66ecfd363bb5b35f33b11ea579111d4655f"},
- {file = "rpds_py-0.19.1-cp39-none-win_amd64.whl", hash = "sha256:1fb93d3486f793d54a094e2bfd9cd97031f63fcb5bc18faeb3dd4b49a1c06523"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7d5c7e32f3ee42f77d8ff1a10384b5cdcc2d37035e2e3320ded909aa192d32c3"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:89cc8921a4a5028d6dd388c399fcd2eef232e7040345af3d5b16c04b91cf3c7e"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca34e913d27401bda2a6f390d0614049f5a95b3b11cd8eff80fe4ec340a1208"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5953391af1405f968eb5701ebbb577ebc5ced8d0041406f9052638bafe52209d"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:840e18c38098221ea6201f091fc5d4de6128961d2930fbbc96806fb43f69aec1"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d8b735c4d162dc7d86a9cf3d717f14b6c73637a1f9cd57fe7e61002d9cb1972"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce757c7c90d35719b38fa3d4ca55654a76a40716ee299b0865f2de21c146801c"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a9421b23c85f361a133aa7c5e8ec757668f70343f4ed8fdb5a4a14abd5437244"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3b823be829407393d84ee56dc849dbe3b31b6a326f388e171555b262e8456cc1"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:5e58b61dcbb483a442c6239c3836696b79f2cd8e7eec11e12155d3f6f2d886d1"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39d67896f7235b2c886fb1ee77b1491b77049dcef6fbf0f401e7b4cbed86bbd4"},
- {file = "rpds_py-0.19.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8b32cd4ab6db50c875001ba4f5a6b30c0f42151aa1fbf9c2e7e3674893fb1dc4"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1c32e41de995f39b6b315d66c27dea3ef7f7c937c06caab4c6a79a5e09e2c415"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a129c02b42d46758c87faeea21a9f574e1c858b9f358b6dd0bbd71d17713175"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:346557f5b1d8fd9966059b7a748fd79ac59f5752cd0e9498d6a40e3ac1c1875f"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31e450840f2f27699d014cfc8865cc747184286b26d945bcea6042bb6aa4d26e"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01227f8b3e6c8961490d869aa65c99653df80d2f0a7fde8c64ebddab2b9b02fd"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69084fd29bfeff14816666c93a466e85414fe6b7d236cfc108a9c11afa6f7301"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d2b88efe65544a7d5121b0c3b003ebba92bfede2ea3577ce548b69c5235185"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ea961a674172ed2235d990d7edf85d15d8dfa23ab8575e48306371c070cda67"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:5beffdbe766cfe4fb04f30644d822a1080b5359df7db3a63d30fa928375b2720"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:720f3108fb1bfa32e51db58b832898372eb5891e8472a8093008010911e324c5"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c2087dbb76a87ec2c619253e021e4fb20d1a72580feeaa6892b0b3d955175a71"},
- {file = "rpds_py-0.19.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ddd50f18ebc05ec29a0d9271e9dbe93997536da3546677f8ca00b76d477680c"},
- {file = "rpds_py-0.19.1.tar.gz", hash = "sha256:31dd5794837f00b46f4096aa8ccaa5972f73a938982e32ed817bb520c465e520"},
-]
-
-[[package]]
-name = "ruff"
-version = "0.5.5"
-description = "An extremely fast Python linter and code formatter, written in Rust."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "ruff-0.5.5-py3-none-linux_armv6l.whl", hash = "sha256:605d589ec35d1da9213a9d4d7e7a9c761d90bba78fc8790d1c5e65026c1b9eaf"},
- {file = "ruff-0.5.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:00817603822a3e42b80f7c3298c8269e09f889ee94640cd1fc7f9329788d7bf8"},
- {file = "ruff-0.5.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:187a60f555e9f865a2ff2c6984b9afeffa7158ba6e1eab56cb830404c942b0f3"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe26fc46fa8c6e0ae3f47ddccfbb136253c831c3289bba044befe68f467bfb16"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4ad25dd9c5faac95c8e9efb13e15803cd8bbf7f4600645a60ffe17c73f60779b"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f70737c157d7edf749bcb952d13854e8f745cec695a01bdc6e29c29c288fc36e"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:cfd7de17cef6ab559e9f5ab859f0d3296393bc78f69030967ca4d87a541b97a0"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a09b43e02f76ac0145f86a08e045e2ea452066f7ba064fd6b0cdccb486f7c3e7"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0b856cb19c60cd40198be5d8d4b556228e3dcd545b4f423d1ad812bfdca5884"},
- {file = "ruff-0.5.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3687d002f911e8a5faf977e619a034d159a8373514a587249cc00f211c67a091"},
- {file = "ruff-0.5.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ac9dc814e510436e30d0ba535f435a7f3dc97f895f844f5b3f347ec8c228a523"},
- {file = "ruff-0.5.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:af9bdf6c389b5add40d89b201425b531e0a5cceb3cfdcc69f04d3d531c6be74f"},
- {file = "ruff-0.5.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d40a8533ed545390ef8315b8e25c4bb85739b90bd0f3fe1280a29ae364cc55d8"},
- {file = "ruff-0.5.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:cab904683bf9e2ecbbe9ff235bfe056f0eba754d0168ad5407832928d579e7ab"},
- {file = "ruff-0.5.5-py3-none-win32.whl", hash = "sha256:696f18463b47a94575db635ebb4c178188645636f05e934fdf361b74edf1bb2d"},
- {file = "ruff-0.5.5-py3-none-win_amd64.whl", hash = "sha256:50f36d77f52d4c9c2f1361ccbfbd09099a1b2ea5d2b2222c586ab08885cf3445"},
- {file = "ruff-0.5.5-py3-none-win_arm64.whl", hash = "sha256:3191317d967af701f1b73a31ed5788795936e423b7acce82a2b63e26eb3e89d6"},
- {file = "ruff-0.5.5.tar.gz", hash = "sha256:cc5516bdb4858d972fbc31d246bdb390eab8df1a26e2353be2dbc0c2d7f5421a"},
-]
-
-[[package]]
-name = "scikit-learn"
-version = "1.4.2"
-description = "A set of python modules for machine learning and data mining"
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "scikit-learn-1.4.2.tar.gz", hash = "sha256:daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959"},
- {file = "scikit_learn-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8539a41b3d6d1af82eb629f9c57f37428ff1481c1e34dddb3b9d7af8ede67ac5"},
- {file = "scikit_learn-1.4.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:68b8404841f944a4a1459b07198fa2edd41a82f189b44f3e1d55c104dbc2e40c"},
- {file = "scikit_learn-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81bf5d8bbe87643103334032dd82f7419bc8c8d02a763643a6b9a5c7288c5054"},
- {file = "scikit_learn-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36f0ea5d0f693cb247a073d21a4123bdf4172e470e6d163c12b74cbb1536cf38"},
- {file = "scikit_learn-1.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:87440e2e188c87db80ea4023440923dccbd56fbc2d557b18ced00fef79da0727"},
- {file = "scikit_learn-1.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:45dee87ac5309bb82e3ea633955030df9bbcb8d2cdb30383c6cd483691c546cc"},
- {file = "scikit_learn-1.4.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1d0b25d9c651fd050555aadd57431b53d4cf664e749069da77f3d52c5ad14b3b"},
- {file = "scikit_learn-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0203c368058ab92efc6168a1507d388d41469c873e96ec220ca8e74079bf62e"},
- {file = "scikit_learn-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44c62f2b124848a28fd695db5bc4da019287abf390bfce602ddc8aa1ec186aae"},
- {file = "scikit_learn-1.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:5cd7b524115499b18b63f0c96f4224eb885564937a0b3477531b2b63ce331904"},
- {file = "scikit_learn-1.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:90378e1747949f90c8f385898fff35d73193dfcaec3dd75d6b542f90c4e89755"},
- {file = "scikit_learn-1.4.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be"},
- {file = "scikit_learn-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:671e2f0c3f2c15409dae4f282a3a619601fa824d2c820e5b608d9d775f91780c"},
- {file = "scikit_learn-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d36d0bc983336bbc1be22f9b686b50c964f593c8a9a913a792442af9bf4f5e68"},
- {file = "scikit_learn-1.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928"},
- {file = "scikit_learn-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d9993d5e78a8148b1d0fdf5b15ed92452af5581734129998c26f481c46586d68"},
- {file = "scikit_learn-1.4.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:426d258fddac674fdf33f3cb2d54d26f49406e2599dbf9a32b4d1696091d4256"},
- {file = "scikit_learn-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5460a1a5b043ae5ae4596b3126a4ec33ccba1b51e7ca2c5d36dac2169f62ab1d"},
- {file = "scikit_learn-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49d64ef6cb8c093d883e5a36c4766548d974898d378e395ba41a806d0e824db8"},
- {file = "scikit_learn-1.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:c97a50b05c194be9146d61fe87dbf8eac62b203d9e87a3ccc6ae9aed2dfaf361"},
-]
-
-[package.dependencies]
-joblib = ">=1.2.0"
-numpy = ">=1.19.5"
-scipy = ">=1.6.0"
-threadpoolctl = ">=2.0.0"
-
-[package.extras]
-benchmark = ["matplotlib (>=3.3.4)", "memory-profiler (>=0.57.0)", "pandas (>=1.1.5)"]
-docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory-profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=6.0.0)", "sphinx-copybutton (>=0.5.2)", "sphinx-gallery (>=0.15.0)", "sphinx-prompt (>=1.3.0)", "sphinxext-opengraph (>=0.4.2)"]
-examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"]
-tests = ["black (>=23.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.3)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.19.12)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.0.272)", "scikit-image (>=0.17.2)"]
-
-[[package]]
-name = "scipy"
-version = "1.14.0"
-description = "Fundamental algorithms for scientific computing in Python"
-optional = false
-python-versions = ">=3.10"
-files = [
- {file = "scipy-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7e911933d54ead4d557c02402710c2396529540b81dd554fc1ba270eb7308484"},
- {file = "scipy-1.14.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:687af0a35462402dd851726295c1a5ae5f987bd6e9026f52e9505994e2f84ef6"},
- {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:07e179dc0205a50721022344fb85074f772eadbda1e1b3eecdc483f8033709b7"},
- {file = "scipy-1.14.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6a9c9a9b226d9a21e0a208bdb024c3982932e43811b62d202aaf1bb59af264b1"},
- {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076c27284c768b84a45dcf2e914d4000aac537da74236a0d45d82c6fa4b7b3c0"},
- {file = "scipy-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42470ea0195336df319741e230626b6225a740fd9dce9642ca13e98f667047c0"},
- {file = "scipy-1.14.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:176c6f0d0470a32f1b2efaf40c3d37a24876cebf447498a4cefb947a79c21e9d"},
- {file = "scipy-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad36af9626d27a4326c8e884917b7ec321d8a1841cd6dacc67d2a9e90c2f0359"},
- {file = "scipy-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6d056a8709ccda6cf36cdd2eac597d13bc03dba38360f418560a93050c76a16e"},
- {file = "scipy-1.14.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f0a50da861a7ec4573b7c716b2ebdcdf142b66b756a0d392c236ae568b3a93fb"},
- {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:94c164a9e2498e68308e6e148646e486d979f7fcdb8b4cf34b5441894bdb9caf"},
- {file = "scipy-1.14.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a7d46c3e0aea5c064e734c3eac5cf9eb1f8c4ceee756262f2c7327c4c2691c86"},
- {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9eee2989868e274aae26125345584254d97c56194c072ed96cb433f32f692ed8"},
- {file = "scipy-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e3154691b9f7ed73778d746da2df67a19d046a6c8087c8b385bc4cdb2cfca74"},
- {file = "scipy-1.14.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c40003d880f39c11c1edbae8144e3813904b10514cd3d3d00c277ae996488cdb"},
- {file = "scipy-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:5b083c8940028bb7e0b4172acafda6df762da1927b9091f9611b0bcd8676f2bc"},
- {file = "scipy-1.14.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff2438ea1330e06e53c424893ec0072640dac00f29c6a43a575cbae4c99b2b9"},
- {file = "scipy-1.14.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:bbc0471b5f22c11c389075d091d3885693fd3f5e9a54ce051b46308bc787e5d4"},
- {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:64b2ff514a98cf2bb734a9f90d32dc89dc6ad4a4a36a312cd0d6327170339eb0"},
- {file = "scipy-1.14.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:7d3da42fbbbb860211a811782504f38ae7aaec9de8764a9bef6b262de7a2b50f"},
- {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d91db2c41dd6c20646af280355d41dfa1ec7eead235642178bd57635a3f82209"},
- {file = "scipy-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01cc03bcdc777c9da3cfdcc74b5a75caffb48a6c39c8450a9a05f82c4250a14"},
- {file = "scipy-1.14.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:65df4da3c12a2bb9ad52b86b4dcf46813e869afb006e58be0f516bc370165159"},
- {file = "scipy-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:4c4161597c75043f7154238ef419c29a64ac4a7c889d588ea77690ac4d0d9b20"},
- {file = "scipy-1.14.0.tar.gz", hash = "sha256:b5923f48cb840380f9854339176ef21763118a7300a88203ccd0bdd26e58527b"},
-]
-
-[package.dependencies]
-numpy = ">=1.23.5,<2.3"
-
-[package.extras]
-dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"]
-doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0)", "sphinx-design (>=0.4.0)"]
-test = ["Cython", "array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"]
-
-[[package]]
-name = "setuptools"
-version = "71.1.0"
-description = "Easily download, build, install, upgrade, and uninstall Python packages"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "setuptools-71.1.0-py3-none-any.whl", hash = "sha256:33874fdc59b3188304b2e7c80d9029097ea31627180896fb549c578ceb8a0855"},
- {file = "setuptools-71.1.0.tar.gz", hash = "sha256:032d42ee9fb536e33087fb66cac5f840eb9391ed05637b3f2a76a7c8fb477936"},
-]
-
-[package.extras]
-core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "ordered-set (>=3.1.1)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
-doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.11.*)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (<0.4)", "pytest-ruff (>=0.2.1)", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-
-[[package]]
-name = "shap"
-version = "0.46.0"
-description = "A unified approach to explain the output of any machine learning model."
-optional = false
-python-versions = ">=3.9"
-files = [
- {file = "shap-0.46.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:905b2d7a0262ef820785a7c0e3c7f24c9d281e6f934edb65cbe811fe0e971187"},
- {file = "shap-0.46.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bccbb30ffbf8b9ed53e476d0c1319fdfcbeac455fe9df277fb0d570d92790e80"},
- {file = "shap-0.46.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9633d3d7174acc01455538169ca6e6344f570530384548631aeadcf7bfdaaaea"},
- {file = "shap-0.46.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6097eb2ab7e8c194254bac3e462266490fbdd43bfe35a1014e9ee21c4ef10ee"},
- {file = "shap-0.46.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0cf7c6e3f056cf3bfd16bcfd5744d0cc25b851555b1e750a3ab889b3077d2d05"},
- {file = "shap-0.46.0-cp310-cp310-win_amd64.whl", hash = "sha256:949bd7fa40371c3f1885a30ae0611dd481bf4ac90066ff726c73cb5bb393032b"},
- {file = "shap-0.46.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f18217c98f39fd485d541f6aab0b860b3be74b69b21d4faf11959e3fcba765c5"},
- {file = "shap-0.46.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5bbdae4489577c6fce1cfe2d9d8f3d5b96d69284d29645fe651f78f6e965aeb4"},
- {file = "shap-0.46.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13d36dc58d1e8c010feb4e7da71c77d23626a52d12d16b02869e793b11be4695"},
- {file = "shap-0.46.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70e06fdfdf53d5fb932c82f4529397552b262e0ccce734f5226fb1e1eab2bc3e"},
- {file = "shap-0.46.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:943f0806fa00b4fafb174f172a73d88de2d8600e6d69c2e2bff833f00e6c4c21"},
- {file = "shap-0.46.0-cp311-cp311-win_amd64.whl", hash = "sha256:c972a2efdc9fc00d543efaa55805eca947b8c418d065962d967824c2d5d295d0"},
- {file = "shap-0.46.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a9cc9be191562bea1a782baff912854d267c6f4831bbf454d8d7bb7df7ddb214"},
- {file = "shap-0.46.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab1fecfb43604605be17e26ae12bde4406c451c46b54b980d9570cec03fbc239"},
- {file = "shap-0.46.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b216adf2a17b0e0694f17965ac29354ca8c4f27ac3c66f68bf6fc4cb2aa28207"},
- {file = "shap-0.46.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6e5dc5257b747a784f7a9b3acb64216a9011f01734f3c96b27fe5e15ae5f99f"},
- {file = "shap-0.46.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1230bf973463041dfa15734f290fbf3ab9c6e4e8222339c76f68fc355b940d80"},
- {file = "shap-0.46.0-cp312-cp312-win_amd64.whl", hash = "sha256:0cbbf996537b2a42d3bc7f2a13492988822ee1bfd7220700989408dfb9e1c5ad"},
- {file = "shap-0.46.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c7d0c53a8cbefb2260ce28a98fa866c1a287770981f95c40a54f9d1082cbb31"},
- {file = "shap-0.46.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0726f8c63f09dde586c9859ad315641f5a080e9aecf123a0cabc336b61703d66"},
- {file = "shap-0.46.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99edc28daac4cbb98cd9f02febf4e9fbc6b9e3d24519c22ed59a98c68c47336c"},
- {file = "shap-0.46.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85a6ff9c9e15abd9a332360cff8d105165a600466167d6274dab468a050d005a"},
- {file = "shap-0.46.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9f9f9727839e2459dfa4b4fbc190224e87f7b4b2a29f0e2a438500215921192b"},
- {file = "shap-0.46.0-cp39-cp39-win_amd64.whl", hash = "sha256:b169b485a69f7d32e32fa64ad77be00129436c4455b9d0997b21b553f0becc8c"},
- {file = "shap-0.46.0.tar.gz", hash = "sha256:bdaa5b098be5a958348015e940f6fd264339b5db1e651f9898a3117be95b05a0"},
-]
-
-[package.dependencies]
-cloudpickle = "*"
-numba = "*"
-numpy = "*"
-packaging = ">20.9"
-pandas = "*"
-scikit-learn = "*"
-scipy = "*"
-slicer = "0.0.8"
-tqdm = ">=4.27.0"
-
-[package.extras]
-docs = ["ipython", "matplotlib", "myst-parser (==2.0.0)", "nbsphinx (==0.9.3)", "numpydoc", "requests", "sphinx (==7.2.6)", "sphinx-github-changelog (==1.2.1)", "sphinx-rtd-theme (==2.0.0)"]
-others = ["lime"]
-plots = ["ipython", "matplotlib"]
-test = ["catboost", "gpboost", "lightgbm", "ngboost", "opencv-python", "protobuf (==3.20.3)", "pyod", "pyspark", "pytest", "pytest-cov", "pytest-mpl", "sentencepiece", "tensorflow", "tf-keras", "torch", "torch (==2.2.0)", "torchvision", "transformers", "xgboost"]
-test-core = ["pytest", "pytest-cov", "pytest-mpl"]
-test-notebooks = ["datasets", "jupyter", "keras", "nbconvert", "nbformat", "nlp", "transformers"]
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
-[[package]]
-name = "slicer"
-version = "0.0.8"
-description = "A small package for big slicing."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "slicer-0.0.8-py3-none-any.whl", hash = "sha256:6c206258543aecd010d497dc2eca9d2805860a0b3758673903456b7df7934dc3"},
- {file = "slicer-0.0.8.tar.gz", hash = "sha256:2e7553af73f0c0c2d355f4afcc3ecf97c6f2156fcf4593955c3f56cf6c4d6eb7"},
-]
-
-[[package]]
-name = "smmap"
-version = "5.0.1"
-description = "A pure Python implementation of a sliding window memory map manager"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"},
- {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"},
-]
-
-[[package]]
-name = "sqlalchemy"
-version = "2.0.31"
-description = "Database Abstraction Library"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-win32.whl", hash = "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be"},
- {file = "SQLAlchemy-2.0.31-cp310-cp310-win_amd64.whl", hash = "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-win32.whl", hash = "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac"},
- {file = "SQLAlchemy-2.0.31-cp311-cp311-win_amd64.whl", hash = "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-win32.whl", hash = "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96"},
- {file = "SQLAlchemy-2.0.31-cp312-cp312-win_amd64.whl", hash = "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-win32.whl", hash = "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f"},
- {file = "SQLAlchemy-2.0.31-cp37-cp37m-win_amd64.whl", hash = "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-win32.whl", hash = "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227"},
- {file = "SQLAlchemy-2.0.31-cp38-cp38-win_amd64.whl", hash = "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-win32.whl", hash = "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9"},
- {file = "SQLAlchemy-2.0.31-cp39-cp39-win_amd64.whl", hash = "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc"},
- {file = "SQLAlchemy-2.0.31-py3-none-any.whl", hash = "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911"},
- {file = "SQLAlchemy-2.0.31.tar.gz", hash = "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484"},
-]
-
-[package.dependencies]
-greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"}
-typing-extensions = ">=4.6.0"
-
-[package.extras]
-aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"]
-aioodbc = ["aioodbc", "greenlet (!=0.4.17)"]
-aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"]
-asyncio = ["greenlet (!=0.4.17)"]
-asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"]
-mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"]
-mssql = ["pyodbc"]
-mssql-pymssql = ["pymssql"]
-mssql-pyodbc = ["pyodbc"]
-mypy = ["mypy (>=0.910)"]
-mysql = ["mysqlclient (>=1.4.0)"]
-mysql-connector = ["mysql-connector-python"]
-oracle = ["cx_oracle (>=8)"]
-oracle-oracledb = ["oracledb (>=1.0.1)"]
-postgresql = ["psycopg2 (>=2.7)"]
-postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"]
-postgresql-pg8000 = ["pg8000 (>=1.29.1)"]
-postgresql-psycopg = ["psycopg (>=3.0.7)"]
-postgresql-psycopg2binary = ["psycopg2-binary"]
-postgresql-psycopg2cffi = ["psycopg2cffi"]
-postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"]
-pymysql = ["pymysql"]
-sqlcipher = ["sqlcipher3_binary"]
-
-[[package]]
-name = "sqlparse"
-version = "0.5.1"
-description = "A non-validating SQL parser."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "sqlparse-0.5.1-py3-none-any.whl", hash = "sha256:773dcbf9a5ab44a090f3441e2180efe2560220203dc2f8c0b0fa141e18b505e4"},
- {file = "sqlparse-0.5.1.tar.gz", hash = "sha256:bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e"},
-]
-
-[package.extras]
-dev = ["build", "hatch"]
-doc = ["sphinx"]
-
-[[package]]
-name = "stack-data"
-version = "0.6.3"
-description = "Extract data from python stack frames and tracebacks for informative displays"
-optional = false
-python-versions = "*"
-files = [
- {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"},
- {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"},
-]
-
-[package.dependencies]
-asttokens = ">=2.1.0"
-executing = ">=1.2.0"
-pure-eval = "*"
-
-[package.extras]
-tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"]
-
-[[package]]
-name = "stevedore"
-version = "5.2.0"
-description = "Manage dynamic plugins for Python applications"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "stevedore-5.2.0-py3-none-any.whl", hash = "sha256:1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9"},
- {file = "stevedore-5.2.0.tar.gz", hash = "sha256:46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d"},
-]
-
-[package.dependencies]
-pbr = ">=2.0.0,<2.1.0 || >2.1.0"
-
-[[package]]
-name = "tenacity"
-version = "8.5.0"
-description = "Retry code until it succeeds"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "tenacity-8.5.0-py3-none-any.whl", hash = "sha256:b594c2a5945830c267ce6b79a166228323ed52718f30302c1359836112346687"},
- {file = "tenacity-8.5.0.tar.gz", hash = "sha256:8bc6c0c8a09b31e6cad13c47afbed1a567518250a9a171418582ed8d9c20ca78"},
-]
-
-[package.extras]
-doc = ["reno", "sphinx"]
-test = ["pytest", "tornado (>=4.5)", "typeguard"]
-
-[[package]]
-name = "termcolor"
-version = "2.4.0"
-description = "ANSI color formatting for output in terminal"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "termcolor-2.4.0-py3-none-any.whl", hash = "sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63"},
- {file = "termcolor-2.4.0.tar.gz", hash = "sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a"},
-]
-
-[package.extras]
-tests = ["pytest", "pytest-cov"]
-
-[[package]]
-name = "threadpoolctl"
-version = "3.5.0"
-description = "threadpoolctl"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"},
- {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"},
-]
-
-[[package]]
-name = "tomlkit"
-version = "0.13.0"
-description = "Style preserving TOML library"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"},
- {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"},
-]
-
-[[package]]
-name = "tornado"
-version = "6.4.1"
-description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"},
- {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"},
- {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"},
- {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"},
- {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"},
- {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"},
- {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"},
- {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"},
- {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"},
- {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"},
- {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"},
-]
-
-[[package]]
-name = "tqdm"
-version = "4.66.4"
-description = "Fast, Extensible Progress Meter"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"},
- {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "platform_system == \"Windows\""}
-
-[package.extras]
-dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"]
-notebook = ["ipywidgets (>=6)"]
-slack = ["slack-sdk"]
-telegram = ["requests"]
-
-[[package]]
-name = "traitlets"
-version = "5.14.3"
-description = "Traitlets Python configuration system"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"},
- {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"},
-]
-
-[package.extras]
-docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"]
-test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"]
-
-[[package]]
-name = "typeguard"
-version = "4.3.0"
-description = "Run-time type checker for Python"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "typeguard-4.3.0-py3-none-any.whl", hash = "sha256:4d24c5b39a117f8a895b9da7a9b3114f04eb63bade45a4492de49b175b6f7dfa"},
- {file = "typeguard-4.3.0.tar.gz", hash = "sha256:92ee6a0aec9135181eae6067ebd617fd9de8d75d714fb548728a4933b1dea651"},
-]
-
-[package.dependencies]
-typing-extensions = ">=4.10.0"
-
-[package.extras]
-doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)"]
-test = ["coverage[toml] (>=7)", "mypy (>=1.2.0)", "pytest (>=7)"]
-
-[[package]]
-name = "types-pytz"
-version = "2024.1.0.20240417"
-description = "Typing stubs for pytz"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "types-pytz-2024.1.0.20240417.tar.gz", hash = "sha256:6810c8a1f68f21fdf0f4f374a432487c77645a0ac0b31de4bf4690cf21ad3981"},
- {file = "types_pytz-2024.1.0.20240417-py3-none-any.whl", hash = "sha256:8335d443310e2db7b74e007414e74c4f53b67452c0cb0d228ca359ccfba59659"},
-]
-
-[[package]]
-name = "typing-extensions"
-version = "4.12.2"
-description = "Backported and Experimental Type Hints for Python 3.8+"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
- {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
-]
-
-[[package]]
-name = "typing-inspect"
-version = "0.9.0"
-description = "Runtime inspection utilities for typing module."
-optional = false
-python-versions = "*"
-files = [
- {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"},
- {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"},
-]
-
-[package.dependencies]
-mypy-extensions = ">=0.3.0"
-typing-extensions = ">=3.7.4"
-
-[[package]]
-name = "tzdata"
-version = "2024.1"
-description = "Provider of IANA time zone data"
-optional = false
-python-versions = ">=2"
-files = [
- {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"},
- {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"},
-]
-
-[[package]]
-name = "urllib3"
-version = "2.2.2"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"},
- {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"},
-]
-
-[package.extras]
-brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
-h2 = ["h2 (>=4,<5)"]
-socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
-zstd = ["zstandard (>=0.18.0)"]
-
-[[package]]
-name = "virtualenv"
-version = "20.26.3"
-description = "Virtual Python Environment builder"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"},
- {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"},
-]
-
-[package.dependencies]
-distlib = ">=0.3.7,<1"
-filelock = ">=3.12.2,<4"
-platformdirs = ">=3.9.1,<5"
-
-[package.extras]
-docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"]
-
-[[package]]
-name = "waitress"
-version = "3.0.0"
-description = "Waitress WSGI server"
-optional = false
-python-versions = ">=3.8.0"
-files = [
- {file = "waitress-3.0.0-py3-none-any.whl", hash = "sha256:2a06f242f4ba0cc563444ca3d1998959447477363a2d7e9b8b4d75d35cfd1669"},
- {file = "waitress-3.0.0.tar.gz", hash = "sha256:005da479b04134cdd9dd602d1ee7c49d79de0537610d653674cc6cbde222b8a1"},
-]
-
-[package.extras]
-docs = ["Sphinx (>=1.8.1)", "docutils", "pylons-sphinx-themes (>=1.0.9)"]
-testing = ["coverage (>=5.0)", "pytest", "pytest-cov"]
-
-[[package]]
-name = "wcwidth"
-version = "0.2.13"
-description = "Measures the displayed width of unicode strings in a terminal"
-optional = false
-python-versions = "*"
-files = [
- {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
- {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
-]
-
-[[package]]
-name = "werkzeug"
-version = "3.0.3"
-description = "The comprehensive WSGI web application library."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8"},
- {file = "werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18"},
-]
-
-[package.dependencies]
-MarkupSafe = ">=2.1.1"
-
-[package.extras]
-watchdog = ["watchdog (>=2.3)"]
-
-[[package]]
-name = "win32-setctime"
-version = "1.1.0"
-description = "A small Python utility to set file creation time on Windows"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"},
- {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"},
-]
-
-[package.extras]
-dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"]
-
-[[package]]
-name = "wrapt"
-version = "1.16.0"
-description = "Module for decorators, wrappers and monkey patching."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"},
- {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"},
- {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"},
- {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"},
- {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"},
- {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"},
- {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"},
- {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"},
- {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"},
- {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"},
- {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"},
- {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"},
- {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"},
- {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"},
- {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"},
- {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"},
- {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"},
- {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"},
- {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"},
- {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"},
- {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"},
- {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"},
- {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"},
- {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"},
- {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"},
- {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"},
- {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"},
- {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"},
- {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"},
- {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"},
- {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"},
- {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"},
- {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"},
- {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"},
- {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"},
- {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"},
- {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"},
- {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"},
- {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"},
- {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"},
- {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"},
- {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"},
-]
-
-[[package]]
-name = "zipp"
-version = "3.19.2"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"},
- {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"},
-]
-
-[package.extras]
-doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"]
-
-[metadata]
-lock-version = "2.0"
-python-versions = "^3.12"
-content-hash = "439e0ec832a7a41a1e40103b0128f30ae7dc1849b3962c74afb7910fc9ca91bd"
diff --git a/poetry.toml b/poetry.toml
deleted file mode 100644
index 7783e1b..0000000
--- a/poetry.toml
+++ /dev/null
@@ -1,5 +0,0 @@
-# https://python-poetry.org/docs/configuration/
-
-[virtualenvs]
-in-project = true
-prefer-active-python = true
diff --git a/pyproject.toml b/pyproject.toml
index 68b7abf..2ed67ee 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,72 +1,75 @@
-# https://python-poetry.org/docs/pyproject/
+# https://docs.astral.sh/uv/reference/settings/
+# https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
# PROJECT
-[tool.poetry]
+[project]
name = "bikes"
-version = "2.0.0"
+version = "3.0.0"
description = "Predict the number of bikes available."
-repository = "https://github.com/fmind/mlops-python-package"
-documentation = "https://fmind.github.io/mlops-python-package/"
-authors = ["Médéric HURIER "]
+authors = [{ name = "Médéric HURIER", email = "github@fmind.dev" }]
readme = "README.md"
-license = "MIT"
+requires-python = ">=3.12"
+dependencies = [
+ "loguru>=0.7.2",
+ "matplotlib>=3.9.3",
+ "mlflow>=2.19.0",
+ "numba>=0.60.0",
+ "numpy>=2.0.2",
+ "omegaconf>=2.3.0",
+ "pandas>=2.2.3",
+ "pandera>=0.21.0",
+ "plotly>=5.24.1",
+ "plyer>=2.1.0",
+ "psutil>=6.1.0",
+ "pyarrow>=18.1.0",
+ "pydantic-settings>=2.6.1",
+ "pydantic>=2.10.3",
+ "pynvml>=12.0.0",
+ "scikit-learn>=1.5.2,<1.6.0",
+ "setuptools>=75.6.0",
+ "shap>=0.46.0",
+]
+license = { file = "LICENSE.txt" }
keywords = ["mlops", "python", "package"]
-packages = [{ include = "bikes", from = "src" }]
+
+# LINKS
+
+[project.urls]
+Homepage = "https://github.com/fmind/mlops-python-package"
+Documentation = "https://fmind.github.io/mlops-python-package/bikes.html"
+Repository = "https://github.com/fmind/mlops-python-package"
+"Bug Tracker" = "https://github.com/fmind/mlops-python-package/issues"
+Changelog = "https://github.com/fmind/mlops-python-package/blob/main/CHANGELOG.md"
# SCRIPTS
-[tool.poetry.scripts]
+[project.scripts]
bikes = 'bikes.scripts:main'
# DEPENDENCIES
-[tool.poetry.dependencies]
-python = "^3.12"
-loguru = "^0.7.2"
-matplotlib = "^3.9.0"
-mlflow = "^2.14.3"
-numpy = "^1.26.4"
-omegaconf = "^2.3.0"
-pandas = "^2.2.2"
-pandera = "^0.20.1"
-plotly = "^5.22.0"
-plyer = "^2.1.0"
-psutil = "^6.0.0"
-pyarrow = "^15.0.2"
-pydantic = "^2.7.4"
-pydantic-settings = "^2.3.4"
-pynvml = "^11.5.0"
-setuptools = "^71.1.0"
-scikit-learn = "1.4.2"
-shap = "^0.46.0"
-
-[tool.poetry.group.checks.dependencies]
-bandit = "^1.7.9"
-coverage = "^7.5.4"
-mypy = "^1.10.1"
-pytest = "^8.2.2"
-pytest-cov = "^5.0.0"
-pytest-xdist = "^3.6.1"
-pandera = { extras = ["mypy"], version = "^0.20.1" }
-ruff = "^0.5.0"
-pytest-mock = "^3.14.0"
-
-[tool.poetry.group.commits.dependencies]
-commitizen = "^3.27.0"
-pre-commit = "^3.7.1"
-
-[tool.poetry.group.dev.dependencies]
-invoke = "^2.2.0"
-
-[tool.poetry.group.docs.dependencies]
-pdoc = "^14.5.1"
-
-[tool.poetry.group.notebooks.dependencies]
-ipykernel = "^6.29.4"
-nbformat = "^5.10.4"
-
-# CONFIGURATIONS
+[dependency-groups]
+checks = [
+ "bandit>=1.8.0",
+ "coverage>=7.6.8",
+ "mypy>=1.13.0",
+ "pandera[mypy]>=0.21.0",
+ "pytest-cov>=6.0.0",
+ "pytest-mock>=3.14.0",
+ "pytest-xdist>=3.6.1",
+ "pytest>=8.3.3",
+ "ruff>=0.8.1",
+]
+commits = ["commitizen>=4.0.0", "pre-commit>=4.0.1"]
+dev = ["invoke>=2.2.0"]
+docs = ["pdoc>=15.0.0"]
+notebooks = ["ipykernel>=6.29.5", "nbformat>=5.10.4"]
+
+# TOOLS
+
+[tool.uv]
+default-groups = ["checks", "commits", "dev", "docs", "notebooks"]
[tool.bandit]
targets = ["src"]
@@ -75,7 +78,7 @@ targets = ["src"]
name = "cz_conventional_commits"
tag_format = "v$version"
version_scheme = "pep440"
-version_provider = "poetry"
+version_provider = "pep621"
changelog_start_rev = "v1.0.0"
update_changelog_on_bump = true
@@ -86,7 +89,6 @@ omit = ["__main__.py"]
[tool.mypy]
pretty = true
-strict = true
python_version = "3.12"
check_untyped_defs = true
ignore_missing_imports = true
@@ -114,5 +116,5 @@ convention = "google"
# SYSTEMS
[build-system]
-requires = ["poetry-core"]
-build-backend = "poetry.core.masonry.api"
+requires = ["hatchling"]
+build-backend = "hatchling.build"
diff --git a/python_env.yaml b/python_env.yaml
index ee99e49..f5377db 100644
--- a/python_env.yaml
+++ b/python_env.yaml
@@ -1,93 +1,163 @@
{
"python": "3.12",
"dependencies": [
- "alembic==1.13.2",
- "aniso8601==9.0.1",
+ "alembic==1.14.0",
"annotated-types==0.7.0",
"antlr4-python3-runtime==4.9.3",
- "blinker==1.8.2",
- "cachetools==5.4.0",
- "certifi==2024.7.4",
- "charset-normalizer==3.3.2",
+ "appnope==0.1.4",
+ "argcomplete==3.5.2",
+ "asttokens==3.0.0",
+ "attrs==24.2.0",
+ "bandit==1.8.0",
+ "blinker==1.9.0",
+ "cachetools==5.5.0",
+ "certifi==2024.12.14",
+ "cffi==1.17.1",
+ "cfgv==3.4.0",
+ "charset-normalizer==3.4.0",
"click==8.1.7",
- "cloudpickle==3.0.0",
+ "cloudpickle==3.1.0",
"colorama==0.4.6",
- "contourpy==1.2.1",
+ "comm==0.2.2",
+ "commitizen==4.1.0",
+ "contourpy==1.3.1",
+ "coverage==7.6.9",
"cycler==0.12.1",
- "deprecated==1.2.14",
+ "databricks-sdk==0.39.0",
+ "debugpy==1.8.11",
+ "decli==0.6.2",
+ "decorator==5.1.1",
+ "deprecated==1.2.15",
+ "distlib==0.3.9",
"docker==7.1.0",
- "entrypoints==0.4",
- "flask==3.0.3",
- "fonttools==4.53.1",
+ "execnet==2.1.1",
+ "executing==2.1.0",
+ "fastjsonschema==2.21.1",
+ "filelock==3.16.1",
+ "flask==3.1.0",
+ "fonttools==4.55.3",
"gitdb==4.0.11",
"gitpython==3.1.43",
- "graphene==3.3",
- "graphql-core==3.2.3",
+ "google-auth==2.37.0",
+ "graphene==3.4.3",
+ "graphql-core==3.2.5",
"graphql-relay==3.2.0",
- "greenlet==3.0.3",
- "gunicorn==22.0.0",
- "idna==3.7",
- "importlib-metadata==7.2.1",
+ "greenlet==3.1.1",
+ "gunicorn==23.0.0",
+ "identify==2.6.3",
+ "idna==3.10",
+ "importlib-metadata==8.5.0",
+ "iniconfig==2.0.0",
+ "ipykernel==6.29.5",
+ "ipython==8.18.0",
"itsdangerous==2.2.0",
+ "jedi==0.19.2",
"jinja2==3.1.4",
"joblib==1.4.2",
- "kiwisolver==1.4.5",
+ "jsonschema==4.23.0",
+ "jsonschema-specifications==2024.10.1",
+ "jupyter-client==8.6.3",
+ "jupyter-core==5.7.2",
+ "kiwisolver==1.4.7",
"llvmlite==0.43.0",
- "loguru==0.7.2",
- "mako==1.3.5",
- "markdown==3.6",
- "markupsafe==2.1.5",
- "matplotlib==3.9.1",
- "mlflow==2.14.3",
- "multimethod==1.10",
+ "loguru==0.7.3",
+ "mako==1.3.8",
+ "markdown==3.7",
+ "markdown-it-py==3.0.0",
+ "markupsafe==3.0.2",
+ "matplotlib==3.10.0",
+ "matplotlib-inline==0.1.7",
+ "mdurl==0.1.2",
+ "mlflow==2.19.0",
+ "mlflow-skinny==2.19.0",
+ "multimethod==1.12",
+ "mypy==1.13.0",
"mypy-extensions==1.0.0",
+ "nbformat==5.10.4",
+ "nest-asyncio==1.6.0",
+ "nodeenv==1.9.1",
"numba==0.60.0",
- "numpy==1.26.4",
+ "numpy==2.0.2",
+ "nvidia-ml-py==12.560.30",
"omegaconf==2.3.0",
- "opentelemetry-api==1.26.0",
- "opentelemetry-sdk==1.26.0",
- "opentelemetry-semantic-conventions==0.47b0",
- "packaging==24.1",
- "pandas==2.2.2",
- "pandera==0.20.3",
- "pillow==10.4.0",
- "plotly==5.23.0",
+ "opentelemetry-api==1.29.0",
+ "opentelemetry-sdk==1.29.0",
+ "opentelemetry-semantic-conventions==0.50b0",
+ "packaging==24.2",
+ "pandas==2.2.3",
+ "pandas-stubs==2.2.3.241126",
+ "pandera==0.21.1",
+ "parso==0.8.4",
+ "pbr==6.1.0",
+ "pdoc==15.0.1",
+ "pexpect==4.9.0",
+ "pillow==11.0.0",
+ "platformdirs==4.3.6",
+ "plotly==5.24.1",
+ "pluggy==1.5.0",
"plyer==2.1.0",
- "protobuf==4.25.4",
- "psutil==6.0.0",
- "pyarrow==15.0.2",
- "pydantic-core==2.20.1",
- "pydantic-settings==2.3.4",
- "pydantic==2.8.2",
- "pynvml==11.5.3",
- "pyparsing==3.1.2",
+ "pre-commit==4.0.1",
+ "prompt-toolkit==3.0.36",
+ "protobuf==5.29.1",
+ "psutil==6.1.0",
+ "ptyprocess==0.7.0",
+ "pure-eval==0.2.3",
+ "pyarrow==18.1.0",
+ "pyasn1==0.6.1",
+ "pyasn1-modules==0.4.1",
+ "pycparser==2.22",
+ "pydantic==2.10.3",
+ "pydantic-core==2.27.1",
+ "pydantic-settings==2.7.0",
+ "pygments==2.18.0",
+ "pynvml==12.0.0",
+ "pyparsing==3.2.0",
+ "pytest==8.3.4",
+ "pytest-cov==6.0.0",
+ "pytest-mock==3.14.0",
+ "pytest-xdist==3.6.1",
"python-dateutil==2.9.0.post0",
"python-dotenv==1.0.1",
- "pytz==2024.1",
- "pyyaml==6.0.1",
- "querystring-parser==1.2.4",
+ "pytz==2024.2",
+ "pyyaml==6.0.2",
+ "pyzmq==26.2.0",
+ "questionary==2.0.1",
+ "referencing==0.35.1",
"requests==2.32.3",
- "scikit-learn==1.4.2",
- "scipy==1.14.0",
- "setuptools==71.1.0",
+ "rich==13.9.4",
+ "rpds-py==0.22.3",
+ "rsa==4.9",
+ "ruff==0.8.3",
+ "scikit-learn==1.5.2",
+ "scipy==1.14.1",
+ "setuptools==75.6.0",
"shap==0.46.0",
- "six==1.16.0",
+ "six==1.17.0",
"slicer==0.0.8",
"smmap==5.0.1",
- "sqlalchemy==2.0.31",
- "sqlparse==0.5.1",
- "tenacity==8.5.0",
+ "sqlalchemy==2.0.36",
+ "sqlparse==0.5.3",
+ "stack-data==0.6.3",
+ "stevedore==5.4.0",
+ "tenacity==9.0.0",
+ "termcolor==2.5.0",
"threadpoolctl==3.5.0",
- "tqdm==4.66.4",
- "typeguard==4.3.0",
+ "tomlkit==0.13.2",
+ "tornado==6.4.2",
+ "tqdm==4.67.1",
+ "traitlets==5.14.3",
+ "typeguard==4.4.1",
+ "types-pytz==2024.2.0.20241003",
"typing-extensions==4.12.2",
"typing-inspect==0.9.0",
- "tzdata==2024.1",
- "urllib3==2.2.2",
- "waitress==3.0.0",
- "werkzeug==3.0.3",
- "win32-setctime==1.1.0",
- "wrapt==1.16.0",
- "zipp==3.19.2"
+ "tzdata==2024.2",
+ "urllib3==2.2.3",
+ "virtualenv==20.28.0",
+ "waitress==3.0.2",
+ "wcwidth==0.2.13",
+ "werkzeug==3.1.3",
+ "win32-setctime==1.2.0",
+ "wrapt==1.17.0",
+ "zipp==3.21.0"
]
}
diff --git a/requirements.txt b/requirements.txt
index 5221e74..4d576c8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,89 +1,161 @@
-alembic==1.13.2 ; python_version >= "3.12" and python_version < "4.0"
-aniso8601==9.0.1 ; python_version >= "3.12" and python_version < "4.0"
-annotated-types==0.7.0 ; python_version >= "3.12" and python_version < "4.0"
-antlr4-python3-runtime==4.9.3 ; python_version >= "3.12" and python_version < "4.0"
-blinker==1.8.2 ; python_version >= "3.12" and python_version < "4.0"
-cachetools==5.4.0 ; python_version >= "3.12" and python_version < "4.0"
-certifi==2024.7.4 ; python_version >= "3.12" and python_version < "4.0"
-charset-normalizer==3.3.2 ; python_version >= "3.12" and python_version < "4.0"
-click==8.1.7 ; python_version >= "3.12" and python_version < "4.0"
-cloudpickle==3.0.0 ; python_version >= "3.12" and python_version < "4.0"
-colorama==0.4.6 ; python_version >= "3.12" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows")
-contourpy==1.2.1 ; python_version >= "3.12" and python_version < "4.0"
-cycler==0.12.1 ; python_version >= "3.12" and python_version < "4.0"
-deprecated==1.2.14 ; python_version >= "3.12" and python_version < "4.0"
-docker==7.1.0 ; python_version >= "3.12" and python_version < "4.0"
-entrypoints==0.4 ; python_version >= "3.12" and python_version < "4.0"
-flask==3.0.3 ; python_version >= "3.12" and python_version < "4.0"
-fonttools==4.53.1 ; python_version >= "3.12" and python_version < "4.0"
-gitdb==4.0.11 ; python_version >= "3.12" and python_version < "4.0"
-gitpython==3.1.43 ; python_version >= "3.12" and python_version < "4.0"
-graphene==3.3 ; python_version >= "3.12" and python_version < "4.0"
-graphql-core==3.2.3 ; python_version >= "3.12" and python_version < "4"
-graphql-relay==3.2.0 ; python_version >= "3.12" and python_version < "4"
-greenlet==3.0.3 ; python_version < "3.13" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") and python_version >= "3.12"
-gunicorn==22.0.0 ; python_version >= "3.12" and python_version < "4.0" and platform_system != "Windows"
-idna==3.7 ; python_version >= "3.12" and python_version < "4.0"
-importlib-metadata==7.2.1 ; python_version >= "3.12" and python_version < "4.0"
-itsdangerous==2.2.0 ; python_version >= "3.12" and python_version < "4.0"
-jinja2==3.1.4 ; python_version >= "3.12" and python_version < "4.0"
-joblib==1.4.2 ; python_version >= "3.12" and python_version < "4.0"
-kiwisolver==1.4.5 ; python_version >= "3.12" and python_version < "4.0"
-llvmlite==0.43.0 ; python_version >= "3.12" and python_version < "4.0"
-loguru==0.7.2 ; python_version >= "3.12" and python_version < "4.0"
-mako==1.3.5 ; python_version >= "3.12" and python_version < "4.0"
-markdown==3.6 ; python_version >= "3.12" and python_version < "4.0"
-markupsafe==2.1.5 ; python_version >= "3.12" and python_version < "4.0"
-matplotlib==3.9.1 ; python_version >= "3.12" and python_version < "4.0"
-mlflow==2.14.3 ; python_version >= "3.12" and python_version < "4.0"
-multimethod==1.10 ; python_version >= "3.12" and python_version < "4.0"
-mypy-extensions==1.0.0 ; python_version >= "3.12" and python_version < "4.0"
-numba==0.60.0 ; python_version >= "3.12" and python_version < "4.0"
-numpy==1.26.4 ; python_version >= "3.12" and python_version < "4.0"
-omegaconf==2.3.0 ; python_version >= "3.12" and python_version < "4.0"
-opentelemetry-api==1.26.0 ; python_version >= "3.12" and python_version < "4.0"
-opentelemetry-sdk==1.26.0 ; python_version >= "3.12" and python_version < "4.0"
-opentelemetry-semantic-conventions==0.47b0 ; python_version >= "3.12" and python_version < "4.0"
-packaging==24.1 ; python_version >= "3.12" and python_version < "4.0"
-pandas==2.2.2 ; python_version >= "3.12" and python_version < "4.0"
-pandera==0.20.3 ; python_version >= "3.12" and python_version < "4.0"
-pillow==10.4.0 ; python_version >= "3.12" and python_version < "4.0"
-plotly==5.23.0 ; python_version >= "3.12" and python_version < "4.0"
-plyer==2.1.0 ; python_version >= "3.12" and python_version < "4.0"
-protobuf==4.25.4 ; python_version >= "3.12" and python_version < "4.0"
-psutil==6.0.0 ; python_version >= "3.12" and python_version < "4.0"
-pyarrow==15.0.2 ; python_version >= "3.12" and python_version < "4.0"
-pydantic-core==2.20.1 ; python_version >= "3.12" and python_version < "4.0"
-pydantic-settings==2.3.4 ; python_version >= "3.12" and python_version < "4.0"
-pydantic==2.8.2 ; python_version >= "3.12" and python_version < "4.0"
-pynvml==11.5.3 ; python_version >= "3.12" and python_version < "4.0"
-pyparsing==3.1.2 ; python_version >= "3.12" and python_version < "4.0"
-python-dateutil==2.9.0.post0 ; python_version >= "3.12" and python_version < "4.0"
-python-dotenv==1.0.1 ; python_version >= "3.12" and python_version < "4.0"
-pytz==2024.1 ; python_version >= "3.12" and python_version < "4.0"
-pywin32==306 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32"
-pyyaml==6.0.1 ; python_version >= "3.12" and python_version < "4.0"
-querystring-parser==1.2.4 ; python_version >= "3.12" and python_version < "4.0"
-requests==2.32.3 ; python_version >= "3.12" and python_version < "4.0"
-scikit-learn==1.4.2 ; python_version >= "3.12" and python_version < "4.0"
-scipy==1.14.0 ; python_version >= "3.12" and python_version < "4.0"
-setuptools==71.1.0 ; python_version >= "3.12" and python_version < "4.0"
-shap==0.46.0 ; python_version >= "3.12" and python_version < "4.0"
-six==1.16.0 ; python_version >= "3.12" and python_version < "4.0"
-slicer==0.0.8 ; python_version >= "3.12" and python_version < "4.0"
-smmap==5.0.1 ; python_version >= "3.12" and python_version < "4.0"
-sqlalchemy==2.0.31 ; python_version >= "3.12" and python_version < "4.0"
-sqlparse==0.5.1 ; python_version >= "3.12" and python_version < "4.0"
-tenacity==8.5.0 ; python_version >= "3.12" and python_version < "4.0"
-threadpoolctl==3.5.0 ; python_version >= "3.12" and python_version < "4.0"
-tqdm==4.66.4 ; python_version >= "3.12" and python_version < "4.0"
-typeguard==4.3.0 ; python_version >= "3.12" and python_version < "4.0"
-typing-extensions==4.12.2 ; python_version >= "3.12" and python_version < "4.0"
-typing-inspect==0.9.0 ; python_version >= "3.12" and python_version < "4.0"
-tzdata==2024.1 ; python_version >= "3.12" and python_version < "4.0"
-urllib3==2.2.2 ; python_version >= "3.12" and python_version < "4.0"
-waitress==3.0.0 ; python_version >= "3.12" and python_version < "4.0" and platform_system == "Windows"
-werkzeug==3.0.3 ; python_version >= "3.12" and python_version < "4.0"
-win32-setctime==1.1.0 ; python_version >= "3.12" and python_version < "4.0" and sys_platform == "win32"
-wrapt==1.16.0 ; python_version >= "3.12" and python_version < "4.0"
-zipp==3.19.2 ; python_version >= "3.12" and python_version < "4.0"
+# This file was autogenerated by uv via the following command:
+# uv export --format=requirements-txt --no-dev --no-hashes --no-editable --no-emit-project --output-file=requirements.txt
+alembic==1.14.0
+annotated-types==0.7.0
+antlr4-python3-runtime==4.9.3
+appnope==0.1.4 ; platform_system == 'Darwin'
+argcomplete==3.5.2
+asttokens==3.0.0
+attrs==24.2.0
+bandit==1.8.0
+blinker==1.9.0
+cachetools==5.5.0
+certifi==2024.12.14
+cffi==1.17.1 ; implementation_name == 'pypy'
+cfgv==3.4.0
+charset-normalizer==3.4.0
+click==8.1.7
+cloudpickle==3.1.0
+colorama==0.4.6
+comm==0.2.2
+commitizen==4.1.0
+contourpy==1.3.1
+coverage==7.6.9
+cycler==0.12.1
+databricks-sdk==0.39.0
+debugpy==1.8.11
+decli==0.6.2
+decorator==5.1.1
+deprecated==1.2.15
+distlib==0.3.9
+docker==7.1.0
+execnet==2.1.1
+executing==2.1.0
+fastjsonschema==2.21.1
+filelock==3.16.1
+flask==3.1.0
+fonttools==4.55.3
+gitdb==4.0.11
+gitpython==3.1.43
+google-auth==2.37.0
+graphene==3.4.3
+graphql-core==3.2.5
+graphql-relay==3.2.0
+greenlet==3.1.1 ; (python_full_version < '3.13' and platform_machine == 'AMD64') or (python_full_version < '3.13' and platform_machine == 'WIN32') or (python_full_version < '3.13' and platform_machine == 'aarch64') or (python_full_version < '3.13' and platform_machine == 'amd64') or (python_full_version < '3.13' and platform_machine == 'ppc64le') or (python_full_version < '3.13' and platform_machine == 'win32') or (python_full_version < '3.13' and platform_machine == 'x86_64')
+gunicorn==23.0.0 ; platform_system != 'Windows'
+identify==2.6.3
+idna==3.10
+importlib-metadata==8.5.0
+iniconfig==2.0.0
+ipykernel==6.29.5
+ipython==8.18.0
+itsdangerous==2.2.0
+jedi==0.19.2
+jinja2==3.1.4
+joblib==1.4.2
+jsonschema==4.23.0
+jsonschema-specifications==2024.10.1
+jupyter-client==8.6.3
+jupyter-core==5.7.2
+kiwisolver==1.4.7
+llvmlite==0.43.0
+loguru==0.7.3
+mako==1.3.8
+markdown==3.7
+markdown-it-py==3.0.0
+markupsafe==3.0.2
+matplotlib==3.10.0
+matplotlib-inline==0.1.7
+mdurl==0.1.2
+mlflow==2.19.0
+mlflow-skinny==2.19.0
+multimethod==1.12
+mypy==1.13.0
+mypy-extensions==1.0.0
+nbformat==5.10.4
+nest-asyncio==1.6.0
+nodeenv==1.9.1
+numba==0.60.0
+numpy==2.0.2
+nvidia-ml-py==12.560.30
+omegaconf==2.3.0
+opentelemetry-api==1.29.0
+opentelemetry-sdk==1.29.0
+opentelemetry-semantic-conventions==0.50b0
+packaging==24.2
+pandas==2.2.3
+pandas-stubs==2.2.3.241126
+pandera==0.21.1
+parso==0.8.4
+pbr==6.1.0
+pdoc==15.0.1
+pexpect==4.9.0 ; sys_platform != 'win32'
+pillow==11.0.0
+platformdirs==4.3.6
+plotly==5.24.1
+pluggy==1.5.0
+plyer==2.1.0
+pre-commit==4.0.1
+prompt-toolkit==3.0.36
+protobuf==5.29.1
+psutil==6.1.0
+ptyprocess==0.7.0 ; sys_platform != 'win32'
+pure-eval==0.2.3
+pyarrow==18.1.0
+pyasn1==0.6.1
+pyasn1-modules==0.4.1
+pycparser==2.22 ; implementation_name == 'pypy'
+pydantic==2.10.3
+pydantic-core==2.27.1
+pydantic-settings==2.7.0
+pygments==2.18.0
+pynvml==12.0.0
+pyparsing==3.2.0
+pytest==8.3.4
+pytest-cov==6.0.0
+pytest-mock==3.14.0
+pytest-xdist==3.6.1
+python-dateutil==2.9.0.post0
+python-dotenv==1.0.1
+pytz==2024.2
+pywin32==308 ; sys_platform == 'win32'
+pyyaml==6.0.2
+pyzmq==26.2.0
+questionary==2.0.1
+referencing==0.35.1
+requests==2.32.3
+rich==13.9.4
+rpds-py==0.22.3
+rsa==4.9
+ruff==0.8.3
+scikit-learn==1.5.2
+scipy==1.14.1
+setuptools==75.6.0
+shap==0.46.0
+six==1.17.0
+slicer==0.0.8
+smmap==5.0.1
+sqlalchemy==2.0.36
+sqlparse==0.5.3
+stack-data==0.6.3
+stevedore==5.4.0
+tenacity==9.0.0
+termcolor==2.5.0
+threadpoolctl==3.5.0
+tomlkit==0.13.2
+tornado==6.4.2
+tqdm==4.67.1
+traitlets==5.14.3
+typeguard==4.4.1
+types-pytz==2024.2.0.20241003
+typing-extensions==4.12.2
+typing-inspect==0.9.0
+tzdata==2024.2
+urllib3==2.2.3
+virtualenv==20.28.0
+waitress==3.0.2 ; platform_system == 'Windows'
+wcwidth==0.2.13
+werkzeug==3.1.3
+win32-setctime==1.2.0 ; sys_platform == 'win32'
+wrapt==1.17.0
+zipp==3.21.0
diff --git a/src/bikes/core/metrics.py b/src/bikes/core/metrics.py
index 37b64b5..04fb788 100644
--- a/src/bikes/core/metrics.py
+++ b/src/bikes/core/metrics.py
@@ -10,13 +10,14 @@
import mlflow
import pandas as pd
import pydantic as pdt
-from sklearn import metrics
+from mlflow.metrics import MetricValue
+from sklearn import metrics as sklearn_metrics
from bikes.core import models, schemas
# %% TYPINGS
-MlflowMetric: T.TypeAlias = mlflow.metrics.MetricValue
+MlflowMetric: T.TypeAlias = MetricValue
MlflowThreshold: T.TypeAlias = mlflow.models.MetricThreshold
MlflowModelValidationFailedException: T.TypeAlias = (
mlflow.models.evaluation.validation.ModelValidationFailedException
@@ -117,7 +118,7 @@ class SklearnMetric(Metric):
@T.override
def score(self, targets: schemas.Targets, outputs: schemas.Outputs) -> float:
- metric = getattr(metrics, self.name)
+ metric = getattr(sklearn_metrics, self.name)
sign = 1 if self.greater_is_better else -1
y_true = targets[schemas.TargetsSchema.cnt]
y_pred = outputs[schemas.OutputsSchema.prediction]
@@ -126,6 +127,7 @@ def score(self, targets: schemas.Targets, outputs: schemas.Outputs) -> float:
MetricKind = SklearnMetric
+MetricsKind: T.TypeAlias = list[T.Annotated[MetricKind, pdt.Field(discriminator="KIND")]]
# %% THRESHOLDS
diff --git a/src/bikes/core/models.py b/src/bikes/core/models.py
index dac1acc..22393c1 100644
--- a/src/bikes/core/models.py
+++ b/src/bikes/core/models.py
@@ -81,9 +81,6 @@ def predict(self, inputs: schemas.Inputs) -> schemas.Outputs:
def explain_model(self) -> schemas.FeatureImportances:
"""Explain the internal model structure.
- Raises:
- NotImplementedError: method not implemented.
-
Returns:
schemas.FeatureImportances: feature importances.
"""
@@ -92,9 +89,6 @@ def explain_model(self) -> schemas.FeatureImportances:
def explain_samples(self, inputs: schemas.Inputs) -> schemas.SHAPValues:
"""Explain model outputs on input samples.
- Raises:
- NotImplementedError: method not implemented.
-
Returns:
schemas.SHAPValues: SHAP values.
"""
@@ -141,7 +135,7 @@ class BaselineSklearnModel(Model):
"hum",
"windspeed",
"casual",
- # "registered", # too correlated with target
+ "registered", # too correlated with target
]
_categoricals: list[str] = [
"season",
@@ -163,7 +157,9 @@ def fit(self, inputs: schemas.Inputs, targets: schemas.Targets) -> "BaselineSkle
remainder="drop",
)
regressor = ensemble.RandomForestRegressor(
- max_depth=self.max_depth, n_estimators=self.n_estimators, random_state=self.random_state
+ max_depth=self.max_depth,
+ n_estimators=self.n_estimators,
+ random_state=self.random_state,
)
# pipeline
self._pipeline = pipeline.Pipeline(
@@ -189,10 +185,10 @@ def explain_model(self) -> schemas.FeatureImportances:
model = self.get_internal_model()
regressor = model.named_steps["regressor"]
transformer = model.named_steps["transformer"]
- column_names = transformer.get_feature_names_out()
+ feature = transformer.get_feature_names_out()
feature_importances = schemas.FeatureImportances(
data={
- "feature": column_names,
+ "feature": feature,
"importance": regressor.feature_importances_,
}
)
diff --git a/src/bikes/io/__init__.py b/src/bikes/io/__init__.py
index 2a8a67d..044aa70 100644
--- a/src/bikes/io/__init__.py
+++ b/src/bikes/io/__init__.py
@@ -1 +1 @@
-"""Components related to external operations."""
+"""Components related to external operations (inputs and outputs)."""
diff --git a/src/bikes/io/datasets.py b/src/bikes/io/datasets.py
index 623f69b..677c654 100644
--- a/src/bikes/io/datasets.py
+++ b/src/bikes/io/datasets.py
@@ -69,11 +69,12 @@ class ParquetReader(Reader):
KIND: T.Literal["ParquetReader"] = "ParquetReader"
path: str
+ backend: T.Literal["pyarrow", "numpy_nullable"] = "pyarrow"
@T.override
def read(self) -> pd.DataFrame:
# can't limit rows at read time
- data = pd.read_parquet(self.path)
+ data = pd.read_parquet(self.path, dtype_backend="pyarrow")
if self.limit is not None:
data = data.head(self.limit)
return data
@@ -87,7 +88,11 @@ def lineage(
predictions: str | None = None,
) -> Lineage:
return lineage.from_pandas(
- df=data, name=name, source=self.path, targets=targets, predictions=predictions
+ df=data,
+ name=name,
+ source=self.path,
+ targets=targets,
+ predictions=predictions,
)
diff --git a/src/bikes/io/registries.py b/src/bikes/io/registries.py
index 82a824d..c4e33be 100644
--- a/src/bikes/io/registries.py
+++ b/src/bikes/io/registries.py
@@ -7,6 +7,7 @@
import mlflow
import pydantic as pdt
+from mlflow.pyfunc import PyFuncModel, PythonModel, PythonModelContext
from bikes.core import models, schemas
from bikes.utils import signers
@@ -82,7 +83,10 @@ class Saver(abc.ABC, pdt.BaseModel, strict=True, frozen=True, extra="forbid"):
@abc.abstractmethod
def save(
- self, model: models.Model, signature: signers.Signature, input_example: schemas.Inputs
+ self,
+ model: models.Model,
+ signature: signers.Signature,
+ input_example: schemas.Inputs,
) -> Info:
"""Save a model in the model registry.
@@ -104,7 +108,7 @@ class CustomSaver(Saver):
KIND: T.Literal["CustomSaver"] = "CustomSaver"
- class Adapter(mlflow.pyfunc.PythonModel): # type: ignore[misc]
+ class Adapter(PythonModel): # type: ignore[misc]
"""Adapt a custom model to the Mlflow PyFunc flavor for saving operations.
https://mlflow.org/docs/latest/python_api/mlflow.pyfunc.html?#mlflow.pyfunc.PythonModel
@@ -120,14 +124,14 @@ def __init__(self, model: models.Model):
def predict(
self,
- context: mlflow.pyfunc.PythonModelContext,
+ context: PythonModelContext,
model_input: schemas.Inputs,
params: dict[str, T.Any] | None = None,
) -> schemas.Outputs:
"""Generate predictions with a custom model for the given inputs.
Args:
- context (mlflow.pyfunc.PythonModelContext): mlflow context.
+ context (mlflow.PythonModelContext): mlflow context.
model_input (schemas.Inputs): inputs for the mlflow model.
params (dict[str, T.Any] | None): additional parameters.
@@ -138,7 +142,10 @@ def predict(
@T.override
def save(
- self, model: models.Model, signature: signers.Signature, input_example: schemas.Inputs
+ self,
+ model: models.Model,
+ signature: signers.Signature,
+ input_example: schemas.Inputs,
) -> Info:
adapter = CustomSaver.Adapter(model=model)
return mlflow.pyfunc.log_model(
@@ -167,12 +174,15 @@ def save(
self,
model: models.Model,
signature: signers.Signature,
- input_example: schemas.Inputs | None = None,
- ) -> mlflow.entities.model_registry.ModelVersion:
+ input_example: schemas.Inputs,
+ ) -> Info:
builtin_model = model.get_internal_model()
module = getattr(mlflow, self.flavor)
return module.log_model(
- builtin_model, artifact_path=self.path, signature=signature, input_example=input_example
+ builtin_model,
+ artifact_path=self.path,
+ signature=signature,
+ input_example=input_example,
)
@@ -227,11 +237,11 @@ class CustomLoader(Loader):
class Adapter(Loader.Adapter):
"""Adapt a custom model for the project inference."""
- def __init__(self, model: mlflow.pyfunc.PyFuncModel) -> None:
+ def __init__(self, model: PyFuncModel) -> None:
"""Initialize the adapter from an mlflow pyfunc model.
Args:
- model (mlflow.pyfunc.PyFuncModel): mlflow pyfunc model.
+ model (PyFuncModel): mlflow pyfunc model.
"""
self.model = model
@@ -261,11 +271,11 @@ class BuiltinLoader(Loader):
class Adapter(Loader.Adapter):
"""Adapt a builtin model for the project inference."""
- def __init__(self, model: mlflow.pyfunc.PyFuncModel) -> None:
+ def __init__(self, model: PyFuncModel) -> None:
"""Initialize the adapter from an mlflow pyfunc model.
Args:
- model (mlflow.pyfunc.PyFuncModel): mlflow pyfunc model.
+ model (PyFuncModel): mlflow pyfunc model.
"""
self.model = model
diff --git a/src/bikes/io/services.py b/src/bikes/io/services.py
index d821c35..fe75b72 100644
--- a/src/bikes/io/services.py
+++ b/src/bikes/io/services.py
@@ -8,6 +8,7 @@
import contextlib as ctx
import sys
import typing as T
+import warnings
import loguru
import mlflow
@@ -113,11 +114,27 @@ def notify(self, title: str, message: str) -> None:
message (str): message of the notification.
"""
if self.enable:
- notification.notify(
- title=title, message=message, app_name=self.app_name, timeout=self.timeout
- )
+ try:
+ notification.notify(
+ title=title,
+ message=message,
+ app_name=self.app_name,
+ timeout=self.timeout,
+ )
+ except NotImplementedError:
+ warnings.warn("Notifications are not supported on this system.", RuntimeWarning)
+ self._print(title=title, message=message)
else:
- print(f"[{self.app_name}] {title}: {message}")
+ self._print(title=title, message=message)
+
+ def _print(self, title: str, message: str) -> None:
+ """Print a notification to the system.
+
+ Args:
+ title (str): title of the notification.
+ message (str): message of the notification.
+ """
+ print(f"[{self.app_name}] {title}: {message}")
class MlflowService(Service):
@@ -196,7 +213,7 @@ def run_context(self, run_config: RunConfig) -> T.Generator[mlflow.ActiveRun, No
run (str): run parameters.
Yields:
- T.Generator[mlflow.ActiveRun, None, None]: active run context. Will be closed as the end of context.
+ T.Generator[mlflow.ActiveRun, None, None]: active run context. Will be closed at the end of context.
"""
with mlflow.start_run(
run_name=run_config.name,
diff --git a/src/bikes/jobs/evaluations.py b/src/bikes/jobs/evaluations.py
index b6ecfd9..2f8b216 100644
--- a/src/bikes/jobs/evaluations.py
+++ b/src/bikes/jobs/evaluations.py
@@ -25,7 +25,7 @@ class EvaluationsJob(base.Job):
targets (datasets.ReaderKind): reader for the targets data.
model_type (str): model type (e.g. "regressor", "classifier").
alias_or_version (str | int): alias or version for the model.
- metrics (metrics_.MetricKind): metrics for the reporting.
+ metrics (metrics_.MetricsKind): metric list to compute.
evaluators (list[str]): list of evaluators to use.
thresholds (dict[str, metrics_.Threshold] | None): metric thresholds.
"""
@@ -42,8 +42,10 @@ class EvaluationsJob(base.Job):
# Model
model_type: str = "regressor"
alias_or_version: str | int = "Champion"
+ # Loader
+ loader: registries.LoaderKind = pdt.Field(registries.CustomLoader(), discriminator="KIND")
# Metrics
- metrics: list[metrics_.MetricKind] = pdt.Field([metrics_.SklearnMetric()], discriminator="KIND")
+ metrics: metrics_.MetricsKind = [metrics_.SklearnMetric()]
# Evaluators
evaluators: list[str] = ["default"]
# Thresholds
@@ -86,21 +88,31 @@ def run(self) -> base.Locals:
)
mlflow.log_input(dataset=targets_lineage, context=self.run_config.name)
logger.debug("- Targets lineage: {}", targets_lineage.to_dict())
- # dataset
- logger.info("Create dataset: inputs & targets")
- dataset = mlflow.data.from_pandas(
- df=pd.concat([inputs, targets], axis="columns"),
- name="evaluation",
- source=f"{inputs_lineage.source.uri} & {targets_lineage.source.uri}",
- targets=schemas.TargetsSchema.cnt,
- )
- logger.debug("- Dataset: {}", dataset.to_dict())
# model
logger.info("With model: {}", self.mlflow_service.registry_name)
model_uri = registries.uri_for_model_alias_or_version(
- name=self.mlflow_service.registry_name, alias_or_version=self.alias_or_version
+ name=self.mlflow_service.registry_name,
+ alias_or_version=self.alias_or_version,
)
logger.debug("- Model URI: {}", model_uri)
+ # loader
+ logger.info("Load model: {}", self.loader)
+ model = self.loader.load(uri=model_uri)
+ logger.debug("- Model: {}", model)
+ # outputs
+ logger.info("Predict outputs: {}", len(inputs))
+ outputs = model.predict(inputs=inputs) # checked
+ logger.debug("- Outputs shape: {}", outputs.shape)
+ # dataset
+ logger.info("Create dataset: inputs & targets & outputs")
+ dataset_ = pd.concat([inputs, targets, outputs], axis="columns")
+ dataset = mlflow.data.from_pandas( # type: ignore[attr-defined]
+ df=dataset_,
+ name="evaluation",
+ targets=schemas.TargetsSchema.cnt,
+ predictions=schemas.OutputsSchema.prediction,
+ )
+ logger.debug("- Dataset: {}", dataset.to_dict())
# metrics
logger.debug("Convert metrics: {}", self.metrics)
extra_metrics = [metric.to_mlflow() for metric in self.metrics]
@@ -115,7 +127,6 @@ def run(self) -> base.Locals:
logger.info("Compute evaluations: {}", self.model_type)
evaluations = mlflow.evaluate(
data=dataset,
- model=model_uri,
model_type=self.model_type,
evaluators=self.evaluators,
extra_metrics=extra_metrics,
diff --git a/src/bikes/jobs/explanations.py b/src/bikes/jobs/explanations.py
index 3983a9d..163adab 100644
--- a/src/bikes/jobs/explanations.py
+++ b/src/bikes/jobs/explanations.py
@@ -49,7 +49,8 @@ def run(self) -> base.Locals:
# model
logger.info("With model: {}", self.mlflow_service.registry_name)
model_uri = registries.uri_for_model_alias_or_version(
- name=self.mlflow_service.registry_name, alias_or_version=self.alias_or_version
+ name=self.mlflow_service.registry_name,
+ alias_or_version=self.alias_or_version,
)
logger.debug("- Model URI: {}", model_uri)
# loader
@@ -61,7 +62,7 @@ def run(self) -> base.Locals:
logger.info("Explain model: {}", model)
models_explanations = model.explain_model()
logger.debug("- Models explanations shape: {}", models_explanations.shape)
- # - samples
+ # # - samples
logger.info("Explain samples: {}", len(inputs_samples))
samples_explanations = model.explain_samples(inputs=inputs_samples)
logger.debug("- Samples explanations shape: {}", samples_explanations.shape)
@@ -74,6 +75,7 @@ def run(self) -> base.Locals:
self.samples_explanations.write(data=samples_explanations)
# notify
self.alerts_service.notify(
- title="Explanations Job Finished", message=f"Features Count: {len(models_explanations)}"
+ title="Explanations Job Finished",
+ message=f"Features Count: {len(models_explanations)}",
)
return locals()
diff --git a/src/bikes/jobs/inference.py b/src/bikes/jobs/inference.py
index aba3eae..878f578 100644
--- a/src/bikes/jobs/inference.py
+++ b/src/bikes/jobs/inference.py
@@ -47,7 +47,8 @@ def run(self) -> base.Locals:
# model
logger.info("With model: {}", self.mlflow_service.registry_name)
model_uri = registries.uri_for_model_alias_or_version(
- name=self.mlflow_service.registry_name, alias_or_version=self.alias_or_version
+ name=self.mlflow_service.registry_name,
+ alias_or_version=self.alias_or_version,
)
logger.debug("- Model URI: {}", model_uri)
# loader
diff --git a/src/bikes/jobs/training.py b/src/bikes/jobs/training.py
index 571d291..5a2f36e 100644
--- a/src/bikes/jobs/training.py
+++ b/src/bikes/jobs/training.py
@@ -24,7 +24,7 @@ class TrainingJob(base.Job):
inputs (datasets.ReaderKind): reader for the inputs data.
targets (datasets.ReaderKind): reader for the targets data.
model (models.ModelKind): machine learning model to train.
- metrics (metrics_.MetricKind): metrics for the reporting.
+ metrics (metrics_.MetricsKind): metric list to compute.
splitter (splitters.SplitterKind): data sets splitter.
saver (registries.SaverKind): model saver.
signer (signers.SignerKind): model signer.
@@ -41,7 +41,7 @@ class TrainingJob(base.Job):
# Model
model: models.ModelKind = pdt.Field(models.BaselineSklearnModel(), discriminator="KIND")
# Metrics
- metrics: list[metrics_.MetricKind] = pdt.Field([metrics_.SklearnMetric()], discriminator="KIND")
+ metrics: metrics_.MetricsKind = [metrics_.SklearnMetric()]
# Splitter
splitter: splitters.SplitterKind = pdt.Field(
splitters.TrainTestSplitter(), discriminator="KIND"
@@ -134,6 +134,7 @@ def run(self) -> base.Locals:
logger.debug("- Model version: {}", model_version)
# notify
self.alerts_service.notify(
- title="Training Job Finished", message=f"Model version: {model_version.version}"
+ title="Training Job Finished",
+ message=f"Model version: {model_version.version}",
)
return locals()
diff --git a/src/bikes/utils/signers.py b/src/bikes/utils/signers.py
index b976bb5..4a0a5ce 100644
--- a/src/bikes/utils/signers.py
+++ b/src/bikes/utils/signers.py
@@ -21,7 +21,7 @@
class Signer(abc.ABC, pdt.BaseModel, strict=True, frozen=True, extra="forbid"):
"""Base class for generating model signatures.
- Allow to switch between model signing strategies.
+ Allow switching between model signing strategies.
e.g., automatic inference, manual model signature, ...
https://mlflow.org/docs/latest/models.html#model-signature-and-input-example
diff --git a/src/bikes/utils/splitters.py b/src/bikes/utils/splitters.py
index bbc52ed..0740bc0 100644
--- a/src/bikes/utils/splitters.py
+++ b/src/bikes/utils/splitters.py
@@ -34,7 +34,10 @@ class Splitter(abc.ABC, pdt.BaseModel, strict=True, frozen=True, extra="forbid")
@abc.abstractmethod
def split(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> TrainTestSplits:
"""Split a dataframe into subsets.
@@ -49,7 +52,10 @@ def split(
@abc.abstractmethod
def get_n_splits(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> int:
"""Get the number of splits generated.
@@ -80,17 +86,26 @@ class TrainTestSplitter(Splitter):
@T.override
def split(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> TrainTestSplits:
index = np.arange(len(inputs)) # return integer position
train_index, test_index = model_selection.train_test_split(
- index, shuffle=self.shuffle, test_size=self.test_size, random_state=self.random_state
+ index,
+ shuffle=self.shuffle,
+ test_size=self.test_size,
+ random_state=self.random_state,
)
yield train_index, test_index
@T.override
def get_n_splits(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> int:
return 1
@@ -112,14 +127,22 @@ class TimeSeriesSplitter(Splitter):
@T.override
def split(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> TrainTestSplits:
- splitter = model_selection.TimeSeriesSplit(n_splits=self.n_splits, test_size=self.test_size)
+ splitter = model_selection.TimeSeriesSplit(
+ n_splits=self.n_splits, test_size=self.test_size, gap=self.gap
+ )
yield from splitter.split(inputs)
@T.override
def get_n_splits(
- self, inputs: schemas.Inputs, targets: schemas.Targets, groups: Index | None = None
+ self,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
+ groups: Index | None = None,
) -> int:
return self.n_splits
diff --git a/tasks/__init__.py b/tasks/__init__.py
index 6a6751c..a7e7b04 100644
--- a/tasks/__init__.py
+++ b/tasks/__init__.py
@@ -1,4 +1,4 @@
-"""Task collections for the project."""
+"""Task collections of the project."""
# mypy: ignore-errors
diff --git a/tasks/checks.py b/tasks/checks.py
index 853d109..1046835 100644
--- a/tasks/checks.py
+++ b/tasks/checks.py
@@ -1,4 +1,4 @@
-"""Check tasks for pyinvoke."""
+"""Check tasks of the project."""
# %% IMPORTS
@@ -8,48 +8,42 @@
# %% TASKS
-@task
-def poetry(ctx: Context) -> None:
- """Check poetry config files."""
- ctx.run("poetry check --lock")
-
-
@task
def format(ctx: Context) -> None:
"""Check the formats with ruff."""
- ctx.run("poetry run ruff format --check src/ tasks/ tests/")
+ ctx.run("uv run ruff format --check src/ tasks/ tests/")
@task
def type(ctx: Context) -> None:
"""Check the types with mypy."""
- ctx.run("poetry run mypy src/ tasks/ tests/")
+ ctx.run("uv run mypy src/ tasks/ tests/")
@task
def code(ctx: Context) -> None:
"""Check the codes with ruff."""
- ctx.run("poetry run ruff check src/ tasks/ tests/")
+ ctx.run("uv run ruff check src/ tasks/ tests/")
@task
def test(ctx: Context) -> None:
"""Check the tests with pytest."""
- ctx.run("poetry run pytest --numprocesses='auto' tests/")
+ ctx.run("uv run pytest --numprocesses=auto tests/")
@task
def security(ctx: Context) -> None:
"""Check the security with bandit."""
- ctx.run("poetry run bandit --recursive --configfile=pyproject.toml src/")
+ ctx.run("uv run bandit --recursive --configfile=pyproject.toml src/")
@task
def coverage(ctx: Context) -> None:
"""Check the coverage with coverage."""
- ctx.run("poetry run pytest --numprocesses='auto' --cov=src/ --cov-fail-under=80 tests/")
+ ctx.run("uv run pytest --numprocesses=auto --cov=src/ --cov-fail-under=80 tests/")
-@task(pre=[poetry, format, type, code, security, coverage], default=True)
+@task(pre=[format, type, code, security, coverage], default=True)
def all(_: Context) -> None:
"""Run all check tasks."""
diff --git a/tasks/cleans.py b/tasks/cleans.py
index e29b7d0..9b13acd 100644
--- a/tasks/cleans.py
+++ b/tasks/cleans.py
@@ -1,4 +1,4 @@
-"""Clean tasks for pyinvoke."""
+"""Cleaning tasks of the project."""
# %% IMPORTS
@@ -77,9 +77,9 @@ def venv(ctx: Context) -> None:
@task
-def poetry(ctx: Context) -> None:
- """Clean poetry lock file."""
- ctx.run("rm -f poetry.lock")
+def uv(ctx: Context) -> None:
+ """Clean uv lock file."""
+ ctx.run("rm -f uv.lock")
@task
@@ -117,7 +117,7 @@ def folders(_: Context) -> None:
"""Run all folders tasks."""
-@task(pre=[venv, poetry, python])
+@task(pre=[venv, uv, python])
def sources(_: Context) -> None:
"""Run all sources tasks."""
diff --git a/tasks/commits.py b/tasks/commits.py
index 88b087b..2f48bad 100644
--- a/tasks/commits.py
+++ b/tasks/commits.py
@@ -1,4 +1,4 @@
-"""Commits tasks for pyinvoke."""
+"""Commit tasks of the project."""
# %% IMPORTS
@@ -11,19 +11,19 @@
@task
def info(ctx: Context) -> None:
"""Print a guide for messages."""
- ctx.run("poetry run cz info")
+ ctx.run("uv run cz info")
@task
def bump(ctx: Context) -> None:
"""Bump the version of the package."""
- ctx.run("poetry run cz bump", pty=True)
+ ctx.run("uv run cz bump", pty=True)
@task
def commit(ctx: Context) -> None:
"""Commit all changes with a message."""
- ctx.run("poetry run cz commit", pty=True)
+ ctx.run("uv run cz commit", pty=True)
@task(pre=[commit], default=True)
diff --git a/tasks/containers.py b/tasks/containers.py
index 87510f9..b6401fb 100644
--- a/tasks/containers.py
+++ b/tasks/containers.py
@@ -1,4 +1,4 @@
-"""Container tasks for pyinvoke."""
+"""Container tasks of the project."""
# %% IMPORTS
diff --git a/tasks/docs.py b/tasks/docs.py
index 21eea9e..3f0b34c 100644
--- a/tasks/docs.py
+++ b/tasks/docs.py
@@ -1,4 +1,4 @@
-"""Docs tasks for pyinvoke."""
+"""Documentation tasks of the project."""
# %% IMPORTS
@@ -18,14 +18,14 @@
@task
def serve(ctx: Context, format: str = DOC_FORMAT, port: int = 8088) -> None:
"""Serve the API docs with pdoc."""
- ctx.run(f"poetry run pdoc --docformat={format} --port={port} src/{ctx.project.package}")
+ ctx.run(f"uv run pdoc --docformat={format} --port={port} src/{ctx.project.package}")
@task
def api(ctx: Context, format: str = DOC_FORMAT, output_dir: str = OUTPUT_DIR) -> None:
"""Generate the API docs with pdoc."""
ctx.run(
- f"poetry run pdoc --docformat={format} --output-directory={output_dir} src/{ctx.project.package}"
+ f"uv run pdoc --docformat={format} --output-directory={output_dir} src/{ctx.project.package}"
)
diff --git a/tasks/formats.py b/tasks/formats.py
index 4631bae..cd83b17 100644
--- a/tasks/formats.py
+++ b/tasks/formats.py
@@ -1,4 +1,4 @@
-"""Format tasks for pyinvoke."""
+"""Format tasks of the project."""
# %% IMPORTS
@@ -11,13 +11,13 @@
@task
def imports(ctx: Context) -> None:
"""Format python imports with ruff."""
- ctx.run("poetry run ruff check --select I --fix")
+ ctx.run("uv run ruff check --select I --fix")
@task
def sources(ctx: Context) -> None:
"""Format python sources with ruff."""
- ctx.run("poetry run ruff format src/ tasks/ tests/")
+ ctx.run("uv run ruff format src/ tasks/ tests/")
@task(pre=[imports, sources], default=True)
diff --git a/tasks/installs.py b/tasks/installs.py
index 05669be..f6754a2 100644
--- a/tasks/installs.py
+++ b/tasks/installs.py
@@ -1,4 +1,4 @@
-"""Install tasks for pyinvoke."""
+"""Install tasks of the project."""
# %% IMPORTS
@@ -9,18 +9,18 @@
@task
-def poetry(ctx: Context) -> None:
- """Install poetry packages."""
- ctx.run("poetry install")
+def uv(ctx: Context) -> None:
+ """Install uv packages."""
+ ctx.run("uv sync --all-groups")
@task
def pre_commit(ctx: Context) -> None:
"""Install pre-commit hooks on git."""
- ctx.run("poetry run pre-commit install --hook-type pre-push")
- ctx.run("poetry run pre-commit install --hook-type commit-msg")
+ ctx.run("uv run pre-commit install --hook-type=pre-push")
+ ctx.run("uv run pre-commit install --hook-type=commit-msg")
-@task(pre=[poetry, pre_commit], default=True)
+@task(pre=[uv, pre_commit], default=True)
def all(_: Context) -> None:
"""Run all install tasks."""
diff --git a/tasks/mlflow.py b/tasks/mlflow.py
index 0053931..3ccf363 100644
--- a/tasks/mlflow.py
+++ b/tasks/mlflow.py
@@ -1,4 +1,4 @@
-"""Mlflow tasks for pyinvoke."""
+"""Mlflow tasks of the project."""
# %% IMPORTS
@@ -11,16 +11,19 @@
@task
def doctor(ctx: Context) -> None:
"""Run mlflow doctor."""
- ctx.run("poetry run mlflow doctor")
+ ctx.run("uv run mlflow doctor")
@task
def serve(
- ctx: Context, host: str = "127.0.0.1", port: str = "5000", backend_uri: str = "./mlruns"
+ ctx: Context,
+ host: str = "127.0.0.1",
+ port: str = "5000",
+ backend_store_uri: str = "./mlruns",
) -> None:
- """Start the mlflow server."""
+ """Start an mlflow server."""
ctx.run(
- f"poetry run mlflow server --host={host} --port={port} --backend-store-uri={backend_uri}"
+ f"uv run mlflow server --host={host} --port={port} --backend-store-uri={backend_store_uri}"
)
diff --git a/tasks/packages.py b/tasks/packages.py
index 38e9c3d..e476a60 100644
--- a/tasks/packages.py
+++ b/tasks/packages.py
@@ -1,4 +1,4 @@
-"""Package tasks for pyinvoke."""
+"""Package tasks of the project."""
# %% IMPORTS
@@ -7,17 +7,13 @@
from . import cleans
-# %% CONFIGS
-
-BUILD_FORMAT = "wheel"
-
# %% TASKS
@task(pre=[cleans.dist])
-def build(ctx: Context, format: str = BUILD_FORMAT) -> None:
+def build(ctx: Context) -> None:
"""Build the python package."""
- ctx.run(f"poetry build --format={format}")
+ ctx.run("uv build --wheel")
@task(pre=[build], default=True)
diff --git a/tasks/projects.py b/tasks/projects.py
index 1e8333c..0e31858 100644
--- a/tasks/projects.py
+++ b/tasks/projects.py
@@ -1,4 +1,4 @@
-"""Project tasks for pyinvoke."""
+"""Project tasks of the project."""
# mypy: disable-error-code="arg-type"
@@ -21,7 +21,11 @@
@task
def requirements(ctx: Context) -> None:
"""Export the project requirements file."""
- ctx.run(f"poetry export --without-urls --without-hashes --output={REQUIREMENTS}")
+ ctx.run(
+ "uv export --format=requirements-txt --no-dev "
+ "--no-hashes --no-editable --no-emit-project "
+ f"--output-file={REQUIREMENTS}"
+ )
@task(pre=[requirements])
@@ -32,10 +36,11 @@ def environment(ctx: Context) -> None:
configuration: dict[str, object] = {"python": python}
with open(REQUIREMENTS, "r") as reader:
dependencies: list[str] = []
- for line in reader:
- dependency = line.split(" ")[0]
- if "pywin32" not in dependency:
- dependencies.append(dependency)
+ for line in reader.readlines():
+ dependency = line.split(" ")[0].strip()
+ if "pywin32" in dependency or "#" in dependency:
+ continue
+ dependencies.append(dependency)
configuration["dependencies"] = dependencies
with open(ENVIRONMENT, "w") as writer:
# Safe as YAML is a superset of JSON
@@ -47,7 +52,7 @@ def environment(ctx: Context) -> None:
def run(ctx: Context, job: str) -> None:
"""Run an mlflow project from the MLproject file."""
ctx.run(
- f"poetry run mlflow run --experiment-name={ctx.project.repository}"
+ f"uv run mlflow run --experiment-name={ctx.project.repository}"
f" --run-name={job.capitalize()} -P conf_file=confs/{job}.yaml ."
)
diff --git a/tests/conftest.py b/tests/conftest.py
index 5daa9d0..e3f145f 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -8,6 +8,7 @@
import omegaconf
import pytest
from _pytest import logging as pl
+
from bikes.core import metrics, models, schemas
from bikes.io import datasets, registries, services
from bikes.utils import searchers, signers, splitters
@@ -125,7 +126,9 @@ def targets_reader(targets_path: str) -> datasets.ParquetReader:
@pytest.fixture(scope="session")
def outputs_reader(
- outputs_path: str, inputs_reader: datasets.ParquetReader, targets_reader: datasets.ParquetReader
+ outputs_path: str,
+ inputs_reader: datasets.ParquetReader,
+ targets_reader: datasets.ParquetReader,
) -> datasets.ParquetReader:
"""Return a reader for the outputs dataset."""
# generate outputs if it is missing
@@ -146,13 +149,17 @@ def tmp_outputs_writer(tmp_outputs_path: str) -> datasets.ParquetWriter:
@pytest.fixture(scope="function")
-def tmp_models_explanations_writer(tmp_models_explanations_path: str) -> datasets.ParquetWriter:
+def tmp_models_explanations_writer(
+ tmp_models_explanations_path: str,
+) -> datasets.ParquetWriter:
"""Return a writer for the tmp model explanations dataset."""
return datasets.ParquetWriter(path=tmp_models_explanations_path)
@pytest.fixture(scope="function")
-def tmp_samples_explanations_writer(tmp_samples_explanations_path: str) -> datasets.ParquetWriter:
+def tmp_samples_explanations_writer(
+ tmp_samples_explanations_path: str,
+) -> datasets.ParquetWriter:
"""Return a writer for the tmp samples explanations dataset."""
return datasets.ParquetWriter(path=tmp_samples_explanations_path)
@@ -207,7 +214,7 @@ def time_series_splitter() -> splitters.TimeSeriesSplitter:
@pytest.fixture(scope="session")
-def searcher() -> searchers.Searcher:
+def searcher() -> searchers.GridCVSearcher:
"""Return the default searcher object."""
param_grid = {"max_depth": [1, 2], "n_estimators": [3]}
return searchers.GridCVSearcher(param_grid=param_grid)
@@ -218,7 +225,9 @@ def searcher() -> searchers.Searcher:
@pytest.fixture(scope="session")
def train_test_sets(
- train_test_splitter: splitters.Splitter, inputs: schemas.Inputs, targets: schemas.Targets
+ train_test_splitter: splitters.TrainTestSplitter,
+ inputs: schemas.Inputs,
+ targets: schemas.Targets,
) -> tuple[schemas.Inputs, schemas.Targets, schemas.Inputs, schemas.Targets]:
"""Return the inputs and targets train and test sets from the splitter."""
train_index, test_index = next(train_test_splitter.split(inputs=inputs, targets=targets))
@@ -259,7 +268,7 @@ def metric() -> metrics.SklearnMetric:
@pytest.fixture(scope="session")
-def signer() -> signers.Signer:
+def signer() -> signers.InferSigner:
"""Return a model signer."""
return signers.InferSigner()
diff --git a/tests/core/test_metrics.py b/tests/core/test_metrics.py
index c8a286c..e8ec170 100644
--- a/tests/core/test_metrics.py
+++ b/tests/core/test_metrics.py
@@ -3,6 +3,7 @@
import mlflow
import pandas as pd
import pytest
+
from bikes.core import metrics, models, schemas
# %% METRICS
@@ -44,9 +45,9 @@ def test_sklearn_metric(
# - scorer
assert low <= scorer <= high, "Scorer should be in the expected interval!"
# - mlflow metric
- assert mlflow_metric.name == metric.name, "Mlflow metric name should be the same!"
+ assert mlflow_metric.name == metric.name, "Mlflow metric name should be the same!" # type: ignore[attr-defined]
assert (
- mlflow_metric.greater_is_better == metric.greater_is_better
+ mlflow_metric.greater_is_better == metric.greater_is_better # type: ignore[attr-defined]
), "Mlflow metric greater is better should be the same!"
# - mlflow results
assert mlflow_results.metrics == {
diff --git a/tests/core/test_models.py b/tests/core/test_models.py
index 47ce7f0..12dea8a 100644
--- a/tests/core/test_models.py
+++ b/tests/core/test_models.py
@@ -3,6 +3,7 @@
import typing as T
import pytest
+
from bikes.core import models, schemas
# %% MODELS
@@ -36,7 +37,10 @@ def predict(self, inputs: schemas.Inputs) -> schemas.Outputs:
with pytest.raises(NotImplementedError) as get_internal_model_error:
model.get_internal_model()
# then
- assert params_init == {"a": 10, "b": 2}, "Model should have the given params after init!"
+ assert params_init == {
+ "a": 10,
+ "b": 2,
+ }, "Model should have the given params after init!"
assert params_set_params == {
"a": 10,
"b": 20,
diff --git a/tests/data/inputs_sample.parquet b/tests/data/inputs_sample.parquet
index 8ba44d0..7267ff3 100644
Binary files a/tests/data/inputs_sample.parquet and b/tests/data/inputs_sample.parquet differ
diff --git a/tests/data/outputs_sample.parquet b/tests/data/outputs_sample.parquet
index 7c34e1b..5160d4e 100644
Binary files a/tests/data/outputs_sample.parquet and b/tests/data/outputs_sample.parquet differ
diff --git a/tests/data/targets_sample.parquet b/tests/data/targets_sample.parquet
index da17dfd..fabec2e 100644
Binary files a/tests/data/targets_sample.parquet and b/tests/data/targets_sample.parquet differ
diff --git a/tests/io/test_configs.py b/tests/io/test_configs.py
index 2cf9bfc..4edca51 100644
--- a/tests/io/test_configs.py
+++ b/tests/io/test_configs.py
@@ -3,6 +3,7 @@
import os
import omegaconf as oc
+
from bikes.io import configs
# %% PARSERS
diff --git a/tests/io/test_datasets.py b/tests/io/test_datasets.py
index 2201f65..28c678a 100644
--- a/tests/io/test_datasets.py
+++ b/tests/io/test_datasets.py
@@ -3,6 +3,7 @@
import os
import pytest
+
from bikes.core import schemas
from bikes.io import datasets
@@ -23,11 +24,11 @@ def test_parquet_reader(limit: int | None, inputs_path: str) -> None:
assert len(data) == limit, "Data should have the limit size!"
# - lineage
assert lineage.name == "inputs", "Lineage name should be inputs!"
- assert lineage.source.uri == inputs_path, "Lineage source uri should be the inputs path!"
- assert set(lineage.schema.input_names()) == set(
+ assert lineage.source.uri == inputs_path, "Lineage source uri should be the inputs path!" # type: ignore[attr-defined]
+ assert lineage.schema is not None and set(lineage.schema.input_names()) == set(
data.columns
), "Lineage schema names should be the data columns!"
- assert lineage.profile["num_rows"] == len(
+ assert lineage.profile["num_rows"] == len( # type: ignore[index]
data
), "Lineage profile should contain the data row count!"
diff --git a/tests/io/test_services.py b/tests/io/test_services.py
index a11e28b..b631a9a 100644
--- a/tests/io/test_services.py
+++ b/tests/io/test_services.py
@@ -6,6 +6,7 @@
import plyer
import pytest
import pytest_mock as pm
+
from bikes.io import services
# %% SERVICES
@@ -36,7 +37,10 @@ def test_alerts_service(
service.notify(title="test", message="hello")
# then
if enable:
- plyer.notification.notify.assert_called_once(), "Notification method should be called!"
+ (
+ plyer.notification.notify.assert_called_once(),
+ "Notification method should be called!",
+ )
assert capsys.readouterr().out == "", "Notification should not be printed to stdout!"
else:
(
diff --git a/tests/jobs/test_base.py b/tests/jobs/test_base.py
index c86982a..7271462 100644
--- a/tests/jobs/test_base.py
+++ b/tests/jobs/test_base.py
@@ -20,7 +20,9 @@ def run(self) -> base.Locals:
return locals()
job = MyJob(
- logger_service=logger_service, alerts_service=alerts_service, mlflow_service=mlflow_service
+ logger_service=logger_service,
+ alerts_service=alerts_service,
+ mlflow_service=mlflow_service,
)
# when
with job as runner:
diff --git a/tests/jobs/test_evaluations.py b/tests/jobs/test_evaluations.py
index 3f5f1bc..32c2a60 100644
--- a/tests/jobs/test_evaluations.py
+++ b/tests/jobs/test_evaluations.py
@@ -2,6 +2,7 @@
import _pytest.capture as pc
import pytest
+
from bikes import jobs
from bikes.core import metrics, schemas
from bikes.io import datasets, registries, services
@@ -43,7 +44,7 @@ def test_evaluations_job(
inputs_reader: datasets.ParquetReader,
targets_reader: datasets.ParquetReader,
model_alias: registries.Version,
- metric: metrics.Metric,
+ metric: metrics.SklearnMetric,
capsys: pc.CaptureFixture[str],
) -> None:
# given
@@ -52,7 +53,9 @@ def test_evaluations_job(
else:
assert alias_or_version == model_alias.aliases[0], "Model alias should be the same!"
run_config = mlflow_service.RunConfig(
- name="EvaluationsTest", tags={"context": "evaluations"}, description="Evaluations job."
+ name="EvaluationsTest",
+ tags={"context": "evaluations"},
+ description="Evaluations job.",
)
# when
job = jobs.EvaluationsJob(
@@ -81,8 +84,11 @@ def test_evaluations_job(
"targets",
"targets_",
"targets_lineage",
- "dataset",
+ "outputs",
+ "model",
"model_uri",
+ "dataset",
+ "dataset_",
"extra_metrics",
"validation_thresholds",
"evaluations",
@@ -109,23 +115,30 @@ def test_evaluations_job(
assert (
out["targets_lineage"].targets == schemas.TargetsSchema.cnt
), "Targets lineage target should be cnt!"
+ # - outputs
+ assert out["outputs"].ndim == 2, "Outputs should be a dataframe!"
+ # - model uri
+ assert str(alias_or_version) in out["model_uri"], "Model URI should contain the model alias!"
+ assert (
+ mlflow_service.registry_name in out["model_uri"]
+ ), "Model URI should contain the registry name!"
+ # - model
+ assert (
+ out["model"].model.metadata.run_id == model_alias.run_id
+ ), "Model run id should be the same!"
+ assert out["model"].model.metadata.signature is not None, "Model should have a signature!"
+ assert out["model"].model.metadata.flavors.get(
+ "python_function"
+ ), "Model should have a pyfunc flavor!"
# - dataset
assert out["dataset"].name == "evaluation", "Dataset name should be evaluation!"
- assert out["dataset"].predictions is None, "Dataset predictions should be None!"
assert (
out["dataset"].targets == schemas.TargetsSchema.cnt
), "Dataset targets should be the target column!"
assert (
- inputs_reader.path in out["dataset"].source.uri
- ), "Dataset source should contain the inputs path!"
- assert (
- targets_reader.path in out["dataset"].source.uri
- ), "Dataset source should contain the targets path!"
- # - model uri
- assert str(alias_or_version) in out["model_uri"], "Model URI should contain the model alias!"
- assert (
- mlflow_service.registry_name in out["model_uri"]
- ), "Model URI should contain the registry name!"
+ out["dataset"].predictions == schemas.OutputsSchema.prediction
+ ), "Dataset predictions should be the prediction column!"
+ assert out["dataset"].source.to_dict().keys() == {"tags"}, "Dataset source should have tags!"
# - extra metrics
assert len(out["extra_metrics"]) == len(
job.metrics
@@ -147,6 +160,7 @@ def test_evaluations_job(
assert job.metrics[0].name in out["evaluations"].metrics, "Metric should be logged in Mlflow!"
# - mlflow tracking
experiment = mlflow_service.client().get_experiment_by_name(name=mlflow_service.experiment_name)
+ assert experiment is not None, "Mlflow Experiment should exist!"
assert (
experiment.name == mlflow_service.experiment_name
), "Mlflow Experiment name should be the same!"
diff --git a/tests/jobs/test_explanations.py b/tests/jobs/test_explanations.py
index 4285bdc..3e4ff24 100644
--- a/tests/jobs/test_explanations.py
+++ b/tests/jobs/test_explanations.py
@@ -2,6 +2,7 @@
import _pytest.capture as pc
import pytest
+
from bikes import jobs
from bikes.core import models
from bikes.io import datasets, registries, services
@@ -15,11 +16,11 @@ def test_explanations_job(
mlflow_service: services.MlflowService,
alerts_service: services.AlertsService,
logger_service: services.LoggerService,
- inputs_samples_reader: datasets.Reader,
- tmp_models_explanations_writer: datasets.Writer,
- tmp_samples_explanations_writer: datasets.Writer,
+ inputs_samples_reader: datasets.ParquetReader,
+ tmp_models_explanations_writer: datasets.ParquetWriter,
+ tmp_samples_explanations_writer: datasets.ParquetWriter,
model_alias: registries.Version,
- loader: registries.Loader,
+ loader: registries.CustomLoader,
capsys: pc.CaptureFixture[str],
) -> None:
# given
diff --git a/tests/jobs/test_inference.py b/tests/jobs/test_inference.py
index 0f8808e..d60ea4f 100644
--- a/tests/jobs/test_inference.py
+++ b/tests/jobs/test_inference.py
@@ -2,6 +2,7 @@
import _pytest.capture as pc
import pytest
+
from bikes import jobs
from bikes.io import datasets, registries, services
@@ -14,10 +15,10 @@ def test_inference_job(
mlflow_service: services.MlflowService,
alerts_service: services.AlertsService,
logger_service: services.LoggerService,
- inputs_reader: datasets.Reader,
- tmp_outputs_writer: datasets.Writer,
+ inputs_reader: datasets.ParquetReader,
+ tmp_outputs_writer: datasets.ParquetWriter,
model_alias: registries.Version,
- loader: registries.Loader,
+ loader: registries.CustomLoader,
capsys: pc.CaptureFixture[str],
) -> None:
# given
diff --git a/tests/jobs/test_promotion.py b/tests/jobs/test_promotion.py
index 0c3b81f..d38f6c0 100644
--- a/tests/jobs/test_promotion.py
+++ b/tests/jobs/test_promotion.py
@@ -3,6 +3,7 @@
import _pytest.capture as pc
import mlflow
import pytest
+
from bikes import jobs
from bikes.io import registries, services
diff --git a/tests/jobs/test_training.py b/tests/jobs/test_training.py
index 902c605..0d517bc 100644
--- a/tests/jobs/test_training.py
+++ b/tests/jobs/test_training.py
@@ -1,6 +1,7 @@
# %% IMPORTS
import _pytest.capture as pc
+
from bikes import jobs
from bikes.core import metrics, models, schemas
from bikes.io import datasets, registries, services
@@ -15,12 +16,12 @@ def test_training_job(
logger_service: services.LoggerService,
inputs_reader: datasets.ParquetReader,
targets_reader: datasets.ParquetReader,
- model: models.Model,
- metric: metrics.Metric,
- train_test_splitter: splitters.Splitter,
- saver: registries.Saver,
- signer: signers.Signer,
- register: registries.Register,
+ model: models.BaselineSklearnModel,
+ metric: metrics.SklearnMetric,
+ train_test_splitter: splitters.TrainTestSplitter,
+ saver: registries.CustomSaver,
+ signer: signers.InferSigner,
+ register: registries.MlflowRegister,
capsys: pc.CaptureFixture[str],
) -> None:
# given
@@ -142,6 +143,7 @@ def test_training_job(
), "Model version run id should be the same!"
# - mlflow tracking
experiment = client.get_experiment_by_name(name=mlflow_service.experiment_name)
+ assert experiment is not None, "Mlflow Experiment should exist!"
assert (
experiment.name == mlflow_service.experiment_name
), "Mlflow Experiment name should be the same!"
diff --git a/tests/jobs/test_tuning.py b/tests/jobs/test_tuning.py
index 7263d64..cb7e1e5 100644
--- a/tests/jobs/test_tuning.py
+++ b/tests/jobs/test_tuning.py
@@ -1,6 +1,7 @@
# %% IMPORTS
import _pytest.capture as pc
+
from bikes import jobs
from bikes.core import metrics, models, schemas
from bikes.io import datasets, services
@@ -15,10 +16,10 @@ def test_tuning_job(
logger_service: services.LoggerService,
inputs_reader: datasets.ParquetReader,
targets_reader: datasets.ParquetReader,
- model: models.Model,
- metric: metrics.Metric,
- time_series_splitter: splitters.Splitter,
- searcher: searchers.Searcher,
+ model: models.BaselineSklearnModel,
+ metric: metrics.SklearnMetric,
+ time_series_splitter: splitters.TimeSeriesSplitter,
+ searcher: searchers.GridCVSearcher,
capsys: pc.CaptureFixture[str],
) -> None:
# given
@@ -92,6 +93,7 @@ def test_tuning_job(
), "Best params should have the same keys!"
# - mlflow tracking
experiment = client.get_experiment_by_name(name=mlflow_service.experiment_name)
+ assert experiment is not None, "Mlflow experiment should exist!"
assert (
experiment.name == mlflow_service.experiment_name
), "Mlflow experiment name should be the same!"
diff --git a/tests/test_scripts.py b/tests/test_scripts.py
index 60c58c7..9f00ed0 100644
--- a/tests/test_scripts.py
+++ b/tests/test_scripts.py
@@ -6,6 +6,7 @@
import pydantic as pdt
import pytest
from _pytest import capture as pc
+
from bikes import scripts
# %% SCRIPTS
diff --git a/tests/utils/test_searchers.py b/tests/utils/test_searchers.py
index 7d2f1ca..30c79fb 100644
--- a/tests/utils/test_searchers.py
+++ b/tests/utils/test_searchers.py
@@ -18,7 +18,11 @@ def test_grid_cv_searcher(
searcher = searchers.GridCVSearcher(param_grid=param_grid)
# when
result, best_score, best_params = searcher.search(
- model=model, metric=metric, inputs=inputs, targets=targets, cv=train_test_splitter
+ model=model,
+ metric=metric,
+ inputs=inputs,
+ targets=targets,
+ cv=train_test_splitter,
)
# then
assert set(best_params) == set(param_grid), "Best params should have the same keys as grid!"
diff --git a/uv.lock b/uv.lock
new file mode 100644
index 0000000..498a3a2
--- /dev/null
+++ b/uv.lock
@@ -0,0 +1,2473 @@
+version = 1
+requires-python = ">=3.12"
+resolution-markers = [
+ "platform_system != 'Windows'",
+ "platform_system == 'Windows'",
+]
+
+[[package]]
+name = "alembic"
+version = "1.14.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mako" },
+ { name = "sqlalchemy" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/00/1e/8cb8900ba1b6360431e46fb7a89922916d3a1b017a8908a7c0499cc7e5f6/alembic-1.14.0.tar.gz", hash = "sha256:b00892b53b3642d0b8dbedba234dbf1924b69be83a9a769d5a624b01094e304b", size = 1916172 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/06/8b505aea3d77021b18dcbd8133aa1418f1a1e37e432a465b14c46b2c0eaa/alembic-1.14.0-py3-none-any.whl", hash = "sha256:99bd884ca390466db5e27ffccff1d179ec5c05c965cfefc0607e69f9e411cb25", size = 233482 },
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
+]
+
+[[package]]
+name = "antlr4-python3-runtime"
+version = "4.9.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/38/7859ff46355f76f8d19459005ca000b6e7012f2f1ca597746cbcd1fbfe5e/antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b", size = 117034 }
+
+[[package]]
+name = "appnope"
+version = "0.1.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321 },
+]
+
+[[package]]
+name = "argcomplete"
+version = "3.5.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7f/03/581b1c29d88fffaa08abbced2e628c34dd92d32f1adaed7e42fc416938b0/argcomplete-3.5.2.tar.gz", hash = "sha256:23146ed7ac4403b70bd6026402468942ceba34a6732255b9edf5b7354f68a6bb", size = 82341 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/37/3fa718aaadd36e073891138dc3ebd919a71bafd4881c97d8a133265af191/argcomplete-3.5.2-py3-none-any.whl", hash = "sha256:036d020d79048a5d525bc63880d7a4b8d1668566b8a76daf1144c0bbe0f63472", size = 43506 },
+]
+
+[[package]]
+name = "asttokens"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918 },
+]
+
+[[package]]
+name = "attrs"
+version = "24.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fc/0f/aafca9af9315aee06a89ffde799a10a582fe8de76c563ee80bbcdc08b3fb/attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346", size = 792678 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001 },
+]
+
+[[package]]
+name = "bandit"
+version = "1.8.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "platform_system == 'Windows'" },
+ { name = "pyyaml" },
+ { name = "rich" },
+ { name = "stevedore" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/57/c3/bea54f22cdc8224f0ace18b2cf86c6adf7010285d0ed51b703af9910c5b2/bandit-1.8.0.tar.gz", hash = "sha256:b5bfe55a095abd9fe20099178a7c6c060f844bfd4fe4c76d28e35e4c52b9d31e", size = 4228600 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/24/6b/a9f0574d05d63e7d8125cd02a52732adb6720a9b9f13c921386cb9cdb53e/bandit-1.8.0-py3-none-any.whl", hash = "sha256:b1a61d829c0968aed625381e426aa378904b996529d048f8d908fa28f6b13e38", size = 127035 },
+]
+
+[[package]]
+name = "bikes"
+version = "2.0.0"
+source = { editable = "." }
+dependencies = [
+ { name = "loguru" },
+ { name = "matplotlib" },
+ { name = "mlflow" },
+ { name = "numba" },
+ { name = "numpy" },
+ { name = "omegaconf" },
+ { name = "pandas" },
+ { name = "pandera" },
+ { name = "plotly" },
+ { name = "plyer" },
+ { name = "psutil" },
+ { name = "pyarrow" },
+ { name = "pydantic" },
+ { name = "pydantic-settings" },
+ { name = "pynvml" },
+ { name = "scikit-learn" },
+ { name = "setuptools" },
+ { name = "shap" },
+]
+
+[package.dev-dependencies]
+checks = [
+ { name = "bandit" },
+ { name = "coverage" },
+ { name = "mypy" },
+ { name = "pandera", extra = ["mypy"] },
+ { name = "pytest" },
+ { name = "pytest-cov" },
+ { name = "pytest-mock" },
+ { name = "pytest-xdist" },
+ { name = "ruff" },
+]
+commits = [
+ { name = "commitizen" },
+ { name = "pre-commit" },
+]
+dev = [
+ { name = "invoke" },
+]
+docs = [
+ { name = "pdoc" },
+]
+notebooks = [
+ { name = "ipykernel" },
+ { name = "nbformat" },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "loguru", specifier = ">=0.7.2" },
+ { name = "matplotlib", specifier = ">=3.9.3" },
+ { name = "mlflow", specifier = ">=2.19.0" },
+ { name = "numba", specifier = ">=0.60.0" },
+ { name = "numpy", specifier = ">=2.0.2" },
+ { name = "omegaconf", specifier = ">=2.3.0" },
+ { name = "pandas", specifier = ">=2.2.3" },
+ { name = "pandera", specifier = ">=0.21.0" },
+ { name = "plotly", specifier = ">=5.24.1" },
+ { name = "plyer", specifier = ">=2.1.0" },
+ { name = "psutil", specifier = ">=6.1.0" },
+ { name = "pyarrow", specifier = ">=18.1.0" },
+ { name = "pydantic", specifier = ">=2.10.3" },
+ { name = "pydantic-settings", specifier = ">=2.6.1" },
+ { name = "pynvml", specifier = ">=12.0.0" },
+ { name = "scikit-learn", specifier = ">=1.5.2,<1.6.0" },
+ { name = "setuptools", specifier = ">=75.6.0" },
+ { name = "shap", specifier = ">=0.46.0" },
+]
+
+[package.metadata.requires-dev]
+checks = [
+ { name = "bandit", specifier = ">=1.8.0" },
+ { name = "coverage", specifier = ">=7.6.8" },
+ { name = "mypy", specifier = ">=1.13.0" },
+ { name = "pandera", extras = ["mypy"], specifier = ">=0.21.0" },
+ { name = "pytest", specifier = ">=8.3.3" },
+ { name = "pytest-cov", specifier = ">=6.0.0" },
+ { name = "pytest-mock", specifier = ">=3.14.0" },
+ { name = "pytest-xdist", specifier = ">=3.6.1" },
+ { name = "ruff", specifier = ">=0.8.1" },
+]
+commits = [
+ { name = "commitizen", specifier = ">=4.0.0" },
+ { name = "pre-commit", specifier = ">=4.0.1" },
+]
+dev = [{ name = "invoke", specifier = ">=2.2.0" }]
+docs = [{ name = "pdoc", specifier = ">=15.0.0" }]
+notebooks = [
+ { name = "ipykernel", specifier = ">=6.29.5" },
+ { name = "nbformat", specifier = ">=5.10.4" },
+]
+
+[[package]]
+name = "blinker"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/21/28/9b3f50ce0e048515135495f198351908d99540d69bfdc8c1d15b73dc55ce/blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf", size = 22460 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/10/cb/f2ad4230dc2eb1a74edf38f1a38b9b52277f75bef262d8908e60d957e13c/blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc", size = 8458 },
+]
+
+[[package]]
+name = "cachetools"
+version = "5.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c3/38/a0f315319737ecf45b4319a8cd1f3a908e29d9277b46942263292115eee7/cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a", size = 27661 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a4/07/14f8ad37f2d12a5ce41206c21820d8cb6561b728e51fad4530dff0552a67/cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292", size = 9524 },
+]
+
+[[package]]
+name = "certifi"
+version = "2024.12.14"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0f/bd/1d41ee578ce09523c81a15426705dd20969f5abf006d1afe8aeff0dd776a/certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db", size = 166010 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a5/32/8f6669fc4798494966bf446c8c4a162e0b5d893dff088afddf76414f70e1/certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56", size = 164927 },
+]
+
+[[package]]
+name = "cffi"
+version = "1.17.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 },
+]
+
+[[package]]
+name = "cfgv"
+version = "3.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f2/4f/e1808dc01273379acc506d18f1504eb2d299bd4131743b9fc54d7be4df1e/charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e", size = 106620 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d3/0b/4b7a70987abf9b8196845806198975b6aab4ce016632f817ad758a5aa056/charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6", size = 194445 },
+ { url = "https://files.pythonhosted.org/packages/50/89/354cc56cf4dd2449715bc9a0f54f3aef3dc700d2d62d1fa5bbea53b13426/charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf", size = 125275 },
+ { url = "https://files.pythonhosted.org/packages/fa/44/b730e2a2580110ced837ac083d8ad222343c96bb6b66e9e4e706e4d0b6df/charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db", size = 119020 },
+ { url = "https://files.pythonhosted.org/packages/9d/e4/9263b8240ed9472a2ae7ddc3e516e71ef46617fe40eaa51221ccd4ad9a27/charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1", size = 139128 },
+ { url = "https://files.pythonhosted.org/packages/6b/e3/9f73e779315a54334240353eaea75854a9a690f3f580e4bd85d977cb2204/charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03", size = 149277 },
+ { url = "https://files.pythonhosted.org/packages/1a/cf/f1f50c2f295312edb8a548d3fa56a5c923b146cd3f24114d5adb7e7be558/charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284", size = 142174 },
+ { url = "https://files.pythonhosted.org/packages/16/92/92a76dc2ff3a12e69ba94e7e05168d37d0345fa08c87e1fe24d0c2a42223/charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15", size = 143838 },
+ { url = "https://files.pythonhosted.org/packages/a4/01/2117ff2b1dfc61695daf2babe4a874bca328489afa85952440b59819e9d7/charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8", size = 146149 },
+ { url = "https://files.pythonhosted.org/packages/f6/9b/93a332b8d25b347f6839ca0a61b7f0287b0930216994e8bf67a75d050255/charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2", size = 140043 },
+ { url = "https://files.pythonhosted.org/packages/ab/f6/7ac4a01adcdecbc7a7587767c776d53d369b8b971382b91211489535acf0/charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719", size = 148229 },
+ { url = "https://files.pythonhosted.org/packages/9d/be/5708ad18161dee7dc6a0f7e6cf3a88ea6279c3e8484844c0590e50e803ef/charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631", size = 151556 },
+ { url = "https://files.pythonhosted.org/packages/5a/bb/3d8bc22bacb9eb89785e83e6723f9888265f3a0de3b9ce724d66bd49884e/charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b", size = 149772 },
+ { url = "https://files.pythonhosted.org/packages/f7/fa/d3fc622de05a86f30beea5fc4e9ac46aead4731e73fd9055496732bcc0a4/charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565", size = 144800 },
+ { url = "https://files.pythonhosted.org/packages/9a/65/bdb9bc496d7d190d725e96816e20e2ae3a6fa42a5cac99c3c3d6ff884118/charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7", size = 94836 },
+ { url = "https://files.pythonhosted.org/packages/3e/67/7b72b69d25b89c0b3cea583ee372c43aa24df15f0e0f8d3982c57804984b/charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9", size = 102187 },
+ { url = "https://files.pythonhosted.org/packages/f3/89/68a4c86f1a0002810a27f12e9a7b22feb198c59b2f05231349fbce5c06f4/charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114", size = 194617 },
+ { url = "https://files.pythonhosted.org/packages/4f/cd/8947fe425e2ab0aa57aceb7807af13a0e4162cd21eee42ef5b053447edf5/charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed", size = 125310 },
+ { url = "https://files.pythonhosted.org/packages/5b/f0/b5263e8668a4ee9becc2b451ed909e9c27058337fda5b8c49588183c267a/charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250", size = 119126 },
+ { url = "https://files.pythonhosted.org/packages/ff/6e/e445afe4f7fda27a533f3234b627b3e515a1b9429bc981c9a5e2aa5d97b6/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920", size = 139342 },
+ { url = "https://files.pythonhosted.org/packages/a1/b2/4af9993b532d93270538ad4926c8e37dc29f2111c36f9c629840c57cd9b3/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64", size = 149383 },
+ { url = "https://files.pythonhosted.org/packages/fb/6f/4e78c3b97686b871db9be6f31d64e9264e889f8c9d7ab33c771f847f79b7/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23", size = 142214 },
+ { url = "https://files.pythonhosted.org/packages/2b/c9/1c8fe3ce05d30c87eff498592c89015b19fade13df42850aafae09e94f35/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc", size = 144104 },
+ { url = "https://files.pythonhosted.org/packages/ee/68/efad5dcb306bf37db7db338338e7bb8ebd8cf38ee5bbd5ceaaaa46f257e6/charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d", size = 146255 },
+ { url = "https://files.pythonhosted.org/packages/0c/75/1ed813c3ffd200b1f3e71121c95da3f79e6d2a96120163443b3ad1057505/charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88", size = 140251 },
+ { url = "https://files.pythonhosted.org/packages/7d/0d/6f32255c1979653b448d3c709583557a4d24ff97ac4f3a5be156b2e6a210/charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90", size = 148474 },
+ { url = "https://files.pythonhosted.org/packages/ac/a0/c1b5298de4670d997101fef95b97ac440e8c8d8b4efa5a4d1ef44af82f0d/charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b", size = 151849 },
+ { url = "https://files.pythonhosted.org/packages/04/4f/b3961ba0c664989ba63e30595a3ed0875d6790ff26671e2aae2fdc28a399/charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d", size = 149781 },
+ { url = "https://files.pythonhosted.org/packages/d8/90/6af4cd042066a4adad58ae25648a12c09c879efa4849c705719ba1b23d8c/charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482", size = 144970 },
+ { url = "https://files.pythonhosted.org/packages/cc/67/e5e7e0cbfefc4ca79025238b43cdf8a2037854195b37d6417f3d0895c4c2/charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67", size = 94973 },
+ { url = "https://files.pythonhosted.org/packages/65/97/fc9bbc54ee13d33dc54a7fcf17b26368b18505500fc01e228c27b5222d80/charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b", size = 102308 },
+ { url = "https://files.pythonhosted.org/packages/bf/9b/08c0432272d77b04803958a4598a51e2a4b51c06640af8b8f0f908c18bf2/charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079", size = 49446 },
+]
+
+[[package]]
+name = "click"
+version = "8.1.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "platform_system == 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941 },
+]
+
+[[package]]
+name = "cloudpickle"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/97/c7/f746cadd08c4c08129215cf1b984b632f9e579fc781301e63da9e85c76c1/cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b", size = 66155 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/41/e1d85ca3cab0b674e277c8c4f678cf66a91cd2cecf93df94353a606fe0db/cloudpickle-3.1.0-py3-none-any.whl", hash = "sha256:fe11acda67f61aaaec473e3afe030feb131d78a43461b718185363384f1ba12e", size = 22021 },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
+]
+
+[[package]]
+name = "comm"
+version = "0.2.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e9/a8/fb783cb0abe2b5fded9f55e5703015cdf1c9c85b3669087c538dd15a6a86/comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e", size = 6210 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3", size = 7180 },
+]
+
+[[package]]
+name = "commitizen"
+version = "4.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "argcomplete" },
+ { name = "charset-normalizer" },
+ { name = "colorama" },
+ { name = "decli" },
+ { name = "jinja2" },
+ { name = "packaging" },
+ { name = "pyyaml" },
+ { name = "questionary" },
+ { name = "termcolor" },
+ { name = "tomlkit" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7a/c5/66f1b977b48501a33f5fd33253aba14786483b08aba987718d272e99e732/commitizen-4.1.0.tar.gz", hash = "sha256:4f2d9400ec411aec1c738d4c63fc7fd5807cd6ddf6be970869e03e68b88ff718", size = 51252 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/f7/7f70adfbf3553ffdbe391eaacde72b21dbc1b4226ae56ca32e8ded1bf70b/commitizen-4.1.0-py3-none-any.whl", hash = "sha256:2e6c5fbd442cab4bcc5a04bc86ef2196ef84bcf611317d6c596e87f5bb4c09f5", size = 72282 },
+]
+
+[[package]]
+name = "contourpy"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/25/c2/fc7193cc5383637ff390a712e88e4ded0452c9fbcf84abe3de5ea3df1866/contourpy-1.3.1.tar.gz", hash = "sha256:dfd97abd83335045a913e3bcc4a09c0ceadbe66580cf573fe961f4a825efa699", size = 13465753 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/37/6b/175f60227d3e7f5f1549fcb374592be311293132207e451c3d7c654c25fb/contourpy-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ffa84be8e0bd33410b17189f7164c3589c229ce5db85798076a3fa136d0e509", size = 271494 },
+ { url = "https://files.pythonhosted.org/packages/6b/6a/7833cfae2c1e63d1d8875a50fd23371394f540ce809d7383550681a1fa64/contourpy-1.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805617228ba7e2cbbfb6c503858e626ab528ac2a32a04a2fe88ffaf6b02c32bc", size = 255444 },
+ { url = "https://files.pythonhosted.org/packages/7f/b3/7859efce66eaca5c14ba7619791b084ed02d868d76b928ff56890d2d059d/contourpy-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ade08d343436a94e633db932e7e8407fe7de8083967962b46bdfc1b0ced39454", size = 307628 },
+ { url = "https://files.pythonhosted.org/packages/48/b2/011415f5e3f0a50b1e285a0bf78eb5d92a4df000553570f0851b6e309076/contourpy-1.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47734d7073fb4590b4a40122b35917cd77be5722d80683b249dac1de266aac80", size = 347271 },
+ { url = "https://files.pythonhosted.org/packages/84/7d/ef19b1db0f45b151ac78c65127235239a8cf21a59d1ce8507ce03e89a30b/contourpy-1.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ba94a401342fc0f8b948e57d977557fbf4d515f03c67682dd5c6191cb2d16ec", size = 318906 },
+ { url = "https://files.pythonhosted.org/packages/ba/99/6794142b90b853a9155316c8f470d2e4821fe6f086b03e372aca848227dd/contourpy-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efa874e87e4a647fd2e4f514d5e91c7d493697127beb95e77d2f7561f6905bd9", size = 323622 },
+ { url = "https://files.pythonhosted.org/packages/3c/0f/37d2c84a900cd8eb54e105f4fa9aebd275e14e266736778bb5dccbf3bbbb/contourpy-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1bf98051f1045b15c87868dbaea84f92408337d4f81d0e449ee41920ea121d3b", size = 1266699 },
+ { url = "https://files.pythonhosted.org/packages/3a/8a/deb5e11dc7d9cc8f0f9c8b29d4f062203f3af230ba83c30a6b161a6effc9/contourpy-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:61332c87493b00091423e747ea78200659dc09bdf7fd69edd5e98cef5d3e9a8d", size = 1326395 },
+ { url = "https://files.pythonhosted.org/packages/1a/35/7e267ae7c13aaf12322ccc493531f1e7f2eb8fba2927b9d7a05ff615df7a/contourpy-1.3.1-cp312-cp312-win32.whl", hash = "sha256:e914a8cb05ce5c809dd0fe350cfbb4e881bde5e2a38dc04e3afe1b3e58bd158e", size = 175354 },
+ { url = "https://files.pythonhosted.org/packages/a1/35/c2de8823211d07e8a79ab018ef03960716c5dff6f4d5bff5af87fd682992/contourpy-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:08d9d449a61cf53033612cb368f3a1b26cd7835d9b8cd326647efe43bca7568d", size = 220971 },
+ { url = "https://files.pythonhosted.org/packages/9a/e7/de62050dce687c5e96f946a93546910bc67e483fe05324439e329ff36105/contourpy-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a761d9ccfc5e2ecd1bf05534eda382aa14c3e4f9205ba5b1684ecfe400716ef2", size = 271548 },
+ { url = "https://files.pythonhosted.org/packages/78/4d/c2a09ae014ae984c6bdd29c11e74d3121b25eaa117eca0bb76340efd7e1c/contourpy-1.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:523a8ee12edfa36f6d2a49407f705a6ef4c5098de4f498619787e272de93f2d5", size = 255576 },
+ { url = "https://files.pythonhosted.org/packages/ab/8a/915380ee96a5638bda80cd061ccb8e666bfdccea38d5741cb69e6dbd61fc/contourpy-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece6df05e2c41bd46776fbc712e0996f7c94e0d0543af1656956d150c4ca7c81", size = 306635 },
+ { url = "https://files.pythonhosted.org/packages/29/5c/c83ce09375428298acd4e6582aeb68b1e0d1447f877fa993d9bf6cd3b0a0/contourpy-1.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:573abb30e0e05bf31ed067d2f82500ecfdaec15627a59d63ea2d95714790f5c2", size = 345925 },
+ { url = "https://files.pythonhosted.org/packages/29/63/5b52f4a15e80c66c8078a641a3bfacd6e07106835682454647aca1afc852/contourpy-1.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fa36448e6a3a1a9a2ba23c02012c43ed88905ec80163f2ffe2421c7192a5d7", size = 318000 },
+ { url = "https://files.pythonhosted.org/packages/9a/e2/30ca086c692691129849198659bf0556d72a757fe2769eb9620a27169296/contourpy-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ea9924d28fc5586bf0b42d15f590b10c224117e74409dd7a0be3b62b74a501c", size = 322689 },
+ { url = "https://files.pythonhosted.org/packages/6b/77/f37812ef700f1f185d348394debf33f22d531e714cf6a35d13d68a7003c7/contourpy-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5b75aa69cb4d6f137b36f7eb2ace9280cfb60c55dc5f61c731fdf6f037f958a3", size = 1268413 },
+ { url = "https://files.pythonhosted.org/packages/3f/6d/ce84e79cdd128542ebeb268f84abb4b093af78e7f8ec504676673d2675bc/contourpy-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1", size = 1326530 },
+ { url = "https://files.pythonhosted.org/packages/72/22/8282f4eae20c73c89bee7a82a19c4e27af9b57bb602ecaa00713d5bdb54d/contourpy-1.3.1-cp313-cp313-win32.whl", hash = "sha256:36987a15e8ace5f58d4d5da9dca82d498c2bbb28dff6e5d04fbfcc35a9cb3a82", size = 175315 },
+ { url = "https://files.pythonhosted.org/packages/e3/d5/28bca491f65312b438fbf076589dcde7f6f966b196d900777f5811b9c4e2/contourpy-1.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:a7895f46d47671fa7ceec40f31fae721da51ad34bdca0bee83e38870b1f47ffd", size = 220987 },
+ { url = "https://files.pythonhosted.org/packages/2f/24/a4b285d6adaaf9746e4700932f579f1a7b6f9681109f694cfa233ae75c4e/contourpy-1.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ddeb796389dadcd884c7eb07bd14ef12408aaae358f0e2ae24114d797eede30", size = 285001 },
+ { url = "https://files.pythonhosted.org/packages/48/1d/fb49a401b5ca4f06ccf467cd6c4f1fd65767e63c21322b29b04ec40b40b9/contourpy-1.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:19c1555a6801c2f084c7ddc1c6e11f02eb6a6016ca1318dd5452ba3f613a1751", size = 268553 },
+ { url = "https://files.pythonhosted.org/packages/79/1e/4aef9470d13fd029087388fae750dccb49a50c012a6c8d1d634295caa644/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:841ad858cff65c2c04bf93875e384ccb82b654574a6d7f30453a04f04af71342", size = 310386 },
+ { url = "https://files.pythonhosted.org/packages/b0/34/910dc706ed70153b60392b5305c708c9810d425bde12499c9184a1100888/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4318af1c925fb9a4fb190559ef3eec206845f63e80fb603d47f2d6d67683901c", size = 349806 },
+ { url = "https://files.pythonhosted.org/packages/31/3c/faee6a40d66d7f2a87f7102236bf4780c57990dd7f98e5ff29881b1b1344/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:14c102b0eab282427b662cb590f2e9340a9d91a1c297f48729431f2dcd16e14f", size = 321108 },
+ { url = "https://files.pythonhosted.org/packages/17/69/390dc9b20dd4bb20585651d7316cc3054b7d4a7b4f8b710b2b698e08968d/contourpy-1.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda", size = 327291 },
+ { url = "https://files.pythonhosted.org/packages/ef/74/7030b67c4e941fe1e5424a3d988080e83568030ce0355f7c9fc556455b01/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4d76d5993a34ef3df5181ba3c92fabb93f1eaa5729504fb03423fcd9f3177242", size = 1263752 },
+ { url = "https://files.pythonhosted.org/packages/f0/ed/92d86f183a8615f13f6b9cbfc5d4298a509d6ce433432e21da838b4b63f4/contourpy-1.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:89785bb2a1980c1bd87f0cb1517a71cde374776a5f150936b82580ae6ead44a1", size = 1318403 },
+ { url = "https://files.pythonhosted.org/packages/b3/0e/c8e4950c77dcfc897c71d61e56690a0a9df39543d2164040301b5df8e67b/contourpy-1.3.1-cp313-cp313t-win32.whl", hash = "sha256:8eb96e79b9f3dcadbad2a3891672f81cdcab7f95b27f28f1c67d75f045b6b4f1", size = 185117 },
+ { url = "https://files.pythonhosted.org/packages/c1/31/1ae946f11dfbd229222e6d6ad8e7bd1891d3d48bde5fbf7a0beb9491f8e3/contourpy-1.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:287ccc248c9e0d0566934e7d606201abd74761b5703d804ff3df8935f523d546", size = 236668 },
+]
+
+[[package]]
+name = "coverage"
+version = "7.6.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5b/d2/c25011f4d036cf7e8acbbee07a8e09e9018390aee25ba085596c4b83d510/coverage-7.6.9.tar.gz", hash = "sha256:4a8d8977b0c6ef5aeadcb644da9e69ae0dcfe66ec7f368c89c72e058bd71164d", size = 801710 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/52/b16af8989a2daf0f80a88522bd8e8eed90b5fcbdecf02a6888f3e80f6ba7/coverage-7.6.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:99e266ae0b5d15f1ca8d278a668df6f51cc4b854513daab5cae695ed7b721cf8", size = 207325 },
+ { url = "https://files.pythonhosted.org/packages/0f/79/6b7826fca8846c1216a113227b9f114ac3e6eacf168b4adcad0cb974aaca/coverage-7.6.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9901d36492009a0a9b94b20e52ebfc8453bf49bb2b27bca2c9706f8b4f5a554a", size = 207563 },
+ { url = "https://files.pythonhosted.org/packages/a7/07/0bc73da0ccaf45d0d64ef86d33b7d7fdeef84b4c44bf6b85fb12c215c5a6/coverage-7.6.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd3e72dd5b97e3af4246cdada7738ef0e608168de952b837b8dd7e90341f015", size = 240580 },
+ { url = "https://files.pythonhosted.org/packages/71/8a/9761f409910961647d892454687cedbaccb99aae828f49486734a82ede6e/coverage-7.6.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff74026a461eb0660366fb01c650c1d00f833a086b336bdad7ab00cc952072b3", size = 237613 },
+ { url = "https://files.pythonhosted.org/packages/8b/10/ee7d696a17ac94f32f2dbda1e17e730bf798ae9931aec1fc01c1944cd4de/coverage-7.6.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65dad5a248823a4996724a88eb51d4b31587aa7aa428562dbe459c684e5787ae", size = 239684 },
+ { url = "https://files.pythonhosted.org/packages/16/60/aa1066040d3c52fff051243c2d6ccda264da72dc6d199d047624d395b2b2/coverage-7.6.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22be16571504c9ccea919fcedb459d5ab20d41172056206eb2994e2ff06118a4", size = 239112 },
+ { url = "https://files.pythonhosted.org/packages/4e/e5/69f35344c6f932ba9028bf168d14a79fedb0dd4849b796d43c81ce75a3c9/coverage-7.6.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f957943bc718b87144ecaee70762bc2bc3f1a7a53c7b861103546d3a403f0a6", size = 237428 },
+ { url = "https://files.pythonhosted.org/packages/32/20/adc895523c4a28f63441b8ac645abd74f9bdd499d2d175bef5b41fc7f92d/coverage-7.6.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ae1387db4aecb1f485fb70a6c0148c6cdaebb6038f1d40089b1fc84a5db556f", size = 239098 },
+ { url = "https://files.pythonhosted.org/packages/a9/a6/e0e74230c9bb3549ec8ffc137cfd16ea5d56e993d6bffed2218bff6187e3/coverage-7.6.9-cp312-cp312-win32.whl", hash = "sha256:1a330812d9cc7ac2182586f6d41b4d0fadf9be9049f350e0efb275c8ee8eb692", size = 209940 },
+ { url = "https://files.pythonhosted.org/packages/3e/18/cb5b88349d4aa2f41ec78d65f92ea32572b30b3f55bc2b70e87578b8f434/coverage-7.6.9-cp312-cp312-win_amd64.whl", hash = "sha256:b12c6b18269ca471eedd41c1b6a1065b2f7827508edb9a7ed5555e9a56dcfc97", size = 210726 },
+ { url = "https://files.pythonhosted.org/packages/35/26/9abab6539d2191dbda2ce8c97b67d74cbfc966cc5b25abb880ffc7c459bc/coverage-7.6.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:899b8cd4781c400454f2f64f7776a5d87bbd7b3e7f7bda0cb18f857bb1334664", size = 207356 },
+ { url = "https://files.pythonhosted.org/packages/44/da/d49f19402240c93453f606e660a6676a2a1fbbaa6870cc23207790aa9697/coverage-7.6.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61f70dc68bd36810972e55bbbe83674ea073dd1dcc121040a08cdf3416c5349c", size = 207614 },
+ { url = "https://files.pythonhosted.org/packages/da/e6/93bb9bf85497816082ec8da6124c25efa2052bd4c887dd3b317b91990c9e/coverage-7.6.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a289d23d4c46f1a82d5db4abeb40b9b5be91731ee19a379d15790e53031c014", size = 240129 },
+ { url = "https://files.pythonhosted.org/packages/df/65/6a824b9406fe066835c1274a9949e06f084d3e605eb1a602727a27ec2fe3/coverage-7.6.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e216d8044a356fc0337c7a2a0536d6de07888d7bcda76febcb8adc50bdbbd00", size = 237276 },
+ { url = "https://files.pythonhosted.org/packages/9f/79/6c7a800913a9dd23ac8c8da133ebb556771a5a3d4df36b46767b1baffd35/coverage-7.6.9-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c026eb44f744acaa2bda7493dad903aa5bf5fc4f2554293a798d5606710055d", size = 239267 },
+ { url = "https://files.pythonhosted.org/packages/57/e7/834d530293fdc8a63ba8ff70033d5182022e569eceb9aec7fc716b678a39/coverage-7.6.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e77363e8425325384f9d49272c54045bbed2f478e9dd698dbc65dbc37860eb0a", size = 238887 },
+ { url = "https://files.pythonhosted.org/packages/15/05/ec9d6080852984f7163c96984444e7cd98b338fd045b191064f943ee1c08/coverage-7.6.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:777abfab476cf83b5177b84d7486497e034eb9eaea0d746ce0c1268c71652077", size = 236970 },
+ { url = "https://files.pythonhosted.org/packages/0a/d8/775937670b93156aec29f694ce37f56214ed7597e1a75b4083ee4c32121c/coverage-7.6.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:447af20e25fdbe16f26e84eb714ba21d98868705cb138252d28bc400381f6ffb", size = 238831 },
+ { url = "https://files.pythonhosted.org/packages/f4/58/88551cb7fdd5ec98cb6044e8814e38583436b14040a5ece15349c44c8f7c/coverage-7.6.9-cp313-cp313-win32.whl", hash = "sha256:d872ec5aeb086cbea771c573600d47944eea2dcba8be5f3ee649bfe3cb8dc9ba", size = 210000 },
+ { url = "https://files.pythonhosted.org/packages/b7/12/cfbf49b95120872785ff8d56ab1c7fe3970a65e35010c311d7dd35c5fd00/coverage-7.6.9-cp313-cp313-win_amd64.whl", hash = "sha256:fd1213c86e48dfdc5a0cc676551db467495a95a662d2396ecd58e719191446e1", size = 210753 },
+ { url = "https://files.pythonhosted.org/packages/7c/68/c1cb31445599b04bde21cbbaa6d21b47c5823cdfef99eae470dfce49c35a/coverage-7.6.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9e7484d286cd5a43744e5f47b0b3fb457865baf07bafc6bee91896364e1419", size = 208091 },
+ { url = "https://files.pythonhosted.org/packages/11/73/84b02c6b19c4a11eb2d5b5eabe926fb26c21c080e0852f5e5a4f01165f9e/coverage-7.6.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e5ea1cf0872ee455c03e5674b5bca5e3e68e159379c1af0903e89f5eba9ccc3a", size = 208369 },
+ { url = "https://files.pythonhosted.org/packages/de/e0/ae5d878b72ff26df2e994a5c5b1c1f6a7507d976b23beecb1ed4c85411ef/coverage-7.6.9-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d10e07aa2b91835d6abec555ec8b2733347956991901eea6ffac295f83a30e4", size = 251089 },
+ { url = "https://files.pythonhosted.org/packages/ab/9c/0aaac011aef95a93ef3cb2fba3fde30bc7e68a6635199ed469b1f5ea355a/coverage-7.6.9-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13a9e2d3ee855db3dd6ea1ba5203316a1b1fd8eaeffc37c5b54987e61e4194ae", size = 246806 },
+ { url = "https://files.pythonhosted.org/packages/f8/19/4d5d3ae66938a7dcb2f58cef3fa5386f838f469575b0bb568c8cc9e3a33d/coverage-7.6.9-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c38bf15a40ccf5619fa2fe8f26106c7e8e080d7760aeccb3722664c8656b030", size = 249164 },
+ { url = "https://files.pythonhosted.org/packages/b3/0b/4ee8a7821f682af9ad440ae3c1e379da89a998883271f088102d7ca2473d/coverage-7.6.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d5275455b3e4627c8e7154feaf7ee0743c2e7af82f6e3b561967b1cca755a0be", size = 248642 },
+ { url = "https://files.pythonhosted.org/packages/8a/12/36ff1d52be18a16b4700f561852e7afd8df56363a5edcfb04cf26a0e19e0/coverage-7.6.9-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8f8770dfc6e2c6a2d4569f411015c8d751c980d17a14b0530da2d7f27ffdd88e", size = 246516 },
+ { url = "https://files.pythonhosted.org/packages/43/d0/8e258f6c3a527c1655602f4f576215e055ac704de2d101710a71a2affac2/coverage-7.6.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8d2dfa71665a29b153a9681edb1c8d9c1ea50dfc2375fb4dac99ea7e21a0bcd9", size = 247783 },
+ { url = "https://files.pythonhosted.org/packages/a9/0d/1e4a48d289429d38aae3babdfcadbf35ca36bdcf3efc8f09b550a845bdb5/coverage-7.6.9-cp313-cp313t-win32.whl", hash = "sha256:5e6b86b5847a016d0fbd31ffe1001b63355ed309651851295315031ea7eb5a9b", size = 210646 },
+ { url = "https://files.pythonhosted.org/packages/26/74/b0729f196f328ac55e42b1e22ec2f16d8bcafe4b8158a26ec9f1cdd1d93e/coverage-7.6.9-cp313-cp313t-win_amd64.whl", hash = "sha256:97ddc94d46088304772d21b060041c97fc16bdda13c6c7f9d8fcd8d5ae0d8611", size = 211815 },
+]
+
+[[package]]
+name = "cycler"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321 },
+]
+
+[[package]]
+name = "databricks-sdk"
+version = "0.39.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "google-auth" },
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f5/98/15030d8ae0c0607739fab357ff731b54e2771a0dd34585f325a266ed950a/databricks_sdk-0.39.0.tar.gz", hash = "sha256:2e04edbb9e050f4362da804fb5dad07637c5adecfcffb4d0ca8abb5aefa36d06", size = 641468 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/a0/3c993a6b468c8a212a45c012c86105ea8ade881662f49382a69ea253a43a/databricks_sdk-0.39.0-py3-none-any.whl", hash = "sha256:915fbf12b249264f74ddae2ca739530e3c4a9c5a454617ac403115d6466c2f99", size = 622955 },
+]
+
+[[package]]
+name = "debugpy"
+version = "1.8.11"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bc/e7/666f4c9b0e24796af50aadc28d36d21c2e01e831a934535f956e09b3650c/debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57", size = 1640124 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/ae/2cf26f3111e9d94384d9c01e9d6170188b0aeda15b60a4ac6457f7c8a26f/debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308", size = 2498756 },
+ { url = "https://files.pythonhosted.org/packages/b0/16/ec551789d547541a46831a19aa15c147741133da188e7e6acf77510545a7/debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768", size = 4219136 },
+ { url = "https://files.pythonhosted.org/packages/72/6f/b2b3ce673c55f882d27a6eb04a5f0c68bcad6b742ac08a86d8392ae58030/debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b", size = 5224440 },
+ { url = "https://files.pythonhosted.org/packages/77/09/b1f05be802c1caef5b3efc042fc6a7cadd13d8118b072afd04a9b9e91e06/debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1", size = 5264578 },
+ { url = "https://files.pythonhosted.org/packages/2e/66/931dc2479aa8fbf362dc6dcee707d895a84b0b2d7b64020135f20b8db1ed/debugpy-1.8.11-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:8988f7163e4381b0da7696f37eec7aca19deb02e500245df68a7159739bbd0d3", size = 2483651 },
+ { url = "https://files.pythonhosted.org/packages/10/07/6c171d0fe6b8d237e35598b742f20ba062511b3a4631938cc78eefbbf847/debugpy-1.8.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c1f6a173d1140e557347419767d2b14ac1c9cd847e0b4c5444c7f3144697e4e", size = 4213770 },
+ { url = "https://files.pythonhosted.org/packages/89/f1/0711da6ac250d4fe3bf7b3e9b14b4a86e82a98b7825075c07e19bab8da3d/debugpy-1.8.11-cp313-cp313-win32.whl", hash = "sha256:bb3b15e25891f38da3ca0740271e63ab9db61f41d4d8541745cfc1824252cb28", size = 5223911 },
+ { url = "https://files.pythonhosted.org/packages/56/98/5e27fa39050749ed460025bcd0034a0a5e78a580a14079b164cc3abdeb98/debugpy-1.8.11-cp313-cp313-win_amd64.whl", hash = "sha256:d8768edcbeb34da9e11bcb8b5c2e0958d25218df7a6e56adf415ef262cd7b6d1", size = 5264166 },
+ { url = "https://files.pythonhosted.org/packages/77/0a/d29a5aacf47b4383ed569b8478c02d59ee3a01ad91224d2cff8562410e43/debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920", size = 5226874 },
+]
+
+[[package]]
+name = "decli"
+version = "0.6.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3d/a0/a4658f93ecb589f479037b164dc13c68d108b50bf6594e54c820749f97ac/decli-0.6.2.tar.gz", hash = "sha256:36f71eb55fd0093895efb4f416ec32b7f6e00147dda448e3365cf73ceab42d6f", size = 7424 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bf/70/3ea48dc9e958d7d66c44c9944809181f1ca79aaef25703c023b5092d34ff/decli-0.6.2-py3-none-any.whl", hash = "sha256:2fc84106ce9a8f523ed501ca543bdb7e416c064917c12a59ebdc7f311a97b7ed", size = 7854 },
+]
+
+[[package]]
+name = "decorator"
+version = "5.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 },
+]
+
+[[package]]
+name = "deprecated"
+version = "1.2.15"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2e/a3/53e7d78a6850ffdd394d7048a31a6f14e44900adedf190f9a165f6b69439/deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d", size = 2977612 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1d/8f/c7f227eb42cfeaddce3eb0c96c60cbca37797fa7b34f8e1aeadf6c5c0983/Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320", size = 9941 },
+]
+
+[[package]]
+name = "distlib"
+version = "0.3.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 },
+]
+
+[[package]]
+name = "docker"
+version = "7.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pywin32", marker = "sys_platform == 'win32'" },
+ { name = "requests" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/91/9b/4a2ea29aeba62471211598dac5d96825bb49348fa07e906ea930394a83ce/docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c", size = 117834 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e3/26/57c6fb270950d476074c087527a558ccb6f4436657314bfb6cdf484114c4/docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0", size = 147774 },
+]
+
+[[package]]
+name = "execnet"
+version = "2.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3", size = 166524 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", size = 40612 },
+]
+
+[[package]]
+name = "executing"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8c/e3/7d45f492c2c4a0e8e0fad57d081a7c8a0286cdd86372b070cca1ec0caa1e/executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab", size = 977485 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", size = 25805 },
+]
+
+[[package]]
+name = "fastjsonschema"
+version = "2.21.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 },
+]
+
+[[package]]
+name = "filelock"
+version = "3.16.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 },
+]
+
+[[package]]
+name = "flask"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "blinker" },
+ { name = "click" },
+ { name = "itsdangerous" },
+ { name = "jinja2" },
+ { name = "werkzeug" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/89/50/dff6380f1c7f84135484e176e0cac8690af72fa90e932ad2a0a60e28c69b/flask-3.1.0.tar.gz", hash = "sha256:5f873c5184c897c8d9d1b05df1e3d01b14910ce69607a117bd3277098a5836ac", size = 680824 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/47/93213ee66ef8fae3b93b3e29206f6b251e65c97bd91d8e1c5596ef15af0a/flask-3.1.0-py3-none-any.whl", hash = "sha256:d667207822eb83f1c4b50949b1623c8fc8d51f2341d65f72e1a1815397551136", size = 102979 },
+]
+
+[[package]]
+name = "fonttools"
+version = "4.55.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/76/61/a300d1574dc381393424047c0396a0e213db212e28361123af9830d71a8d/fonttools-4.55.3.tar.gz", hash = "sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45", size = 3498155 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/89/58/fbcf5dff7e3ea844bb00c4d806ca1e339e1f2dce5529633bf4842c0c9a1f/fonttools-4.55.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35", size = 2765380 },
+ { url = "https://files.pythonhosted.org/packages/81/dd/da6e329e51919b4f421c8738f3497e2ab08c168e76aaef7b6d5351862bdf/fonttools-4.55.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c", size = 2297940 },
+ { url = "https://files.pythonhosted.org/packages/00/44/f5ee560858425c99ef07e04919e736db09d6416408e5a8d3bbfb4a6623fd/fonttools-4.55.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7", size = 4793327 },
+ { url = "https://files.pythonhosted.org/packages/24/da/0a001926d791c55e29ac3c52964957a20dbc1963615446b568b7432891c3/fonttools-4.55.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314", size = 4865624 },
+ { url = "https://files.pythonhosted.org/packages/3d/d8/1edd8b13a427a9fb6418373437caa586c0caa57f260af8e0548f4d11e340/fonttools-4.55.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427", size = 4774166 },
+ { url = "https://files.pythonhosted.org/packages/9c/ec/ade054097976c3d6debc9032e09a351505a0196aa5493edf021be376f75e/fonttools-4.55.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a", size = 5001832 },
+ { url = "https://files.pythonhosted.org/packages/e2/cd/233f0e31ad799bb91fc78099c8b4e5ec43b85a131688519640d6bae46f6a/fonttools-4.55.3-cp312-cp312-win32.whl", hash = "sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07", size = 2162228 },
+ { url = "https://files.pythonhosted.org/packages/46/45/a498b5291f6c0d91b2394b1ed7447442a57d1c9b9cf8f439aee3c316a56e/fonttools-4.55.3-cp312-cp312-win_amd64.whl", hash = "sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54", size = 2209118 },
+ { url = "https://files.pythonhosted.org/packages/9c/9f/00142a19bad96eeeb1aed93f567adc19b7f2c1af6f5bc0a1c3de90b4b1ac/fonttools-4.55.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29", size = 2752812 },
+ { url = "https://files.pythonhosted.org/packages/b0/20/14b8250d63ba65e162091fb0dda07730f90c303bbf5257e9ddacec7230d9/fonttools-4.55.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4", size = 2291521 },
+ { url = "https://files.pythonhosted.org/packages/34/47/a681cfd10245eb74f65e491a934053ec75c4af639655446558f29818e45e/fonttools-4.55.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca", size = 4770980 },
+ { url = "https://files.pythonhosted.org/packages/d2/6c/a7066afc19db0705a12efd812e19c32cde2b9514eb714659522f2ebd60b6/fonttools-4.55.3-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b", size = 4845534 },
+ { url = "https://files.pythonhosted.org/packages/0c/a2/3c204fbabbfd845d9bdcab9ae35279d41e9a4bf5c80a0a2708f9c5a195d6/fonttools-4.55.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048", size = 4753910 },
+ { url = "https://files.pythonhosted.org/packages/6e/8c/b4cb3592880340b89e4ef6601b531780bba73862332a6451d78fe135d6cb/fonttools-4.55.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe", size = 4976411 },
+ { url = "https://files.pythonhosted.org/packages/fc/a8/4bf98840ff89fcc188470b59daec57322178bf36d2f4f756cd19a42a826b/fonttools-4.55.3-cp313-cp313-win32.whl", hash = "sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628", size = 2160178 },
+ { url = "https://files.pythonhosted.org/packages/e6/57/4cc35004605416df3225ff362f3455cf09765db00df578ae9e46d0fefd23/fonttools-4.55.3-cp313-cp313-win_amd64.whl", hash = "sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b", size = 2206102 },
+ { url = "https://files.pythonhosted.org/packages/99/3b/406d17b1f63e04a82aa621936e6e1c53a8c05458abd66300ac85ea7f9ae9/fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977", size = 1111638 },
+]
+
+[[package]]
+name = "gitdb"
+version = "4.0.11"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "smmap" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/19/0d/bbb5b5ee188dec84647a4664f3e11b06ade2bde568dbd489d9d64adef8ed/gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b", size = 394469 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4", size = 62721 },
+]
+
+[[package]]
+name = "gitpython"
+version = "3.1.43"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "gitdb" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b6/a1/106fd9fa2dd989b6fb36e5893961f82992cf676381707253e0bf93eb1662/GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c", size = 214149 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff", size = 207337 },
+]
+
+[[package]]
+name = "google-auth"
+version = "2.37.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cachetools" },
+ { name = "pyasn1-modules" },
+ { name = "rsa" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/46/af/b25763b9d35dfc2c6f9c3ec34d8d3f1ba760af3a7b7e8d5c5f0579522c45/google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00", size = 268878 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/8d/4d5d5f9f500499f7bd4c93903b43e8d6976f3fc6f064637ded1a85d09b07/google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0", size = 209829 },
+]
+
+[[package]]
+name = "graphene"
+version = "3.4.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "graphql-core" },
+ { name = "graphql-relay" },
+ { name = "python-dateutil" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cc/f6/bf62ff950c317ed03e77f3f6ddd7e34aaa98fe89d79ebd660c55343d8054/graphene-3.4.3.tar.gz", hash = "sha256:2a3786948ce75fe7e078443d37f609cbe5bb36ad8d6b828740ad3b95ed1a0aaa", size = 44739 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/66/e0/61d8e98007182e6b2aca7cf65904721fb2e4bce0192272ab9cb6f69d8812/graphene-3.4.3-py2.py3-none-any.whl", hash = "sha256:820db6289754c181007a150db1f7fff544b94142b556d12e3ebc777a7bf36c71", size = 114894 },
+]
+
+[[package]]
+name = "graphql-core"
+version = "3.2.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2e/b5/ebc6fe3852e2d2fdaf682dddfc366934f3d2c9ef9b6d1b0e6ca348d936ba/graphql_core-3.2.5.tar.gz", hash = "sha256:e671b90ed653c808715645e3998b7ab67d382d55467b7e2978549111bbabf8d5", size = 504664 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e3/dc/078bd6b304de790618ebb95e2aedaadb78f4527ac43a9ad8815f006636b6/graphql_core-3.2.5-py3-none-any.whl", hash = "sha256:2f150d5096448aa4f8ab26268567bbfeef823769893b39c1a2e1409590939c8a", size = 203189 },
+]
+
+[[package]]
+name = "graphql-relay"
+version = "3.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "graphql-core" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d1/13/98fbf8d67552f102488ffc16c6f559ce71ea15f6294728d33928ab5ff14d/graphql-relay-3.2.0.tar.gz", hash = "sha256:1ff1c51298356e481a0be009ccdff249832ce53f30559c1338f22a0e0d17250c", size = 50027 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/74/16/a4cf06adbc711bd364a73ce043b0b08d8fa5aae3df11b6ee4248bcdad2e0/graphql_relay-3.2.0-py3-none-any.whl", hash = "sha256:c9b22bd28b170ba1fe674c74384a8ff30a76c8e26f88ac3aa1584dd3179953e5", size = 16940 },
+]
+
+[[package]]
+name = "greenlet"
+version = "3.1.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2f/ff/df5fede753cc10f6a5be0931204ea30c35fa2f2ea7a35b25bdaf4fe40e46/greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", size = 186022 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7d/ec/bad1ac26764d26aa1353216fcbfa4670050f66d445448aafa227f8b16e80/greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", size = 274260 },
+ { url = "https://files.pythonhosted.org/packages/66/d4/c8c04958870f482459ab5956c2942c4ec35cac7fe245527f1039837c17a9/greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", size = 649064 },
+ { url = "https://files.pythonhosted.org/packages/51/41/467b12a8c7c1303d20abcca145db2be4e6cd50a951fa30af48b6ec607581/greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", size = 663420 },
+ { url = "https://files.pythonhosted.org/packages/27/8f/2a93cd9b1e7107d5c7b3b7816eeadcac2ebcaf6d6513df9abaf0334777f6/greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", size = 658035 },
+ { url = "https://files.pythonhosted.org/packages/57/5c/7c6f50cb12be092e1dccb2599be5a942c3416dbcfb76efcf54b3f8be4d8d/greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", size = 660105 },
+ { url = "https://files.pythonhosted.org/packages/f1/66/033e58a50fd9ec9df00a8671c74f1f3a320564c6415a4ed82a1c651654ba/greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", size = 613077 },
+ { url = "https://files.pythonhosted.org/packages/19/c5/36384a06f748044d06bdd8776e231fadf92fc896bd12cb1c9f5a1bda9578/greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", size = 1135975 },
+ { url = "https://files.pythonhosted.org/packages/38/f9/c0a0eb61bdf808d23266ecf1d63309f0e1471f284300ce6dac0ae1231881/greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", size = 1163955 },
+ { url = "https://files.pythonhosted.org/packages/43/21/a5d9df1d21514883333fc86584c07c2b49ba7c602e670b174bd73cfc9c7f/greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", size = 299655 },
+ { url = "https://files.pythonhosted.org/packages/f3/57/0db4940cd7bb461365ca8d6fd53e68254c9dbbcc2b452e69d0d41f10a85e/greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", size = 272990 },
+ { url = "https://files.pythonhosted.org/packages/1c/ec/423d113c9f74e5e402e175b157203e9102feeb7088cee844d735b28ef963/greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", size = 649175 },
+ { url = "https://files.pythonhosted.org/packages/a9/46/ddbd2db9ff209186b7b7c621d1432e2f21714adc988703dbdd0e65155c77/greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", size = 663425 },
+ { url = "https://files.pythonhosted.org/packages/bc/f9/9c82d6b2b04aa37e38e74f0c429aece5eeb02bab6e3b98e7db89b23d94c6/greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", size = 657736 },
+ { url = "https://files.pythonhosted.org/packages/d9/42/b87bc2a81e3a62c3de2b0d550bf91a86939442b7ff85abb94eec3fc0e6aa/greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", size = 660347 },
+ { url = "https://files.pythonhosted.org/packages/37/fa/71599c3fd06336cdc3eac52e6871cfebab4d9d70674a9a9e7a482c318e99/greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", size = 615583 },
+ { url = "https://files.pythonhosted.org/packages/4e/96/e9ef85de031703ee7a4483489b40cf307f93c1824a02e903106f2ea315fe/greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", size = 1133039 },
+ { url = "https://files.pythonhosted.org/packages/87/76/b2b6362accd69f2d1889db61a18c94bc743e961e3cab344c2effaa4b4a25/greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", size = 1160716 },
+ { url = "https://files.pythonhosted.org/packages/1f/1b/54336d876186920e185066d8c3024ad55f21d7cc3683c856127ddb7b13ce/greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", size = 299490 },
+ { url = "https://files.pythonhosted.org/packages/5f/17/bea55bf36990e1638a2af5ba10c1640273ef20f627962cf97107f1e5d637/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", size = 643731 },
+ { url = "https://files.pythonhosted.org/packages/78/d2/aa3d2157f9ab742a08e0fd8f77d4699f37c22adfbfeb0c610a186b5f75e0/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", size = 649304 },
+ { url = "https://files.pythonhosted.org/packages/f1/8e/d0aeffe69e53ccff5a28fa86f07ad1d2d2d6537a9506229431a2a02e2f15/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", size = 646537 },
+ { url = "https://files.pythonhosted.org/packages/05/79/e15408220bbb989469c8871062c97c6c9136770657ba779711b90870d867/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", size = 642506 },
+ { url = "https://files.pythonhosted.org/packages/18/87/470e01a940307796f1d25f8167b551a968540fbe0551c0ebb853cb527dd6/greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", size = 602753 },
+ { url = "https://files.pythonhosted.org/packages/e2/72/576815ba674eddc3c25028238f74d7b8068902b3968cbe456771b166455e/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", size = 1122731 },
+ { url = "https://files.pythonhosted.org/packages/ac/38/08cc303ddddc4b3d7c628c3039a61a3aae36c241ed01393d00c2fd663473/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", size = 1142112 },
+]
+
+[[package]]
+name = "gunicorn"
+version = "23.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging", marker = "platform_system != 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", size = 375031 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", size = 85029 },
+]
+
+[[package]]
+name = "identify"
+version = "2.6.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1a/5f/05f0d167be94585d502b4adf8c7af31f1dc0b1c7e14f9938a88fdbbcf4a7/identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02", size = 99179 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c9/f5/09644a3ad803fae9eca8efa17e1f2aef380c7f0b02f7ec4e8d446e51d64a/identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd", size = 99049 },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
+]
+
+[[package]]
+name = "importlib-metadata"
+version = "8.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "zipp" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", size = 55304 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", size = 26514 },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 },
+]
+
+[[package]]
+name = "invoke"
+version = "2.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f9/42/127e6d792884ab860defc3f4d80a8f9812e48ace584ffc5a346de58cdc6c/invoke-2.2.0.tar.gz", hash = "sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5", size = 299835 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0a/66/7f8c48009c72d73bc6bbe6eb87ac838d6a526146f7dab14af671121eb379/invoke-2.2.0-py3-none-any.whl", hash = "sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820", size = 160274 },
+]
+
+[[package]]
+name = "ipykernel"
+version = "6.29.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "appnope", marker = "platform_system == 'Darwin'" },
+ { name = "comm" },
+ { name = "debugpy" },
+ { name = "ipython" },
+ { name = "jupyter-client" },
+ { name = "jupyter-core" },
+ { name = "matplotlib-inline" },
+ { name = "nest-asyncio" },
+ { name = "packaging" },
+ { name = "psutil" },
+ { name = "pyzmq" },
+ { name = "tornado" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/67594cb0c7055dc50814b21731c22a601101ea3b1b50a9a1b090e11f5d0f/ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215", size = 163367 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/94/5c/368ae6c01c7628438358e6d337c19b05425727fbb221d2a3c4303c372f42/ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5", size = 117173 },
+]
+
+[[package]]
+name = "ipython"
+version = "8.18.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "decorator" },
+ { name = "jedi" },
+ { name = "matplotlib-inline" },
+ { name = "pexpect", marker = "sys_platform != 'win32'" },
+ { name = "prompt-toolkit" },
+ { name = "pygments" },
+ { name = "stack-data" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9b/af/e1ff4d5499165e330413e0fb9811ca937c332d20900eae641cd590c0ab71/ipython-8.18.0.tar.gz", hash = "sha256:4feb61210160f75e229ce932dbf8b719bff37af123c0b985fd038b14233daa16", size = 5486388 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7a/57/ef12725f8af19920db1d8f2eaee44ebbaee6d9fdcf853be5db76bfdb9ce6/ipython-8.18.0-py3-none-any.whl", hash = "sha256:d538a7a98ad9b7e018926447a5f35856113a85d08fd68a165d7871ab5175f6e0", size = 808166 },
+]
+
+[[package]]
+name = "itsdangerous"
+version = "2.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234 },
+]
+
+[[package]]
+name = "jedi"
+version = "0.19.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "parso" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278 },
+]
+
+[[package]]
+name = "jinja2"
+version = "3.1.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ed/55/39036716d19cab0747a5020fc7e907f362fbf48c984b14e62127f7e68e5d/jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", size = 240245 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", size = 133271 },
+]
+
+[[package]]
+name = "joblib"
+version = "1.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 },
+]
+
+[[package]]
+name = "jsonschema"
+version = "4.23.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "jsonschema-specifications" },
+ { name = "referencing" },
+ { name = "rpds-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 },
+]
+
+[[package]]
+name = "jsonschema-specifications"
+version = "2024.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "referencing" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 },
+]
+
+[[package]]
+name = "jupyter-client"
+version = "8.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jupyter-core" },
+ { name = "python-dateutil" },
+ { name = "pyzmq" },
+ { name = "tornado" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105 },
+]
+
+[[package]]
+name = "jupyter-core"
+version = "5.7.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "platformdirs" },
+ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/00/11/b56381fa6c3f4cc5d2cf54a7dbf98ad9aa0b339ef7a601d6053538b079a7/jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9", size = 87629 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409", size = 28965 },
+]
+
+[[package]]
+name = "kiwisolver"
+version = "1.4.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/85/4d/2255e1c76304cbd60b48cee302b66d1dde4468dc5b1160e4b7cb43778f2a/kiwisolver-1.4.7.tar.gz", hash = "sha256:9893ff81bd7107f7b685d3017cc6583daadb4fc26e4a888350df530e41980a60", size = 97286 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/97/9c/0a11c714cf8b6ef91001c8212c4ef207f772dd84540104952c45c1f0a249/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:5360cc32706dab3931f738d3079652d20982511f7c0ac5711483e6eab08efff2", size = 121808 },
+ { url = "https://files.pythonhosted.org/packages/f2/d8/0fe8c5f5d35878ddd135f44f2af0e4e1d379e1c7b0716f97cdcb88d4fd27/kiwisolver-1.4.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942216596dc64ddb25adb215c3c783215b23626f8d84e8eff8d6d45c3f29f75a", size = 65531 },
+ { url = "https://files.pythonhosted.org/packages/80/c5/57fa58276dfdfa612241d640a64ca2f76adc6ffcebdbd135b4ef60095098/kiwisolver-1.4.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:48b571ecd8bae15702e4f22d3ff6a0f13e54d3d00cd25216d5e7f658242065ee", size = 63894 },
+ { url = "https://files.pythonhosted.org/packages/8b/e9/26d3edd4c4ad1c5b891d8747a4f81b1b0aba9fb9721de6600a4adc09773b/kiwisolver-1.4.7-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ad42ba922c67c5f219097b28fae965e10045ddf145d2928bfac2eb2e17673640", size = 1369296 },
+ { url = "https://files.pythonhosted.org/packages/b6/67/3f4850b5e6cffb75ec40577ddf54f7b82b15269cc5097ff2e968ee32ea7d/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:612a10bdae23404a72941a0fc8fa2660c6ea1217c4ce0dbcab8a8f6543ea9e7f", size = 1461450 },
+ { url = "https://files.pythonhosted.org/packages/52/be/86cbb9c9a315e98a8dc6b1d23c43cffd91d97d49318854f9c37b0e41cd68/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9e838bba3a3bac0fe06d849d29772eb1afb9745a59710762e4ba3f4cb8424483", size = 1579168 },
+ { url = "https://files.pythonhosted.org/packages/0f/00/65061acf64bd5fd34c1f4ae53f20b43b0a017a541f242a60b135b9d1e301/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:22f499f6157236c19f4bbbd472fa55b063db77a16cd74d49afe28992dff8c258", size = 1507308 },
+ { url = "https://files.pythonhosted.org/packages/21/e4/c0b6746fd2eb62fe702118b3ca0cb384ce95e1261cfada58ff693aeec08a/kiwisolver-1.4.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693902d433cf585133699972b6d7c42a8b9f8f826ebcaf0132ff55200afc599e", size = 1464186 },
+ { url = "https://files.pythonhosted.org/packages/0a/0f/529d0a9fffb4d514f2782c829b0b4b371f7f441d61aa55f1de1c614c4ef3/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e77f2126c3e0b0d055f44513ed349038ac180371ed9b52fe96a32aa071a5107", size = 2247877 },
+ { url = "https://files.pythonhosted.org/packages/d1/e1/66603ad779258843036d45adcbe1af0d1a889a07af4635f8b4ec7dccda35/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:657a05857bda581c3656bfc3b20e353c232e9193eb167766ad2dc58b56504948", size = 2404204 },
+ { url = "https://files.pythonhosted.org/packages/8d/61/de5fb1ca7ad1f9ab7970e340a5b833d735df24689047de6ae71ab9d8d0e7/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4bfa75a048c056a411f9705856abfc872558e33c055d80af6a380e3658766038", size = 2352461 },
+ { url = "https://files.pythonhosted.org/packages/ba/d2/0edc00a852e369827f7e05fd008275f550353f1f9bcd55db9363d779fc63/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:34ea1de54beef1c104422d210c47c7d2a4999bdecf42c7b5718fbe59a4cac383", size = 2501358 },
+ { url = "https://files.pythonhosted.org/packages/84/15/adc15a483506aec6986c01fb7f237c3aec4d9ed4ac10b756e98a76835933/kiwisolver-1.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90da3b5f694b85231cf93586dad5e90e2d71b9428f9aad96952c99055582f520", size = 2314119 },
+ { url = "https://files.pythonhosted.org/packages/36/08/3a5bb2c53c89660863a5aa1ee236912269f2af8762af04a2e11df851d7b2/kiwisolver-1.4.7-cp312-cp312-win32.whl", hash = "sha256:18e0cca3e008e17fe9b164b55735a325140a5a35faad8de92dd80265cd5eb80b", size = 46367 },
+ { url = "https://files.pythonhosted.org/packages/19/93/c05f0a6d825c643779fc3c70876bff1ac221f0e31e6f701f0e9578690d70/kiwisolver-1.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:58cb20602b18f86f83a5c87d3ee1c766a79c0d452f8def86d925e6c60fbf7bfb", size = 55884 },
+ { url = "https://files.pythonhosted.org/packages/d2/f9/3828d8f21b6de4279f0667fb50a9f5215e6fe57d5ec0d61905914f5b6099/kiwisolver-1.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:f5a8b53bdc0b3961f8b6125e198617c40aeed638b387913bf1ce78afb1b0be2a", size = 48528 },
+ { url = "https://files.pythonhosted.org/packages/c4/06/7da99b04259b0f18b557a4effd1b9c901a747f7fdd84cf834ccf520cb0b2/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2e6039dcbe79a8e0f044f1c39db1986a1b8071051efba3ee4d74f5b365f5226e", size = 121913 },
+ { url = "https://files.pythonhosted.org/packages/97/f5/b8a370d1aa593c17882af0a6f6755aaecd643640c0ed72dcfd2eafc388b9/kiwisolver-1.4.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a1ecf0ac1c518487d9d23b1cd7139a6a65bc460cd101ab01f1be82ecf09794b6", size = 65627 },
+ { url = "https://files.pythonhosted.org/packages/2a/fc/6c0374f7503522539e2d4d1b497f5ebad3f8ed07ab51aed2af988dd0fb65/kiwisolver-1.4.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7ab9ccab2b5bd5702ab0803676a580fffa2aa178c2badc5557a84cc943fcf750", size = 63888 },
+ { url = "https://files.pythonhosted.org/packages/bf/3e/0b7172793d0f41cae5c923492da89a2ffcd1adf764c16159ca047463ebd3/kiwisolver-1.4.7-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f816dd2277f8d63d79f9c8473a79fe54047bc0467754962840782c575522224d", size = 1369145 },
+ { url = "https://files.pythonhosted.org/packages/77/92/47d050d6f6aced2d634258123f2688fbfef8ded3c5baf2c79d94d91f1f58/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8bcc23ceb5a1b624572a1623b9f79d2c3b337c8c455405ef231933a10da379", size = 1461448 },
+ { url = "https://files.pythonhosted.org/packages/9c/1b/8f80b18e20b3b294546a1adb41701e79ae21915f4175f311a90d042301cf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dea0bf229319828467d7fca8c7c189780aa9ff679c94539eed7532ebe33ed37c", size = 1578750 },
+ { url = "https://files.pythonhosted.org/packages/a4/fe/fe8e72f3be0a844f257cadd72689c0848c6d5c51bc1d60429e2d14ad776e/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c06a4c7cf15ec739ce0e5971b26c93638730090add60e183530d70848ebdd34", size = 1507175 },
+ { url = "https://files.pythonhosted.org/packages/39/fa/cdc0b6105d90eadc3bee525fecc9179e2b41e1ce0293caaf49cb631a6aaf/kiwisolver-1.4.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913983ad2deb14e66d83c28b632fd35ba2b825031f2fa4ca29675e665dfecbe1", size = 1463963 },
+ { url = "https://files.pythonhosted.org/packages/6e/5c/0c03c4e542720c6177d4f408e56d1c8315899db72d46261a4e15b8b33a41/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5337ec7809bcd0f424c6b705ecf97941c46279cf5ed92311782c7c9c2026f07f", size = 2248220 },
+ { url = "https://files.pythonhosted.org/packages/3d/ee/55ef86d5a574f4e767df7da3a3a7ff4954c996e12d4fbe9c408170cd7dcc/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4c26ed10c4f6fa6ddb329a5120ba3b6db349ca192ae211e882970bfc9d91420b", size = 2404463 },
+ { url = "https://files.pythonhosted.org/packages/0f/6d/73ad36170b4bff4825dc588acf4f3e6319cb97cd1fb3eb04d9faa6b6f212/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c619b101e6de2222c1fcb0531e1b17bbffbe54294bfba43ea0d411d428618c27", size = 2352842 },
+ { url = "https://files.pythonhosted.org/packages/0b/16/fa531ff9199d3b6473bb4d0f47416cdb08d556c03b8bc1cccf04e756b56d/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:073a36c8273647592ea332e816e75ef8da5c303236ec0167196793eb1e34657a", size = 2501635 },
+ { url = "https://files.pythonhosted.org/packages/78/7e/aa9422e78419db0cbe75fb86d8e72b433818f2e62e2e394992d23d23a583/kiwisolver-1.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3ce6b2b0231bda412463e152fc18335ba32faf4e8c23a754ad50ffa70e4091ee", size = 2314556 },
+ { url = "https://files.pythonhosted.org/packages/a8/b2/15f7f556df0a6e5b3772a1e076a9d9f6c538ce5f05bd590eca8106508e06/kiwisolver-1.4.7-cp313-cp313-win32.whl", hash = "sha256:f4c9aee212bc89d4e13f58be11a56cc8036cabad119259d12ace14b34476fd07", size = 46364 },
+ { url = "https://files.pythonhosted.org/packages/0b/db/32e897e43a330eee8e4770bfd2737a9584b23e33587a0812b8e20aac38f7/kiwisolver-1.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:8a3ec5aa8e38fc4c8af308917ce12c536f1c88452ce554027e55b22cbbfbff76", size = 55887 },
+ { url = "https://files.pythonhosted.org/packages/c8/a4/df2bdca5270ca85fd25253049eb6708d4127be2ed0e5c2650217450b59e9/kiwisolver-1.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:76c8094ac20ec259471ac53e774623eb62e6e1f56cd8690c67ce6ce4fcb05650", size = 48530 },
+]
+
+[[package]]
+name = "llvmlite"
+version = "0.43.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9f/3d/f513755f285db51ab363a53e898b85562e950f79a2e6767a364530c2f645/llvmlite-0.43.0.tar.gz", hash = "sha256:ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5", size = 157069 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0b/67/9443509e5d2b6d8587bae3ede5598fa8bd586b1c7701696663ea8af15b5b/llvmlite-0.43.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f99b600aa7f65235a5a05d0b9a9f31150c390f31261f2a0ba678e26823ec38f7", size = 31064409 },
+ { url = "https://files.pythonhosted.org/packages/a2/9c/24139d3712d2d352e300c39c0e00d167472c08b3bd350c3c33d72c88ff8d/llvmlite-0.43.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:35d80d61d0cda2d767f72de99450766250560399edc309da16937b93d3b676e7", size = 28793145 },
+ { url = "https://files.pythonhosted.org/packages/bf/f1/4c205a48488e574ee9f6505d50e84370a978c90f08dab41a42d8f2c576b6/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eccce86bba940bae0d8d48ed925f21dbb813519169246e2ab292b5092aba121f", size = 42857276 },
+ { url = "https://files.pythonhosted.org/packages/00/5f/323c4d56e8401c50185fd0e875fcf06b71bf825a863699be1eb10aa2a9cb/llvmlite-0.43.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df6509e1507ca0760787a199d19439cc887bfd82226f5af746d6977bd9f66844", size = 43871781 },
+ { url = "https://files.pythonhosted.org/packages/c6/94/dea10e263655ce78d777e78d904903faae39d1fc440762be4a9dc46bed49/llvmlite-0.43.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a2872ee80dcf6b5dbdc838763d26554c2a18aa833d31a2635bff16aafefb9c9", size = 28107442 },
+]
+
+[[package]]
+name = "loguru"
+version = "0.7.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "win32-setctime", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595 },
+]
+
+[[package]]
+name = "mako"
+version = "1.3.8"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5f/d9/8518279534ed7dace1795d5a47e49d5299dd0994eed1053996402a8902f9/mako-1.3.8.tar.gz", hash = "sha256:577b97e414580d3e088d47c2dbbe9594aa7a5146ed2875d4dfa9075af2dd3cc8", size = 392069 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/bf/7a6a36ce2e4cafdfb202752be68850e22607fccd692847c45c1ae3c17ba6/Mako-1.3.8-py3-none-any.whl", hash = "sha256:42f48953c7eb91332040ff567eb7eea69b22e7a4affbc5ba8e845e8f730f6627", size = 78569 },
+]
+
+[[package]]
+name = "markdown"
+version = "3.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/54/28/3af612670f82f4c056911fbbbb42760255801b3068c48de792d354ff4472/markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2", size = 357086 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3f/08/83871f3c50fc983b88547c196d11cf8c3340e37c32d2e9d6152abe2c61f7/Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803", size = 106349 },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mdurl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
+]
+
+[[package]]
+name = "matplotlib"
+version = "3.10.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "contourpy" },
+ { name = "cycler" },
+ { name = "fonttools" },
+ { name = "kiwisolver" },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pillow" },
+ { name = "pyparsing" },
+ { name = "python-dateutil" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/68/dd/fa2e1a45fce2d09f4aea3cee169760e672c8262325aa5796c49d543dc7e6/matplotlib-3.10.0.tar.gz", hash = "sha256:b886d02a581b96704c9d1ffe55709e49b4d2d52709ccebc4be42db856e511278", size = 36686418 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/44/c7/6b2d8cb7cc251d53c976799cacd3200add56351c175ba89ab9cbd7c1e68a/matplotlib-3.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4659665bc7c9b58f8c00317c3c2a299f7f258eeae5a5d56b4c64226fca2f7c59", size = 8172465 },
+ { url = "https://files.pythonhosted.org/packages/42/2a/6d66d0fba41e13e9ca6512a0a51170f43e7e7ed3a8dfa036324100775612/matplotlib-3.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d44cb942af1693cced2604c33a9abcef6205601c445f6d0dc531d813af8a2f5a", size = 8043300 },
+ { url = "https://files.pythonhosted.org/packages/90/60/2a60342b27b90a16bada939a85e29589902b41073f59668b904b15ea666c/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a994f29e968ca002b50982b27168addfd65f0105610b6be7fa515ca4b5307c95", size = 8448936 },
+ { url = "https://files.pythonhosted.org/packages/a7/b2/d872fc3d753516870d520595ddd8ce4dd44fa797a240999f125f58521ad7/matplotlib-3.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0558bae37f154fffda54d779a592bc97ca8b4701f1c710055b609a3bac44c8", size = 8594151 },
+ { url = "https://files.pythonhosted.org/packages/f4/bd/b2f60cf7f57d014ab33e4f74602a2b5bdc657976db8196bbc022185f6f9c/matplotlib-3.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:503feb23bd8c8acc75541548a1d709c059b7184cde26314896e10a9f14df5f12", size = 9400347 },
+ { url = "https://files.pythonhosted.org/packages/9f/6e/264673e64001b99d747aff5a288eca82826c024437a3694e19aed1decf46/matplotlib-3.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:c40ba2eb08b3f5de88152c2333c58cee7edcead0a2a0d60fcafa116b17117adc", size = 8039144 },
+ { url = "https://files.pythonhosted.org/packages/72/11/1b2a094d95dcb6e6edd4a0b238177c439006c6b7a9fe8d31801237bf512f/matplotlib-3.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96f2886f5c1e466f21cc41b70c5a0cd47bfa0015eb2d5793c88ebce658600e25", size = 8173073 },
+ { url = "https://files.pythonhosted.org/packages/0d/c4/87b6ad2723070511a411ea719f9c70fde64605423b184face4e94986de9d/matplotlib-3.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:12eaf48463b472c3c0f8dbacdbf906e573013df81a0ab82f0616ea4b11281908", size = 8043892 },
+ { url = "https://files.pythonhosted.org/packages/57/69/cb0812a136550b21361335e9ffb7d459bf6d13e03cb7b015555d5143d2d6/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fbbabc82fde51391c4da5006f965e36d86d95f6ee83fb594b279564a4c5d0d2", size = 8450532 },
+ { url = "https://files.pythonhosted.org/packages/ea/3a/bab9deb4fb199c05e9100f94d7f1c702f78d3241e6a71b784d2b88d7bebd/matplotlib-3.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad2e15300530c1a94c63cfa546e3b7864bd18ea2901317bae8bbf06a5ade6dcf", size = 8593905 },
+ { url = "https://files.pythonhosted.org/packages/8b/66/742fd242f989adc1847ddf5f445815f73ad7c46aa3440690cc889cfa423c/matplotlib-3.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3547d153d70233a8496859097ef0312212e2689cdf8d7ed764441c77604095ae", size = 9399609 },
+ { url = "https://files.pythonhosted.org/packages/fa/d6/54cee7142cef7d910a324a7aedf335c0c147b03658b54d49ec48166f10a6/matplotlib-3.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c55b20591ced744aa04e8c3e4b7543ea4d650b6c3c4b208c08a05b4010e8b442", size = 8039076 },
+ { url = "https://files.pythonhosted.org/packages/43/14/815d072dc36e88753433bfd0385113405efb947e6895ff7b4d2e8614a33b/matplotlib-3.10.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9ade1003376731a971e398cc4ef38bb83ee8caf0aee46ac6daa4b0506db1fd06", size = 8211000 },
+ { url = "https://files.pythonhosted.org/packages/9a/76/34e75f364194ec352678adcb540964be6f35ec7d3d8c75ebcb17e6839359/matplotlib-3.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:95b710fea129c76d30be72c3b38f330269363fbc6e570a5dd43580487380b5ff", size = 8087707 },
+ { url = "https://files.pythonhosted.org/packages/c3/2b/b6bc0dff6a72d333bc7df94a66e6ce662d224e43daa8ad8ae4eaa9a77f55/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cdbaf909887373c3e094b0318d7ff230b2ad9dcb64da7ade654182872ab2593", size = 8477384 },
+ { url = "https://files.pythonhosted.org/packages/c2/2d/b5949fb2b76e9b47ab05e25a5f5f887c70de20d8b0cbc704a4e2ee71c786/matplotlib-3.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d907fddb39f923d011875452ff1eca29a9e7f21722b873e90db32e5d8ddff12e", size = 8610334 },
+ { url = "https://files.pythonhosted.org/packages/d6/9a/6e3c799d5134d9af44b01c787e1360bee38cf51850506ea2e743a787700b/matplotlib-3.10.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3b427392354d10975c1d0f4ee18aa5844640b512d5311ef32efd4dd7db106ede", size = 9406777 },
+ { url = "https://files.pythonhosted.org/packages/0e/dd/e6ae97151e5ed648ab2ea48885bc33d39202b640eec7a2910e2c843f7ac0/matplotlib-3.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5fd41b0ec7ee45cd960a8e71aea7c946a28a0b8a4dcee47d2856b2af051f334c", size = 8109742 },
+]
+
+[[package]]
+name = "matplotlib-inline"
+version = "0.1.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 },
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 },
+]
+
+[[package]]
+name = "mlflow"
+version = "2.19.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "alembic" },
+ { name = "docker" },
+ { name = "flask" },
+ { name = "graphene" },
+ { name = "gunicorn", marker = "platform_system != 'Windows'" },
+ { name = "jinja2" },
+ { name = "markdown" },
+ { name = "matplotlib" },
+ { name = "mlflow-skinny" },
+ { name = "numpy" },
+ { name = "pandas" },
+ { name = "pyarrow" },
+ { name = "scikit-learn" },
+ { name = "scipy" },
+ { name = "sqlalchemy" },
+ { name = "waitress", marker = "platform_system == 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cd/76/f623312328a8b642fba8b9683e07904ee9f9c59b9e58528e9a9f5bbdcfea/mlflow-2.19.0.tar.gz", hash = "sha256:b860e9d2599a32460968a0a90efdf960b6a6237a08bff44cc5508830017cf70e", size = 26813362 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c2/39/e051e58f35077500fea62adb67c0ff32cab768a5bbc1e0d8c682e30d56ee/mlflow-2.19.0-py3-none-any.whl", hash = "sha256:875364a9c37d2e6e5b6256a3cee314e1e6ada0c253f46b6fcb37d986a2dc2514", size = 27397174 },
+]
+
+[[package]]
+name = "mlflow-skinny"
+version = "2.19.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cachetools" },
+ { name = "click" },
+ { name = "cloudpickle" },
+ { name = "databricks-sdk" },
+ { name = "gitpython" },
+ { name = "importlib-metadata" },
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-sdk" },
+ { name = "packaging" },
+ { name = "protobuf" },
+ { name = "pyyaml" },
+ { name = "requests" },
+ { name = "sqlparse" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/93/69/53c19be8f05574b9955a2930d0c9b04403d5dd35afce05fbe664b5bfbbfc/mlflow_skinny-2.19.0.tar.gz", hash = "sha256:55a464082ecd48961f73f9a0a58b8d44bf2e77bd32632998f1dffd43ef48623c", size = 5503927 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/05/95/75f59715e39aa2224e5ecd8c52d5a305467e16a843ade2235a215599a1fa/mlflow_skinny-2.19.0-py3-none-any.whl", hash = "sha256:72c652545460db09dc5716241d2fcd9a211b7875444632fbe2d0b62a1f057694", size = 5854771 },
+]
+
+[[package]]
+name = "multimethod"
+version = "1.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ed/f3/930a6dc1d35b2ab65faffa2a75bbcc67f12d8227857188273783df4e5134/multimethod-1.12.tar.gz", hash = "sha256:8db8ef2a8d2a247e3570cc23317680892fdf903d84c8c1053667c8e8f7671a67", size = 17423 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/98/cff14d53a2f2f67d7fe8a4e235a383ee71aba6a1da12aeea24b325d0c72a/multimethod-1.12-py3-none-any.whl", hash = "sha256:fd0c473c43558908d97cc06e4d68e8f69202f167db46f7b4e4058893e7dbdf60", size = 10646 },
+]
+
+[[package]]
+name = "mypy"
+version = "1.13.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mypy-extensions" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e8/21/7e9e523537991d145ab8a0a2fd98548d67646dc2aaaf6091c31ad883e7c1/mypy-1.13.0.tar.gz", hash = "sha256:0291a61b6fbf3e6673e3405cfcc0e7650bebc7939659fdca2702958038bd835e", size = 3152532 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fb/31/c526a7bd2e5c710ae47717c7a5f53f616db6d9097caf48ad650581e81748/mypy-1.13.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5c7051a3461ae84dfb5dd15eff5094640c61c5f22257c8b766794e6dd85e72d5", size = 11077900 },
+ { url = "https://files.pythonhosted.org/packages/83/67/b7419c6b503679d10bd26fc67529bc6a1f7a5f220bbb9f292dc10d33352f/mypy-1.13.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39bb21c69a5d6342f4ce526e4584bc5c197fd20a60d14a8624d8743fffb9472e", size = 10074818 },
+ { url = "https://files.pythonhosted.org/packages/ba/07/37d67048786ae84e6612575e173d713c9a05d0ae495dde1e68d972207d98/mypy-1.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:164f28cb9d6367439031f4c81e84d3ccaa1e19232d9d05d37cb0bd880d3f93c2", size = 12589275 },
+ { url = "https://files.pythonhosted.org/packages/1f/17/b1018c6bb3e9f1ce3956722b3bf91bff86c1cefccca71cec05eae49d6d41/mypy-1.13.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a4c1bfcdbce96ff5d96fc9b08e3831acb30dc44ab02671eca5953eadad07d6d0", size = 13037783 },
+ { url = "https://files.pythonhosted.org/packages/cb/32/cd540755579e54a88099aee0287086d996f5a24281a673f78a0e14dba150/mypy-1.13.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0affb3a79a256b4183ba09811e3577c5163ed06685e4d4b46429a271ba174d2", size = 9726197 },
+ { url = "https://files.pythonhosted.org/packages/11/bb/ab4cfdc562cad80418f077d8be9b4491ee4fb257440da951b85cbb0a639e/mypy-1.13.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a7b44178c9760ce1a43f544e595d35ed61ac2c3de306599fa59b38a6048e1aa7", size = 11069721 },
+ { url = "https://files.pythonhosted.org/packages/59/3b/a393b1607cb749ea2c621def5ba8c58308ff05e30d9dbdc7c15028bca111/mypy-1.13.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d5092efb8516d08440e36626f0153b5006d4088c1d663d88bf79625af3d1d62", size = 10063996 },
+ { url = "https://files.pythonhosted.org/packages/d1/1f/6b76be289a5a521bb1caedc1f08e76ff17ab59061007f201a8a18cc514d1/mypy-1.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2904956dac40ced10931ac967ae63c5089bd498542194b436eb097a9f77bc8", size = 12584043 },
+ { url = "https://files.pythonhosted.org/packages/a6/83/5a85c9a5976c6f96e3a5a7591aa28b4a6ca3a07e9e5ba0cec090c8b596d6/mypy-1.13.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:7bfd8836970d33c2105562650656b6846149374dc8ed77d98424b40b09340ba7", size = 13036996 },
+ { url = "https://files.pythonhosted.org/packages/b4/59/c39a6f752f1f893fccbcf1bdd2aca67c79c842402b5283563d006a67cf76/mypy-1.13.0-cp313-cp313-win_amd64.whl", hash = "sha256:9f73dba9ec77acb86457a8fc04b5239822df0c14a082564737833d2963677dbc", size = 9737709 },
+ { url = "https://files.pythonhosted.org/packages/3b/86/72ce7f57431d87a7ff17d442f521146a6585019eb8f4f31b7c02801f78ad/mypy-1.13.0-py3-none-any.whl", hash = "sha256:9c250883f9fd81d212e0952c92dbfcc96fc237f4b7c92f56ac81fd48460b3e5a", size = 2647043 },
+]
+
+[[package]]
+name = "mypy-extensions"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695 },
+]
+
+[[package]]
+name = "nbformat"
+version = "5.10.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fastjsonschema" },
+ { name = "jsonschema" },
+ { name = "jupyter-core" },
+ { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454 },
+]
+
+[[package]]
+name = "nest-asyncio"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195 },
+]
+
+[[package]]
+name = "nodeenv"
+version = "1.9.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 },
+]
+
+[[package]]
+name = "numba"
+version = "0.60.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "llvmlite" },
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/eb/5c/b5ec752c475e78a6c3676b67c514220dbde2725896bbb0b6ec6ea54b2738/numba-0.60.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d7da4098db31182fc5ffe4bc42c6f24cd7d1cb8a14b59fd755bfee32e34b8404", size = 2647866 },
+ { url = "https://files.pythonhosted.org/packages/65/42/39559664b2e7c15689a638c2a38b3b74c6e69a04e2b3019b9f7742479188/numba-0.60.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38d6ea4c1f56417076ecf8fc327c831ae793282e0ff51080c5094cb726507b1c", size = 2650208 },
+ { url = "https://files.pythonhosted.org/packages/67/88/c4459ccc05674ef02119abf2888ccd3e2fed12a323f52255f4982fc95876/numba-0.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:62908d29fb6a3229c242e981ca27e32a6e606cc253fc9e8faeb0e48760de241e", size = 3466946 },
+ { url = "https://files.pythonhosted.org/packages/8b/41/ac11cf33524def12aa5bd698226ae196a1185831c05ed29dc0c56eaa308b/numba-0.60.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ebaa91538e996f708f1ab30ef4d3ddc344b64b5227b67a57aa74f401bb68b9d", size = 3761463 },
+ { url = "https://files.pythonhosted.org/packages/ca/bd/0fe29fcd1b6a8de479a4ed25c6e56470e467e3611c079d55869ceef2b6d1/numba-0.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:f75262e8fe7fa96db1dca93d53a194a38c46da28b112b8a4aca168f0df860347", size = 2707588 },
+]
+
+[[package]]
+name = "numpy"
+version = "2.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 },
+ { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 },
+ { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 },
+ { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 },
+ { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 },
+ { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 },
+ { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 },
+ { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 },
+ { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 },
+ { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 },
+]
+
+[[package]]
+name = "nvidia-ml-py"
+version = "12.560.30"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/53/10/5f34de4a71db8b2b7ec4269f4a33287f24c23e2857ea3187c977b7bc3604/nvidia-ml-py-12.560.30.tar.gz", hash = "sha256:f0254dc7400647680a072ee02509bfd46102b60bdfeca321576d4d4817e7fe97", size = 39194 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/f3/a69ce0b1a1e12fbf6b2ad9f4c14c9999fdbdf15f2478d210f0fd501ddc98/nvidia_ml_py-12.560.30-py3-none-any.whl", hash = "sha256:fea371c94d63e38a611c17bbb85fe400e9c8ddb9e8684a9cd0e47786a4bc3c73", size = 40526 },
+]
+
+[[package]]
+name = "omegaconf"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "antlr4-python3-runtime" },
+ { name = "pyyaml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/09/48/6388f1bb9da707110532cb70ec4d2822858ddfb44f1cdf1233c20a80ea4b/omegaconf-2.3.0.tar.gz", hash = "sha256:d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7", size = 3298120 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e3/94/1843518e420fa3ed6919835845df698c7e27e183cb997394e4a670973a65/omegaconf-2.3.0-py3-none-any.whl", hash = "sha256:7b4df175cdb08ba400f45cae3bdcae7ba8365db4d165fc65fd04b050ab63b46b", size = 79500 },
+]
+
+[[package]]
+name = "opentelemetry-api"
+version = "1.29.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "importlib-metadata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bc/8e/b886a5e9861afa188d1fe671fb96ff9a1d90a23d57799331e137cc95d573/opentelemetry_api-1.29.0.tar.gz", hash = "sha256:d04a6cf78aad09614f52964ecb38021e248f5714dc32c2e0d8fd99517b4d69cf", size = 62900 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/53/5249ea860d417a26a3a6f1bdedfc0748c4f081a3adaec3d398bc0f7c6a71/opentelemetry_api-1.29.0-py3-none-any.whl", hash = "sha256:5fcd94c4141cc49c736271f3e1efb777bebe9cc535759c54c936cca4f1b312b8", size = 64304 },
+]
+
+[[package]]
+name = "opentelemetry-sdk"
+version = "1.29.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "opentelemetry-api" },
+ { name = "opentelemetry-semantic-conventions" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0c/5a/1ed4c3cf6c09f80565fc085f7e8efa0c222712fd2a9412d07424705dcf72/opentelemetry_sdk-1.29.0.tar.gz", hash = "sha256:b0787ce6aade6ab84315302e72bd7a7f2f014b0fb1b7c3295b88afe014ed0643", size = 157229 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/1d/512b86af21795fb463726665e2f61db77d384e8779fdcf4cb0ceec47866d/opentelemetry_sdk-1.29.0-py3-none-any.whl", hash = "sha256:173be3b5d3f8f7d671f20ea37056710217959e774e2749d984355d1f9391a30a", size = 118078 },
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.50b0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "deprecated" },
+ { name = "opentelemetry-api" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e7/4e/d7c7c91ff47cd96fe4095dd7231701aec7347426fd66872ff320d6cd1fcc/opentelemetry_semantic_conventions-0.50b0.tar.gz", hash = "sha256:02dc6dbcb62f082de9b877ff19a3f1ffaa3c306300fa53bfac761c4567c83d38", size = 100459 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/fb/dc15fad105450a015e913cfa4f5c27b6a5f1bea8fb649f8cae11e699c8af/opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl", hash = "sha256:e87efba8fdb67fb38113efea6a349531e75ed7ffc01562f65b802fcecb5e115e", size = 166602 },
+]
+
+[[package]]
+name = "packaging"
+version = "24.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
+]
+
+[[package]]
+name = "pandas"
+version = "2.2.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "python-dateutil" },
+ { name = "pytz" },
+ { name = "tzdata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893 },
+ { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475 },
+ { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645 },
+ { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445 },
+ { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235 },
+ { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756 },
+ { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248 },
+ { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643 },
+ { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573 },
+ { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085 },
+ { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809 },
+ { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316 },
+ { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055 },
+ { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175 },
+ { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650 },
+ { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177 },
+ { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526 },
+ { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013 },
+ { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620 },
+ { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436 },
+]
+
+[[package]]
+name = "pandas-stubs"
+version = "2.2.3.241126"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+ { name = "types-pytz" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/90/86/93c545d149c3e1fe1c4c55478cc3a69859d0ea3467e1d9892e9eb28cb1e7/pandas_stubs-2.2.3.241126.tar.gz", hash = "sha256:cf819383c6d9ae7d4dabf34cd47e1e45525bb2f312e6ad2939c2c204cb708acd", size = 104204 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6f/ab/ed42acf15bab2e86e5c49fad4aa038315233c4c2d22f41b49faa4d837516/pandas_stubs-2.2.3.241126-py3-none-any.whl", hash = "sha256:74aa79c167af374fe97068acc90776c0ebec5266a6e5c69fe11e9c2cf51f2267", size = 158280 },
+]
+
+[[package]]
+name = "pandera"
+version = "0.21.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "multimethod" },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pandas" },
+ { name = "pydantic" },
+ { name = "typeguard" },
+ { name = "typing-inspect" },
+ { name = "wrapt" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/82/05/99a9470ff77b7caee59e32f18447068b832dcd6c6f4dbdf8afe4af18c098/pandera-0.21.1.tar.gz", hash = "sha256:3a40b643cd32d1fdd4142917ede1ae91b93a5f3469b01fcf70ffd1046964818c", size = 203482 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9b/1c/63fac4a86797b584132532cfab7295321103255930b96e516ab9101ffa90/pandera-0.21.1-py3-none-any.whl", hash = "sha256:cb6323952815ab82484bd8371f71d0b609a9cd0f515a7b91b2c076871b4db387", size = 261741 },
+]
+
+[package.optional-dependencies]
+mypy = [
+ { name = "pandas-stubs" },
+]
+
+[[package]]
+name = "parso"
+version = "0.8.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 },
+]
+
+[[package]]
+name = "pbr"
+version = "6.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/35/80cf8f6a4f34017a7fe28242dc45161a1baa55c41563c354d8147e8358b2/pbr-6.1.0.tar.gz", hash = "sha256:788183e382e3d1d7707db08978239965e8b9e4e5ed42669bf4758186734d5f24", size = 124032 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1d/44/6a65ecd630393d47ad3e7d5354768cb7f9a10b3a0eb2cd8c6f52b28211ee/pbr-6.1.0-py2.py3-none-any.whl", hash = "sha256:a776ae228892d8013649c0aeccbb3d5f99ee15e005a4cbb7e61d55a067b28a2a", size = 108529 },
+]
+
+[[package]]
+name = "pdoc"
+version = "15.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jinja2" },
+ { name = "markupsafe" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/16/1b542af6f18a27de059f722c487a596681127897b6d31f78e46d6e5bf2fe/pdoc-15.0.1.tar.gz", hash = "sha256:3b08382c9d312243ee6c2a1813d0ff517a6ab84d596fa2c6c6b5255b17c3d666", size = 154174 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2f/4d/60d856a1b12fbf6ac1539efccfa138e57c6b88675c9867d84bbb46455cc1/pdoc-15.0.1-py3-none-any.whl", hash = "sha256:fd437ab8eb55f9b942226af7865a3801e2fb731665199b74fd9a44737dbe20f9", size = 144186 },
+]
+
+[[package]]
+name = "pexpect"
+version = "4.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "ptyprocess" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 },
+]
+
+[[package]]
+name = "pillow"
+version = "11.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a5/26/0d95c04c868f6bdb0c447e3ee2de5564411845e36a858cfd63766bc7b563/pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739", size = 46737780 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1c/a3/26e606ff0b2daaf120543e537311fa3ae2eb6bf061490e4fea51771540be/pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923", size = 3147642 },
+ { url = "https://files.pythonhosted.org/packages/4f/d5/1caabedd8863526a6cfa44ee7a833bd97f945dc1d56824d6d76e11731939/pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903", size = 2978999 },
+ { url = "https://files.pythonhosted.org/packages/d9/ff/5a45000826a1aa1ac6874b3ec5a856474821a1b59d838c4f6ce2ee518fe9/pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4", size = 4196794 },
+ { url = "https://files.pythonhosted.org/packages/9d/21/84c9f287d17180f26263b5f5c8fb201de0f88b1afddf8a2597a5c9fe787f/pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f", size = 4300762 },
+ { url = "https://files.pythonhosted.org/packages/84/39/63fb87cd07cc541438b448b1fed467c4d687ad18aa786a7f8e67b255d1aa/pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9", size = 4210468 },
+ { url = "https://files.pythonhosted.org/packages/7f/42/6e0f2c2d5c60f499aa29be14f860dd4539de322cd8fb84ee01553493fb4d/pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7", size = 4381824 },
+ { url = "https://files.pythonhosted.org/packages/31/69/1ef0fb9d2f8d2d114db982b78ca4eeb9db9a29f7477821e160b8c1253f67/pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6", size = 4296436 },
+ { url = "https://files.pythonhosted.org/packages/44/ea/dad2818c675c44f6012289a7c4f46068c548768bc6c7f4e8c4ae5bbbc811/pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc", size = 4429714 },
+ { url = "https://files.pythonhosted.org/packages/af/3a/da80224a6eb15bba7a0dcb2346e2b686bb9bf98378c0b4353cd88e62b171/pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6", size = 2249631 },
+ { url = "https://files.pythonhosted.org/packages/57/97/73f756c338c1d86bb802ee88c3cab015ad7ce4b838f8a24f16b676b1ac7c/pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47", size = 2567533 },
+ { url = "https://files.pythonhosted.org/packages/0b/30/2b61876e2722374558b871dfbfcbe4e406626d63f4f6ed92e9c8e24cac37/pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25", size = 2254890 },
+ { url = "https://files.pythonhosted.org/packages/63/24/e2e15e392d00fcf4215907465d8ec2a2f23bcec1481a8ebe4ae760459995/pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699", size = 3147300 },
+ { url = "https://files.pythonhosted.org/packages/43/72/92ad4afaa2afc233dc44184adff289c2e77e8cd916b3ddb72ac69495bda3/pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38", size = 2978742 },
+ { url = "https://files.pythonhosted.org/packages/9e/da/c8d69c5bc85d72a8523fe862f05ababdc52c0a755cfe3d362656bb86552b/pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2", size = 4194349 },
+ { url = "https://files.pythonhosted.org/packages/cd/e8/686d0caeed6b998351d57796496a70185376ed9c8ec7d99e1d19ad591fc6/pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2", size = 4298714 },
+ { url = "https://files.pythonhosted.org/packages/ec/da/430015cec620d622f06854be67fd2f6721f52fc17fca8ac34b32e2d60739/pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527", size = 4208514 },
+ { url = "https://files.pythonhosted.org/packages/44/ae/7e4f6662a9b1cb5f92b9cc9cab8321c381ffbee309210940e57432a4063a/pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa", size = 4380055 },
+ { url = "https://files.pythonhosted.org/packages/74/d5/1a807779ac8a0eeed57f2b92a3c32ea1b696e6140c15bd42eaf908a261cd/pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f", size = 4296751 },
+ { url = "https://files.pythonhosted.org/packages/38/8c/5fa3385163ee7080bc13026d59656267daaaaf3c728c233d530e2c2757c8/pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb", size = 4430378 },
+ { url = "https://files.pythonhosted.org/packages/ca/1d/ad9c14811133977ff87035bf426875b93097fb50af747793f013979facdb/pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798", size = 2249588 },
+ { url = "https://files.pythonhosted.org/packages/fb/01/3755ba287dac715e6afdb333cb1f6d69740a7475220b4637b5ce3d78cec2/pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de", size = 2567509 },
+ { url = "https://files.pythonhosted.org/packages/c0/98/2c7d727079b6be1aba82d195767d35fcc2d32204c7a5820f822df5330152/pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84", size = 2254791 },
+ { url = "https://files.pythonhosted.org/packages/eb/38/998b04cc6f474e78b563716b20eecf42a2fa16a84589d23c8898e64b0ffd/pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b", size = 3150854 },
+ { url = "https://files.pythonhosted.org/packages/13/8e/be23a96292113c6cb26b2aa3c8b3681ec62b44ed5c2bd0b258bd59503d3c/pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003", size = 2982369 },
+ { url = "https://files.pythonhosted.org/packages/97/8a/3db4eaabb7a2ae8203cd3a332a005e4aba00067fc514aaaf3e9721be31f1/pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2", size = 4333703 },
+ { url = "https://files.pythonhosted.org/packages/28/ac/629ffc84ff67b9228fe87a97272ab125bbd4dc462745f35f192d37b822f1/pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a", size = 4412550 },
+ { url = "https://files.pythonhosted.org/packages/d6/07/a505921d36bb2df6868806eaf56ef58699c16c388e378b0dcdb6e5b2fb36/pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8", size = 4461038 },
+ { url = "https://files.pythonhosted.org/packages/d6/b9/fb620dd47fc7cc9678af8f8bd8c772034ca4977237049287e99dda360b66/pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8", size = 2253197 },
+ { url = "https://files.pythonhosted.org/packages/df/86/25dde85c06c89d7fc5db17940f07aae0a56ac69aa9ccb5eb0f09798862a8/pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904", size = 2572169 },
+ { url = "https://files.pythonhosted.org/packages/51/85/9c33f2517add612e17f3381aee7c4072779130c634921a756c97bc29fb49/pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3", size = 2256828 },
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.3.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 },
+]
+
+[[package]]
+name = "plotly"
+version = "5.24.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+ { name = "tenacity" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/79/4f/428f6d959818d7425a94c190a6b26fbc58035cbef40bf249be0b62a9aedd/plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae", size = 9479398 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/ae/580600f441f6fc05218bd6c9d5794f4aef072a7d9093b291f1c50a9db8bc/plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089", size = 19054220 },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
+]
+
+[[package]]
+name = "plyer"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/85/f61425aa9be1f9108eec1c13861c1e11c9a04eb786eb4832a8f7188317df/plyer-2.1.0.tar.gz", hash = "sha256:65b7dfb7e11e07af37a8487eb2aa69524276ef70dad500b07228ce64736baa61", size = 121371 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d3/89/a41c2643fc8eabeb84791acb9d0e4d139b1e4b53473cc4dae947b5fa33ed/plyer-2.1.0-py2.py3-none-any.whl", hash = "sha256:1b1772060df8b3045ed4f08231690ec8f7de30f5a004aa1724665a9074eed113", size = 142266 },
+]
+
+[[package]]
+name = "pre-commit"
+version = "4.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cfgv" },
+ { name = "identify" },
+ { name = "nodeenv" },
+ { name = "pyyaml" },
+ { name = "virtualenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2e/c8/e22c292035f1bac8b9f5237a2622305bc0304e776080b246f3df57c4ff9f/pre_commit-4.0.1.tar.gz", hash = "sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2", size = 191678 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/16/8f/496e10d51edd6671ebe0432e33ff800aa86775d2d147ce7d43389324a525/pre_commit-4.0.1-py2.py3-none-any.whl", hash = "sha256:efde913840816312445dc98787724647c65473daefe420785f885e8ed9a06878", size = 218713 },
+]
+
+[[package]]
+name = "prompt-toolkit"
+version = "3.0.36"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "wcwidth" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fb/93/180be2342f89f16543ec4eb3f25083b5b84eba5378f68efff05409fb39a9/prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63", size = 423863 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/eb/37/791f1a6edd13c61cac85282368aa68cb0f3f164440fdf60032f2cc6ca34e/prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305", size = 386414 },
+]
+
+[[package]]
+name = "protobuf"
+version = "5.29.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d2/4f/1639b7b1633d8fd55f216ba01e21bf2c43384ab25ef3ddb35d85a52033e8/protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb", size = 424965 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/50/c7/28669b04691a376cf7d0617d612f126aa0fff763d57df0142f9bf474c5b8/protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110", size = 422706 },
+ { url = "https://files.pythonhosted.org/packages/e3/33/dc7a7712f457456b7e0b16420ab8ba1cc8686751d3f28392eb43d0029ab9/protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34", size = 434505 },
+ { url = "https://files.pythonhosted.org/packages/e5/39/44239fb1c6ec557e1731d996a5de89a9eb1ada7a92491fcf9c5d714052ed/protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18", size = 417822 },
+ { url = "https://files.pythonhosted.org/packages/fb/4a/ec56f101d38d4bef2959a9750209809242d86cf8b897db00f2f98bfa360e/protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155", size = 319572 },
+ { url = "https://files.pythonhosted.org/packages/04/52/c97c58a33b3d6c89a8138788576d372a90a6556f354799971c6b4d16d871/protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d", size = 319671 },
+ { url = "https://files.pythonhosted.org/packages/3b/24/c8c49df8f6587719e1d400109b16c10c6902d0c9adddc8fff82840146f99/protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0", size = 172547 },
+]
+
+[[package]]
+name = "psutil"
+version = "6.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/26/10/2a30b13c61e7cf937f4adf90710776b7918ed0a9c434e2c38224732af310/psutil-6.1.0.tar.gz", hash = "sha256:353815f59a7f64cdaca1c0307ee13558a0512f6db064e92fe833784f08539c7a", size = 508565 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/01/9e/8be43078a171381953cfee33c07c0d628594b5dbfc5157847b85022c2c1b/psutil-6.1.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6e2dcd475ce8b80522e51d923d10c7871e45f20918e027ab682f94f1c6351688", size = 247762 },
+ { url = "https://files.pythonhosted.org/packages/1d/cb/313e80644ea407f04f6602a9e23096540d9dc1878755f3952ea8d3d104be/psutil-6.1.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0895b8414afafc526712c498bd9de2b063deaac4021a3b3c34566283464aff8e", size = 248777 },
+ { url = "https://files.pythonhosted.org/packages/65/8e/bcbe2025c587b5d703369b6a75b65d41d1367553da6e3f788aff91eaf5bd/psutil-6.1.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dcbfce5d89f1d1f2546a2090f4fcf87c7f669d1d90aacb7d7582addece9fb38", size = 284259 },
+ { url = "https://files.pythonhosted.org/packages/58/4d/8245e6f76a93c98aab285a43ea71ff1b171bcd90c9d238bf81f7021fb233/psutil-6.1.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:498c6979f9c6637ebc3a73b3f87f9eb1ec24e1ce53a7c5173b8508981614a90b", size = 287255 },
+ { url = "https://files.pythonhosted.org/packages/27/c2/d034856ac47e3b3cdfa9720d0e113902e615f4190d5d1bdb8df4b2015fb2/psutil-6.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d905186d647b16755a800e7263d43df08b790d709d575105d419f8b6ef65423a", size = 288804 },
+ { url = "https://files.pythonhosted.org/packages/ea/55/5389ed243c878725feffc0d6a3bc5ef6764312b6fc7c081faaa2cfa7ef37/psutil-6.1.0-cp37-abi3-win32.whl", hash = "sha256:1ad45a1f5d0b608253b11508f80940985d1d0c8f6111b5cb637533a0e6ddc13e", size = 250386 },
+ { url = "https://files.pythonhosted.org/packages/11/91/87fa6f060e649b1e1a7b19a4f5869709fbf750b7c8c262ee776ec32f3028/psutil-6.1.0-cp37-abi3-win_amd64.whl", hash = "sha256:a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be", size = 254228 },
+]
+
+[[package]]
+name = "ptyprocess"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 },
+]
+
+[[package]]
+name = "pure-eval"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 },
+]
+
+[[package]]
+name = "pyarrow"
+version = "18.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7f/7b/640785a9062bb00314caa8a387abce547d2a420cf09bd6c715fe659ccffb/pyarrow-18.1.0.tar.gz", hash = "sha256:9386d3ca9c145b5539a1cfc75df07757dff870168c959b473a0bccbc3abc8c73", size = 1118671 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/50/12829e7111b932581e51dda51d5cb39207a056c30fe31ef43f14c63c4d7e/pyarrow-18.1.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f3a76670b263dc41d0ae877f09124ab96ce10e4e48f3e3e4257273cee61ad0d", size = 29514620 },
+ { url = "https://files.pythonhosted.org/packages/d1/41/468c944eab157702e96abab3d07b48b8424927d4933541ab43788bb6964d/pyarrow-18.1.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:da31fbca07c435be88a0c321402c4e31a2ba61593ec7473630769de8346b54ee", size = 30856494 },
+ { url = "https://files.pythonhosted.org/packages/68/f9/29fb659b390312a7345aeb858a9d9c157552a8852522f2c8bad437c29c0a/pyarrow-18.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:543ad8459bc438efc46d29a759e1079436290bd583141384c6f7a1068ed6f992", size = 39203624 },
+ { url = "https://files.pythonhosted.org/packages/6e/f6/19360dae44200e35753c5c2889dc478154cd78e61b1f738514c9f131734d/pyarrow-18.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0743e503c55be0fdb5c08e7d44853da27f19dc854531c0570f9f394ec9671d54", size = 40139341 },
+ { url = "https://files.pythonhosted.org/packages/bb/e6/9b3afbbcf10cc724312e824af94a2e993d8ace22994d823f5c35324cebf5/pyarrow-18.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d4b3d2a34780645bed6414e22dda55a92e0fcd1b8a637fba86800ad737057e33", size = 38618629 },
+ { url = "https://files.pythonhosted.org/packages/3a/2e/3b99f8a3d9e0ccae0e961978a0d0089b25fb46ebbcfb5ebae3cca179a5b3/pyarrow-18.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c52f81aa6f6575058d8e2c782bf79d4f9fdc89887f16825ec3a66607a5dd8e30", size = 40078661 },
+ { url = "https://files.pythonhosted.org/packages/76/52/f8da04195000099d394012b8d42c503d7041b79f778d854f410e5f05049a/pyarrow-18.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:0ad4892617e1a6c7a551cfc827e072a633eaff758fa09f21c4ee548c30bcaf99", size = 25092330 },
+ { url = "https://files.pythonhosted.org/packages/cb/87/aa4d249732edef6ad88899399047d7e49311a55749d3c373007d034ee471/pyarrow-18.1.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:84e314d22231357d473eabec709d0ba285fa706a72377f9cc8e1cb3c8013813b", size = 29497406 },
+ { url = "https://files.pythonhosted.org/packages/3c/c7/ed6adb46d93a3177540e228b5ca30d99fc8ea3b13bdb88b6f8b6467e2cb7/pyarrow-18.1.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:f591704ac05dfd0477bb8f8e0bd4b5dc52c1cadf50503858dce3a15db6e46ff2", size = 30835095 },
+ { url = "https://files.pythonhosted.org/packages/41/d7/ed85001edfb96200ff606943cff71d64f91926ab42828676c0fc0db98963/pyarrow-18.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acb7564204d3c40babf93a05624fc6a8ec1ab1def295c363afc40b0c9e66c191", size = 39194527 },
+ { url = "https://files.pythonhosted.org/packages/59/16/35e28eab126342fa391593415d79477e89582de411bb95232f28b131a769/pyarrow-18.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74de649d1d2ccb778f7c3afff6085bd5092aed4c23df9feeb45dd6b16f3811aa", size = 40131443 },
+ { url = "https://files.pythonhosted.org/packages/0c/95/e855880614c8da20f4cd74fa85d7268c725cf0013dc754048593a38896a0/pyarrow-18.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f96bd502cb11abb08efea6dab09c003305161cb6c9eafd432e35e76e7fa9b90c", size = 38608750 },
+ { url = "https://files.pythonhosted.org/packages/54/9d/f253554b1457d4fdb3831b7bd5f8f00f1795585a606eabf6fec0a58a9c38/pyarrow-18.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:36ac22d7782554754a3b50201b607d553a8d71b78cdf03b33c1125be4b52397c", size = 40066690 },
+ { url = "https://files.pythonhosted.org/packages/2f/58/8912a2563e6b8273e8aa7b605a345bba5a06204549826f6493065575ebc0/pyarrow-18.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:25dbacab8c5952df0ca6ca0af28f50d45bd31c1ff6fcf79e2d120b4a65ee7181", size = 25081054 },
+ { url = "https://files.pythonhosted.org/packages/82/f9/d06ddc06cab1ada0c2f2fd205ac8c25c2701182de1b9c4bf7a0a44844431/pyarrow-18.1.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a276190309aba7bc9d5bd2933230458b3521a4317acfefe69a354f2fe59f2bc", size = 29525542 },
+ { url = "https://files.pythonhosted.org/packages/ab/94/8917e3b961810587ecbdaa417f8ebac0abb25105ae667b7aa11c05876976/pyarrow-18.1.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:ad514dbfcffe30124ce655d72771ae070f30bf850b48bc4d9d3b25993ee0e386", size = 30829412 },
+ { url = "https://files.pythonhosted.org/packages/5e/e3/3b16c3190f3d71d3b10f6758d2d5f7779ef008c4fd367cedab3ed178a9f7/pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aebc13a11ed3032d8dd6e7171eb6e86d40d67a5639d96c35142bd568b9299324", size = 39119106 },
+ { url = "https://files.pythonhosted.org/packages/1d/d6/5d704b0d25c3c79532f8c0639f253ec2803b897100f64bcb3f53ced236e5/pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6cf5c05f3cee251d80e98726b5c7cc9f21bab9e9783673bac58e6dfab57ecc8", size = 40090940 },
+ { url = "https://files.pythonhosted.org/packages/37/29/366bc7e588220d74ec00e497ac6710c2833c9176f0372fe0286929b2d64c/pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:11b676cd410cf162d3f6a70b43fb9e1e40affbc542a1e9ed3681895f2962d3d9", size = 38548177 },
+ { url = "https://files.pythonhosted.org/packages/c8/11/fabf6ecabb1fe5b7d96889228ca2a9158c4c3bb732e3b8ee3f7f6d40b703/pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b76130d835261b38f14fc41fdfb39ad8d672afb84c447126b84d5472244cfaba", size = 40043567 },
+]
+
+[[package]]
+name = "pyasn1"
+version = "0.6.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135 },
+]
+
+[[package]]
+name = "pyasn1-modules"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pyasn1" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1d/67/6afbf0d507f73c32d21084a79946bfcfca5fbc62a72057e9c23797a737c9/pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c", size = 310028 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd", size = 181537 },
+]
+
+[[package]]
+name = "pycparser"
+version = "2.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.10.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-types" },
+ { name = "pydantic-core" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/45/0f/27908242621b14e649a84e62b133de45f84c255eecb350ab02979844a788/pydantic-2.10.3.tar.gz", hash = "sha256:cb5ac360ce894ceacd69c403187900a02c4b20b693a9dd1d643e1effab9eadf9", size = 786486 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/51/72c18c55cf2f46ff4f91ebcc8f75aa30f7305f3d726be3f4ebffb4ae972b/pydantic-2.10.3-py3-none-any.whl", hash = "sha256:be04d85bbc7b65651c5f8e6b9976ed9c6f41782a55524cef079a34a0bb82144d", size = 456997 },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.27.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a6/9f/7de1f19b6aea45aeb441838782d68352e71bfa98ee6fa048d5041991b33e/pydantic_core-2.27.1.tar.gz", hash = "sha256:62a763352879b84aa31058fc931884055fd75089cccbd9d58bb6afd01141b235", size = 412785 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/be/51/2e9b3788feb2aebff2aa9dfbf060ec739b38c05c46847601134cc1fed2ea/pydantic_core-2.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9cbd94fc661d2bab2bc702cddd2d3370bbdcc4cd0f8f57488a81bcce90c7a54f", size = 1895239 },
+ { url = "https://files.pythonhosted.org/packages/7b/9e/f8063952e4a7d0127f5d1181addef9377505dcce3be224263b25c4f0bfd9/pydantic_core-2.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f8c4718cd44ec1580e180cb739713ecda2bdee1341084c1467802a417fe0f02", size = 1805070 },
+ { url = "https://files.pythonhosted.org/packages/2c/9d/e1d6c4561d262b52e41b17a7ef8301e2ba80b61e32e94520271029feb5d8/pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15aae984e46de8d376df515f00450d1522077254ef6b7ce189b38ecee7c9677c", size = 1828096 },
+ { url = "https://files.pythonhosted.org/packages/be/65/80ff46de4266560baa4332ae3181fffc4488ea7d37282da1a62d10ab89a4/pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ba5e3963344ff25fc8c40da90f44b0afca8cfd89d12964feb79ac1411a260ac", size = 1857708 },
+ { url = "https://files.pythonhosted.org/packages/d5/ca/3370074ad758b04d9562b12ecdb088597f4d9d13893a48a583fb47682cdf/pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:992cea5f4f3b29d6b4f7f1726ed8ee46c8331c6b4eed6db5b40134c6fe1768bb", size = 2037751 },
+ { url = "https://files.pythonhosted.org/packages/b1/e2/4ab72d93367194317b99d051947c071aef6e3eb95f7553eaa4208ecf9ba4/pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0325336f348dbee6550d129b1627cb8f5351a9dc91aad141ffb96d4937bd9529", size = 2733863 },
+ { url = "https://files.pythonhosted.org/packages/8a/c6/8ae0831bf77f356bb73127ce5a95fe115b10f820ea480abbd72d3cc7ccf3/pydantic_core-2.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7597c07fbd11515f654d6ece3d0e4e5093edc30a436c63142d9a4b8e22f19c35", size = 2161161 },
+ { url = "https://files.pythonhosted.org/packages/f1/f4/b2fe73241da2429400fc27ddeaa43e35562f96cf5b67499b2de52b528cad/pydantic_core-2.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bbd5d8cc692616d5ef6fbbbd50dbec142c7e6ad9beb66b78a96e9c16729b089", size = 1993294 },
+ { url = "https://files.pythonhosted.org/packages/77/29/4bb008823a7f4cc05828198153f9753b3bd4c104d93b8e0b1bfe4e187540/pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:dc61505e73298a84a2f317255fcc72b710b72980f3a1f670447a21efc88f8381", size = 2001468 },
+ { url = "https://files.pythonhosted.org/packages/f2/a9/0eaceeba41b9fad851a4107e0cf999a34ae8f0d0d1f829e2574f3d8897b0/pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:e1f735dc43da318cad19b4173dd1ffce1d84aafd6c9b782b3abc04a0d5a6f5bb", size = 2091413 },
+ { url = "https://files.pythonhosted.org/packages/d8/36/eb8697729725bc610fd73940f0d860d791dc2ad557faaefcbb3edbd2b349/pydantic_core-2.27.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f4e5658dbffe8843a0f12366a4c2d1c316dbe09bb4dfbdc9d2d9cd6031de8aae", size = 2154735 },
+ { url = "https://files.pythonhosted.org/packages/52/e5/4f0fbd5c5995cc70d3afed1b5c754055bb67908f55b5cb8000f7112749bf/pydantic_core-2.27.1-cp312-none-win32.whl", hash = "sha256:672ebbe820bb37988c4d136eca2652ee114992d5d41c7e4858cdd90ea94ffe5c", size = 1833633 },
+ { url = "https://files.pythonhosted.org/packages/ee/f2/c61486eee27cae5ac781305658779b4a6b45f9cc9d02c90cb21b940e82cc/pydantic_core-2.27.1-cp312-none-win_amd64.whl", hash = "sha256:66ff044fd0bb1768688aecbe28b6190f6e799349221fb0de0e6f4048eca14c16", size = 1986973 },
+ { url = "https://files.pythonhosted.org/packages/df/a6/e3f12ff25f250b02f7c51be89a294689d175ac76e1096c32bf278f29ca1e/pydantic_core-2.27.1-cp312-none-win_arm64.whl", hash = "sha256:9a3b0793b1bbfd4146304e23d90045f2a9b5fd5823aa682665fbdaf2a6c28f3e", size = 1883215 },
+ { url = "https://files.pythonhosted.org/packages/0f/d6/91cb99a3c59d7b072bded9959fbeab0a9613d5a4935773c0801f1764c156/pydantic_core-2.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:f216dbce0e60e4d03e0c4353c7023b202d95cbaeff12e5fd2e82ea0a66905073", size = 1895033 },
+ { url = "https://files.pythonhosted.org/packages/07/42/d35033f81a28b27dedcade9e967e8a40981a765795c9ebae2045bcef05d3/pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a2e02889071850bbfd36b56fd6bc98945e23670773bc7a76657e90e6b6603c08", size = 1807542 },
+ { url = "https://files.pythonhosted.org/packages/41/c2/491b59e222ec7e72236e512108ecad532c7f4391a14e971c963f624f7569/pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b0e23f119b2b456d07ca91b307ae167cc3f6c846a7b169fca5326e32fdc6cf", size = 1827854 },
+ { url = "https://files.pythonhosted.org/packages/e3/f3/363652651779113189cefdbbb619b7b07b7a67ebb6840325117cc8cc3460/pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:764be71193f87d460a03f1f7385a82e226639732214b402f9aa61f0d025f0737", size = 1857389 },
+ { url = "https://files.pythonhosted.org/packages/5f/97/be804aed6b479af5a945daec7538d8bf358d668bdadde4c7888a2506bdfb/pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c00666a3bd2f84920a4e94434f5974d7bbc57e461318d6bb34ce9cdbbc1f6b2", size = 2037934 },
+ { url = "https://files.pythonhosted.org/packages/42/01/295f0bd4abf58902917e342ddfe5f76cf66ffabfc57c2e23c7681a1a1197/pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ccaa88b24eebc0f849ce0a4d09e8a408ec5a94afff395eb69baf868f5183107", size = 2735176 },
+ { url = "https://files.pythonhosted.org/packages/9d/a0/cd8e9c940ead89cc37812a1a9f310fef59ba2f0b22b4e417d84ab09fa970/pydantic_core-2.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c65af9088ac534313e1963443d0ec360bb2b9cba6c2909478d22c2e363d98a51", size = 2160720 },
+ { url = "https://files.pythonhosted.org/packages/73/ae/9d0980e286627e0aeca4c352a60bd760331622c12d576e5ea4441ac7e15e/pydantic_core-2.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:206b5cf6f0c513baffaeae7bd817717140770c74528f3e4c3e1cec7871ddd61a", size = 1992972 },
+ { url = "https://files.pythonhosted.org/packages/bf/ba/ae4480bc0292d54b85cfb954e9d6bd226982949f8316338677d56541b85f/pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:062f60e512fc7fff8b8a9d680ff0ddaaef0193dba9fa83e679c0c5f5fbd018bc", size = 2001477 },
+ { url = "https://files.pythonhosted.org/packages/55/b7/e26adf48c2f943092ce54ae14c3c08d0d221ad34ce80b18a50de8ed2cba8/pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:a0697803ed7d4af5e4c1adf1670af078f8fcab7a86350e969f454daf598c4960", size = 2091186 },
+ { url = "https://files.pythonhosted.org/packages/ba/cc/8491fff5b608b3862eb36e7d29d36a1af1c945463ca4c5040bf46cc73f40/pydantic_core-2.27.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:58ca98a950171f3151c603aeea9303ef6c235f692fe555e883591103da709b23", size = 2154429 },
+ { url = "https://files.pythonhosted.org/packages/78/d8/c080592d80edd3441ab7f88f865f51dae94a157fc64283c680e9f32cf6da/pydantic_core-2.27.1-cp313-none-win32.whl", hash = "sha256:8065914ff79f7eab1599bd80406681f0ad08f8e47c880f17b416c9f8f7a26d05", size = 1833713 },
+ { url = "https://files.pythonhosted.org/packages/83/84/5ab82a9ee2538ac95a66e51f6838d6aba6e0a03a42aa185ad2fe404a4e8f/pydantic_core-2.27.1-cp313-none-win_amd64.whl", hash = "sha256:ba630d5e3db74c79300d9a5bdaaf6200172b107f263c98a0539eeecb857b2337", size = 1987897 },
+ { url = "https://files.pythonhosted.org/packages/df/c3/b15fb833926d91d982fde29c0624c9f225da743c7af801dace0d4e187e71/pydantic_core-2.27.1-cp313-none-win_arm64.whl", hash = "sha256:45cf8588c066860b623cd11c4ba687f8d7175d5f7ef65f7129df8a394c502de5", size = 1882983 },
+]
+
+[[package]]
+name = "pydantic-settings"
+version = "2.7.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "python-dotenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/86/41/19b62b99e7530cfa1d6ccd16199afd9289a12929bef1a03aa4382b22e683/pydantic_settings-2.7.0.tar.gz", hash = "sha256:ac4bfd4a36831a48dbf8b2d9325425b549a0a6f18cea118436d728eb4f1c4d66", size = 79743 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f9/00/57b4540deb5c3a39ba689bb519a4e03124b24ab8589e618be4aac2c769bd/pydantic_settings-2.7.0-py3-none-any.whl", hash = "sha256:e00c05d5fa6cbbb227c84bd7487c5c1065084119b750df7c8c1a554aed236eb5", size = 29549 },
+]
+
+[[package]]
+name = "pygments"
+version = "2.18.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", size = 4891905 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 },
+]
+
+[[package]]
+name = "pynvml"
+version = "12.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "nvidia-ml-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/26/6f/6b5880ed0239e85b9a39aed103b65b2ef81425beef9f45e5c035bf008330/pynvml-12.0.0.tar.gz", hash = "sha256:299ce2451a6a17e6822d6faee750103e25b415f06f59abb8db65d30f794166f5", size = 33636 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ed/df/f7cf07a65a96dd11d71f346f9c2863accdd4784da83af7181b067d556cbc/pynvml-12.0.0-py3-none-any.whl", hash = "sha256:fdff84b62a27dbe98e08e1a647eb77342bef1aebe0878bcd15e99a83fcbecb9e", size = 26560 },
+]
+
+[[package]]
+name = "pyparsing"
+version = "3.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8c/d5/e5aeee5387091148a19e1145f63606619cb5f20b83fccb63efae6474e7b2/pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c", size = 920984 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/be/ec/2eb3cd785efd67806c46c13a17339708ddc346cbb684eade7a6e6f79536a/pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84", size = 106921 },
+]
+
+[[package]]
+name = "pytest"
+version = "8.3.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "iniconfig" },
+ { name = "packaging" },
+ { name = "pluggy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 },
+]
+
+[[package]]
+name = "pytest-cov"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "coverage" },
+ { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/be/45/9b538de8cef30e17c7b45ef42f538a94889ed6a16f2387a6c89e73220651/pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0", size = 66945 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949 },
+]
+
+[[package]]
+name = "pytest-mock"
+version = "3.14.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c6/90/a955c3ab35ccd41ad4de556596fa86685bf4fc5ffcc62d22d856cfd4e29a/pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0", size = 32814 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", size = 9863 },
+]
+
+[[package]]
+name = "pytest-xdist"
+version = "3.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "execnet" },
+ { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/41/c4/3c310a19bc1f1e9ef50075582652673ef2bfc8cd62afef9585683821902f/pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d", size = 84060 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6d/82/1d96bf03ee4c0fdc3c0cbe61470070e659ca78dc0086fb88b66c185e2449/pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7", size = 46108 },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892 },
+]
+
+[[package]]
+name = "python-dotenv"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
+]
+
+[[package]]
+name = "pytz"
+version = "2024.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", size = 319692 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 },
+]
+
+[[package]]
+name = "pywin32"
+version = "308"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/7c/d00d6bdd96de4344e06c4afbf218bc86b54436a94c01c71a8701f613aa56/pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897", size = 5939729 },
+ { url = "https://files.pythonhosted.org/packages/21/27/0c8811fbc3ca188f93b5354e7c286eb91f80a53afa4e11007ef661afa746/pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47", size = 6543015 },
+ { url = "https://files.pythonhosted.org/packages/9d/0f/d40f8373608caed2255781a3ad9a51d03a594a1248cd632d6a298daca693/pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091", size = 7976033 },
+ { url = "https://files.pythonhosted.org/packages/a9/a4/aa562d8935e3df5e49c161b427a3a2efad2ed4e9cf81c3de636f1fdddfd0/pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed", size = 5938579 },
+ { url = "https://files.pythonhosted.org/packages/c7/50/b0efb8bb66210da67a53ab95fd7a98826a97ee21f1d22949863e6d588b22/pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4", size = 6542056 },
+ { url = "https://files.pythonhosted.org/packages/26/df/2b63e3e4f2df0224f8aaf6d131f54fe4e8c96400eb9df563e2aae2e1a1f9/pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd", size = 7974986 },
+]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
+ { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
+ { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
+ { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
+ { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
+ { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
+ { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
+ { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
+ { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
+ { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
+ { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
+ { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
+ { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
+ { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
+ { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
+ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
+ { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
+ { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
+]
+
+[[package]]
+name = "pyzmq"
+version = "26.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "implementation_name == 'pypy'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fd/05/bed626b9f7bb2322cdbbf7b4bd8f54b1b617b0d2ab2d3547d6e39428a48e/pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f", size = 271975 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/28/2f/78a766c8913ad62b28581777ac4ede50c6d9f249d39c2963e279524a1bbe/pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9", size = 1343105 },
+ { url = "https://files.pythonhosted.org/packages/b7/9c/4b1e2d3d4065be715e007fe063ec7885978fad285f87eae1436e6c3201f4/pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52", size = 1008365 },
+ { url = "https://files.pythonhosted.org/packages/4f/ef/5a23ec689ff36d7625b38d121ef15abfc3631a9aecb417baf7a4245e4124/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08", size = 665923 },
+ { url = "https://files.pythonhosted.org/packages/ae/61/d436461a47437d63c6302c90724cf0981883ec57ceb6073873f32172d676/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5", size = 903400 },
+ { url = "https://files.pythonhosted.org/packages/47/42/fc6d35ecefe1739a819afaf6f8e686f7f02a4dd241c78972d316f403474c/pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae", size = 860034 },
+ { url = "https://files.pythonhosted.org/packages/07/3b/44ea6266a6761e9eefaa37d98fabefa112328808ac41aa87b4bbb668af30/pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711", size = 860579 },
+ { url = "https://files.pythonhosted.org/packages/38/6f/4df2014ab553a6052b0e551b37da55166991510f9e1002c89cab7ce3b3f2/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6", size = 1196246 },
+ { url = "https://files.pythonhosted.org/packages/38/9d/ee240fc0c9fe9817f0c9127a43238a3e28048795483c403cc10720ddef22/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3", size = 1507441 },
+ { url = "https://files.pythonhosted.org/packages/85/4f/01711edaa58d535eac4a26c294c617c9a01f09857c0ce191fd574d06f359/pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b", size = 1406498 },
+ { url = "https://files.pythonhosted.org/packages/07/18/907134c85c7152f679ed744e73e645b365f3ad571f38bdb62e36f347699a/pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7", size = 575533 },
+ { url = "https://files.pythonhosted.org/packages/ce/2c/a6f4a20202a4d3c582ad93f95ee78d79bbdc26803495aec2912b17dbbb6c/pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a", size = 637768 },
+ { url = "https://files.pythonhosted.org/packages/5f/0e/eb16ff731632d30554bf5af4dbba3ffcd04518219d82028aea4ae1b02ca5/pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b", size = 540675 },
+ { url = "https://files.pythonhosted.org/packages/04/a7/0f7e2f6c126fe6e62dbae0bc93b1bd3f1099cf7fea47a5468defebe3f39d/pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726", size = 1006564 },
+ { url = "https://files.pythonhosted.org/packages/31/b6/a187165c852c5d49f826a690857684333a6a4a065af0a6015572d2284f6a/pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3", size = 1340447 },
+ { url = "https://files.pythonhosted.org/packages/68/ba/f4280c58ff71f321602a6e24fd19879b7e79793fb8ab14027027c0fb58ef/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50", size = 665485 },
+ { url = "https://files.pythonhosted.org/packages/77/b5/c987a5c53c7d8704216f29fc3d810b32f156bcea488a940e330e1bcbb88d/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb", size = 903484 },
+ { url = "https://files.pythonhosted.org/packages/29/c9/07da157d2db18c72a7eccef8e684cefc155b712a88e3d479d930aa9eceba/pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187", size = 859981 },
+ { url = "https://files.pythonhosted.org/packages/43/09/e12501bd0b8394b7d02c41efd35c537a1988da67fc9c745cae9c6c776d31/pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b", size = 860334 },
+ { url = "https://files.pythonhosted.org/packages/eb/ff/f5ec1d455f8f7385cc0a8b2acd8c807d7fade875c14c44b85c1bddabae21/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18", size = 1196179 },
+ { url = "https://files.pythonhosted.org/packages/ec/8a/bb2ac43295b1950fe436a81fc5b298be0b96ac76fb029b514d3ed58f7b27/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115", size = 1507668 },
+ { url = "https://files.pythonhosted.org/packages/a9/49/dbc284ebcfd2dca23f6349227ff1616a7ee2c4a35fe0a5d6c3deff2b4fed/pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e", size = 1406539 },
+ { url = "https://files.pythonhosted.org/packages/00/68/093cdce3fe31e30a341d8e52a1ad86392e13c57970d722c1f62a1d1a54b6/pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5", size = 575567 },
+ { url = "https://files.pythonhosted.org/packages/92/ae/6cc4657148143412b5819b05e362ae7dd09fb9fe76e2a539dcff3d0386bc/pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad", size = 637551 },
+ { url = "https://files.pythonhosted.org/packages/6c/67/fbff102e201688f97c8092e4c3445d1c1068c2f27bbd45a578df97ed5f94/pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797", size = 540378 },
+ { url = "https://files.pythonhosted.org/packages/3f/fe/2d998380b6e0122c6c4bdf9b6caf490831e5f5e2d08a203b5adff060c226/pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a", size = 1007378 },
+ { url = "https://files.pythonhosted.org/packages/4a/f4/30d6e7157f12b3a0390bde94d6a8567cdb88846ed068a6e17238a4ccf600/pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc", size = 1329532 },
+ { url = "https://files.pythonhosted.org/packages/82/86/3fe917870e15ee1c3ad48229a2a64458e36036e64b4afa9659045d82bfa8/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5", size = 653242 },
+ { url = "https://files.pythonhosted.org/packages/50/2d/242e7e6ef6c8c19e6cb52d095834508cd581ffb925699fd3c640cdc758f1/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672", size = 888404 },
+ { url = "https://files.pythonhosted.org/packages/ac/11/7270566e1f31e4ea73c81ec821a4b1688fd551009a3d2bab11ec66cb1e8f/pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797", size = 845858 },
+ { url = "https://files.pythonhosted.org/packages/91/d5/72b38fbc69867795c8711bdd735312f9fef1e3d9204e2f63ab57085434b9/pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386", size = 847375 },
+ { url = "https://files.pythonhosted.org/packages/dd/9a/10ed3c7f72b4c24e719c59359fbadd1a27556a28b36cdf1cd9e4fb7845d5/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306", size = 1183489 },
+ { url = "https://files.pythonhosted.org/packages/72/2d/8660892543fabf1fe41861efa222455811adac9f3c0818d6c3170a1153e3/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6", size = 1492932 },
+ { url = "https://files.pythonhosted.org/packages/7b/d6/32fd69744afb53995619bc5effa2a405ae0d343cd3e747d0fbc43fe894ee/pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0", size = 1392485 },
+]
+
+[[package]]
+name = "questionary"
+version = "2.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "prompt-toolkit" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/84/d0/d73525aeba800df7030ac187d09c59dc40df1c878b4fab8669bdc805535d/questionary-2.0.1.tar.gz", hash = "sha256:bcce898bf3dbb446ff62830c86c5c6fb9a22a54146f0f5597d3da43b10d8fc8b", size = 24726 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0b/e7/2dd8f59d1d328773505f78b85405ddb1cfe74126425d076ce72e65540b8b/questionary-2.0.1-py3-none-any.whl", hash = "sha256:8ab9a01d0b91b68444dff7f6652c1e754105533f083cbe27597c8110ecc230a2", size = 34248 },
+]
+
+[[package]]
+name = "referencing"
+version = "0.35.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "attrs" },
+ { name = "rpds-py" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/99/5b/73ca1f8e72fff6fa52119dbd185f73a907b1989428917b24cff660129b6d/referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", size = 62991 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/59/2056f61236782a2c86b33906c025d4f4a0b17be0161b63b70fd9e8775d36/referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de", size = 26684 },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
+]
+
+[[package]]
+name = "rich"
+version = "13.9.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown-it-py" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 },
+]
+
+[[package]]
+name = "rpds-py"
+version = "0.22.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 },
+ { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 },
+ { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 },
+ { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 },
+ { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 },
+ { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 },
+ { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 },
+ { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 },
+ { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 },
+ { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 },
+ { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 },
+ { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 },
+ { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 },
+ { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 },
+ { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 },
+ { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 },
+ { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 },
+ { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 },
+ { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 },
+ { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 },
+ { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 },
+ { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 },
+ { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 },
+ { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 },
+ { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 },
+ { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 },
+ { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 },
+ { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 },
+ { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 },
+ { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 },
+ { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 },
+ { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 },
+ { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 },
+ { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 },
+ { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 },
+ { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 },
+ { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 },
+ { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 },
+ { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 },
+]
+
+[[package]]
+name = "rsa"
+version = "4.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pyasn1" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/aa/65/7d973b89c4d2351d7fb232c2e452547ddfa243e93131e7cfa766da627b52/rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21", size = 29711 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7", size = 34315 },
+]
+
+[[package]]
+name = "ruff"
+version = "0.8.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bf/5e/683c7ef7a696923223e7d95ca06755d6e2acbc5fd8382b2912a28008137c/ruff-0.8.3.tar.gz", hash = "sha256:5e7558304353b84279042fc584a4f4cb8a07ae79b2bf3da1a7551d960b5626d3", size = 3378522 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f8/c4/bfdbb8b9c419ff3b52479af8581026eeaac3764946fdb463dec043441b7d/ruff-0.8.3-py3-none-linux_armv6l.whl", hash = "sha256:8d5d273ffffff0acd3db5bf626d4b131aa5a5ada1276126231c4174543ce20d6", size = 10535860 },
+ { url = "https://files.pythonhosted.org/packages/ef/c5/0aabdc9314b4b6f051168ac45227e2aa8e1c6d82718a547455e40c9c9faa/ruff-0.8.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:e4d66a21de39f15c9757d00c50c8cdd20ac84f55684ca56def7891a025d7e939", size = 10346327 },
+ { url = "https://files.pythonhosted.org/packages/1a/78/4843a59e7e7b398d6019cf91ab06502fd95397b99b2b858798fbab9151f5/ruff-0.8.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c356e770811858bd20832af696ff6c7e884701115094f427b64b25093d6d932d", size = 9942585 },
+ { url = "https://files.pythonhosted.org/packages/91/5a/642ed8f1ba23ffc2dd347697e01eef3c42fad6ac76603be4a8c3a9d6311e/ruff-0.8.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c0a60a825e3e177116c84009d5ebaa90cf40dfab56e1358d1df4e29a9a14b13", size = 10797597 },
+ { url = "https://files.pythonhosted.org/packages/30/25/2e654bc7226da09a49730a1a2ea6e89f843b362db80b4b2a7a4f948ac986/ruff-0.8.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75fb782f4db39501210ac093c79c3de581d306624575eddd7e4e13747e61ba18", size = 10307244 },
+ { url = "https://files.pythonhosted.org/packages/c0/2d/a224d56bcd4383583db53c2b8f410ebf1200866984aa6eb9b5a70f04e71f/ruff-0.8.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f26bc76a133ecb09a38b7868737eded6941b70a6d34ef53a4027e83913b6502", size = 11362439 },
+ { url = "https://files.pythonhosted.org/packages/82/01/03e2857f9c371b8767d3e909f06a33bbdac880df17f17f93d6f6951c3381/ruff-0.8.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:01b14b2f72a37390c1b13477c1c02d53184f728be2f3ffc3ace5b44e9e87b90d", size = 12078538 },
+ { url = "https://files.pythonhosted.org/packages/af/ae/ff7f97b355da16d748ceec50e1604a8215d3659b36b38025a922e0612e9b/ruff-0.8.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53babd6e63e31f4e96ec95ea0d962298f9f0d9cc5990a1bbb023a6baf2503a82", size = 11616172 },
+ { url = "https://files.pythonhosted.org/packages/6a/d0/6156d4d1e53ebd17747049afe801c5d7e3014d9b2f398b9236fe36ba4320/ruff-0.8.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ae441ce4cf925b7f363d33cd6570c51435972d697e3e58928973994e56e1452", size = 12919886 },
+ { url = "https://files.pythonhosted.org/packages/4e/84/affcb30bacb94f6036a128ad5de0e29f543d3f67ee42b490b17d68e44b8a/ruff-0.8.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7c65bc0cadce32255e93c57d57ecc2cca23149edd52714c0c5d6fa11ec328cd", size = 11212599 },
+ { url = "https://files.pythonhosted.org/packages/60/b9/5694716bdefd8f73df7c0104334156c38fb0f77673d2966a5a1345bab94d/ruff-0.8.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:5be450bb18f23f0edc5a4e5585c17a56ba88920d598f04a06bd9fd76d324cb20", size = 10784637 },
+ { url = "https://files.pythonhosted.org/packages/24/7e/0e8f835103ac7da81c3663eedf79dec8359e9ae9a3b0d704bae50be59176/ruff-0.8.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8faeae3827eaa77f5721f09b9472a18c749139c891dbc17f45e72d8f2ca1f8fc", size = 10390591 },
+ { url = "https://files.pythonhosted.org/packages/27/da/180ec771fc01c004045962ce017ca419a0281f4bfaf867ed0020f555b56e/ruff-0.8.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:db503486e1cf074b9808403991663e4277f5c664d3fe237ee0d994d1305bb060", size = 10894298 },
+ { url = "https://files.pythonhosted.org/packages/6d/f8/29f241742ed3954eb2222314b02db29f531a15cab3238d1295e8657c5f18/ruff-0.8.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6567be9fb62fbd7a099209257fef4ad2c3153b60579818b31a23c886ed4147ea", size = 11275965 },
+ { url = "https://files.pythonhosted.org/packages/79/e9/5b81dc9afc8a80884405b230b9429efeef76d04caead904bd213f453b973/ruff-0.8.3-py3-none-win32.whl", hash = "sha256:19048f2f878f3ee4583fc6cb23fb636e48c2635e30fb2022b3a1cd293402f964", size = 8807651 },
+ { url = "https://files.pythonhosted.org/packages/ea/67/7291461066007617b59a707887b90e319b6a043c79b4d19979f86b7a20e7/ruff-0.8.3-py3-none-win_amd64.whl", hash = "sha256:f7df94f57d7418fa7c3ffb650757e0c2b96cf2501a0b192c18e4fb5571dfada9", size = 9625289 },
+ { url = "https://files.pythonhosted.org/packages/03/8f/e4fa95288b81233356d9a9dcaed057e5b0adc6399aa8fd0f6d784041c9c3/ruff-0.8.3-py3-none-win_arm64.whl", hash = "sha256:fe2756edf68ea79707c8d68b78ca9a58ed9af22e430430491ee03e718b5e4936", size = 9078754 },
+]
+
+[[package]]
+name = "scikit-learn"
+version = "1.5.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "joblib" },
+ { name = "numpy" },
+ { name = "scipy" },
+ { name = "threadpoolctl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/37/59/44985a2bdc95c74e34fef3d10cb5d93ce13b0e2a7baefffe1b53853b502d/scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d", size = 7001680 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a4/db/b485c1ac54ff3bd9e7e6b39d3cc6609c4c76a65f52ab0a7b22b6c3ab0e9d/scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a", size = 12110344 },
+ { url = "https://files.pythonhosted.org/packages/54/1a/7deb52fa23aebb855431ad659b3c6a2e1709ece582cb3a63d66905e735fe/scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1", size = 11033502 },
+ { url = "https://files.pythonhosted.org/packages/a1/32/4a7a205b14c11225609b75b28402c196e4396ac754dab6a81971b811781c/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd", size = 12085794 },
+ { url = "https://files.pythonhosted.org/packages/c6/29/044048c5e911373827c0e1d3051321b9183b2a4f8d4e2f11c08fcff83f13/scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6", size = 12945797 },
+ { url = "https://files.pythonhosted.org/packages/aa/ce/c0b912f2f31aeb1b756a6ba56bcd84dd1f8a148470526a48515a3f4d48cd/scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1", size = 10985467 },
+ { url = "https://files.pythonhosted.org/packages/a4/50/8891028437858cc510e13578fe7046574a60c2aaaa92b02d64aac5b1b412/scikit_learn-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9a702e2de732bbb20d3bad29ebd77fc05a6b427dc49964300340e4c9328b3f5", size = 12025584 },
+ { url = "https://files.pythonhosted.org/packages/d2/79/17feef8a1c14149436083bec0e61d7befb4812e272d5b20f9d79ea3e9ab1/scikit_learn-1.5.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:b0768ad641981f5d3a198430a1d31c3e044ed2e8a6f22166b4d546a5116d7908", size = 10959795 },
+ { url = "https://files.pythonhosted.org/packages/b1/c8/f08313f9e2e656bd0905930ae8bf99a573ea21c34666a813b749c338202f/scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:178ddd0a5cb0044464fc1bfc4cca5b1833bfc7bb022d70b05db8530da4bb3dd3", size = 12077302 },
+ { url = "https://files.pythonhosted.org/packages/a7/48/fbfb4dc72bed0fe31fe045fb30e924909ad03f717c36694351612973b1a9/scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7284ade780084d94505632241bf78c44ab3b6f1e8ccab3d2af58e0e950f9c12", size = 13002811 },
+ { url = "https://files.pythonhosted.org/packages/a5/e7/0c869f9e60d225a77af90d2aefa7a4a4c0e745b149325d1450f0f0ce5399/scikit_learn-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:b7b0f9a0b1040830d38c39b91b3a44e1b643f4b36e36567b80b7c6bd2202a27f", size = 10951354 },
+]
+
+[[package]]
+name = "scipy"
+version = "1.14.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/62/11/4d44a1f274e002784e4dbdb81e0ea96d2de2d1045b2132d5af62cc31fd28/scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417", size = 58620554 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c0/04/2bdacc8ac6387b15db6faa40295f8bd25eccf33f1f13e68a72dc3c60a99e/scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d", size = 39128781 },
+ { url = "https://files.pythonhosted.org/packages/c8/53/35b4d41f5fd42f5781dbd0dd6c05d35ba8aa75c84ecddc7d44756cd8da2e/scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07", size = 29939542 },
+ { url = "https://files.pythonhosted.org/packages/66/67/6ef192e0e4d77b20cc33a01e743b00bc9e68fb83b88e06e636d2619a8767/scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5", size = 23148375 },
+ { url = "https://files.pythonhosted.org/packages/f6/32/3a6dedd51d68eb7b8e7dc7947d5d841bcb699f1bf4463639554986f4d782/scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc", size = 25578573 },
+ { url = "https://files.pythonhosted.org/packages/f0/5a/efa92a58dc3a2898705f1dc9dbaf390ca7d4fba26d6ab8cfffb0c72f656f/scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310", size = 35319299 },
+ { url = "https://files.pythonhosted.org/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066", size = 40849331 },
+ { url = "https://files.pythonhosted.org/packages/a5/cd/06f72bc9187840f1c99e1a8750aad4216fc7dfdd7df46e6280add14b4822/scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1", size = 42544049 },
+ { url = "https://files.pythonhosted.org/packages/aa/7d/43ab67228ef98c6b5dd42ab386eae2d7877036970a0d7e3dd3eb47a0d530/scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f", size = 44521212 },
+ { url = "https://files.pythonhosted.org/packages/50/ef/ac98346db016ff18a6ad7626a35808f37074d25796fd0234c2bb0ed1e054/scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79", size = 39091068 },
+ { url = "https://files.pythonhosted.org/packages/b9/cc/70948fe9f393b911b4251e96b55bbdeaa8cca41f37c26fd1df0232933b9e/scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e", size = 29875417 },
+ { url = "https://files.pythonhosted.org/packages/3b/2e/35f549b7d231c1c9f9639f9ef49b815d816bf54dd050da5da1c11517a218/scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73", size = 23084508 },
+ { url = "https://files.pythonhosted.org/packages/3f/d6/b028e3f3e59fae61fb8c0f450db732c43dd1d836223a589a8be9f6377203/scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e", size = 25503364 },
+ { url = "https://files.pythonhosted.org/packages/a7/2f/6c142b352ac15967744d62b165537a965e95d557085db4beab2a11f7943b/scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d", size = 35292639 },
+ { url = "https://files.pythonhosted.org/packages/56/46/2449e6e51e0d7c3575f289f6acb7f828938eaab8874dbccfeb0cd2b71a27/scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e", size = 40798288 },
+ { url = "https://files.pythonhosted.org/packages/32/cd/9d86f7ed7f4497c9fd3e39f8918dd93d9f647ba80d7e34e4946c0c2d1a7c/scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06", size = 42524647 },
+ { url = "https://files.pythonhosted.org/packages/f5/1b/6ee032251bf4cdb0cc50059374e86a9f076308c1512b61c4e003e241efb7/scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84", size = 44469524 },
+]
+
+[[package]]
+name = "setuptools"
+version = "75.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/54/292f26c208734e9a7f067aea4a7e282c080750c4546559b58e2e45413ca0/setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6", size = 1337429 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/55/21/47d163f615df1d30c094f6c8bbb353619274edccf0327b185cc2493c2c33/setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d", size = 1224032 },
+]
+
+[[package]]
+name = "shap"
+version = "0.46.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cloudpickle" },
+ { name = "numba" },
+ { name = "numpy" },
+ { name = "packaging" },
+ { name = "pandas" },
+ { name = "scikit-learn" },
+ { name = "scipy" },
+ { name = "slicer" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/47/46/1b497452be642e19af56044814dfe32ee795805b443378821136729017a0/shap-0.46.0.tar.gz", hash = "sha256:bdaa5b098be5a958348015e940f6fd264339b5db1e651f9898a3117be95b05a0", size = 1214102 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/05/c5/3c4fe600dd71fd2785d21f86a3e7f1f13de60c9b434052e05ba17598f81e/shap-0.46.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a9cc9be191562bea1a782baff912854d267c6f4831bbf454d8d7bb7df7ddb214", size = 459316 },
+ { url = "https://files.pythonhosted.org/packages/4d/1a/c00a1e7a68a4af29f2b40c8a8740dd241cba6cc58cd6ac266956a954a41d/shap-0.46.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ab1fecfb43604605be17e26ae12bde4406c451c46b54b980d9570cec03fbc239", size = 455333 },
+ { url = "https://files.pythonhosted.org/packages/7f/0a/e3ab0dcddf4db1158fbf0d6c96348ba5f3031275f59088e0e3b7630cdcde/shap-0.46.0-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b216adf2a17b0e0694f17965ac29354ca8c4f27ac3c66f68bf6fc4cb2aa28207", size = 543894 },
+ { url = "https://files.pythonhosted.org/packages/8f/8f/ca077689b76161b51b420031b88948ef92ade55730e85490215222734729/shap-0.46.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6e5dc5257b747a784f7a9b3acb64216a9011f01734f3c96b27fe5e15ae5f99f", size = 540735 },
+ { url = "https://files.pythonhosted.org/packages/6e/b6/169de0d8971c91decd3dacfd63edeeedfc1bba30bfc6abf8480142aafd48/shap-0.46.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1230bf973463041dfa15734f290fbf3ab9c6e4e8222339c76f68fc355b940d80", size = 1537953 },
+ { url = "https://files.pythonhosted.org/packages/04/58/b2ea558ec8d9ed3728e83dfacb1b920c54a1a1f6feee2632c04676c3c1e9/shap-0.46.0-cp312-cp312-win_amd64.whl", hash = "sha256:0cbbf996537b2a42d3bc7f2a13492988822ee1bfd7220700989408dfb9e1c5ad", size = 456226 },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
+]
+
+[[package]]
+name = "slicer"
+version = "0.0.8"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d3/f9/b4bce2825b39b57760b361e6131a3dacee3d8951c58cb97ad120abb90317/slicer-0.0.8.tar.gz", hash = "sha256:2e7553af73f0c0c2d355f4afcc3ecf97c6f2156fcf4593955c3f56cf6c4d6eb7", size = 14894 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/63/81/9ef641ff4e12cbcca30e54e72fb0951a2ba195d0cda0ba4100e532d929db/slicer-0.0.8-py3-none-any.whl", hash = "sha256:6c206258543aecd010d497dc2eca9d2805860a0b3758673903456b7df7934dc3", size = 15251 },
+]
+
+[[package]]
+name = "smmap"
+version = "5.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/88/04/b5bf6d21dc4041000ccba7eb17dd3055feb237e7ffc2c20d3fae3af62baa/smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62", size = 22291 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da", size = 24282 },
+]
+
+[[package]]
+name = "sqlalchemy"
+version = "2.0.36"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "greenlet", marker = "(python_full_version < '3.13' and platform_machine == 'AMD64') or (python_full_version < '3.13' and platform_machine == 'WIN32') or (python_full_version < '3.13' and platform_machine == 'aarch64') or (python_full_version < '3.13' and platform_machine == 'amd64') or (python_full_version < '3.13' and platform_machine == 'ppc64le') or (python_full_version < '3.13' and platform_machine == 'win32') or (python_full_version < '3.13' and platform_machine == 'x86_64')" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/65/9cbc9c4c3287bed2499e05033e207473504dc4df999ce49385fb1f8b058a/sqlalchemy-2.0.36.tar.gz", hash = "sha256:7f2767680b6d2398aea7082e45a774b2b0767b5c8d8ffb9c8b683088ea9b29c5", size = 9574485 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/bf/005dc47f0e57556e14512d5542f3f183b94fde46e15ff1588ec58ca89555/SQLAlchemy-2.0.36-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7b64e6ec3f02c35647be6b4851008b26cff592a95ecb13b6788a54ef80bbdd4", size = 2092378 },
+ { url = "https://files.pythonhosted.org/packages/94/65/f109d5720779a08e6e324ec89a744f5f92c48bd8005edc814bf72fbb24e5/SQLAlchemy-2.0.36-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:46331b00096a6db1fdc052d55b101dbbfc99155a548e20a0e4a8e5e4d1362855", size = 2082778 },
+ { url = "https://files.pythonhosted.org/packages/60/f6/d9aa8c49c44f9b8c9b9dada1f12fa78df3d4c42aa2de437164b83ee1123c/SQLAlchemy-2.0.36-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdf3386a801ea5aba17c6410dd1dc8d39cf454ca2565541b5ac42a84e1e28f53", size = 3232191 },
+ { url = "https://files.pythonhosted.org/packages/8a/ab/81d4514527c068670cb1d7ab62a81a185df53a7c379bd2a5636e83d09ede/SQLAlchemy-2.0.36-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac9dfa18ff2a67b09b372d5db8743c27966abf0e5344c555d86cc7199f7ad83a", size = 3243044 },
+ { url = "https://files.pythonhosted.org/packages/35/b4/f87c014ecf5167dc669199cafdb20a7358ff4b1d49ce3622cc48571f811c/SQLAlchemy-2.0.36-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:90812a8933df713fdf748b355527e3af257a11e415b613dd794512461eb8a686", size = 3178511 },
+ { url = "https://files.pythonhosted.org/packages/ea/09/badfc9293bc3ccba6ede05e5f2b44a760aa47d84da1fc5a326e963e3d4d9/SQLAlchemy-2.0.36-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1bc330d9d29c7f06f003ab10e1eaced295e87940405afe1b110f2eb93a233588", size = 3205147 },
+ { url = "https://files.pythonhosted.org/packages/c8/60/70e681de02a13c4b27979b7b78da3058c49bacc9858c89ba672e030f03f2/SQLAlchemy-2.0.36-cp312-cp312-win32.whl", hash = "sha256:79d2e78abc26d871875b419e1fd3c0bca31a1cb0043277d0d850014599626c2e", size = 2062709 },
+ { url = "https://files.pythonhosted.org/packages/b7/ed/f6cd9395e41bfe47dd253d74d2dfc3cab34980d4e20c8878cb1117306085/SQLAlchemy-2.0.36-cp312-cp312-win_amd64.whl", hash = "sha256:b544ad1935a8541d177cb402948b94e871067656b3a0b9e91dbec136b06a2ff5", size = 2088433 },
+ { url = "https://files.pythonhosted.org/packages/78/5c/236398ae3678b3237726819b484f15f5c038a9549da01703a771f05a00d6/SQLAlchemy-2.0.36-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b5cc79df7f4bc3d11e4b542596c03826063092611e481fcf1c9dfee3c94355ef", size = 2087651 },
+ { url = "https://files.pythonhosted.org/packages/a8/14/55c47420c0d23fb67a35af8be4719199b81c59f3084c28d131a7767b0b0b/SQLAlchemy-2.0.36-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3c01117dd36800f2ecaa238c65365b7b16497adc1522bf84906e5710ee9ba0e8", size = 2078132 },
+ { url = "https://files.pythonhosted.org/packages/3d/97/1e843b36abff8c4a7aa2e37f9bea364f90d021754c2de94d792c2d91405b/SQLAlchemy-2.0.36-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bc633f4ee4b4c46e7adcb3a9b5ec083bf1d9a97c1d3854b92749d935de40b9b", size = 3164559 },
+ { url = "https://files.pythonhosted.org/packages/7b/c5/07f18a897b997f6d6b234fab2bf31dccf66d5d16a79fe329aefc95cd7461/SQLAlchemy-2.0.36-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e46ed38affdfc95d2c958de328d037d87801cfcbea6d421000859e9789e61c2", size = 3177897 },
+ { url = "https://files.pythonhosted.org/packages/b3/cd/e16f3cbefd82b5c40b33732da634ec67a5f33b587744c7ab41699789d492/SQLAlchemy-2.0.36-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b2985c0b06e989c043f1dc09d4fe89e1616aadd35392aea2844f0458a989eacf", size = 3111289 },
+ { url = "https://files.pythonhosted.org/packages/15/85/5b8a3b0bc29c9928aa62b5c91fcc8335f57c1de0a6343873b5f372e3672b/SQLAlchemy-2.0.36-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a121d62ebe7d26fec9155f83f8be5189ef1405f5973ea4874a26fab9f1e262c", size = 3139491 },
+ { url = "https://files.pythonhosted.org/packages/a1/95/81babb6089938680dfe2cd3f88cd3fd39cccd1543b7cb603b21ad881bff1/SQLAlchemy-2.0.36-cp313-cp313-win32.whl", hash = "sha256:0572f4bd6f94752167adfd7c1bed84f4b240ee6203a95e05d1e208d488d0d436", size = 2060439 },
+ { url = "https://files.pythonhosted.org/packages/c1/ce/5f7428df55660d6879d0522adc73a3364970b5ef33ec17fa125c5dbcac1d/SQLAlchemy-2.0.36-cp313-cp313-win_amd64.whl", hash = "sha256:8c78ac40bde930c60e0f78b3cd184c580f89456dd87fc08f9e3ee3ce8765ce88", size = 2084574 },
+ { url = "https://files.pythonhosted.org/packages/b8/49/21633706dd6feb14cd3f7935fc00b60870ea057686035e1a99ae6d9d9d53/SQLAlchemy-2.0.36-py3-none-any.whl", hash = "sha256:fddbe92b4760c6f5d48162aef14824add991aeda8ddadb3c31d56eb15ca69f8e", size = 1883787 },
+]
+
+[[package]]
+name = "sqlparse"
+version = "0.5.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/40/edede8dd6977b0d3da179a342c198ed100dd2aba4be081861ee5911e4da4/sqlparse-0.5.3.tar.gz", hash = "sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272", size = 84999 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a9/5c/bfd6bd0bf979426d405cc6e71eceb8701b148b16c21d2dc3c261efc61c7b/sqlparse-0.5.3-py3-none-any.whl", hash = "sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca", size = 44415 },
+]
+
+[[package]]
+name = "stack-data"
+version = "0.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "asttokens" },
+ { name = "executing" },
+ { name = "pure-eval" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 },
+]
+
+[[package]]
+name = "stevedore"
+version = "5.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pbr" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4a/e9/4eedccff8332cc40cc60ddd3b28d4c3e255ee7e9c65679fa4533ab98f598/stevedore-5.4.0.tar.gz", hash = "sha256:79e92235ecb828fe952b6b8b0c6c87863248631922c8e8e0fa5b17b232c4514d", size = 513899 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8f/73/d0091d22a65b55e8fb6aca7b3b6713b5a261dd01cec4cfd28ed127ac0cfc/stevedore-5.4.0-py3-none-any.whl", hash = "sha256:b0be3c4748b3ea7b854b265dcb4caa891015e442416422be16f8b31756107857", size = 49534 },
+]
+
+[[package]]
+name = "tenacity"
+version = "9.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/94/91fccdb4b8110642462e653d5dcb27e7b674742ad68efd146367da7bdb10/tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b", size = 47421 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539", size = 28169 },
+]
+
+[[package]]
+name = "termcolor"
+version = "2.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/37/72/88311445fd44c455c7d553e61f95412cf89054308a1aa2434ab835075fc5/termcolor-2.5.0.tar.gz", hash = "sha256:998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f", size = 13057 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7f/be/df630c387a0a054815d60be6a97eb4e8f17385d5d6fe660e1c02750062b4/termcolor-2.5.0-py3-none-any.whl", hash = "sha256:37b17b5fc1e604945c2642c872a3764b5d547a48009871aea3edd3afa180afb8", size = 7755 },
+]
+
+[[package]]
+name = "threadpoolctl"
+version = "3.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bd/55/b5148dcbf72f5cde221f8bfe3b6a540da7aa1842f6b491ad979a6c8b84af/threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107", size = 41936 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467", size = 18414 },
+]
+
+[[package]]
+name = "tomlkit"
+version = "0.13.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b1/09/a439bec5888f00a54b8b9f05fa94d7f901d6735ef4e55dcec9bc37b5d8fa/tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79", size = 192885 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", size = 37955 },
+]
+
+[[package]]
+name = "tornado"
+version = "6.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/59/45/a0daf161f7d6f36c3ea5fc0c2de619746cc3dd4c76402e9db545bd920f63/tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b", size = 501135 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/7e/71f604d8cea1b58f82ba3590290b66da1e72d840aeb37e0d5f7291bd30db/tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1", size = 436299 },
+ { url = "https://files.pythonhosted.org/packages/96/44/87543a3b99016d0bf54fdaab30d24bf0af2e848f1d13d34a3a5380aabe16/tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803", size = 434253 },
+ { url = "https://files.pythonhosted.org/packages/cb/fb/fdf679b4ce51bcb7210801ef4f11fdac96e9885daa402861751353beea6e/tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec", size = 437602 },
+ { url = "https://files.pythonhosted.org/packages/4f/3b/e31aeffffc22b475a64dbeb273026a21b5b566f74dee48742817626c47dc/tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946", size = 436972 },
+ { url = "https://files.pythonhosted.org/packages/22/55/b78a464de78051a30599ceb6983b01d8f732e6f69bf37b4ed07f642ac0fc/tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf", size = 437173 },
+ { url = "https://files.pythonhosted.org/packages/79/5e/be4fb0d1684eb822c9a62fb18a3e44a06188f78aa466b2ad991d2ee31104/tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634", size = 437892 },
+ { url = "https://files.pythonhosted.org/packages/f5/33/4f91fdd94ea36e1d796147003b490fe60a0215ac5737b6f9c65e160d4fe0/tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73", size = 437334 },
+ { url = "https://files.pythonhosted.org/packages/2b/ae/c1b22d4524b0e10da2f29a176fb2890386f7bd1f63aacf186444873a88a0/tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c", size = 437261 },
+ { url = "https://files.pythonhosted.org/packages/b5/25/36dbd49ab6d179bcfc4c6c093a51795a4f3bed380543a8242ac3517a1751/tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482", size = 438463 },
+ { url = "https://files.pythonhosted.org/packages/61/cc/58b1adeb1bb46228442081e746fcdbc4540905c87e8add7c277540934edb/tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38", size = 438907 },
+]
+
+[[package]]
+name = "tqdm"
+version = "4.67.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "platform_system == 'Windows'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
+]
+
+[[package]]
+name = "traitlets"
+version = "5.14.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 },
+]
+
+[[package]]
+name = "typeguard"
+version = "4.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/62/c3/400917dd37d7b8c07e9723f3046818530423e1e759a56a22133362adab00/typeguard-4.4.1.tar.gz", hash = "sha256:0d22a89d00b453b47c49875f42b6601b961757541a2e1e0ef517b6e24213c21b", size = 74959 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f2/53/9465dedf2d69fe26008e7732cf6e0a385e387c240869e7d54eed49782a3c/typeguard-4.4.1-py3-none-any.whl", hash = "sha256:9324ec07a27ec67fc54a9c063020ca4c0ae6abad5e9f0f9804ca59aee68c6e21", size = 35635 },
+]
+
+[[package]]
+name = "types-pytz"
+version = "2024.2.0.20241003"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/66/d0/73aa3063a9ef9881bd7103cb4ae379bfd8fafda0e86b01b694d676313a4b/types-pytz-2024.2.0.20241003.tar.gz", hash = "sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44", size = 5474 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/60/2a2977ce0f91255bbb668350b127a801a06ad37c326a2e5bfd52f03e0784/types_pytz-2024.2.0.20241003-py3-none-any.whl", hash = "sha256:3e22df1336c0c6ad1d29163c8fda82736909eb977281cb823c57f8bae07118b7", size = 5245 },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.12.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
+]
+
+[[package]]
+name = "typing-inspect"
+version = "0.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mypy-extensions" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/dc/74/1789779d91f1961fa9438e9a8710cdae6bd138c80d7303996933d117264a/typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78", size = 13825 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/65/f3/107a22063bf27bdccf2024833d3445f4eea42b2e598abfbd46f6a63b6cb0/typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f", size = 8827 },
+]
+
+[[package]]
+name = "tzdata"
+version = "2024.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e1/34/943888654477a574a86a98e9896bae89c7aa15078ec29f490fef2f1e5384/tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", size = 193282 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 },
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.28.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "distlib" },
+ { name = "filelock" },
+ { name = "platformdirs" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/75/53316a5a8050069228a2f6d11f32046cfa94fbb6cc3f08703f59b873de2e/virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa", size = 7650368 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/10/f9/0919cf6f1432a8c4baa62511f8f8da8225432d22e83e3476f5be1a1edc6e/virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0", size = 4276702 },
+]
+
+[[package]]
+name = "waitress"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz", hash = "sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f", size = 179901 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/57/a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368/waitress-3.0.2-py3-none-any.whl", hash = "sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e", size = 56232 },
+]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.13"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166 },
+]
+
+[[package]]
+name = "werkzeug"
+version = "3.1.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498 },
+]
+
+[[package]]
+name = "win32-setctime"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083 },
+]
+
+[[package]]
+name = "wrapt"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/24/a1/fc03dca9b0432725c2e8cdbf91a349d2194cf03d8523c124faebe581de09/wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801", size = 55542 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/85/82/518605474beafff11f1a34759f6410ab429abff9f7881858a447e0d20712/wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569", size = 38904 },
+ { url = "https://files.pythonhosted.org/packages/80/6c/17c3b2fed28edfd96d8417c865ef0b4c955dc52c4e375d86f459f14340f1/wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504", size = 88622 },
+ { url = "https://files.pythonhosted.org/packages/4a/11/60ecdf3b0fd3dca18978d89acb5d095a05f23299216e925fcd2717c81d93/wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451", size = 80920 },
+ { url = "https://files.pythonhosted.org/packages/d2/50/dbef1a651578a3520d4534c1e434989e3620380c1ad97e309576b47f0ada/wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1", size = 89170 },
+ { url = "https://files.pythonhosted.org/packages/44/a2/78c5956bf39955288c9e0dd62e807b308c3aa15a0f611fbff52aa8d6b5ea/wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106", size = 86748 },
+ { url = "https://files.pythonhosted.org/packages/99/49/2ee413c78fc0bdfebe5bee590bf3becdc1fab0096a7a9c3b5c9666b2415f/wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada", size = 79734 },
+ { url = "https://files.pythonhosted.org/packages/c0/8c/4221b7b270e36be90f0930fe15a4755a6ea24093f90b510166e9ed7861ea/wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4", size = 87552 },
+ { url = "https://files.pythonhosted.org/packages/4c/6b/1aaccf3efe58eb95e10ce8e77c8909b7a6b0da93449a92c4e6d6d10b3a3d/wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635", size = 36647 },
+ { url = "https://files.pythonhosted.org/packages/b3/4f/243f88ac49df005b9129194c6511b3642818b3e6271ddea47a15e2ee4934/wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7", size = 38830 },
+ { url = "https://files.pythonhosted.org/packages/67/9c/38294e1bb92b055222d1b8b6591604ca4468b77b1250f59c15256437644f/wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181", size = 38904 },
+ { url = "https://files.pythonhosted.org/packages/78/b6/76597fb362cbf8913a481d41b14b049a8813cd402a5d2f84e57957c813ae/wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393", size = 88608 },
+ { url = "https://files.pythonhosted.org/packages/bc/69/b500884e45b3881926b5f69188dc542fb5880019d15c8a0df1ab1dfda1f7/wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4", size = 80879 },
+ { url = "https://files.pythonhosted.org/packages/52/31/f4cc58afe29eab8a50ac5969963010c8b60987e719c478a5024bce39bc42/wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b", size = 89119 },
+ { url = "https://files.pythonhosted.org/packages/aa/9c/05ab6bf75dbae7a9d34975fb6ee577e086c1c26cde3b6cf6051726d33c7c/wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721", size = 86778 },
+ { url = "https://files.pythonhosted.org/packages/0e/6c/4b8d42e3db355603d35fe5c9db79c28f2472a6fd1ccf4dc25ae46739672a/wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90", size = 79793 },
+ { url = "https://files.pythonhosted.org/packages/69/23/90e3a2ee210c0843b2c2a49b3b97ffcf9cad1387cb18cbeef9218631ed5a/wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a", size = 87606 },
+ { url = "https://files.pythonhosted.org/packages/5f/06/3683126491ca787d8d71d8d340e775d40767c5efedb35039d987203393b7/wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045", size = 36651 },
+ { url = "https://files.pythonhosted.org/packages/f1/bc/3bf6d2ca0d2c030d324ef9272bea0a8fdaff68f3d1fa7be7a61da88e51f7/wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838", size = 38835 },
+ { url = "https://files.pythonhosted.org/packages/ce/b5/251165c232d87197a81cd362eeb5104d661a2dd3aa1f0b33e4bf61dda8b8/wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b", size = 40146 },
+ { url = "https://files.pythonhosted.org/packages/89/33/1e1bdd3e866eeb73d8c4755db1ceb8a80d5bd51ee4648b3f2247adec4e67/wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379", size = 113444 },
+ { url = "https://files.pythonhosted.org/packages/9f/7c/94f53b065a43f5dc1fbdd8b80fd8f41284315b543805c956619c0b8d92f0/wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d", size = 101246 },
+ { url = "https://files.pythonhosted.org/packages/62/5d/640360baac6ea6018ed5e34e6e80e33cfbae2aefde24f117587cd5efd4b7/wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f", size = 109320 },
+ { url = "https://files.pythonhosted.org/packages/e3/cf/6c7a00ae86a2e9482c91170aefe93f4ccda06c1ac86c4de637c69133da59/wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c", size = 110193 },
+ { url = "https://files.pythonhosted.org/packages/cd/cc/aa718df0d20287e8f953ce0e2f70c0af0fba1d3c367db7ee8bdc46ea7003/wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b", size = 100460 },
+ { url = "https://files.pythonhosted.org/packages/f7/16/9f3ac99fe1f6caaa789d67b4e3c562898b532c250769f5255fa8b8b93983/wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab", size = 106347 },
+ { url = "https://files.pythonhosted.org/packages/64/85/c77a331b2c06af49a687f8b926fc2d111047a51e6f0b0a4baa01ff3a673a/wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf", size = 37971 },
+ { url = "https://files.pythonhosted.org/packages/05/9b/b2469f8be9efed24283fd7b9eeb8e913e9bc0715cf919ea8645e428ab7af/wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a", size = 40755 },
+ { url = "https://files.pythonhosted.org/packages/4b/d9/a8ba5e9507a9af1917285d118388c5eb7a81834873f45df213a6fe923774/wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371", size = 23592 },
+]
+
+[[package]]
+name = "zipp"
+version = "3.21.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 },
+]