From 67bb4c8ed69fba686c095ea7fc30ece14030b7c8 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Thu, 26 Sep 2024 07:49:08 +0200 Subject: [PATCH 1/5] Fix broken reference to version file in workflow (#249) --- doc/changes/unreleased.md | 1 + exasol/toolbox/templates/github/workflows/checks.yml | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 42c338f35..a04f31da2 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -12,6 +12,7 @@ ## 🐞 Bug Fixes * #181 Updated metrics related workflows +* #225 Fixed broken reference to version file in workflow * Fixed coverage for empty project ## βš’οΈ Refactorings diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index 12618205a..26e50057c 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -22,7 +22,13 @@ jobs: uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 - name: Check Version(s) - run: poetry run version-check <> + run: | + echo "Please enable the version check by replacing this output with shell command bellow:" + echo "" + echo "poetry run version-check <>" + echo "" + echo "Note: <> needs to point to the version file of the project (version.py)." + exit 1 build-documentation-job: name: Build Documentation From 06f50458412ab33bf862b95d5f848a7961d36932 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Fri, 27 Sep 2024 10:33:50 +0200 Subject: [PATCH 2/5] Add support for merge gate in CI workflow (#250) --------- Co-authored-by: Christoph Kuhnke --- .github/workflows/{ci-cd.yml => cd.yml} | 11 +- .github/workflows/checks.yml | 30 +++--- .github/workflows/ci.yml | 12 ++- .github/workflows/merge-gate.yml | 46 ++++++++ .github/workflows/report.yml | 3 +- doc/_static/ci-cd-workflow.png | Bin 84925 -> 0 bytes doc/_static/ci-workflow.png | Bin 77186 -> 0 bytes doc/_static/pr-merge-workflow.png | Bin 82809 -> 0 bytes doc/changes/unreleased.md | 18 ++-- doc/user_guide/workflows.rst | 102 ++++-------------- .../github/workflows/{ci-cd.yml => cd.yml} | 12 +-- .../templates/github/workflows/checks.yml | 52 ++++++--- .../toolbox/templates/github/workflows/ci.yml | 9 +- .../templates/github/workflows/merge-gate.yml | 46 ++++++++ .../templates/github/workflows/report.yml | 4 +- test/integration/cli/workflow-install.t | 3 +- test/integration/cli/workflow-list.t | 3 +- test/unit/template_test.py | 9 +- 18 files changed, 204 insertions(+), 156 deletions(-) rename .github/workflows/{ci-cd.yml => cd.yml} (62%) create mode 100644 .github/workflows/merge-gate.yml delete mode 100644 doc/_static/ci-cd-workflow.png delete mode 100644 doc/_static/ci-workflow.png delete mode 100644 doc/_static/pr-merge-workflow.png rename exasol/toolbox/templates/github/workflows/{ci-cd.yml => cd.yml} (60%) create mode 100644 exasol/toolbox/templates/github/workflows/merge-gate.yml diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/cd.yml similarity index 62% rename from .github/workflows/ci-cd.yml rename to .github/workflows/cd.yml index a1b9664f0..42277f86f 100644 --- a/.github/workflows/ci-cd.yml +++ b/.github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: CI/CD +name: CD on: push: @@ -11,18 +11,9 @@ jobs: name: Check Release Tag uses: ./.github/workflows/check-release-tag.yml - ci-job: - name: Checks - needs: [ check-tag-version-job ] - uses: ./.github/workflows/checks.yml - cd-job: name: Continuous Delivery needs: [ ci-job ] uses: ./.github/workflows/build-and-publish.yml secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - - metrics: - needs: [ ci-job ] - uses: ./.github/workflows/report.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 754e26f0c..56c3d7ffe 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -8,8 +8,8 @@ on: jobs: - version-check-job: - name: Version Check + Version-Check: + name: Version runs-on: ubuntu-latest steps: @@ -24,9 +24,9 @@ jobs: - name: Check Version(s) run: poetry run version-check `poetry run python -c "from noxconfig import PROJECT_CONFIG; print(PROJECT_CONFIG.version_file)"` - build-documentation-job: - name: Build Documentation - needs: [ version-check-job ] + Documentation: + name: Docs + needs: [ Version-Check ] runs-on: ubuntu-latest steps: @@ -40,9 +40,9 @@ jobs: run: | poetry run python -m nox -s build-docs - lint-job: + Lint: name: Linting (Python-${{ matrix.python-version }}) - needs: [ version-check-job ] + needs: [ Version-Check ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -68,9 +68,9 @@ jobs: path: .lint.txt include-hidden-files: true - type-check-job: + Type-Check: name: Type Checking (Python-${{ matrix.python-version }}) - needs: [ version-check-job ] + needs: [ Version-Check ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -89,9 +89,9 @@ jobs: - name: Run type-check run: poetry run nox -s type-check - security-job: - name: Security Checking (Python-${{ matrix.python-version }}) - needs: [ version-check-job ] + Security: + name: Security Checks (Python-${{ matrix.python-version }}) + needs: [ Version-Check ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -107,7 +107,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: Run security + - name: Run security linter run: poetry run nox -s security - name: Upload Artifacts @@ -117,9 +117,9 @@ jobs: path: .security.json include-hidden-files: true - tests-job: + Tests: name: Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}}) - needs: [ build-documentation-job, lint-job, type-check-job ] + needs: [ Documentation, Lint, Type-Check, Security] runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 009d64cd5..e02cb553e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,15 +8,17 @@ on: - "main" - "master" pull_request: - types: [ opened, reopened ] + types: [opened, reopened] schedule: # β€œAt 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru) - cron: "0 0 1/7 * *" jobs: - ci-job: - uses: ./.github/workflows/checks.yml - metrics: - needs: [ ci-job ] + CI: + uses: ./.github/workflows/merge-gate.yml + secrets: inherit + + Metrics: + needs: [ CI ] uses: ./.github/workflows/report.yml diff --git a/.github/workflows/merge-gate.yml b/.github/workflows/merge-gate.yml new file mode 100644 index 000000000..1f9f949c7 --- /dev/null +++ b/.github/workflows/merge-gate.yml @@ -0,0 +1,46 @@ +name: Merge-Gate + +on: + workflow_call: + secrets: + ALTERNATIVE_GITHUB_TOKEN: + required: false + +jobs: + + fast-checks: + name: Fast + uses: ./.github/workflows/checks.yml + + slow-checks: + name: Slow + runs-on: ubuntu-latest + + # Even though the environment "manual-approval" will be created automatically, + # it still needs to be configured to require interactive review. + # See project settings on GitHub (Settings / Environments / manual-approval). + environment: manual-approval + + # Replace the steps below with the required actions + # and/or add additional jobs if required + # Note: + # If you add additional jobs, make sure they are added as a requirement + # to the approve-merge job's input requirements (needs). + steps: + - name: Tests + run: | + echo "Slow tests ran successfully" + + + # This job ensures inputs have been executed successfully. + approve-merge: + name: Allow Merge + runs-on: ubuntu-latest + # If you need additional jobs to be part of the merge gate, add them below + needs: [ fast-checks, slow-checks ] + + # Each job requires a step, so we added this dummy step. + steps: + - name: Approve + run: | + echo "Merge Approved" diff --git a/.github/workflows/report.yml b/.github/workflows/report.yml index 483bfbe9b..a4f9f4dff 100644 --- a/.github/workflows/report.yml +++ b/.github/workflows/report.yml @@ -8,8 +8,7 @@ on: jobs: - report: - name: Generate Status Report + Report: runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} diff --git a/doc/_static/ci-cd-workflow.png b/doc/_static/ci-cd-workflow.png deleted file mode 100644 index f28b2e340e76e963dbef7848b47dc286e513b9e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84925 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

+7-Xw-C~en`$Iil|$k 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±i%@m78 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 F{0nS!mk0m= diff --git a/doc/_static/ci-workflow.png b/doc/_static/ci-workflow.png deleted file mode 100644 index 3229d157d5362da191ef5ee9e529a70ca160acd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77186 zcmeFZXH=6}+cu2jD5EHh6$Jzl0ck-%K)Q;6fb?DhDg>lU3lI{}aTF10QbI?i6N)7C z08tPrp-3lmfdC1i1wt?HX6Byzd7t}v*80}^{(OJF{K|qWSN65{S&!p56RNMParz|3 zNhT(y)0z+N8!|B+r!X-cP5JE?@Rzn(;w2`g=S-US?;88t&_*``&zl?^tnBcZvq+!5 zcaoQv_r>oIev7(ub!{w=?W5n>?&m)ga?L;cojHHOz`*r<+%>hV8@~xZajo#%8c{(8 z@73W1xn9fR8{B_+d@kK4lIXJ0Mx(W*B;w@6JKA;|e1lcNmma=;yLE6g?C-Zs6GeRZ zU;lpp`lF=i4L@_eYA@E*D9P#gkfltQxLWBuXb9dZf>bbPP&E{*^95-bgi*q{rjR1 za10V|!I;1XJ@bD|nR#sI)uzco;{W@f%Nxd9G_NFu$~F-T^l0E4*$%xWCsKKaD6ddf zt(@k+cWggRI1#EYqiw9$<=J1h0ajqyRD`lmTh5)CxgP${zHJ8P+rxzn72qaEVCn

J+w3M3f2SX;scEoPfc%| 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 diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index a04f31da2..df880eb7a 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -3,24 +3,26 @@ ## ✨ Added * Added cookiecutter-template for creating new project - -## πŸ”© Internal - -* Update depdency constraints -* Relock dependencies +* [#246](https://github.com/exasol/python-toolbox/issues/246): Added standard branch protection workflow ## 🐞 Bug Fixes -* #181 Updated metrics related workflows -* #225 Fixed broken reference to version file in workflow +* [#181](https://github.com/exasol/python-toolbox/issues/181): Updated metrics related workflows +* [#225](https://github.com/exasol/python-toolbox/issues/225): Fixed broken reference to version file in workflow * Fixed coverage for empty project ## βš’οΈ Refactorings -* #219: Updated project template configuration +* [#219](https://github.com/exasol/python-toolbox/issues/219): Updated project template configuration * Updated actions/checkout to v4 ## πŸ“š Documentation * Add Python Styleguide * Add Issue Guide * Updated User Documentation + +## πŸ”© Internal + +* Update depdency constraints +* Relock dependencies + diff --git a/doc/user_guide/workflows.rst b/doc/user_guide/workflows.rst index 89f8721ff..692121145 100644 --- a/doc/user_guide/workflows.rst +++ b/doc/user_guide/workflows.rst @@ -1,46 +1,33 @@ -Workflows (CI/CD) -================= +Github Workflows +================ -Generate CI & CI/CD workflows ------------------------------ - -The exasol-toolbox simplifies and supports 3 easily maintainable workflows. -in order to make them work follow the description bellow. +The exasol-toolbox ships with various GitHub workflows. By default, we suggest installing all of them, +while the core workflows are: **Workflows**: * CI - Verifies PR's and regularly checks the project. + Verifies PRs and regularly checks the project. -* CI/CD - Verifies and publishes releases of the project. +* CD + Publishes releases of the project. * PR-Merge - Validates merges and updates the documentation. - -0. Determine the toolbox version -++++++++++++++++++++++++++++++++ -One of the snippets bellow, should do the trick: - -#. + Validates merges and updates the documentation. - .. code-block:: shell - poetry show exasol-toolbox +The toolbox command itself, :code:`tbx`, provides various CLI functions to help you maintain those workflows. +For further help, run the command :code:`tbx workflow --help`. -#. - - .. code-block:: python +1. Configure your project ++++++++++++++++++++++++++ - python -c "from exasol.toolbox.version import VERSION;print(VERSION)" +* Make sure your GitHub project has access to a deployment token for PyPi with the following name: **PYPI_TOKEN**. It should be available to the repository either as an Organization-, Repository-, or Environment-secret. -1. Configure your project -++++++++++++++++++++++++++ -Make sure your github project has access to a deployment token for PyPi with the following name: **PYPI_TOKEN**. -It should be available to the repository either as Organization-, Repository- or Environment- secret. +* If your CI workflow involves slow or expensive steps you can guard these to be executed only after manual approval. The CI workflow will automaticall create a GitHub environment named :code:`manual-approval`. You only need to add reviewers in (:code:`Settings/Environments/manual-approval`) and move the steps to be guarded into the related section in job :code:`slow-checks` in file :code:`.github/workflows/merge-gate.yml`. -2. Add the standard workflows to your project -+++++++++++++++++++++++++++++++++++++++++++++ +2. Add all workflows to your project +++++++++++++++++++++++++++++++++++++ .. code-block:: shell @@ -48,58 +35,11 @@ It should be available to the repository either as Organization-, Repository- or .. warning:: - If you already have various workflows you may want to run the - :code:`update` instead of the :code:`install` command. - -CI Workflow -___________ - -.. figure:: ../_static/ci-workflow.png - :alt: ci-workflow - -To enable this workflow, add a file with the name *ci.yml* in your *.github/workflows* folder -and add the following content: - -.. literalinclude:: ../../exasol/toolbox/templates/github/workflows/ci.yml - :language: yaml - -CI/CD Workflow -______________ - -.. attention:: - - Requires PYPI token to be available - -.. figure:: ../_static/ci-cd-workflow.png - :alt: ci-cd-workflow - -To enable this workflow, add a file with the name *ci-cd.yml* in your *.github/workflows* folder -and add the following content: - -.. literalinclude:: ../../exasol/toolbox/templates/github/workflows/ci-cd.yml - :language: yaml - -PR-Merge Workflow -_________________ - -.. figure:: ../_static/pr-merge-workflow.png - :alt: pr-merge-workflow - -To enable this workflow, add a file with the name *pr-merge.yml* in your *.github/workflows* folder -and add the following content: - -.. literalinclude:: ../../exasol/toolbox/templates/github/workflows/pr-merge.yml - :language: yaml + #. If you already have various workflows, you may want to run the :code:`update` command instead of the :code:`install` command. -In order to make merging to the main branch faster you can skip running the -tests again in this workflow. + #. Some workflows depend on other workflows. Please ensure you have all the required workflows if you do not install all of them. -Before removing the ``ci-job`` from the workflow by please make sure the -following prerequisites are met, as in some circumstances these tests might be -the last or even only chance to detect problems. +3. Update Branch Protection +++++++++++++++++++++++++++++ -* GitHub branch protection for main branch is properly configured. -* All dependencies are pointing to proper pypi packages in specific versions, i.e. no - dependencies to the main branch of other git repositories. -* Development branches are short-lived and merged to main branch soon after - finishing tests in the context of a pull request. +The best and most maintainable way to have solid branch protection (:code:`Settings/Branches/main`) is to require the workflow :code:`CI / Allow Merge` to pass successfully. diff --git a/exasol/toolbox/templates/github/workflows/ci-cd.yml b/exasol/toolbox/templates/github/workflows/cd.yml similarity index 60% rename from exasol/toolbox/templates/github/workflows/ci-cd.yml rename to exasol/toolbox/templates/github/workflows/cd.yml index 9e88355c2..42277f86f 100644 --- a/exasol/toolbox/templates/github/workflows/ci-cd.yml +++ b/exasol/toolbox/templates/github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: CI/CD +name: CD on: push: @@ -11,19 +11,9 @@ jobs: name: Check Release Tag uses: ./.github/workflows/check-release-tag.yml - ci-job: - name: Checks - needs: [ check-tag-version-job ] - uses: ./.github/workflows/checks.yml - secrets: inherit - cd-job: name: Continuous Delivery needs: [ ci-job ] uses: ./.github/workflows/build-and-publish.yml secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - - metrics: - needs: [ ci-job ] - uses: ./.github/workflows/report.yml diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index 26e50057c..f2dad31af 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -8,8 +8,8 @@ on: jobs: - version-check-job: - name: Version Check + Version-Check: + name: Version runs-on: ubuntu-latest steps: @@ -22,7 +22,7 @@ jobs: uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 - name: Check Version(s) - run: | + run: poetry run version-check `poetry run python -c "from noxconfig import PROJECT_CONFIG; print(PROJECT_CONFIG.version_file)"` echo "Please enable the version check by replacing this output with shell command bellow:" echo "" echo "poetry run version-check <>" @@ -30,9 +30,9 @@ jobs: echo "Note: <> needs to point to the version file of the project (version.py)." exit 1 - build-documentation-job: - name: Build Documentation - needs: [version-check-job] + Documentation: + name: Docs + needs: [ Version-Check ] runs-on: ubuntu-latest steps: @@ -46,9 +46,9 @@ jobs: run: | poetry run python -m nox -s build-docs - lint-job: + Lint: name: Linting (Python-${{ matrix.python-version }}) - needs: [version-check-job] + needs: [ Version-Check ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -74,9 +74,9 @@ jobs: path: .lint.txt include-hidden-files: true - type-check-job: + Type-Check: name: Type Checking (Python-${{ matrix.python-version }}) - needs: [version-check-job] + needs: [ Version-Check ] runs-on: ubuntu-latest strategy: fail-fast: false @@ -95,9 +95,37 @@ jobs: - name: Run type-check run: poetry run nox -s type-check - tests-job: + Security: + name: Security Checks (Python-${{ matrix.python-version }}) + needs: [ Version-Check ] + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [ "3.8", "3.9", "3.10", "3.11" ] + + steps: + - name: SCM Checkout + uses: actions/checkout@v4 + + - name: Setup Python & Poetry Environment + uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + with: + python-version: ${{ matrix.python-version }} + + - name: Run security linter + run: poetry run nox -s security + + - name: Upload Artifacts + uses: actions/upload-artifact@v4.4.0 + with: + name: security-python${{ matrix.python-version }} + path: .security.json + include-hidden-files: true + + Tests: name: Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}}) - needs: [build-documentation-job, lint-job, type-check-job] + needs: [ Documentation, Lint, Type-Check, Security ] runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} diff --git a/exasol/toolbox/templates/github/workflows/ci.yml b/exasol/toolbox/templates/github/workflows/ci.yml index 8e5dc15bf..e02cb553e 100644 --- a/exasol/toolbox/templates/github/workflows/ci.yml +++ b/exasol/toolbox/templates/github/workflows/ci.yml @@ -15,11 +15,10 @@ on: jobs: - ci-job: - name: Checks - uses: ./.github/workflows/checks.yml + CI: + uses: ./.github/workflows/merge-gate.yml secrets: inherit - metrics: - needs: [ ci-job ] + Metrics: + needs: [ CI ] uses: ./.github/workflows/report.yml diff --git a/exasol/toolbox/templates/github/workflows/merge-gate.yml b/exasol/toolbox/templates/github/workflows/merge-gate.yml new file mode 100644 index 000000000..1f9f949c7 --- /dev/null +++ b/exasol/toolbox/templates/github/workflows/merge-gate.yml @@ -0,0 +1,46 @@ +name: Merge-Gate + +on: + workflow_call: + secrets: + ALTERNATIVE_GITHUB_TOKEN: + required: false + +jobs: + + fast-checks: + name: Fast + uses: ./.github/workflows/checks.yml + + slow-checks: + name: Slow + runs-on: ubuntu-latest + + # Even though the environment "manual-approval" will be created automatically, + # it still needs to be configured to require interactive review. + # See project settings on GitHub (Settings / Environments / manual-approval). + environment: manual-approval + + # Replace the steps below with the required actions + # and/or add additional jobs if required + # Note: + # If you add additional jobs, make sure they are added as a requirement + # to the approve-merge job's input requirements (needs). + steps: + - name: Tests + run: | + echo "Slow tests ran successfully" + + + # This job ensures inputs have been executed successfully. + approve-merge: + name: Allow Merge + runs-on: ubuntu-latest + # If you need additional jobs to be part of the merge gate, add them below + needs: [ fast-checks, slow-checks ] + + # Each job requires a step, so we added this dummy step. + steps: + - name: Approve + run: | + echo "Merge Approved" diff --git a/exasol/toolbox/templates/github/workflows/report.yml b/exasol/toolbox/templates/github/workflows/report.yml index 789086295..3625e439c 100644 --- a/exasol/toolbox/templates/github/workflows/report.yml +++ b/exasol/toolbox/templates/github/workflows/report.yml @@ -9,7 +9,6 @@ on: jobs: report: - name: Generate Status Report runs-on: ubuntu-latest env: GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} @@ -33,12 +32,13 @@ jobs: run: | cp coverage-python3.9/.coverage ../ cp lint-python3.9/.lint.txt ../ + cp security-python3.9/.security.json ../ - name: Generate Report run: poetry run nox -s report -- -- --format json | tee metrics.json - name: Upload Artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4.4.0 with: name: metrics.json path: metrics.json diff --git a/test/integration/cli/workflow-install.t b/test/integration/cli/workflow-install.t index e2c55c4e1..7b4ed8b32 100644 --- a/test/integration/cli/workflow-install.t +++ b/test/integration/cli/workflow-install.t @@ -6,10 +6,11 @@ Check if all workflows have been installed $ ls workflows -1 | sort build-and-publish.yml + cd.yml check-release-tag.yml checks.yml - ci-cd.yml ci.yml gh-pages.yml + merge-gate.yml pr-merge.yml report.yml diff --git a/test/integration/cli/workflow-list.t b/test/integration/cli/workflow-list.t index de8d9341c..3b0d2db6d 100644 --- a/test/integration/cli/workflow-list.t +++ b/test/integration/cli/workflow-list.t @@ -2,10 +2,11 @@ List all available workflows $ tbx workflow list | sort build-and-publish + cd check-release-tag checks ci - ci-cd gh-pages + merge-gate pr-merge report diff --git a/test/unit/template_test.py b/test/unit/template_test.py index 74598dff8..bab0d698d 100644 --- a/test/unit/template_test.py +++ b/test/unit/template_test.py @@ -10,11 +10,12 @@ def test_retrieve_workflow_templates(): subpackage = "exasol.toolbox.templates.github.workflows" expected = { "build-and-publish": "build-and-publish.yml", + "cd": "cd.yml", "check-release-tag": "check-release-tag.yml", "checks": "checks.yml", - "ci-cd": "ci-cd.yml", "ci": "ci.yml", "gh-pages": "gh-pages.yml", + "merge-gate": "merge-gate.yml", "pr-merge": "pr-merge.yml", "report": "report.yml", } @@ -45,11 +46,12 @@ def test_retrieve_issue_templates(): "exasol.toolbox.templates.github.workflows", { "build-and-publish": "build-and-publish.yml", + "cd": "cd.yml", "check-release-tag": "check-release-tag.yml", "checks": "checks.yml", - "ci-cd": "ci-cd.yml", "ci": "ci.yml", "gh-pages": "gh-pages.yml", + "merge-gate": "merge-gate.yml", "pr-merge": "pr-merge.yml", "report": "report.yml", }, @@ -95,11 +97,12 @@ def test_retrieve_templates(subpackage, expected): "workflow", [ "build-and-publish.yml", + "cd.yml", "check-release-tag.yml", "checks.yml", - "ci-cd.yml", "ci.yml", "gh-pages.yml", + "merge-gate.yml", "pr-merge.yml", "report.yml", ], From 75c84587069e5042a3e40e787ea7d4d7d673de1a Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Fri, 27 Sep 2024 10:47:13 +0200 Subject: [PATCH 3/5] Prepare release 0.15.0 (#251) --- doc/changes/changelog.md | 2 ++ doc/changes/changes_0.15.0.md | 27 +++++++++++++++++++ doc/changes/unreleased.md | 27 ------------------- .../github/workflows/build-and-publish.yml | 2 +- .../github/workflows/check-release-tag.yml | 2 +- .../templates/github/workflows/checks.yml | 12 ++++----- .../templates/github/workflows/gh-pages.yml | 2 +- .../templates/github/workflows/report.yml | 2 +- exasol/toolbox/version.py | 2 +- pyproject.toml | 2 +- 10 files changed, 41 insertions(+), 39 deletions(-) create mode 100644 doc/changes/changes_0.15.0.md diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index 6e963c6eb..b259b7e3a 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,6 +1,7 @@ # Changelog * [unreleased](unreleased.md) +* [0.15.0](changes_0.15.0.md) * [0.14.0](changes_0.14.0.md) * [0.13.0](changes_0.13.0.md) * [0.12.0](changes_0.12.0.md) @@ -23,6 +24,7 @@ hidden: --- unreleased +changes_0.15.0 changes_0.14.0 changes_0.13.0 changes_0.12.0 diff --git a/doc/changes/changes_0.15.0.md b/doc/changes/changes_0.15.0.md new file mode 100644 index 000000000..2cdac8b03 --- /dev/null +++ b/doc/changes/changes_0.15.0.md @@ -0,0 +1,27 @@ +# 0.15.0 - 2024-09-27 + +## ✨ Added + +* Added cookiecutter-template for creating new project +* [#246](https://github.com/exasol/python-toolbox/issues/246): Added standard branch protection workflow + +## 🐞 Bug Fixes + +* [#181](https://github.com/exasol/python-toolbox/issues/181): Updated metrics related workflows +* [#225](https://github.com/exasol/python-toolbox/issues/225): Fixed broken reference to version file in workflow +* Fixed coverage for empty project + +## βš’οΈ Refactorings + +* [#219](https://github.com/exasol/python-toolbox/issues/219): Updated project template configuration +* Updated actions/checkout to v4 + +## πŸ“š Documentation +* Add Python Styleguide +* Add Issue Guide +* Updated User Documentation + +## πŸ”© Internal + +* Update depdency constraints +* Relock dependencies \ No newline at end of file diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index df880eb7a..79e701b84 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1,28 +1 @@ # Unreleased - -## ✨ Added - -* Added cookiecutter-template for creating new project -* [#246](https://github.com/exasol/python-toolbox/issues/246): Added standard branch protection workflow - -## 🐞 Bug Fixes - -* [#181](https://github.com/exasol/python-toolbox/issues/181): Updated metrics related workflows -* [#225](https://github.com/exasol/python-toolbox/issues/225): Fixed broken reference to version file in workflow -* Fixed coverage for empty project - -## βš’οΈ Refactorings - -* [#219](https://github.com/exasol/python-toolbox/issues/219): Updated project template configuration -* Updated actions/checkout to v4 - -## πŸ“š Documentation -* Add Python Styleguide -* Add Issue Guide -* Updated User Documentation - -## πŸ”© Internal - -* Update depdency constraints -* Relock dependencies - diff --git a/exasol/toolbox/templates/github/workflows/build-and-publish.yml b/exasol/toolbox/templates/github/workflows/build-and-publish.yml index 5898b2943..57b414b42 100644 --- a/exasol/toolbox/templates/github/workflows/build-and-publish.yml +++ b/exasol/toolbox/templates/github/workflows/build-and-publish.yml @@ -17,7 +17,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Build Artifacts run: poetry build diff --git a/exasol/toolbox/templates/github/workflows/check-release-tag.yml b/exasol/toolbox/templates/github/workflows/check-release-tag.yml index 256e58f74..1afdbab3d 100644 --- a/exasol/toolbox/templates/github/workflows/check-release-tag.yml +++ b/exasol/toolbox/templates/github/workflows/check-release-tag.yml @@ -14,7 +14,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Check Tag Version # make sure the pushed/created tag matched the project version diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index f2dad31af..8daeb984e 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -19,7 +19,7 @@ jobs: fetch-depth: 0 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Check Version(s) run: poetry run version-check `poetry run python -c "from noxconfig import PROJECT_CONFIG; print(PROJECT_CONFIG.version_file)"` @@ -40,7 +40,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Build Documentation run: | @@ -60,7 +60,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 with: python-version: ${{ matrix.python-version }} @@ -88,7 +88,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 with: python-version: ${{ matrix.python-version }} @@ -109,7 +109,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 with: python-version: ${{ matrix.python-version }} @@ -140,7 +140,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 with: python-version: ${{ matrix.python-version }} diff --git a/exasol/toolbox/templates/github/workflows/gh-pages.yml b/exasol/toolbox/templates/github/workflows/gh-pages.yml index 23bd7538b..e49184a03 100644 --- a/exasol/toolbox/templates/github/workflows/gh-pages.yml +++ b/exasol/toolbox/templates/github/workflows/gh-pages.yml @@ -12,7 +12,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Build Documentation run: | diff --git a/exasol/toolbox/templates/github/workflows/report.yml b/exasol/toolbox/templates/github/workflows/report.yml index 3625e439c..7ed496294 100644 --- a/exasol/toolbox/templates/github/workflows/report.yml +++ b/exasol/toolbox/templates/github/workflows/report.yml @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - name: Setup Python & Poetry Environment - uses: exasol/python-toolbox/.github/actions/python-environment@0.14.0 + uses: exasol/python-toolbox/.github/actions/python-environment@0.15.0 - name: Download Artifacts uses: actions/download-artifact@v4.1.8 diff --git a/exasol/toolbox/version.py b/exasol/toolbox/version.py index 5f2085194..56fcadef4 100644 --- a/exasol/toolbox/version.py +++ b/exasol/toolbox/version.py @@ -5,6 +5,6 @@ # Do not edit this file manually! # If you need to change the version, do so in the project.toml, e.g. by using `poetry version X.Y.Z`. MAJOR = 0 -MINOR = 14 +MINOR = 15 PATCH = 0 VERSION = f"{MAJOR}.{MINOR}.{PATCH}" diff --git a/pyproject.toml b/pyproject.toml index 831884397..2930a38ce 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "exasol-toolbox" packages = [ { include = "exasol" }, ] -version = "0.14.0" +version = "0.15.0" description = "Your one-stop solution for managing all standard tasks and core workflows of your Python project." authors = [ "Nicola Coretti " From 2ac5e977507b8c897539b35deae15c7a3c000724 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Fri, 27 Sep 2024 10:55:50 +0200 Subject: [PATCH 4/5] Fix CD workflow (#252) --- .github/workflows/cd.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 42277f86f..6b2aaa5ce 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -13,7 +13,6 @@ jobs: cd-job: name: Continuous Delivery - needs: [ ci-job ] uses: ./.github/workflows/build-and-publish.yml secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} From 5cca213d7c2015639ff8c31c65dcc3cc0d0c0a41 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Mon, 21 Oct 2024 14:10:29 +0200 Subject: [PATCH 5/5] Relock dependencies 2024-10-21 (#260) --- doc/changes/unreleased.md | 3 + poetry.lock | 330 ++++++++++++++++++++------------------ 2 files changed, 178 insertions(+), 155 deletions(-) diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 79e701b84..cdab6f907 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1 +1,4 @@ # Unreleased + +## πŸ”© Internal +* Relock dependencies diff --git a/poetry.lock b/poetry.lock index e2e444e98..7c78f94e7 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "alabaster" @@ -27,13 +27,13 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.9\""} [[package]] name = "argcomplete" -version = "3.5.0" +version = "3.5.1" description = "Bash tab completion for argparse" optional = false python-versions = ">=3.8" files = [ - {file = "argcomplete-3.5.0-py3-none-any.whl", hash = "sha256:d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b"}, - {file = "argcomplete-3.5.0.tar.gz", hash = "sha256:4349400469dccfb7950bb60334a680c58d88699bff6159df61251878dc6bf74b"}, + {file = "argcomplete-3.5.1-py3-none-any.whl", hash = "sha256:1a1d148bdaa3e3b93454900163403df41448a248af01b6e849edc5ac08e6c363"}, + {file = "argcomplete-3.5.1.tar.gz", hash = "sha256:eb1ee355aa2557bd3d0145de7b06b2a45b0ce461e1e7813f5d066039ab4177b4"}, ] [package.extras] @@ -70,19 +70,19 @@ tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} [[package]] name = "autoimport" -version = "1.6.0" +version = "1.6.1" description = "Autoimport missing python libraries." optional = false python-versions = ">=3.8" files = [ - {file = "autoimport-1.6.0-py3-none-any.whl", hash = "sha256:917713701035f23fcd6d85ad3d51bab6c09e10802e4296f08ec7d712b1c18242"}, - {file = "autoimport-1.6.0.tar.gz", hash = "sha256:94e7ee73469c4de4a37ce1eb9d59ffced163a0df066cb3b7f4d3c2af52683db4"}, + {file = "autoimport-1.6.1-py3-none-any.whl", hash = "sha256:8f9914576b07d408f2303783fe4fe85b8f9ef48f3771563810f4ea4a42c72af5"}, + {file = "autoimport-1.6.1.tar.gz", hash = "sha256:0c8b2656209a003fc7e2b6805c5e91770651cbe1e60edf1aaa14beae2405ae26"}, ] [package.dependencies] autoflake = ">=1.4" click = ">=8.1.3" -maison = ">=1.4.0" +maison = ">=1.4.0,<2.0.0" pyprojroot = ">=0.2.0" sh = ">=1.14.2" xdg = ">=6.0.0" @@ -220,101 +220,116 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" 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"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -445,13 +460,13 @@ toml = ["tomli"] [[package]] name = "dill" -version = "0.3.8" +version = "0.3.9" description = "serialize all of Python" optional = false python-versions = ">=3.8" files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, + {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, + {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, ] [package.extras] @@ -460,13 +475,13 @@ profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "distlib" -version = "0.3.8" +version = "0.3.9" 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"}, + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, ] [[package]] @@ -805,38 +820,43 @@ files = [ [[package]] name = "mypy" -version = "1.11.2" +version = "1.12.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"}, - {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"}, - {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"}, - {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"}, - {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"}, - {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"}, - {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"}, - {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"}, - {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"}, - {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"}, - {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86"}, - {file = "mypy-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce"}, - {file = "mypy-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1"}, - {file = "mypy-1.11.2-cp38-cp38-win_amd64.whl", hash = "sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"}, - {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"}, - {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"}, - {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"}, - {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"}, - {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"}, + {file = "mypy-1.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3d7d4371829184e22fda4015278fbfdef0327a4b955a483012bd2d423a788801"}, + {file = "mypy-1.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f59f1dfbf497d473201356966e353ef09d4daec48caeacc0254db8ef633a28a5"}, + {file = "mypy-1.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b947097fae68004b8328c55161ac9db7d3566abfef72d9d41b47a021c2fba6b1"}, + {file = "mypy-1.12.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:96af62050971c5241afb4701c15189ea9507db89ad07794a4ee7b4e092dc0627"}, + {file = "mypy-1.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:d90da248f4c2dba6c44ddcfea94bb361e491962f05f41990ff24dbd09969ce20"}, + {file = "mypy-1.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1230048fec1380faf240be6385e709c8570604d2d27ec6ca7e573e3bc09c3735"}, + {file = "mypy-1.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02dcfe270c6ea13338210908f8cadc8d31af0f04cee8ca996438fe6a97b4ec66"}, + {file = "mypy-1.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5a437c9102a6a252d9e3a63edc191a3aed5f2fcb786d614722ee3f4472e33f6"}, + {file = "mypy-1.12.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:186e0c8346efc027ee1f9acf5ca734425fc4f7dc2b60144f0fbe27cc19dc7931"}, + {file = "mypy-1.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:673ba1140a478b50e6d265c03391702fa11a5c5aff3f54d69a62a48da32cb811"}, + {file = "mypy-1.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9fb83a7be97c498176fb7486cafbb81decccaef1ac339d837c377b0ce3743a7f"}, + {file = "mypy-1.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:389e307e333879c571029d5b93932cf838b811d3f5395ed1ad05086b52148fb0"}, + {file = "mypy-1.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94b2048a95a21f7a9ebc9fbd075a4fcd310410d078aa0228dbbad7f71335e042"}, + {file = "mypy-1.12.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ee5932370ccf7ebf83f79d1c157a5929d7ea36313027b0d70a488493dc1b179"}, + {file = "mypy-1.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:19bf51f87a295e7ab2894f1d8167622b063492d754e69c3c2fed6563268cb42a"}, + {file = "mypy-1.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d34167d43613ffb1d6c6cdc0cc043bb106cac0aa5d6a4171f77ab92a3c758bcc"}, + {file = "mypy-1.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:427878aa54f2e2c5d8db31fa9010c599ed9f994b3b49e64ae9cd9990c40bd635"}, + {file = "mypy-1.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fcde63ea2c9f69d6be859a1e6dd35955e87fa81de95bc240143cf00de1f7f81"}, + {file = "mypy-1.12.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d54d840f6c052929f4a3d2aab2066af0f45a020b085fe0e40d4583db52aab4e4"}, + {file = "mypy-1.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:20db6eb1ca3d1de8ece00033b12f793f1ea9da767334b7e8c626a4872090cf02"}, + {file = "mypy-1.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b16fe09f9c741d85a2e3b14a5257a27a4f4886c171d562bc5a5e90d8591906b8"}, + {file = "mypy-1.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0dcc1e843d58f444fce19da4cce5bd35c282d4bde232acdeca8279523087088a"}, + {file = "mypy-1.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e10ba7de5c616e44ad21005fa13450cd0de7caaa303a626147d45307492e4f2d"}, + {file = "mypy-1.12.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0e6fe449223fa59fbee351db32283838a8fee8059e0028e9e6494a03802b4004"}, + {file = "mypy-1.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:dc6e2a2195a290a7fd5bac3e60b586d77fc88e986eba7feced8b778c373f9afe"}, + {file = "mypy-1.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:de5b2a8988b4e1269a98beaf0e7cc71b510d050dce80c343b53b4955fff45f19"}, + {file = "mypy-1.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843826966f1d65925e8b50d2b483065c51fc16dc5d72647e0236aae51dc8d77e"}, + {file = "mypy-1.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9fe20f89da41a95e14c34b1ddb09c80262edcc295ad891f22cc4b60013e8f78d"}, + {file = "mypy-1.12.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8135ffec02121a75f75dc97c81af7c14aa4ae0dda277132cfcd6abcd21551bfd"}, + {file = "mypy-1.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:a7b76fa83260824300cc4834a3ab93180db19876bce59af921467fd03e692810"}, + {file = "mypy-1.12.1-py3-none-any.whl", hash = "sha256:ce561a09e3bb9863ab77edf29ae3a50e65685ad74bba1431278185b7e5d5486e"}, + {file = "mypy-1.12.1.tar.gz", hash = "sha256:f5b3936f7a6d0e8280c9bdef94c7ce4847f5cdfc258fbb2c29a8c1711e8bb96d"}, ] [package.dependencies] @@ -900,18 +920,18 @@ files = [ [[package]] name = "nox" -version = "2024.4.15" +version = "2024.10.9" description = "Flexible test automation." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "nox-2024.4.15-py3-none-any.whl", hash = "sha256:6492236efa15a460ecb98e7b67562a28b70da006ab0be164e8821177577c0565"}, - {file = "nox-2024.4.15.tar.gz", hash = "sha256:ecf6700199cdfa9e5ea0a41ff5e6ef4641d09508eda6edb89d9987864115817f"}, + {file = "nox-2024.10.9-py3-none-any.whl", hash = "sha256:1d36f309a0a2a853e9bccb76bbef6bb118ba92fa92674d15604ca99adeb29eab"}, + {file = "nox-2024.10.9.tar.gz", hash = "sha256:7aa9dc8d1c27e9f45ab046ffd1c3b2c4f7c91755304769df231308849ebded95"}, ] [package.dependencies] -argcomplete = ">=1.9.4,<4.0" -colorlog = ">=2.6.1,<7.0.0" +argcomplete = ">=1.9.4,<4" +colorlog = ">=2.6.1,<7" packaging = ">=20.9" tomli = {version = ">=1", markers = "python_version < \"3.11\""} virtualenv = ">=20.14.1" @@ -1360,19 +1380,19 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "rich" -version = "13.8.1" +version = "13.9.2" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" files = [ - {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"}, - {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"}, + {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, + {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, ] [package.dependencies] markdown-it-py = ">=2.2.0" pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] @@ -1400,13 +1420,13 @@ files = [ [[package]] name = "shibuya" -version = "2024.8.30" +version = "2024.10.15" description = "A clean, responsive, and customizable Sphinx documentation theme with light/dark mode." optional = false python-versions = ">=3.7" files = [ - {file = "shibuya-2024.8.30-py3-none-any.whl", hash = "sha256:c5b865132babcddc4ed600b36a6d05ecc869979f358d9796268927e1eb7ef619"}, - {file = "shibuya-2024.8.30.tar.gz", hash = "sha256:0fdc75643ee40d00fb9a0f1f26ce1085e88df8e48b525a228fe202ffdf31883d"}, + {file = "shibuya-2024.10.15-py3-none-any.whl", hash = "sha256:46d32c4dc7f244bfe130e710f477f4bda64706e5610916089371509992cae5e6"}, + {file = "shibuya-2024.10.15.tar.gz", hash = "sha256:fc057a32a2dcdca9f0f85616f9fff5b3007500bf42ff4eeb1d68fae124b1a51d"}, ] [package.dependencies] @@ -1672,13 +1692,13 @@ files = [ [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] @@ -1739,13 +1759,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.5" +version = "20.27.0" description = "Virtual Python Environment builder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "virtualenv-20.26.5-py3-none-any.whl", hash = "sha256:4f3ac17b81fba3ce3bd6f4ead2749a72da5929c01774948e243db9ba41df4ff6"}, - {file = "virtualenv-20.26.5.tar.gz", hash = "sha256:ce489cac131aa58f4b25e321d6d186171f78e6cb13fafbf32a840cee67733ff4"}, + {file = "virtualenv-20.27.0-py3-none-any.whl", hash = "sha256:44a72c29cceb0ee08f300b314848c86e57bf8d1f13107a5e671fb9274138d655"}, + {file = "virtualenv-20.27.0.tar.gz", hash = "sha256:2ca56a68ed615b8fe4326d11a0dca5dfbe8fd68510fb6c6349163bed3c15f2b2"}, ] [package.dependencies]