diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 12e0b61ff2..8bbc8acc0c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -70,7 +70,14 @@ jobs: task: 'ci-compile' python-version-short: '3.9' python-version: '3.9.14' - + - name: 'Lint Checks (black, flake8, etc.)' + task: 'ci-checks' + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Compile (pip deps, pylint, etc.)' + task: 'ci-compile' + python-version-short: '3.11' + python-version: '3.11.10' env: TASK: '${{ matrix.task }}' COLUMNS: '120' @@ -120,7 +127,7 @@ jobs: python-version: '3.8.14' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 @@ -252,30 +259,31 @@ jobs: # NOTE: To speed the CI run, we split unit and integration tests into multiple jobs where # each job runs subset of tests. include: - - name: 'Unit Tests (chunk 1)' + - name: 'Unit Tests' task: 'ci-unit' - nosetests_node_total: 2 + nosetests_node_total: 1 nosetests_node_index: 0 python-version-short: '3.8' python-version: '3.8.10' - - name: 'Unit Tests (chunk 2)' + - name: 'Unit Tests' task: 'ci-unit' - nosetests_node_total: 2 - nosetests_node_index: 1 - python-version-short: '3.8' - python-version: '3.8.10' - - name: 'Unit Tests (chunk 1)' - task: 'ci-unit' - nosetests_node_total: 2 + nosetests_node_total: 1 nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' - - name: 'Unit Tests (chunk 2)' + - name: 'Unit Tests' task: 'ci-unit' - nosetests_node_total: 2 - nosetests_node_index: 1 - python-version-short: '3.9' - python-version: '3.9.14' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Unit Tests' + task: 'ci-unit' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.11' + python-version: '3.11.10' + # This job is slow so we only run in on a daily basis # - name: 'Micro Benchmarks' # task: 'micro-benchmarks' @@ -284,9 +292,22 @@ jobs: # nosetests_node_ index: 0 services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 + redis-server: + # Docker Hub image + image: redis + # Set health checks to wait until redis has started + options: >- + --name "redis" + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379/tcp + rabbitmq: image: rabbitmq:3.8-management @@ -300,8 +321,6 @@ jobs: env: TASK: '${{ matrix.task }}' PYTHON_VERSION_SHORT: '${{ matrix.python-version-short }}' - NODE_TOTAL: '${{ matrix.nosetests_node_total }}' - NODE_INDEX: '${{ matrix.nosetests_node_index }}' # We need to explicitly specify terminal width otherwise some CLI tests fail on container # environments where small terminal size is used. @@ -404,39 +423,51 @@ jobs: nosetests_node_index: 0 python-version-short: '3.8' python-version: '3.8.10' - - name: 'Integration Tests (chunk 1)' + - name: 'Integration Tests' task: 'ci-integration' - nosetests_node_total: 2 + nosetests_node_total: 1 nosetests_node_index: 0 python-version-short: '3.8' python-version: '3.8.10' - - name: 'Integration Tests (chunk 2)' - task: 'ci-integration' - nosetests_node_total: 2 - nosetests_node_index: 1 - python-version-short: '3.8' - python-version: '3.8.10' - name: 'Pack Tests' task: 'ci-packs-tests' nosetests_node_total: 1 nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' - - name: 'Integration Tests (chunk 1)' + - name: 'Integration Tests' task: 'ci-integration' - nosetests_node_total: 2 + nosetests_node_total: 1 nosetests_node_index: 0 - python-version-short: '3.9' - python-version: '3.9.14' - - name: 'Integration Tests (chunk 2)' + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Pack Tests' + task: 'ci-packs-tests' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Integration Tests' task: 'ci-integration' - nosetests_node_total: 2 - nosetests_node_index: 1 + nosetests_node_total: 1 + nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' + - name: 'Pack Tests' + task: 'ci-packs-tests' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.11' + python-version: '3.11.10' + - name: 'Integration Tests' + task: 'ci-integration' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.11' + python-version: '3.11.10' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 @@ -471,27 +502,22 @@ jobs: #- 4369:4369/tcp # epmd # - # Used for the coordination backend for integration tests - # NOTE: To speed things up, we only start redis for integration tests - # where it's needed - # redis: - # # Docker Hub image - # image: redis - # # Set health checks to wait until redis has started - # options: >- - # --name "redis" - # --health-cmd "redis-cli ping" - # --health-interval 10s - # --health-timeout 5s - # --health-retries 5 - # ports: - # - 6379:6379/tcp + #redis-server: + # # Docker Hub image + # image: redis + # # Set health checks to wait until redis has started + # options: >- + # --name "redis" + # --health-cmd "redis-cli ping" + # --health-interval 10s + # --health-timeout 5s + # --health-retries 5 + # ports: + # - 6379:6379/tcp env: TASK: '${{ matrix.task }}' PYTHON_VERSION_SHORT: '${{ matrix.python-version-short }}' - NODE_TOTAL: '${{ matrix.nosetests_node_total }}' - NODE_INDEX: '${{ matrix.nosetests_node_index }}' # We need to explicitly specify terminal width otherwise some CLI tests fail on container # environments where small terminal size is used. diff --git a/.github/workflows/microbenchmarks.yaml b/.github/workflows/microbenchmarks.yaml index 667a252a94..d4a8b4c713 100644 --- a/.github/workflows/microbenchmarks.yaml +++ b/.github/workflows/microbenchmarks.yaml @@ -46,9 +46,21 @@ jobs: nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' + - name: 'Microbenchmarks' + task: 'micro-benchmarks' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Microbenchmarks' + task: 'micro-benchmarks' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.11' + python-version: '3.11.10' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 diff --git a/.github/workflows/orquesta-integration-tests.yaml b/.github/workflows/orquesta-integration-tests.yaml index fe3e855fc3..045efca886 100644 --- a/.github/workflows/orquesta-integration-tests.yaml +++ b/.github/workflows/orquesta-integration-tests.yaml @@ -69,7 +69,7 @@ jobs: python-version: '3.9.14' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 3f2145828c..c238a080b2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -38,6 +38,13 @@ jobs: - name: 'Test (pants runs: pytest)' python-version-short: '3.9' python-version: '3.9.14' + - name: 'Test (pants runs: pytest)' + python-version-short: '3.10' + python-version: '3.10.15' + - name: 'Test (pants runs: pytest)' + python-version-short: '3.11' + python-version: '3.11.10' + services: mongo: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b746bbedb3..79b092ea38 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -27,6 +27,11 @@ Changed * Fix misc DeprecationWarnings to prepare for python 3.10 support. #6188 (by @nzlosh) * Update st2client deps: editor and prompt-toolkit. #6189 (by @nzlosh) * Updated dependency oslo.config to prepare for python 3.10 support. #6193 (by @nzlosh) +* Support for Python3.8, Python3.9 and Python3.10. Update underlying modules and + remove modules that weren't compatible with newer versions of Python. #6157 + +* Support for Python3.8, Python3.9 and Python3.10. Update underlying modules and + remove modules that weren't compatible with newer versions of Python. #6157 Added ~~~~~ diff --git a/Makefile b/Makefile index 303cc5111f..596a41b66c 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,10 @@ COVERAGE_GLOBS_QUOTED := $(foreach glob,$(COVERAGE_GLOBS),'$(glob)') REQUIREMENTS := test-requirements.txt requirements.txt +# Redis config for testing +ST2_OVERRIDE_COORDINATOR_REDIS_HOST := 127.0.0.1 +ST2_OVERRIDE_COORDINATOR_REDIS_PORT := 6379 + # Pin common pip version here across all the targets # Note! Periodic maintenance pip upgrades are required to be up-to-date with the latest pip security fixes and updates PIP_VERSION ?= 24.2 @@ -71,17 +75,9 @@ endif # loaded resources for every tests) which makes tests hard to troubleshoot on failure due to # pages and pages and pages of noise. # The minus in front of st2.st2common.bootstrap filters out logging statements from that module. -# See https://nose.readthedocs.io/en/latest/usage.html#cmdoption-logging-filter -NOSE_OPTS := --rednose --immediate --with-parallel --parallel-strategy=FILE --nocapture --logging-filter=-st2.st2common.bootstrap - -ifndef NOSE_TIME - NOSE_TIME := yes -endif - -ifeq ($(NOSE_TIME),yes) - NOSE_OPTS := --rednose --immediate --with-parallel --parallel-strategy=FILE --with-timer --nocapture --logging-filter=-st2.st2common.bootstrap - NOSE_WITH_TIMER := 1 -endif +# https://github.com/pytest-dev/pytest-xdist/issues/71 +#PYTEST_OPTS := -n auto --tx 2*popen//execmodel=eventlet +PYTEST_OPTS := -s --log-level=error ifndef PIP_OPTIONS PIP_OPTIONS := @@ -90,8 +86,8 @@ endif # NOTE: We only run coverage on master and version branches and not on pull requests since # it has a big performance overhead and is very slow. ifeq ($(ENABLE_COVERAGE),yes) - NOSE_COVERAGE_FLAGS := --with-coverage --cover-branches --cover-erase - NOSE_COVERAGE_PACKAGES := --cover-package=$(COMPONENTS_TEST_COMMA) + PYTEST_COVERAGE_FLAGS := --with-coverage --cover-branches --cover-erase + PYTEST_COVERAGE_PACKAGES := --cover-package=$(COMPONENTS_TEST_COMMA) else INCLUDE_TESTS_IN_COVERAGE := endif @@ -99,8 +95,8 @@ endif # If we aren't running test coverage, don't try to include tests in coverage # results ifdef INCLUDE_TESTS_IN_COVERAGE - NOSE_COVERAGE_FLAGS += --cover-tests - NOSE_COVERAGE_PACKAGES := $(NOSE_COVERAGE_PACKAGES),$(COMPONENTS_TEST_MODULES_COMMA) + PYTEST_COVERAGE_FLAGS += --cover-tests + PYTEST_COVERAGE_PACKAGES := $(PYTEST_COVERAGE_PACKAGES),$(COMPONENTS_TEST_MODULES_COMMA) endif .PHONY: all @@ -145,13 +141,13 @@ play: @echo @echo GITHUB_EVENT_NAME=$(GITHUB_EVENT_NAME) @echo - @echo NOSE_OPTS=$(NOSE_OPTS) + @echo PYTEST_OPTS=$(PYTEST_OPTS) @echo @echo ENABLE_COVERAGE=$(ENABLE_COVERAGE) @echo - @echo NOSE_COVERAGE_FLAGS=$(NOSE_COVERAGE_FLAGS) + @echo PYTEST_COVERAGE_FLAGS=$(PYTEST_COVERAGE_FLAGS) @echo - @echo NOSE_COVERAGE_PACKAGES=$(NOSE_COVERAGE_PACKAGES) + @echo PYTEST_COVERAGE_PACKAGES=$(PYTEST_COVERAGE_PACKAGES) @echo @echo INCLUDE_TESTS_IN_COVERAGE=$(INCLUDE_TESTS_IN_COVERAGE) @echo @@ -486,7 +482,7 @@ flake8: requirements .flake8 . $(VIRTUALENV_DIR)/bin/activate; flake8 --config ./lint-configs/python/.flake8 pylint_plugins/ # Make task which verifies st2client README will parse pypi checks -. PHONY: .st2client-pypi-check +.PHONY: .st2client-pypi-check .st2client-pypi-check: @echo @echo "==================== st2client pypi check ====================" @@ -817,15 +813,16 @@ unit-tests: requirements .unit-tests @echo "==================== tests ====================" @echo @echo "----- Dropping st2-test db -----" - @mongo st2-test --eval "db.dropDatabase();" + @mongosh st2-test --eval "db.dropDatabase();" @failed=0; \ for component in $(COMPONENTS_TEST); do\ echo "==========================================================="; \ echo "Running tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ - nosetests $(NOSE_OPTS) -s -v \ - $$component/tests/unit || ((failed+=1)); \ + ST2_OVERRIDE_COORDINATOR_REDIS_HOST=$(ST2_OVERRIDE_COORDINATOR_REDIS_HOST) \ + ST2_OVERRIDE_COORDINATOR_REDIS_PORT=$(ST2_OVERRIDE_COORDINATOR_REDIS_PORT) \ + pytest -rx --verbose $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ echo "==========================================================="; \ @@ -834,24 +831,25 @@ unit-tests: requirements .unit-tests .PHONY: .run-unit-tests-coverage ifdef INCLUDE_TESTS_IN_COVERAGE -.run-unit-tests-coverage: NOSE_COVERAGE_PACKAGES := $(NOSE_COVERAGE_PACKAGES),tests.unit +.run-unit-tests-coverage: PYTEST_COVERAGE_PACKAGES := $(PYTEST_COVERAGE_PACKAGES),tests.unit endif .run-unit-tests-coverage: @echo @echo "==================== unit tests with coverage ====================" @echo @echo "----- Dropping st2-test db -----" - @mongo st2-test --eval "db.dropDatabase();" + @mongosh st2-test --eval "db.dropDatabase();" failed=0; \ for component in $(COMPONENTS_TEST); do\ echo "==========================================================="; \ echo "Running tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ + ST2_OVERRIDE_COORDINATOR_REDIS_HOST=$(ST2_OVERRIDE_COORDINATOR_REDIS_HOST) \ + ST2_OVERRIDE_COORDINATOR_REDIS_PORT=$(ST2_OVERRIDE_COORDINATOR_REDIS_PORT) \ COVERAGE_FILE=.coverage.unit.$$(echo $$component | tr '/' '.') \ - nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \ - $(NOSE_COVERAGE_PACKAGES) \ - $$component/tests/unit || ((failed+=1)); \ + pytest --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ + $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ echo "==========================================================="; \ @@ -860,7 +858,7 @@ endif .PHONY: .combine-unit-tests-coverage .combine-unit-tests-coverage: .run-unit-tests-coverage - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.unit \ coverage combine .coverage.unit.*; \ fi @@ -879,14 +877,14 @@ endif .PHONY: .report-unit-tests-coverage .report-unit-tests-coverage: .coverage.unit - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.unit \ coverage report; \ fi .PHONY: .unit-tests-coverage-html .unit-tests-coverage-html: .coverage.unit - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.unit \ coverage html; \ fi @@ -900,15 +898,15 @@ itests: requirements .itests @echo "==================== integration tests ====================" @echo @echo "----- Dropping st2-test db -----" - @mongo st2-test --eval "db.dropDatabase();" + @mongosh st2-test --eval "db.dropDatabase();" @failed=0; \ for component in $(COMPONENTS_TEST); do\ echo "==========================================================="; \ echo "Running integration tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ - nosetests $(NOSE_OPTS) -s -v \ - $$component/tests/integration || ((failed+=1)); \ + pytest --capture=no --verbose $(PYTEST_OPTS) \ + $$component/tests/integration || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running integration tests in" $$component; \ echo "==========================================================="; \ @@ -917,14 +915,14 @@ itests: requirements .itests .PHONY: .run-integration-tests-coverage ifdef INCLUDE_TESTS_IN_COVERAGE -.run-integration-tests-coverage: NOSE_COVERAGE_PACKAGES := $(NOSE_COVERAGE_PACKAGES),tests.integration +.run-integration-tests-coverage: PYTEST_COVERAGE_PACKAGES := $(PYTEST_COVERAGE_PACKAGES),tests.integration endif .run-integration-tests-coverage: @echo @echo "================ integration tests with coverage ================" @echo @echo "----- Dropping st2-test db -----" - @mongo st2-test --eval "db.dropDatabase();" + @mongosh st2-test --eval "db.dropDatabase();" @failed=0; \ for component in $(COMPONENTS_TEST); do\ echo "==========================================================="; \ @@ -932,9 +930,8 @@ endif echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ COVERAGE_FILE=.coverage.integration.$$(echo $$component | tr '/' '.') \ - nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \ - $(NOSE_COVERAGE_PACKAGES) \ - $$component/tests/integration || ((failed+=1)); \ + pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ + $$component/tests/integration || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done integration running tests in" $$component; \ echo "==========================================================="; \ @@ -948,12 +945,12 @@ endif # @echo # . $(VIRTUALENV_DIR)/bin/activate; \ @# COVERAGE_FILE=.coverage.integration.orquesta \ -@# nosetests $(NOSE_OPTS) -s -v \ -@# $(NOSE_COVERAGE_FLAGS) $(NOSE_COVERAGE_PACKAGES) st2tests/integration/orquesta || exit 1; \ +@# nosetests $(PYTEST_OPTS) -s -v \ +@# $(PYTEST_COVERAGE_FLAGS) $(PYTEST_COVERAGE_PACKAGES) st2tests/integration/orquesta || exit 1; \ .PHONY: .combine-integration-tests-coverage .combine-integration-tests-coverage: .run-integration-tests-coverage - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.integration \ coverage combine .coverage.integration.*; \ fi @@ -972,14 +969,14 @@ endif .PHONY: .report-integration-tests-coverage .report-integration-tests-coverage: .coverage.integration - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.integration \ coverage report; \ fi .PHONY: .integration-tests-coverage-html .integration-tests-coverage-html: .coverage.integration - @if [ -n "$(NOSE_COVERAGE_FLAGS)" ]; then \ + @if [ -n "$(PYTEST_COVERAGE_FLAGS)" ]; then \ . $(VIRTUALENV_DIR)/bin/activate; COVERAGE_FILE=.coverage.integration \ coverage html; \ fi @@ -1032,7 +1029,7 @@ orquesta-itests: requirements .orquesta-itests @echo "==================== Orquesta integration tests ====================" @echo "The tests assume st2 is running on 127.0.0.1." @echo - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v st2tests/integration/orquesta || exit 1; + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) st2tests/integration/orquesta || exit 1; .PHONY: .orquesta-itests-coverage-html .orquesta-itests-coverage-html: @@ -1040,8 +1037,7 @@ orquesta-itests: requirements .orquesta-itests @echo "==================== Orquesta integration tests with coverage (HTML reports) ====================" @echo "The tests assume st2 is running on 127.0.0.1." @echo - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v --with-coverage \ - --cover-inclusive --cover-html st2tests/integration/orquesta || exit 1; + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) --cov=orquesta --cov-branch st2tests/integration/orquesta || exit 1; .PHONY: packs-tests packs-tests: requirements .packs-tests @@ -1065,13 +1061,13 @@ runners-tests: requirements .runners-tests @echo "==================== runners-tests ====================" @echo @echo "----- Dropping st2-test db -----" - @mongo st2-test --eval "db.dropDatabase();" + @mongosh st2-test --eval "db.dropDatabase();" @failed=0; \ for component in $(COMPONENTS_RUNNERS); do\ echo "==========================================================="; \ echo "Running tests in" $$component; \ echo "==========================================================="; \ - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v $$component/tests/unit || ((failed+=1)); \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) $$component/tests/unit || exit 1; \ done; \ if [ $$failed -gt 0 ]; then exit 1; fi @@ -1089,7 +1085,7 @@ runners-itests: requirements .runners-itests echo "==========================================================="; \ echo "Running integration tests in" $$component; \ echo "==========================================================="; \ - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v $$component/tests/integration || ((failed+=1)); \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) $$component/tests/integration || exit 1; \ done; \ if [ $$failed -gt 0 ]; then exit 1; fi @@ -1104,8 +1100,8 @@ runners-itests: requirements .runners-itests echo "==========================================================="; \ echo "Running integration tests in" $$component; \ echo "==========================================================="; \ - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v --with-coverage \ - --cover-inclusive --cover-html $$component/tests/integration || ((failed+=1)); \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-report=html \ + $$component/tests/integration || exit 1; \ done; \ if [ $$failed -gt 0 ]; then exit 1; fi diff --git a/README.md b/README.md index 2136e6a45f..209b27e8da 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,15 @@ For information on how to contribute, our style guide, coding conventions and mo please visit the [Development section](https://docs.stackstorm.com/development/index.html) in our documentation. -## Security +### requirements and lockfiles +often times in merges of upstream master you will see conflicts with requirements files and lockfiles. +do not attempt to fix those conflicts instead: +pants users behind a proxy must set `export SSL_CERT_FILE=[pathtocert]` + +1. `make requirements` to generate requirements.txt from fixed-requirements.txt +2. `pants --ca-certs-path [path] generate-lockfiles --resolve=st2` to generate lockfiles +## Security If you believe you found a security issue or a vulnerability, please send a description of it to our private mailing list at info [at] stackstorm [dot] com. diff --git a/contrib/examples/lib/BUILD b/contrib/examples/actions/lib/BUILD similarity index 100% rename from contrib/examples/lib/BUILD rename to contrib/examples/actions/lib/BUILD diff --git a/contrib/examples/lib/__init__.py b/contrib/examples/actions/lib/__init__.py similarity index 100% rename from contrib/examples/lib/__init__.py rename to contrib/examples/actions/lib/__init__.py diff --git a/contrib/examples/lib/environ.py b/contrib/examples/actions/lib/environ.py similarity index 100% rename from contrib/examples/lib/environ.py rename to contrib/examples/actions/lib/environ.py diff --git a/contrib/examples/actions/ubuntu_pkg_info/ubuntu_pkg_info.py b/contrib/examples/actions/ubuntu_pkg_info/ubuntu_pkg_info.py index eb64726a43..2e63504d32 100755 --- a/contrib/examples/actions/ubuntu_pkg_info/ubuntu_pkg_info.py +++ b/contrib/examples/actions/ubuntu_pkg_info/ubuntu_pkg_info.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# Copyright 2020 The StackStorm Authors. +# Copyright 2020-2024 The StackStorm Authors. # Copyright 2019 Extreme Networks, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py b/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py index 5e8af5e6e5..ac19744db2 100644 --- a/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py +++ b/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py @@ -1,4 +1,4 @@ -# Copyright 2020 The StackStorm Authors. +# Copyright 2020-2024 The StackStorm Authors. # Copyright 2019 Extreme Networks, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/contrib/runners/action_chain_runner/tests/integration/BUILD b/contrib/runners/action_chain_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/action_chain_runner/tests/integration/BUILD +++ b/contrib/runners/action_chain_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/action_chain_runner/tests/integration/test_action_chain_runner.py b/contrib/runners/action_chain_runner/tests/integration/test_action_chain_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/action_chain_runner/tests/integration/test_action_chain_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/announcement_runner/tests/integration/BUILD b/contrib/runners/announcement_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/announcement_runner/tests/integration/BUILD +++ b/contrib/runners/announcement_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/announcement_runner/tests/integration/test_announcement_runner.py b/contrib/runners/announcement_runner/tests/integration/test_announcement_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/announcement_runner/tests/integration/test_announcement_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/http_runner/tests/integration/BUILD b/contrib/runners/http_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/http_runner/tests/integration/BUILD +++ b/contrib/runners/http_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/http_runner/tests/integration/test_http_runner.py b/contrib/runners/http_runner/tests/integration/test_http_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/http_runner/tests/integration/test_http_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/inquirer_runner/tests/integration/BUILD b/contrib/runners/inquirer_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/inquirer_runner/tests/integration/BUILD +++ b/contrib/runners/inquirer_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/inquirer_runner/tests/integration/test_inquirer_runner.py b/contrib/runners/inquirer_runner/tests/integration/test_inquirer_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/inquirer_runner/tests/integration/test_inquirer_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/local_runner/tests/unit/BUILD b/contrib/runners/local_runner/tests/unit/BUILD index 1d6640bcb6..9a24dba70a 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD +++ b/contrib/runners/local_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["unit"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/local_runner/tests/unit/test_local_runner.py b/contrib/runners/local_runner/tests/unit/test_local_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/noop_runner/tests/integration/BUILD b/contrib/runners/noop_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/noop_runner/tests/integration/BUILD +++ b/contrib/runners/noop_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/noop_runner/tests/integration/test_noop_runner.py b/contrib/runners/noop_runner/tests/integration/test_noop_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/noop_runner/tests/integration/test_noop_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/orquesta_runner/in-requirements.txt b/contrib/runners/orquesta_runner/in-requirements.txt index 8bf195dae4..c09e77fd56 100644 --- a/contrib/runners/orquesta_runner/in-requirements.txt +++ b/contrib/runners/orquesta_runner/in-requirements.txt @@ -1 +1,2 @@ -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +#orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 diff --git a/contrib/runners/orquesta_runner/requirements.txt b/contrib/runners/orquesta_runner/requirements.txt index cf26d58430..bc32b16e29 100644 --- a/contrib/runners/orquesta_runner/requirements.txt +++ b/contrib/runners/orquesta_runner/requirements.txt @@ -5,4 +5,4 @@ # If you want to update depdencies for a single component, modify the # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 diff --git a/contrib/runners/python_runner/tests/integration/test_python_action_process_wrapper.py b/contrib/runners/python_runner/tests/integration/test_python_action_process_wrapper.py index c1aa148433..7c2baa700a 100644 --- a/contrib/runners/python_runner/tests/integration/test_python_action_process_wrapper.py +++ b/contrib/runners/python_runner/tests/integration/test_python_action_process_wrapper.py @@ -37,6 +37,7 @@ import json import unittest +import pytest from shutil import which as shutil_which from st2common.util.shell import run_command @@ -65,7 +66,7 @@ TIME_BINARY_AVAILABLE = TIME_BINARY_PATH is not None -@unittest.skipIf(not TIME_BINARY_PATH, "time binary not available") +@pytest.mark.skipif(not TIME_BINARY_PATH, reason="time binary not available") class PythonRunnerActionWrapperProcessTestCase(unittest.TestCase): def test_process_wrapper_exits_in_reasonable_timeframe(self): # 1. Verify wrapper script path is correct and file exists diff --git a/contrib/runners/remote_runner/tests/integration/BUILD b/contrib/runners/remote_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/remote_runner/tests/integration/BUILD +++ b/contrib/runners/remote_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/remote_runner/tests/integration/test_remote_runner.py b/contrib/runners/remote_runner/tests/integration/test_remote_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/remote_runner/tests/integration/test_remote_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/remote_runner/tests/unit/BUILD b/contrib/runners/remote_runner/tests/unit/BUILD index 1d6640bcb6..9a24dba70a 100644 --- a/contrib/runners/remote_runner/tests/unit/BUILD +++ b/contrib/runners/remote_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["unit"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/remote_runner/tests/unit/test_remote_runner.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/remote_runner/tests/unit/test_remote_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/contrib/runners/winrm_runner/tests/integration/BUILD b/contrib/runners/winrm_runner/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/contrib/runners/winrm_runner/tests/integration/BUILD +++ b/contrib/runners/winrm_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/winrm_runner/tests/integration/test_winrm_runner.py b/contrib/runners/winrm_runner/tests/integration/test_winrm_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/winrm_runner/tests/integration/test_winrm_runner.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 58fcb69b90..8972b89c00 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -1,11 +1,19 @@ -# Packages versions fixed for the whole st2 stack +# Package versions fixed (pinned) for the whole st2 project. +# Important: Keep version constraints synchronised with the below repositories: +# - https://github.com/StackStorm/st2docs +# - https://github.com/StackStorm/orquesta +# - https://github.com/StackStorm/st2-auth-ldap +# - https://github.com/StackStorm/st2-rbac-backend +# ---------------------------------------------------------------------- # Note: amqp is used by kombu amqp==5.2.0 apscheduler==3.10.4 -chardet==3.0.4 +# 202404: Use latest chardet for tox / and cross project dependency Orquesta. +# 202405: chardet is a transtive dependency. Just accept whatever pip picks. +#chardet==5.2.0 cffi==1.17.1 # NOTE: 2.0 version breaks pymongo work with hosts -dnspython==1.16.0 +dnspython==2.6.1 cryptography==43.0.1 eventlet==0.36.1 flex==6.14.1 @@ -14,7 +22,7 @@ flex==6.14.1 gitpython==3.1.43 # Needed by gitpython, old versions used to bundle it gitdb==4.0.11 -# Note: greenlet is used by eventlet +# Note: greenlet is used by eventlet (202403: 3.0.3 support for py3.10) greenlet==3.0.3 gunicorn==23.0.0 jsonpath-rw==1.4.0 @@ -22,11 +30,16 @@ jsonschema==3.2.0 kombu==5.4.0 lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode -# >=0.23 was from jinja2 -MarkupSafe==2.0.1 +# 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support +jinja2==3.1.4 +# 202405: MarkupSafe is a transitive dependency. Just accept whatever pip picks. +#MarkupSafe==2.1.5 +# mongoengine 0.24.0 has breaking changes to support pymongo 4.0 mongoengine==0.23.1 # required by orquesta (networkx<2.6 for py3.6, networkx<3 for py3.8) -networkx==2.8.8 +# 202404: networkx >3.2 doesn't support py3.8 +#networkx<3.2 +networkx==3.1 # networkx dropped its dep on decorator in version 2.6, so the old pin is unneeded. # now jsonpath-rw is the only thing that depends on decorator (a transitive dep) decorator==5.1.1 @@ -39,6 +52,7 @@ passlib==1.7.4 # 202403: bump to 3.0.43 for py3.10 support prompt-toolkit==3.0.47 pyinotify==0.9.6 ; platform_system=="Linux" +# pymongo 3.13 has backports of APIs from pymongo 4 to help w/ migration pymongo==3.12.3 pyparsing==3.1.4 zstandard==0.23.0 @@ -57,8 +71,9 @@ requests==2.32.3 retrying==1.3.4 routes==2.5.1 semver==3.0.2 +# 202404: Bumped for compatibility prance 23.6.21.0 requires six~=1.15. six==1.16.0 -argparse==1.4.0 +# 202403: Bumped to latest for py3.10 support argcomplete==3.4.0 prettytable==3.10.2 importlib-metadata==7.1.0 @@ -76,10 +91,7 @@ webob==1.8.8 zake==0.2.2 # test requirements below bcrypt==4.2.0 -jinja2==3.1.4 mock==5.1.0 -nose-timer==1.0.1 -nose-parallel==0.4.0 psutil==6.0.0 python-dateutil==2.9.0.post0 python-statsd==2.1.0 diff --git a/lockfiles/bandit.lock b/lockfiles/bandit.lock index 956a06fda7..13c420c659 100644 --- a/lockfiles/bandit.lock +++ b/lockfiles/bandit.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "GitPython==3.1.18", @@ -119,6 +119,11 @@ "hash": "04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5", "url": "https://files.pythonhosted.org/packages/40/da/a175a35cf5583580e90ac3e2a3dbca90e43011593ae62ce63f79d7b28d92/PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290", + "url": "https://files.pythonhosted.org/packages/07/91/45dfd0ef821a7f41d9d0136ea3608bb5b1653e42fd56a7970532cb5c003f/PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6", @@ -129,6 +134,11 @@ "hash": "c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859", "url": "https://files.pythonhosted.org/packages/0e/88/21b2f16cb2123c1e9375f2c93486e35fdc86e63f02e274f0e99c589ef153/PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515", + "url": "https://files.pythonhosted.org/packages/29/61/bf33c6c85c55bc45a29eee3195848ff2d518d84735eb0e2d8cb42e0d285e/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0", @@ -139,6 +149,11 @@ "hash": "9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8", "url": "https://files.pythonhosted.org/packages/57/c5/5d09b66b41d549914802f482a2118d925d876dc2a35b2d127694c1345c34/PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f", + "url": "https://files.pythonhosted.org/packages/5b/07/10033a403b23405a8fc48975444463d3d10a5c2736b7eb2550b07b367429/PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c", @@ -149,11 +164,21 @@ "hash": "1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595", "url": "https://files.pythonhosted.org/packages/7f/5d/2779ea035ba1e533c32ed4a249b4e0448f583ba10830b21a3cddafe11a4e/PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a", + "url": "https://files.pythonhosted.org/packages/96/06/4beb652c0fe16834032e54f0956443d4cc797fe645527acee59e7deaa0a2/PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6", "url": "https://files.pythonhosted.org/packages/ac/6c/967d91a8edf98d2b2b01d149bd9e51b8f9fb527c98d80ebb60c6b21d60c4/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d", + "url": "https://files.pythonhosted.org/packages/ba/91/090818dfa62e85181f3ae23dd1e8b7ea7f09684864a900cab72d29c57346/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696", @@ -173,6 +198,11 @@ "algorithm": "sha256", "hash": "a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5", "url": "https://files.pythonhosted.org/packages/e1/a1/27bfac14b90adaaccf8c8289f441e9f76d94795ec1e7a8f134d9f2cb3d0b/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938", + "url": "https://files.pythonhosted.org/packages/f1/26/55e4f21db1f72eaef092015d9017c11510e7e6301c62a6cfee91295d13c6/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "pyyaml", @@ -184,13 +214,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" + "hash": "c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32", + "url": "https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", - "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" + "hash": "6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987", + "url": "https://files.pythonhosted.org/packages/d6/4f/b10f707e14ef7de524fe1f8988a294fb262a29c9b5b12275c7e188864aed/setuptools-69.5.1.tar.gz" } ], "project_name": "setuptools", @@ -214,26 +244,25 @@ "packaging>=23.2; extra == \"testing-integration\"", "pip>=19.1; extra == \"testing\"", "pygments-github-lexers==0.0.5; extra == \"docs\"", + "pytest!=8.1.1,>=6; extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-enabler; extra == \"testing-integration\"", "pytest-enabler>=2.2; extra == \"testing\"", "pytest-home>=0.5; extra == \"testing\"", - "pytest-mypy>=0.9.1; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", "pytest-perf; sys_platform != \"cygwin\" and extra == \"testing\"", "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"testing\"", "pytest-timeout; extra == \"testing\"", "pytest-xdist; extra == \"testing-integration\"", "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", - "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-favicon; extra == \"docs\"", "sphinx-inline-tabs; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", "sphinx-notfound-page<2,>=1; extra == \"docs\"", "sphinx-reredirects; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", @@ -245,7 +274,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.2.0" + "version": "69.5.1" }, { "artifacts": [ @@ -317,7 +346,7 @@ "setuptools" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/black.lock b/lockfiles/black.lock index 79c5b47aac..018271202b 100644 --- a/lockfiles/black.lock +++ b/lockfiles/black.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "black==22.3.0", @@ -40,11 +40,21 @@ "hash": "637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464", "url": "https://files.pythonhosted.org/packages/09/c0/e8e3695632ed25381cc71af6bae26187beb32817c3b78e7b486cb9a95c97/black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb", + "url": "https://files.pythonhosted.org/packages/31/1a/0233cdbfbcfbc0864d815cf28ca40cdb65acf3601f3bf943d6d04e867858/black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176", "url": "https://files.pythonhosted.org/packages/33/bb/8f662d8807eb66ceac021bdf777185c65b843bf1b75af8412e16af4df2ac/black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a", + "url": "https://files.pythonhosted.org/packages/4f/98/8f775455f99a8e4b16d8d26efdc8292f99b1c0ebfe04357d800ff379c0ae/black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21", @@ -55,6 +65,11 @@ "hash": "ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad", "url": "https://files.pythonhosted.org/packages/56/74/c27c496223168af625d6bba8a14bc581e7742bf7248504a4b5743c374767/black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968", + "url": "https://files.pythonhosted.org/packages/93/98/6f7c2f7f81d87b5771febcee933ba58640fca29a767262763bc353074f63/black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0", @@ -70,6 +85,11 @@ "hash": "e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163", "url": "https://files.pythonhosted.org/packages/a9/64/4682e5c7ca539bef71cb9be592f649ff5f1e1134a8e72e2bff8632ade99d/black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09", + "url": "https://files.pythonhosted.org/packages/e1/1b/3ba8128f0b6e86d87343a1275e17baeeeee1a89e02d2a0d275f472be3310/black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a", @@ -161,13 +181,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", - "url": "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl" + "hash": "17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1", + "url": "https://files.pythonhosted.org/packages/b0/15/1691fa5aaddc0c4ea4901c26f6137c29d5f6673596fe960a0340e8c308e1/platformdirs-4.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768", - "url": "https://files.pythonhosted.org/packages/96/dc/c1d911bf5bb0fdc58cc05010e9f3efe3b67970cef779ba7fbc3183b987a8/platformdirs-4.2.0.tar.gz" + "hash": "031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf", + "url": "https://files.pythonhosted.org/packages/b2/e4/2856bf61e54d7e3a03dd00d0c1b5fa86e6081e8f262eb91befbe64d20937/platformdirs-4.2.1.tar.gz" } ], "project_name": "platformdirs", @@ -175,6 +195,7 @@ "appdirs==1.4.4; extra == \"test\"", "covdefaults>=2.3; extra == \"test\"", "furo>=2023.9.10; extra == \"docs\"", + "mypy>=1.8; extra == \"type\"", "proselint>=0.13; extra == \"docs\"", "pytest-cov>=4.1; extra == \"test\"", "pytest-mock>=3.12; extra == \"test\"", @@ -183,7 +204,7 @@ "sphinx>=7.2.6; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.2.0" + "version": "4.2.1" }, { "artifacts": [ @@ -207,19 +228,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", - "url": "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl" + "hash": "c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a", + "url": "https://files.pythonhosted.org/packages/01/f3/936e209267d6ef7510322191003885de524fc48d1b43269810cd589ceaf5/typing_extensions-4.11.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb", - "url": "https://files.pythonhosted.org/packages/16/3a/0d26ce356c7465a19c9ea8814b960f8a36c3b0d07c323176620b7b483e44/typing_extensions-4.10.0.tar.gz" + "hash": "83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0", + "url": "https://files.pythonhosted.org/packages/f6/f3/b827b3ab53b4e3d8513914586dcca61c355fa2ce8252dea4da56e67bf8f2/typing_extensions-4.11.0.tar.gz" } ], "project_name": "typing-extensions", "requires_dists": [], "requires_python": ">=3.8", - "version": "4.10.0" + "version": "4.11.0" } ], "platform_tag": null @@ -234,7 +255,7 @@ "typing-extensions>=3.10.0.0; python_version < \"3.10\"" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/flake8.lock b/lockfiles/flake8.lock index 325effdb9c..7fa44324e7 100644 --- a/lockfiles/flake8.lock +++ b/lockfiles/flake8.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "flake8==4.0.1", @@ -154,13 +154,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" + "hash": "c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32", + "url": "https://files.pythonhosted.org/packages/f7/29/13965af254e3373bceae8fb9a0e6ea0d0e571171b80d6646932131d6439b/setuptools-69.5.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", - "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" + "hash": "6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987", + "url": "https://files.pythonhosted.org/packages/d6/4f/b10f707e14ef7de524fe1f8988a294fb262a29c9b5b12275c7e188864aed/setuptools-69.5.1.tar.gz" } ], "project_name": "setuptools", @@ -184,26 +184,25 @@ "packaging>=23.2; extra == \"testing-integration\"", "pip>=19.1; extra == \"testing\"", "pygments-github-lexers==0.0.5; extra == \"docs\"", + "pytest!=8.1.1,>=6; extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-enabler; extra == \"testing-integration\"", "pytest-enabler>=2.2; extra == \"testing\"", "pytest-home>=0.5; extra == \"testing\"", - "pytest-mypy>=0.9.1; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", "pytest-perf; sys_platform != \"cygwin\" and extra == \"testing\"", "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"testing\"", "pytest-timeout; extra == \"testing\"", "pytest-xdist; extra == \"testing-integration\"", "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", - "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-favicon; extra == \"docs\"", "sphinx-inline-tabs; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", "sphinx-notfound-page<2,>=1; extra == \"docs\"", "sphinx-reredirects; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", @@ -215,7 +214,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.2.0" + "version": "69.5.1" }, { "artifacts": [ @@ -251,7 +250,7 @@ "st2flake8==0.1.0" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/pylint.lock b/lockfiles/pylint.lock index e68341939e..d6b9387f31 100644 --- a/lockfiles/pylint.lock +++ b/lockfiles/pylint.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "astroid", @@ -303,7 +303,7 @@ "setuptools" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/pytest.lock b/lockfiles/pytest.lock index 382ddf8b33..d8cc4cf2cb 100644 --- a/lockfiles/pytest.lock +++ b/lockfiles/pytest.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "pygments", @@ -77,93 +77,133 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677", - "url": "https://files.pythonhosted.org/packages/99/15/dbcb5d0a22bf5357cf456dfd16f9ceb89c54544d6201d53bc77c75077a8e/coverage-7.4.4-pp38.pp39.pp310-none-any.whl" + "hash": "2b57780b51084d5223eee7b59f0d4911c31c16ee5aa12737c7a02455829ff067", + "url": "https://files.pythonhosted.org/packages/34/81/f00ce7ef95479085feb01fa9e352b2b5b2b9d24767acf2266d6267a6dba9/coverage-7.5.0-pp38.pp39.pp310-none-any.whl" }, { "algorithm": "sha256", - "hash": "cf271892d13e43bc2b51e6908ec9a6a5094a4df1d8af0bfc360088ee6c684409", - "url": "https://files.pythonhosted.org/packages/0a/4f/0e04c34df68716b90bedf8b791c684d6a54cab92fbc9ca2c236a8ca268e6/coverage-7.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "db2de4e546f0ec4b2787d625e0b16b78e99c3e21bc1722b4977c0dddf11ca84e", + "url": "https://files.pythonhosted.org/packages/12/7f/9b787ffc31bc39aa9e98c7005b698e7c6539bd222043e4a9c83b83c782a2/coverage-7.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d", - "url": "https://files.pythonhosted.org/packages/1a/15/ae47f23bfd557364e731ad2ed182331ba72e8c063b806ba317cd327e73cc/coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "2055c4fb9a6ff624253d432aa471a37202cd8f458c033d6d989be4499aed037b", + "url": "https://files.pythonhosted.org/packages/16/94/1e348cd4445404c588ec8199adde0b45727b1d7989d8fb097d39c93e3da5/coverage-7.5.0-cp39-cp39-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1", - "url": "https://files.pythonhosted.org/packages/23/7c/9863790fb889101c35018ecb9e241cb4f900a77ef100491bb043bfa5976c/coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl" + "hash": "075299460948cd12722a970c7eae43d25d37989da682997687b34ae6b87c0ef0", + "url": "https://files.pythonhosted.org/packages/28/17/6fe1695d2a706e586b87a407598f4ed82dd218b2b43cdc790f695f259849/coverage-7.5.0-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a", - "url": "https://files.pythonhosted.org/packages/32/d4/60b1071c35bd3828590483ae0f8531f07b77d737e2c81dc51887c03bf890/coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "39793731182c4be939b4be0cdecde074b833f6171313cf53481f869937129ed3", + "url": "https://files.pythonhosted.org/packages/2c/0e/23a388f3ce16c5ea01a454fef6a9039115abd40b748027d4fef18b3628a7/coverage-7.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade", - "url": "https://files.pythonhosted.org/packages/4d/39/0cfdb5a4bde5843eead02c0f8bc43f8ab3129408cbec53f9ad4f11fc27cf/coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "e7c211f25777746d468d76f11719e64acb40eed410d81c26cefac641975beb88", + "url": "https://files.pythonhosted.org/packages/2f/75/2034dcd84ab85dcfc7dafa1ef2ed2ae4deedca6ef0a60cf0fb1a1fe62fe3/coverage-7.5.0-cp38-cp38-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ff7687ca3d7028d8a5f0ebae95a6e4827c5616b31a4ee1192bdfde697db110d4", - "url": "https://files.pythonhosted.org/packages/5b/ec/9bd500128995e9eec2ab50361ce8b853bab2b4839316ddcfd6a34f5bbfed/coverage-7.4.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "432949a32c3e3f820af808db1833d6d1631664d53dd3ce487aa25d574e18ad1c", + "url": "https://files.pythonhosted.org/packages/31/db/08d54dbc12fdfe5857b06105fd1235bdebb7da7c11cd1a0fae936556162a/coverage-7.5.0-cp310-cp310-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c", - "url": "https://files.pythonhosted.org/packages/60/6b/7ac6da198b2c22fc6ba53e479cc800ec230bc7a40c14ed62358d7f1c809f/coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "4d0e206259b73af35c4ec1319fd04003776e11e859936658cb6ceffdeba0f5be", + "url": "https://files.pythonhosted.org/packages/31/ee/9998a0d855cad5f8e04062f7428b83c34aa643e5df468409593a480d5585/coverage-7.5.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357", - "url": "https://files.pythonhosted.org/packages/64/09/91be1d04914deea7dd0e2f3e94d925c23e9b81ce23b0da014f1ff07dd772/coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "a9960dd1891b2ddf13a7fe45339cd59ecee3abb6b8326d8b932d0c5da208104f", + "url": "https://files.pythonhosted.org/packages/36/1d/8a6cdd1ac5c5f2456629abbbf6d5a5b761930d72fa341b7ad69d345d4f54/coverage-7.5.0-cp38-cp38-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384", - "url": "https://files.pythonhosted.org/packages/6f/ab/95a048c3acda69c9e4a40b3ae57f06c45b30c5d9401e6dc7246e9de83306/coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "cf62d17310f34084c59c01e027259076479128d11e4661bb6c9acb38c5e19bb8", + "url": "https://files.pythonhosted.org/packages/52/d3/3ec80acdd57a0d6a1111b978ade388824f37126446fd6750d38bfaca949c/coverage-7.5.0.tar.gz" }, { "algorithm": "sha256", - "hash": "7c95949560050d04d46b919301826525597f07b33beba6187d04fa64d47ac82e", - "url": "https://files.pythonhosted.org/packages/78/ab/39feda43fbd0ca46f695b36bfe1f6836efce9657e81889bb0dcc55fb1745/coverage-7.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "a898c11dca8f8c97b467138004a30133974aacd572818c383596f8d5b2eb04a9", + "url": "https://files.pythonhosted.org/packages/5b/c3/ce852a9f7b6855dd0409e4fa58d13b1b6ed947188c9753fa057254ea7b4d/coverage-7.5.0-cp38-cp38-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd", - "url": "https://files.pythonhosted.org/packages/7c/a2/9302717d181eeaac738941b2a58e6bd776ef665db24f41f82e32cc8fe814/coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "d0194d654e360b3e6cc9b774e83235bae6b9b2cac3be09040880bb0e8a88f4a1", + "url": "https://files.pythonhosted.org/packages/62/18/5573216d5b8db7d9f29189350dcd81830a03a624966c35f8201ae10df09c/coverage-7.5.0-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e", - "url": "https://files.pythonhosted.org/packages/8b/c7/54cde44ebed02848db20d67388d0f82db1b65eca09d48181df71fbd81cf5/coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "a81eb64feded34f40c8986869a2f764f0fe2db58c0530d3a4afbcde50f314880", + "url": "https://files.pythonhosted.org/packages/6a/6a/18b3819919fdfd3e2062a75219b363f895f24ae5b80e72ffe5dfb1a7e9c8/coverage-7.5.0-cp310-cp310-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "a4cdc86d54b5da0df6d3d3a2f0b710949286094c3a6700c21e9015932b81447e", - "url": "https://files.pythonhosted.org/packages/ad/6a/7eebb71ebdf5e56b6da69e5ca8f05b743e054ce9d4dfd440dbcb3f9be0f0/coverage-7.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "d3d117890b6eee85887b1eed41eefe2e598ad6e40523d9f94c4c4b213258e4a4", + "url": "https://files.pythonhosted.org/packages/6b/03/cbc3665ee7178b00ea09a07c2e71c99774928760e04beebb26350658b4b0/coverage-7.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec", - "url": "https://files.pythonhosted.org/packages/ad/c6/385cf65448b5739881ba630d144e9c38464737ce68ae4fe4d6a2c7bb3809/coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "3235d7c781232e525b0761730e052388a01548bd7f67d0067a253887c6e8df46", + "url": "https://files.pythonhosted.org/packages/76/e4/d3c67a0a092127b8a3dffa2f75334a8cdb2cefc99e3d75a7f42cf1ff98a9/coverage-7.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7", - "url": "https://files.pythonhosted.org/packages/af/9c/bd573c65cf554b9979241c575916897e27107a70205b2fbe71218eaa24c4/coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "ced268e82af993d7801a9db2dbc1d2322e786c5dc76295d8e89473d46c6b84d4", + "url": "https://files.pythonhosted.org/packages/7a/d8/3adb547c71cabb9b9cef6c7f8663bc7c912f2c646ccded7a5f5311e1db68/coverage-7.5.0-cp38-cp38-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49", - "url": "https://files.pythonhosted.org/packages/bf/d5/f809d8b630cf4c11fe490e20037a343d12a74ec2783c6cdb5aee725e7137/coverage-7.4.4.tar.gz" + "hash": "33c020d3322662e74bc507fb11488773a96894aa82a622c35a5a28673c0c26f5", + "url": "https://files.pythonhosted.org/packages/7c/0e/e98d6c6d569d65ff3195f095e6b006b3d7780fd6182322a25e7dfe0d53d3/coverage-7.5.0-cp39-cp39-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd", - "url": "https://files.pythonhosted.org/packages/dc/8e/6df9cfab2eb2c5d8e634a18ade3451b587fd75a434366982bdcbefc125e6/coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "357754dcdfd811462a725e7501a9b4556388e8ecf66e79df6f4b988fa3d0b39a", + "url": "https://files.pythonhosted.org/packages/95/cb/42a6d34d5840635394f1e172aaa0e7cbd9346155e5004a8ee75d8e434c6b/coverage-7.5.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "07dfdd492d645eea1bd70fb1d6febdcf47db178b0d99161d8e4eed18e7f62fe7", + "url": "https://files.pythonhosted.org/packages/a7/b4/12b81ad556b4a03c501d4ee83452193deafcc1ab9ebe6f3dbdda42d331a6/coverage-7.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2bd7065249703cbeb6d4ce679c734bef0ee69baa7bff9724361ada04a15b7e3b", + "url": "https://files.pythonhosted.org/packages/a8/ff/02c4bcff1025b4a788aa3933e1cd1474d79de43e0d859273b3319ef43cd3/coverage-7.5.0-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "bbfe6389c5522b99768a93d89aca52ef92310a96b99782973b9d11e80511f932", + "url": "https://files.pythonhosted.org/packages/ab/b1/7820a8ef62adeebd37612af9d2369f4467a3bc2641dea1243450def5489e/coverage-7.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "51431d0abbed3a868e967f8257c5faf283d41ec882f58413cf295a389bb22e58", + "url": "https://files.pythonhosted.org/packages/b5/3d/a0650978e8b8f78d269358421b7401acaf7cb89e957b2e1be5205ea5940e/coverage-7.5.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6afd2e84e7da40fe23ca588379f815fb6dbbb1b757c883935ed11647205111cb", + "url": "https://files.pythonhosted.org/packages/bb/e0/79df954b854d595d63edc061f714a1cf506e30412620025ba240807bd658/coverage-7.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "0cbdf2cae14a06827bec50bd58e49249452d211d9caddd8bd80e35b53cb04631", + "url": "https://files.pythonhosted.org/packages/d3/63/98e5a6b7ed1bfca874729ee309cc49a6d6658ab9e479a2b6d223ccc96e03/coverage-7.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "85a5dbe1ba1bf38d6c63b6d2c42132d45cbee6d9f0c51b52c59aa4afba057517", + "url": "https://files.pythonhosted.org/packages/f8/81/e871b0d58ca5d6cc27d00b2f668ce09c4643ef00512341f3a592a81fb6cd/coverage-7.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9dd88fce54abbdbf4c42fb1fea0e498973d07816f24c0e27a1ecaf91883ce69e", + "url": "https://files.pythonhosted.org/packages/fe/75/d235d6fc44d06823a5ddb46596c891722c3ffcdba2f6358803842ea88945/coverage-7.5.0-cp38-cp38-macosx_10_9_x86_64.whl" } ], "project_name": "coverage", @@ -171,19 +211,19 @@ "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" ], "requires_python": ">=3.8", - "version": "7.4.4" + "version": "7.5.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "88256416ae766bc9e8895c76a87928c0012183da3cc4fc18016e6f050e025f41", - "url": "https://files.pythonhosted.org/packages/e8/9c/a079946da30fac4924d92dbc617e5367d454954494cf1e71567bcc4e00ee/execnet-2.0.2-py3-none-any.whl" + "hash": "26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", + "url": "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af", - "url": "https://files.pythonhosted.org/packages/e4/c8/d382dc7a1e68a165f4a4ab612a08b20d8534a7d20cc590630b734ca0c54b/execnet-2.0.2.tar.gz" + "hash": "5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3", + "url": "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz" } ], "project_name": "execnet", @@ -193,8 +233,8 @@ "pytest; extra == \"testing\"", "tox; extra == \"testing\"" ], - "requires_python": ">=3.7", - "version": "2.0.2" + "requires_python": ">=3.8", + "version": "2.1.1" }, { "artifacts": [ @@ -294,13 +334,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981", - "url": "https://files.pythonhosted.org/packages/a5/5b/0cc789b59e8cc1bf288b38111d002d8c5917123194d45b29dcdac64723cc/pluggy-1.4.0-py3-none-any.whl" + "hash": "44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", + "url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be", - "url": "https://files.pythonhosted.org/packages/54/c6/43f9d44d92aed815e781ca25ba8c174257e27253a94630d21be8725a2b59/pluggy-1.4.0.tar.gz" + "hash": "2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", + "url": "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz" } ], "project_name": "pluggy", @@ -311,7 +351,7 @@ "tox; extra == \"dev\"" ], "requires_python": ">=3.8", - "version": "1.4.0" + "version": "1.5.0" }, { "artifacts": [ @@ -672,7 +712,7 @@ "pytest==7.0.1" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/setuptools.lock b/lockfiles/setuptools.lock new file mode 100644 index 0000000000..731c6cec3d --- /dev/null +++ b/lockfiles/setuptools.lock @@ -0,0 +1,120 @@ +// This lockfile was autogenerated by Pants. To regenerate, run: +// +// pants generate-lockfiles --resolve=setuptools +// +// --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- +// { +// "version": 3, +// "valid_for_interpreter_constraints": [ +// "CPython<3.11,>=3.8" +// ], +// "generated_with_requirements": [ +// "setuptools<59.0,>=50.3.0", +// "wheel<0.38,>=0.35.1" +// ], +// "manylinux": "manylinux2014", +// "requirement_constraints": [], +// "only_binary": [], +// "no_binary": [] +// } +// --- END PANTS LOCKFILE METADATA --- + +{ + "allow_builds": true, + "allow_prereleases": false, + "allow_wheels": true, + "build_isolation": true, + "constraints": [], + "locked_resolves": [ + { + "locked_requirements": [ + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a481fbc56b33f5d8f6b33dce41482e64c68b668be44ff42922903b03872590bf", + "url": "https://files.pythonhosted.org/packages/70/e9/84e2865fddfaba4506bc5d293d2a535bf27e31b12ca16d31564f8ce28cdb/setuptools-58.5.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "dae6b934a965c8a59d6d230d3867ec408bb95e73bd538ff77e71fedf1eaca729", + "url": "https://files.pythonhosted.org/packages/1e/00/05f51ceab8d3b9be4295000d8be4c830c53e5477755888994e9825606cd9/setuptools-58.5.3.tar.gz" + } + ], + "project_name": "setuptools", + "requires_dists": [ + "flake8-2020; extra == \"testing\"", + "furo; extra == \"docs\"", + "jaraco.envs; extra == \"testing\"", + "jaraco.packaging>=8.2; extra == \"docs\"", + "jaraco.path>=3.2.0; extra == \"testing\"", + "jaraco.tidelift>=1.4; extra == \"docs\"", + "mock; extra == \"testing\"", + "paver; extra == \"testing\"", + "pip>=19.1; extra == \"testing\"", + "pygments-github-lexers==0.0.5; extra == \"docs\"", + "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-checkdocs>=2.4; extra == \"testing\"", + "pytest-cov; extra == \"testing\"", + "pytest-enabler>=1.0.1; extra == \"testing\"", + "pytest-flake8; extra == \"testing\"", + "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-virtualenv>=1.2.7; extra == \"testing\"", + "pytest-xdist; extra == \"testing\"", + "pytest>=6; extra == \"testing\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-inline-tabs; extra == \"docs\"", + "sphinx; extra == \"docs\"", + "sphinx; extra == \"testing\"", + "sphinxcontrib-towncrier; extra == \"docs\"", + "virtualenv>=13.0.0; extra == \"testing\"", + "wheel; extra == \"testing\"" + ], + "requires_python": ">=3.6", + "version": "58.5.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a", + "url": "https://files.pythonhosted.org/packages/27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4", + "url": "https://files.pythonhosted.org/packages/c0/6c/9f840c2e55b67b90745af06a540964b73589256cb10cc10057c87ac78fc2/wheel-0.37.1.tar.gz" + } + ], + "project_name": "wheel", + "requires_dists": [ + "pytest-cov; extra == \"test\"", + "pytest>=3.0.0; extra == \"test\"" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7", + "version": "0.37.1" + } + ], + "platform_tag": null + } + ], + "path_mappings": {}, + "pex_version": "2.1.137", + "pip_version": "23.1.2", + "prefer_older_binary": false, + "requirements": [ + "setuptools<59.0,>=50.3.0", + "wheel<0.38,>=0.35.1" + ], + "requires_python": [ + "<3.11,>=3.8" + ], + "resolver_version": "pip-2020-resolver", + "style": "universal", + "target_systems": [ + "linux", + "mac" + ], + "transitive": true, + "use_pep517": null +} diff --git a/lockfiles/st2-constraints.txt b/lockfiles/st2-constraints.txt index 3f5bfdc03e..9b257ed439 100644 --- a/lockfiles/st2-constraints.txt +++ b/lockfiles/st2-constraints.txt @@ -20,7 +20,7 @@ # REASON: Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode >=0.23 was from jinja2 # NOTE: try to remove constraint later. # DROPS RESOLVED VERSION: unknown -MarkupSafe<2.1.0,>=0.23 +#MarkupSafe==2.1.5 # REQUIRED BY: kombu # REASON: unknown -- this looks like a lockfile-style pin @@ -50,6 +50,8 @@ MarkupSafe<2.1.0,>=0.23 # NOTE: orquesta already constrains this, so this is just documentation. # DROPS RESOLVED VERSION: 3.0.4 #chardet<3.1.0 +# REASON: Known working version for py3.8 to py3.10 +#chardet==5.2.0 # REQUIRED BY: jsonpath-rw, networkx # REASON: @@ -66,7 +68,8 @@ MarkupSafe<2.1.0,>=0.23 # REASON: 2.0 version breaks pymongo work with hosts # NOTE: try to remove this later # DROPS RESOLVED VERSION: 1.16 -dnspython>=1.16.0,<2.0.0 +#dnspython==2.6.1 +#dnspython>=1.16.0,<2.0.0 # REQUIRED BY: eventlet # REASON: eventlet is difficult to upgrade. @@ -74,16 +77,14 @@ dnspython>=1.16.0,<2.0.0 # greenlet 3 adds py3.12 support, drops py3.6 support, fixes various crash conditions # NOTE: If constrained, bump carefully. Tests seem to be passing without this constraint. # DROPS RESOLVED VERSION: 1.1.3.post0 -#greenlet==1.0.0 +#greenlet==3.0.3 # REQUIRED BY: argcomplete, click, debtcollector, kombu, pluggy, prettytable, # pytest, virtualenv -# REASON: unknown -# NOTE: This pinned version (3.10.1) actually conflicts with other requirements. -# So, it is commented out. If there are issues with newer versions, -# update this with a range of valid versions. +# REASON: Known working version for py3.8 to py3.10 +# NOTE: - # DROPS RESOLVED VERSION: 4.8.3 -#importlib-metadata==3.10.1 +#importlib-metadata>=4.10.1 # REQUIRED BY: tooz # REASON: unknown @@ -115,8 +116,9 @@ dnspython>=1.16.0,<2.0.0 # DROPS RESOLVED VERSION: 3.0.7 #pyparsing<3 -# REQUIRED BY: async-timeout, gitpython, importlib-metadata, redis -# REASON: importlib-metadata requires typing-extensions but v4.2.0 requires py3.7+ +# REQUIRED BY: async-timeout, gitpython, importlib-metadata, redis, pydantic +# REASON: typing-extension must be >4.7.1 to avoid ImportError # NOTE: try to remove constraint later. # DROPS RESOLVED VERSION: 4.1.1 #typing-extensions<4.2 +#typing_extensions==4.10.0 diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 9f3d0ddaf0..909b626932 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -6,14 +6,12 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ -// "PyYAML", // "RandomWords", // "apscheduler", // "argcomplete", -// "argparse", // "beautifulsoup4", // "ciso8601", // "cryptography", @@ -36,11 +34,8 @@ // "mock", // "mongoengine<0.24.0,>=0.21.0", // "networkx", -// "nose", -// "nose-parallel", -// "nose-timer", // "orjson", -// "orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0", +// "orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975", // "oslo.config", // "paramiko", // "pika", @@ -60,8 +55,8 @@ // "python-statsd", // "pytz", // "pywinrm", +// "pyyaml", // "redis", -// "rednose", // "requests", // "retrying", // "routes", @@ -86,10 +81,7 @@ // "zstandard" // ], // "manylinux": "manylinux2014", -// "requirement_constraints": [ -// "MarkupSafe<2.1.0,>=0.23", -// "dnspython<2.0.0,>=1.16.0" -// ], +// "requirement_constraints": [], // "only_binary": [], // "no_binary": [] // } @@ -100,10 +92,7 @@ "allow_prereleases": false, "allow_wheels": true, "build_isolation": true, - "constraints": [ - "MarkupSafe<2.1.0,>=0.23", - "dnspython<2.0.0,>=1.16.0" - ], + "constraints": [], "locked_resolves": [ { "locked_requirements": [ @@ -188,24 +177,6 @@ "requires_python": ">=3.8", "version": "3.5.0" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314", - "url": "https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4", - "url": "https://files.pythonhosted.org/packages/18/dd/e617cfc3f6210ae183374cd9f6a26b20514bbb5a792af97949c5aacddf0f/argparse-1.4.0.tar.gz" - } - ], - "project_name": "argparse", - "requires_dists": [], - "requires_python": null, - "version": "1.4.0" - }, { "artifacts": [ { @@ -334,6 +305,11 @@ "hash": "c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00", "url": "https://files.pythonhosted.org/packages/05/d2/1be1e16aedec04bcf8d0156e01b987d16a2063d38e64c3f28030a3427d61/bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a", + "url": "https://files.pythonhosted.org/packages/09/97/01026e7b1b7f8aeb41514408eca1137c0f8aef9938335e3bc713f82c282e/bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" + }, { "algorithm": "sha256", "hash": "cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8", @@ -394,6 +370,11 @@ "hash": "1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7", "url": "https://files.pythonhosted.org/packages/b0/b8/8b4add88d55a263cf1c6b8cf66c735280954a04223fcd2880120cc767ac3/bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db", + "url": "https://files.pythonhosted.org/packages/ca/46/03eb26ea3e9c12ca18d1f3bf06199f7d72ce52e68f2a1ebcfd8acff9c472/bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2", @@ -458,6 +439,24 @@ "requires_python": ">=3.6.0", "version": "4.12.3" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01", + "url": "https://files.pythonhosted.org/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83", + "url": "https://files.pythonhosted.org/packages/1e/57/a6a1721eff09598fb01f3c7cda070c1b6a0f12d63c83236edf79a440abcc/blinker-1.8.2.tar.gz" + } + ], + "project_name": "blinker", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "1.8.2" + }, { "artifacts": [ { @@ -501,6 +500,26 @@ "hash": "c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", "url": "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", + "url": "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", + "url": "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", + "url": "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", + "url": "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", @@ -531,11 +550,31 @@ "hash": "98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", "url": "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", + "url": "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", + "url": "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", + "url": "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", "url": "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", + "url": "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", @@ -561,11 +600,21 @@ "hash": "6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c", "url": "https://files.pythonhosted.org/packages/ca/5b/b63681518265f2f4060d2b60755c1c77ec89e5e045fc3773b72735ddaad5/cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", + "url": "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "url": "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", + "url": "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", @@ -593,19 +642,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691", - "url": "https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl" + "hash": "e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", + "url": "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "url": "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz" + "hash": "1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", + "url": "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz" } ], "project_name": "chardet", "requires_dists": [], - "requires_python": null, - "version": "3.0.4" + "requires_python": ">=3.7", + "version": "5.2.0" }, { "artifacts": [ @@ -614,6 +663,11 @@ "hash": "3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", "url": "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl" }, + { + "algorithm": "sha256", + "hash": "1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", + "url": "https://files.pythonhosted.org/packages/05/8c/eb854996d5fef5e4f33ad56927ad053d04dc820e4a3d39023f35cad72617/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", @@ -634,11 +688,21 @@ "hash": "68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", "url": "https://files.pythonhosted.org/packages/2a/9d/a6d15bd1e3e2914af5955c8eb15f4071997e7078419328fee93dfd497eb7/charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", + "url": "https://files.pythonhosted.org/packages/2b/61/095a0aa1a84d1481998b534177c8566fdc50bb1233ea9a0478cd3cc075bd/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", "url": "https://files.pythonhosted.org/packages/33/95/ef68482e4a6adf781fae8d183fb48d6f2be8facb414f49c90ba6a5149cd1/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", + "url": "https://files.pythonhosted.org/packages/33/c3/3b96a435c5109dd5b6adc8a59ba1d678b302a97938f032e3770cc84cd354/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", @@ -654,11 +718,26 @@ "hash": "22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", "url": "https://files.pythonhosted.org/packages/3d/85/5b7416b349609d20611a64718bed383b9251b5a601044550f0c8983b8900/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", + "url": "https://files.pythonhosted.org/packages/3f/ba/3f5e7be00b215fa10e13d64b1f6237eb6ebea66676a41b2bcdd09fe74323/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", + "url": "https://files.pythonhosted.org/packages/43/05/3bf613e719efe68fb3a77f9c536a389f35b95d75424b96b426a47a45ef1d/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", "url": "https://files.pythonhosted.org/packages/44/80/b339237b4ce635b4af1c73742459eee5f97201bd92b2371c53e11958392e/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", + "url": "https://files.pythonhosted.org/packages/46/6a/d5c26c41c49b546860cc1acabdddf48b0b3fb2685f4f5617ac59261b44ae/charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", @@ -674,6 +753,11 @@ "hash": "ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561", "url": "https://files.pythonhosted.org/packages/54/7f/cad0b328759630814fcf9d804bfabaf47776816ad4ef2e9938b7e1123d04/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", + "url": "https://files.pythonhosted.org/packages/58/78/a0bc646900994df12e07b4ae5c713f2b3e5998f58b9d3720cce2aa45652f/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", @@ -704,6 +788,11 @@ "hash": "2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", "url": "https://files.pythonhosted.org/packages/9e/ef/cd47a63d3200b232792e361cd67530173a09eb011813478b1c0fb8aa7226/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", + "url": "https://files.pythonhosted.org/packages/a8/31/47d018ef89f95b8aded95c589a77c072c55e94b50a41aa99c0a2008a45a4/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", @@ -714,6 +803,11 @@ "hash": "06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", "url": "https://files.pythonhosted.org/packages/b3/c1/ebca8e87c714a6a561cfee063f0655f742e54b8ae6e78151f60ba8708b3a/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", + "url": "https://files.pythonhosted.org/packages/b8/60/e2f67915a51be59d4539ed189eb0a2b0d292bf79270410746becb32bc2c3/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", @@ -729,21 +823,41 @@ "hash": "d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", "url": "https://files.pythonhosted.org/packages/c2/65/52aaf47b3dd616c11a19b1052ce7fa6321250a7a0b975f48d8c366733b9f/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", + "url": "https://files.pythonhosted.org/packages/cc/94/f7cf5e5134175de79ad2059edf2adce18e0685ebdb9227ff0139975d0e93/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", "url": "https://files.pythonhosted.org/packages/d1/2f/0d1efd07c74c52b6886c32a3b906fb8afd2fecf448650e73ecb90a5a27f1/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", + "url": "https://files.pythonhosted.org/packages/da/f1/3702ba2a7470666a62fd81c58a4c40be00670e5006a67f4d626e57f013ae/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", "url": "https://files.pythonhosted.org/packages/e1/9c/60729bf15dc82e3aaf5f71e81686e42e50715a1399770bcde1a9e43d09db/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", + "url": "https://files.pythonhosted.org/packages/eb/5c/97d97248af4920bc68687d9c3b3c0f47c910e21a8ff80af4565a576bd2f0/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl" + }, { "algorithm": "sha256", "hash": "6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", "url": "https://files.pythonhosted.org/packages/ef/d4/a1d72a8f6aa754fdebe91b848912025d30ab7dced61e9ed8aabbf791ed65/charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", + "url": "https://files.pythonhosted.org/packages/f6/93/bb6cbeec3bf9da9b2eba458c15966658d1daa8b982c642f81c93ad9b40e1/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", @@ -792,16 +906,36 @@ "hash": "02828107880848ff497971ebc98e6dc851ad7af8ec14a58089e0e11f3111cad6", "url": "https://files.pythonhosted.org/packages/15/ac/8dfe940808219f8ec3dcfa286cdcbcb704e7ccd9b02f64bc0a31ea4b8c8a/ciso8601-2.3.1-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "3771049ba29bd1077588c0a24be1d53f7493e7cc686b2caa92f7cae129636a0e", + "url": "https://files.pythonhosted.org/packages/27/5b/ccd7cf4631540bba4fe1313b29fe7f4eb0c132d319e3095f3fe6615396ea/ciso8601-2.3.1-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "eaecca7e0c3ef9e8f5e963e212b083684e849f9a9bb25834d3042363223a73cd", "url": "https://files.pythonhosted.org/packages/4b/37/bdf84104ff6810116e9802be07212edfaa877a197433f1caec200b7aaa93/ciso8601-2.3.1-cp38-cp38-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "2c1ef17d1ea52a39b2dce6535583631ae4bfb65c76f0ee8c99413a6861a46c9e", + "url": "https://files.pythonhosted.org/packages/5e/18/9372721282df9ccdc105efc811ddab2074994bae8dccaaf7f4fd6720e761/ciso8601-2.3.1-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "025859ec286a994aa3f2120c0f27d053b719cabc975398338374f2cc1f961125", "url": "https://files.pythonhosted.org/packages/64/18/3544594777a553d5e2b69739d215ccc12620973ff54ba67e4cb1ab60f6a5/ciso8601-2.3.1-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "6a25da209193134842cd573464a5323f46fcc3ed781b633f15a34793ba7e1064", + "url": "https://files.pythonhosted.org/packages/66/ba/f6f3d42d7521eefd18a3ed3cc03d765445e499b94da8ed93b699afe4c8f9/ciso8601-2.3.1-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "8c29ea2b03dee2dc0a5d3e4a0b7d7768c597781e9fa451fe1025600f7cb55a89", + "url": "https://files.pythonhosted.org/packages/86/1d/3ca6dc3602be7592653aec9c8df3dbf3977171527c38b9696d069eef9b87/ciso8601-2.3.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "3212c7ffe5d8080270548b5f2692ffd2039683b6628a8d2ad456122cc5793c4c", @@ -812,16 +946,31 @@ "hash": "070f568de3bc269268296cb9265704dc5fcb9d4c12b1f1c67536624174df5d09", "url": "https://files.pythonhosted.org/packages/c1/32/389fb540c94b32b4938ba78329d8fcbc86d257cec65f83564dfd9c20752d/ciso8601-2.3.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "f3ae83f4e60fc7e260a4188e4ec4ac1bdd40bdb382eeda92fc266c5aa2f0a1ee", + "url": "https://files.pythonhosted.org/packages/c9/42/9756084f3ceea1a3635e4d3fdea0f94886ad126167fe962bafbe834b15ff/ciso8601-2.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "695583810836a42945084b33621b22b0309701c6916689f6a3588fa44c5bc413", "url": "https://files.pythonhosted.org/packages/ca/b7/b24f11ee31697a251ef2d1fcd249e6ce3b23e7bac272f9a2b98872d76c49/ciso8601-2.3.1-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "57db9a28e87f9e4fccba643fb70a9ba1515adc5e1325508eb2c10dd96620314c", + "url": "https://files.pythonhosted.org/packages/d1/2e/8b5d35ddbe03f88063d76b931dea707a3045c7f6f0445be15c769dfa0e41/ciso8601-2.3.1-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "cb135de0e3b8feb7e74a4f7a234e8c8545957fe8d26316a1a549553f425c629d", "url": "https://files.pythonhosted.org/packages/eb/3f/69e3ef7fe521edcdc5d5fd796c7425c607db86b060968127c3ce522cb094/ciso8601-2.3.1-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "8c59646197ddbf84909b6c31d55f744cfeef51811e3910b61d0f58f2885823fd", + "url": "https://files.pythonhosted.org/packages/ed/1e/68652c89bc86f2712855b67feddc10d57e63e860ec844bd5590894e8a25a/ciso8601-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "7eb7b5ef8714d3d1fe9f3256b7a679ad783da899a0b7503a5ace78186735f840", @@ -859,24 +1008,6 @@ "requires_python": ">=3.7", "version": "8.1.7" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", - "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", - "url": "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz" - } - ], - "project_name": "colorama", - "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7", - "version": "0.4.6" - }, { "artifacts": [ { @@ -889,6 +1020,11 @@ "hash": "1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806", "url": "https://files.pythonhosted.org/packages/00/0e/8217e348a1fa417ec4c78cd3cdf24154f5e76fd7597343a35bd403650dfd/cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034", + "url": "https://files.pythonhosted.org/packages/18/23/4175dcd935e1649865e1af7bd0b827cc9d9769a586dcc84f7cbe96839086/cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062", @@ -968,6 +1104,16 @@ "algorithm": "sha256", "hash": "203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d", "url": "https://files.pythonhosted.org/packages/de/ba/0664727028b37e249e73879348cc46d45c5c1a2a2e81e8166462953c5755/cryptography-43.0.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289", + "url": "https://files.pythonhosted.org/packages/df/e6/ccd29a1f9a6b71294e1e9f530c4d779d5dd37c8bb736c05d5fb6d98a971b/cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d", + "url": "https://files.pythonhosted.org/packages/ea/45/967da50269954b993d4484bf85026c7377bd551651ebdabba94905972556/cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" } ], "project_name": "cryptography", @@ -1057,23 +1203,38 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d", - "url": "https://files.pythonhosted.org/packages/ec/d3/3aa0e7213ef72b8585747aa0e271a9523e713813b9a20177ebe1e939deb0/dnspython-1.16.0-py2.py3-none-any.whl" + "hash": "5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50", + "url": "https://files.pythonhosted.org/packages/87/a1/8c5287991ddb8d3e4662f71356d9656d91ab3a36618c3dd11b280df0d255/dnspython-2.6.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01", - "url": "https://files.pythonhosted.org/packages/ec/c5/14bcd63cb6d06092a004793399ec395405edf97c2301dfdc146dfbd5beed/dnspython-1.16.0.zip" + "hash": "e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc", + "url": "https://files.pythonhosted.org/packages/37/7d/c871f55054e403fdfd6b8f65fd6d1c4e147ed100d3e9f9ba1fe695403939/dnspython-2.6.1.tar.gz" } ], "project_name": "dnspython", "requires_dists": [ - "ecdsa>=0.13; extra == \"dnssec\"", - "idna>=2.1; extra == \"idna\"", - "pycryptodome; extra == \"dnssec\"" + "aioquic>=0.9.25; extra == \"doq\"", + "black>=23.1.0; extra == \"dev\"", + "coverage>=7.0; extra == \"dev\"", + "cryptography>=41; extra == \"dnssec\"", + "flake8>=7; extra == \"dev\"", + "h2>=4.1.0; extra == \"doh\"", + "httpcore>=1.0.0; extra == \"doh\"", + "httpx>=0.26.0; extra == \"doh\"", + "idna>=3.6; extra == \"idna\"", + "mypy>=1.8; extra == \"dev\"", + "pylint>=3; extra == \"dev\"", + "pytest-cov>=4.1.0; extra == \"dev\"", + "pytest>=7.4; extra == \"dev\"", + "sphinx>=7.2.0; extra == \"dev\"", + "trio>=0.23; extra == \"trio\"", + "twine>=4.0.0; extra == \"dev\"", + "wheel>=0.42.0; extra == \"dev\"", + "wmi>=1.5.1; extra == \"wmi\"" ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "1.16.0" + "requires_python": ">=3.8", + "version": "2.6.1" }, { "artifacts": [ @@ -1100,13 +1261,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e42d0f73b718e654c223a033b8692d1a94d778a6c1deb6c3d21442746f3f727f", - "url": "https://files.pythonhosted.org/packages/75/af/73efcf654d8875febc6599f5a3d1eed043c1ca34a9b12950208cbf710d2a/eventlet-0.36.1-py3-none-any.whl" + "hash": "801ac231401e41f33a799457c78fdbfabc1c2f28bf9346d4ec4188e9aebc2067", + "url": "https://files.pythonhosted.org/packages/bf/1e/6590b481bd698ad281f1ee601283421ff167274c15ba73ae80385617ddec/eventlet-0.37.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d227fe76a63d9e6a6cef53beb8ad0b2dc40a5e7737c801f4b474cfae1db07bc5", - "url": "https://files.pythonhosted.org/packages/1b/df/f441947eef23192c9f179e46868ee8510a6f7b6627b76b88f07692f9c706/eventlet-0.36.1.tar.gz" + "hash": "fa49bf5a549cdbaa06919679979ea022ac8f8f3cf0499f26849a1cd8e64c30b1", + "url": "https://files.pythonhosted.org/packages/54/8c/d68a786f212bdf362ac91ab248ae94aaf413aeecfd652a08ced9a3d63427/eventlet-0.37.0.tar.gz" } ], "project_name": "eventlet", @@ -1123,7 +1284,7 @@ "twine; extra == \"dev\"" ], "requires_python": ">=3.7", - "version": "0.36.1" + "version": "0.37.0" }, { "artifacts": [ @@ -1199,27 +1360,28 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9013281a7402ad527f8fd56375164f3aa021ecfaff89bfe3825346c24f87e04c", - "url": "https://files.pythonhosted.org/packages/af/6a/00d144ac1626fbb44c4ff36519712e258128985a5d0ae43344778ae5cbb9/Flask-2.1.3-py3-none-any.whl" + "hash": "34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3", + "url": "https://files.pythonhosted.org/packages/61/80/ffe1da13ad9300f87c93af113edd0638c75138c42a0994becfacac078c06/flask-3.0.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "15972e5017df0575c3d6c090ba168b6db90259e620ac8d7ea813a396bad5b6cb", - "url": "https://files.pythonhosted.org/packages/5b/77/3accd62b8771954e9584beb03f080385b32ddcad30009d2a4fe4068a05d9/Flask-2.1.3.tar.gz" + "hash": "ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842", + "url": "https://files.pythonhosted.org/packages/41/e1/d104c83026f8d35dfd2c261df7d64738341067526406b40190bc063e829a/flask-3.0.3.tar.gz" } ], "project_name": "flask", "requires_dists": [ - "Jinja2>=3.0", - "Werkzeug>=2.0", + "Jinja2>=3.1.2", + "Werkzeug>=3.0.0", "asgiref>=3.2; extra == \"async\"", - "click>=8.0", + "blinker>=1.6.2", + "click>=8.1.3", "importlib-metadata>=3.6.0; python_version < \"3.10\"", - "itsdangerous>=2.0", + "itsdangerous>=2.1.2", "python-dotenv; extra == \"dotenv\"" ], - "requires_python": ">=3.7", - "version": "2.1.3" + "requires_python": ">=3.8", + "version": "3.0.3" }, { "artifacts": [ @@ -1356,88 +1518,128 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113", - "url": "https://files.pythonhosted.org/packages/54/4b/965a542baf157f23912e466b50fa9c49dd66132d9495d201e6c607ea16f2/greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "5fd6e94593f6f9714dbad1aaba734b5ec04593374fa6638df61592055868f8b8", + "url": "https://files.pythonhosted.org/packages/31/99/04e9416ee5ad22d5ceaf01efac2e7386e17c3d4c6dd3407a3df4b9c682f6/greenlet-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", - "url": "https://files.pythonhosted.org/packages/0b/8a/f5140c8713f919af0e98e6aaa40cb20edaaf3739d18c4a077581e2422ac4/greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl" + "hash": "3e7e6ef1737a819819b1163116ad4b48d06cfdd40352d813bb14436024fcda99", + "url": "https://files.pythonhosted.org/packages/05/76/5902a38828f06b2bd964ffca36275439c3be993184b9540341585aadad3d/greenlet-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4", - "url": "https://files.pythonhosted.org/packages/13/af/8db0d63147c6362447eb49da60573b41aee5cf5864fe1e27bdbaf7060bd2/greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "hash": "0e49a65d25d7350cca2da15aac31b6f67a43d867448babf997fe83c7505f57bc", + "url": "https://files.pythonhosted.org/packages/16/be/4f5fd9ea44eb58e32ecfaf72839f842e2f343eaa0ff5c24cadbcfe22aad5/greenlet-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", - "url": "https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz" + "hash": "2651dfb006f391bcb240635079a68a261b227a10a08af6349cba834a2141efa1", + "url": "https://files.pythonhosted.org/packages/24/b5/24dc29e920a1f6b4e2f920fdd642a3364a5b082988931b7d5d1229d48340/greenlet-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca", - "url": "https://files.pythonhosted.org/packages/3d/4a/c9590b31bfefe089d8fae72201c77761a63c1685c7f511a692a267d7f25e/greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl" + "hash": "f9482c2ed414781c0af0b35d9d575226da6b728bd1a720668fa05837184965b7", + "url": "https://files.pythonhosted.org/packages/3b/4e/2d0428b76e39802cfc2ce53afab4b0cbbdc0ba13925180352c7f0cf51b46/greenlet-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", - "url": "https://files.pythonhosted.org/packages/74/82/9737e7dee4ccb9e1be2a8f17cf760458be2c36c6ff7bbaef55cbe279e729/greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "dd65695a8df1233309b701dec2539cc4b11e97d4fcc0f4185b4a12ce54db0491", + "url": "https://files.pythonhosted.org/packages/47/ff/c8ec3bcf7e23f45ed4085b6673a23b4d4763bb39e9797b787c55ed65dbc1/greenlet-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5", - "url": "https://files.pythonhosted.org/packages/74/9f/71df0154a13d77e92451891a087a4c5783375964132290fca70c7e80e5d4/greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "b9505a0c8579899057cbefd4ec34d865ab99852baf1ff33a9481eb3924e2da0b", + "url": "https://files.pythonhosted.org/packages/50/15/b3e7de3d7e141a328b8141d85e4b01c27bcff0161e5ca2d9a490b87ae3c5/greenlet-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b", - "url": "https://files.pythonhosted.org/packages/8a/74/498377804f8ebfb1efdfbe33e93cf3b29d77e207e9496f0c10912d5055b4/greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "d3c59a06c2c28a81a026ff11fbf012081ea34fb9b7052f2ed0366e14896f0a1d", + "url": "https://files.pythonhosted.org/packages/57/9d/2d618474cdab9f664b2cf0641e7832b1a86e03c6dbd1ff505c7cdf2c4d8e/greenlet-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61", - "url": "https://files.pythonhosted.org/packages/9d/ea/8bc7ed08ba274bdaff08f2cb546d832b8f44af267e03ca6e449840486915/greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "b395121e9bbe8d02a750886f108d540abe66075e61e22f7353d9acb0b81be0f0", + "url": "https://files.pythonhosted.org/packages/65/1b/3d91623c3eff61c11799e7f3d6c01f6bfa9bd2d1f0181116fd0b9b108a40/greenlet-3.1.0.tar.gz" }, { "algorithm": "sha256", - "hash": "b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", - "url": "https://files.pythonhosted.org/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "665b21e95bc0fce5cab03b2e1d90ba9c66c510f1bb5fdc864f3a377d0f553f6b", + "url": "https://files.pythonhosted.org/packages/65/94/eafcd6812ad878e14b92aa0c96a28f84a35a23685d8fad0b7569235ae994/greenlet-3.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b", - "url": "https://files.pythonhosted.org/packages/af/05/b7e068070a6c143f34dfcd7e9144684271b8067e310f6da68269580db1d8/greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "hash": "44cd313629ded43bb3b98737bba2f3e2c2c8679b55ea29ed73daea6b755fe8e7", + "url": "https://files.pythonhosted.org/packages/7b/da/1c095eaf7ade0d67c520ee98ab2f34b9c1279e5be96154a46fb940aa8567/greenlet-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", - "url": "https://files.pythonhosted.org/packages/cf/5b/2de4a398840d3b4d99c4a3476cda0d82badfa349f3f89846ada2e32e9500/greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "a771dc64fa44ebe58d65768d869fcfb9060169d203446c1d446e844b62bdfdca", + "url": "https://files.pythonhosted.org/packages/80/ae/108d1ed1a9e8472ff6a494121fd45ab5666e4c3009b3bfc595e3a0683570/greenlet-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc", - "url": "https://files.pythonhosted.org/packages/d9/84/3d9f0255ae3681010d9eee9f4d1bd4790e41c87dcbdad5cbf893605039b5/greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "a814dc3100e8a046ff48faeaa909e80cdb358411a3d6dd5293158425c684eda8", + "url": "https://files.pythonhosted.org/packages/9b/a4/f2493536dad2539b84f61e60b6071e29bea05e8148cfa67237aeba550898/greenlet-3.1.0-cp310-cp310-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", - "url": "https://files.pythonhosted.org/packages/dc/c3/06ca5f34b01af6d6e2fd2f97c0ad3673123a442bf4a3add548d374b1cc7c/greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "2d004db911ed7b6218ec5c5bfe4cf70ae8aa2223dffbb5b3c69e342bb253cb28", + "url": "https://files.pythonhosted.org/packages/9d/e7/744b590459b7d06b6b3383036ae0a0540ece9132f5e2c6c3c640de6c36ab/greenlet-3.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04", - "url": "https://files.pythonhosted.org/packages/e8/47/0fd13f50da7e43e313cce276c9ec9b5f862a8fedacdc30e7ca2a43ee7fd7/greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "2cd8518eade968bc52262d8c46727cfc0826ff4d552cf0430b8d65aaf50bb91d", + "url": "https://files.pythonhosted.org/packages/a0/ab/194c82e7c81a884057149641a55f6fd1755b396fd19a88ed4ca2472c2724/greenlet-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506", - "url": "https://files.pythonhosted.org/packages/fe/1f/b5cd033b55f347008235244626bb1ee2854adf9c3cb97ff406d98d6e1ea3/greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "db1b3ccb93488328c74e97ff888604a8b95ae4f35f4f56677ca57a4fc3a4220b", + "url": "https://files.pythonhosted.org/packages/aa/25/5aa6682f68b2c5a4ef1887e7d576cc76f6269f7c46aad71ce5163ae504ee/greenlet-3.1.0-cp39-cp39-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da", - "url": "https://files.pythonhosted.org/packages/ff/76/0893f4fe7b841660a5d75116c7d755c58652a4e9e12f6a72984eaa396881/greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "c0a5b1c22c82831f56f2f7ad9bbe4948879762fe0d59833a4a71f16e5fa0f682", + "url": "https://files.pythonhosted.org/packages/b2/f5/15440aaf5e0ccb7cb050fe8669b5f625ee6ed2e8ba82315b4bc2c0944b86/greenlet-3.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "76dc19e660baea5c38e949455c1181bc018893f25372d10ffe24b3ed7341fb25", + "url": "https://files.pythonhosted.org/packages/b9/46/d97ad3d8ca6ab8c4f166493164b5461161a295887b6d9ca0bbd4ccdede78/greenlet-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fad7a051e07f64e297e6e8399b4d6a3bdcad3d7297409e9a06ef8cbccff4f501", + "url": "https://files.pythonhosted.org/packages/c1/7c/6b1f3ced3867a7ca073100aab0d2d200f11b07bc60710eefbb6278cda219/greenlet-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "cfcfb73aed40f550a57ea904629bdaf2e562c68fa1164fa4588e752af6efdc3f", + "url": "https://files.pythonhosted.org/packages/cd/84/9ed78fd909292a9aee9c713c8dc08d2335628ca56a5e675235818ca5f0e0/greenlet-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "5415b9494ff6240b09af06b91a375731febe0090218e2898d2b85f9b92abcda0", + "url": "https://files.pythonhosted.org/packages/d3/73/591c60545a81edc62c06325c4948865cca5904eb01388fbd11f9c5a72d5a/greenlet-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a8870983af660798dc1b529e1fd6f1cefd94e45135a32e58bd70edd694540f33", + "url": "https://files.pythonhosted.org/packages/d9/b5/ad4ec97be5cd964932fe4cde80df03d9fca23ed8b5c65d54f16270af639f/greenlet-3.1.0-cp38-cp38-macosx_11_0_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "d58ec349e0c2c0bc6669bf2cd4982d2f93bf067860d23a0ea1fe677b0f0b1e09", + "url": "https://files.pythonhosted.org/packages/e2/0e/bfca17d8f0e7b7dfc918d504027bb795d1aad9ea459a90c33acb24c29034/greenlet-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "d45b75b0f3fd8d99f62eb7908cfa6d727b7ed190737dec7fe46d993da550b81a", + "url": "https://files.pythonhosted.org/packages/e7/80/b1f8b87bcb32f8aa2582e25088dc59e96dff9472d8f6d3e46b19cf9a6e89/greenlet-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c3967dcc1cd2ea61b08b0b276659242cbce5caca39e7cbc02408222fb9e6ff39", + "url": "https://files.pythonhosted.org/packages/f1/8c/a9f0d64d8eb142bb6931203a3768099a8016607409674970aeede2a72b53/greenlet-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" } ], "project_name": "greenlet", @@ -1448,7 +1650,7 @@ "psutil; extra == \"test\"" ], "requires_python": ">=3.7", - "version": "3.0.3" + "version": "3.1.0" }, { "artifacts": [ @@ -1505,31 +1707,36 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac", - "url": "https://files.pythonhosted.org/packages/22/7e/d71db821f177828df9dea8c42ac46473366f191be53080e552e628aad991/idna-3.8-py3-none-any.whl" + "hash": "946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", + "url": "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603", - "url": "https://files.pythonhosted.org/packages/e8/ac/e349c5e6d4543326c6883ee9491e3921e0d07b55fdf3cce184b40d63e72a/idna-3.8.tar.gz" + "hash": "12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", + "url": "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz" } ], "project_name": "idna", - "requires_dists": [], + "requires_dists": [ + "flake8>=7.1.1; extra == \"all\"", + "mypy>=1.11.2; extra == \"all\"", + "pytest>=8.3.2; extra == \"all\"", + "ruff>=0.6.2; extra == \"all\"" + ], "requires_python": ">=3.6", - "version": "3.8" + "version": "3.10" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1", - "url": "https://files.pythonhosted.org/packages/c0/14/362d31bf1076b21e1bcdcb0dc61944822ff263937b804a79231df2774d28/importlib_metadata-8.4.0-py3-none-any.whl" + "hash": "45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b", + "url": "https://files.pythonhosted.org/packages/a0/d9/a1e041c5e7caa9a05c925f4bdbdfb7f006d1f74996af53467bc394c97be7/importlib_metadata-8.5.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5", - "url": "https://files.pythonhosted.org/packages/c0/bd/fa8ce65b0a7d4b6d143ec23b0f5fd3f7ab80121078c465bc02baeaab22dc/importlib_metadata-8.4.0.tar.gz" + "hash": "71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7", + "url": "https://files.pythonhosted.org/packages/cd/12/33e59336dca5be0c398a7482335911a33aa0e20776128f038019f1a95f1b/importlib_metadata-8.5.0.tar.gz" } ], "project_name": "importlib-metadata", @@ -1544,20 +1751,20 @@ "packaging; extra == \"test\"", "pyfakefs; extra == \"test\"", "pytest!=8.1.*,>=6; extra == \"test\"", - "pytest-checkdocs>=2.4; extra == \"test\"", - "pytest-cov; extra == \"test\"", - "pytest-enabler>=2.2; extra == \"test\"", - "pytest-mypy; extra == \"test\"", + "pytest-checkdocs>=2.4; extra == \"check\"", + "pytest-cov; extra == \"cover\"", + "pytest-enabler>=2.2; extra == \"enabler\"", + "pytest-mypy; extra == \"type\"", "pytest-perf>=0.9.2; extra == \"test\"", - "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"test\"", + "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"check\"", "rst.linker>=1.9; extra == \"doc\"", "sphinx-lint; extra == \"doc\"", "sphinx>=3.5; extra == \"doc\"", "typing-extensions>=3.6.4; python_version < \"3.8\"", - "zipp>=0.5" + "zipp>=3.20" ], "requires_python": ">=3.8", - "version": "8.4.0" + "version": "8.5.0" }, { "artifacts": [ @@ -1748,13 +1955,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c8dd99820467610b4febbc7a9e8a0d3d7da2d35116b67184418b51cc520ea6b6", - "url": "https://files.pythonhosted.org/packages/df/17/34f8ec5b9d46a1ddb598b7bf8f779c567421d05cd73742d09e549254c782/kombu-5.4.0-py3-none-any.whl" + "hash": "621d365f234e4c089596f3a2510f1ade07026efc28caca426161d8f458786cab", + "url": "https://files.pythonhosted.org/packages/c1/78/c556bf2954bd36f166959ac33d23cde4a8967e61cdb74678585a66edbae0/kombu-5.4.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ad200a8dbdaaa2bbc5f26d2ee7d707d9a1fded353a0f4bd751ce8c7d9f449c60", - "url": "https://files.pythonhosted.org/packages/b6/f4/d3e57b1c351bb47ce25b16e1cf6ea05df4613dbe56e3cf32ea80df1a8b4d/kombu-5.4.0.tar.gz" + "hash": "1c05178826dab811f8cab5b0a154d42a7a33d8bcdde9fa3d7b4582e43c3c03db", + "url": "https://files.pythonhosted.org/packages/16/2c/079a5d59a167543205fbf54d663bbdc171e2a29f4d45fa6a8bc315e57192/kombu-5.4.1.tar.gz" } ], "project_name": "kombu", @@ -1769,7 +1976,7 @@ "confluent-kafka>=2.2.0; extra == \"confluentkafka\"", "kazoo>=2.8.0; extra == \"zookeeper\"", "librabbitmq>=2.0.0; python_version < \"3.11\" and extra == \"librabbitmq\"", - "msgpack==1.0.8; extra == \"msgpack\"", + "msgpack==1.1.0; extra == \"msgpack\"", "pycurl>=7.43.0.5; (sys_platform != \"win32\" and platform_python_implementation == \"CPython\") and extra == \"sqs\"", "pymongo>=4.1.1; extra == \"mongodb\"", "pyro4==4.82; extra == \"pyro\"", @@ -1784,7 +1991,7 @@ "vine==5.1.0" ], "requires_python": ">=3.8", - "version": "5.4.0" + "version": "5.4.1" }, { "artifacts": [ @@ -1853,144 +2060,134 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1", - "url": "https://files.pythonhosted.org/packages/3b/41/f53e2ac439b309d8bb017d12ee6e7d393aa70c508448c1f30a7e5db9d69e/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194", - "url": "https://files.pythonhosted.org/packages/15/90/b63743e72c9ffc5988c7b1c04d14f9a32ae49574afe8a7fbea0ce538bda4/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", + "url": "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", - "url": "https://files.pythonhosted.org/packages/1d/c5/1d1b42c65f96ee7b0c81761260878d1a1dc0afdf259e434b7d7af88a80a3/MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl" + "hash": "e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", + "url": "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee", - "url": "https://files.pythonhosted.org/packages/1f/44/ada8e01854175525e8e139278c3a52fec0ef720307cbd670bca86b473b56/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", + "url": "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", - "url": "https://files.pythonhosted.org/packages/50/99/06eccf68be0bff67ab9a0b90b5382c04769f9ad2e42cae5e5e92f99380cd/MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl" + "hash": "8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", + "url": "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", - "url": "https://files.pythonhosted.org/packages/51/1e/45e25cd867fb79339c49086dad9794e11923dd6325251ae48c341b0a4271/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl" + "hash": "7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", + "url": "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", - "url": "https://files.pythonhosted.org/packages/5a/ff/34bdcd8cc794f692588de0b3f4c1aa7ec0d17716fda9d874836ed68775c1/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl" + "hash": "ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", + "url": "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", - "url": "https://files.pythonhosted.org/packages/66/66/b5891704372c9f5d97432933bdd7e9b5a0647fad9170c72bb7f486550c43/MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl" + "hash": "fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", + "url": "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac", - "url": "https://files.pythonhosted.org/packages/67/e9/579a3ad8d48f7680f887ff1f22cc6330f083de23ce32a8fa35f8acef477a/MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl" + "hash": "ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", + "url": "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", - "url": "https://files.pythonhosted.org/packages/68/ba/7a5ca0f9b4239e6fd846dd54c0b5928187355fa62fbdbd13e1c5942afae7/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl" + "hash": "97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", + "url": "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", - "url": "https://files.pythonhosted.org/packages/6f/83/eabfb8c6d60b096dc9ada378cf935809289c4d0327b74a60789bde77e1db/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl" + "hash": "5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", + "url": "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", - "url": "https://files.pythonhosted.org/packages/70/56/f81c0cfbc22882df36358ecdedc5474571183e5a5adde1e237079acee437/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", + "url": "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6", - "url": "https://files.pythonhosted.org/packages/7a/e8/00c435416c9b0238dca6f883563b01c4cc532b2ba6aaf7268081f6238520/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" + "hash": "075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", + "url": "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", - "url": "https://files.pythonhosted.org/packages/8f/87/4668ce3963e942a9aa7b13212158e74bf063a2461138b7ed5a043ac6aa79/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", + "url": "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", - "url": "https://files.pythonhosted.org/packages/92/ac/94771b65ac9f77cf37e43b38516697bbc4e128ee152b68d596ae44c6c896/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl" + "hash": "4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", + "url": "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", - "url": "https://files.pythonhosted.org/packages/95/18/b7a45c16635acafdf6837a6fd4c71acfe5bad202884c6fcbae4ea0763dde/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", + "url": "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", - "url": "https://files.pythonhosted.org/packages/a6/d1/a7b97d0e000336c4e06bfce7e08dcb2b47fc5091146ee883dfac6cb4842e/MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", + "url": "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e", - "url": "https://files.pythonhosted.org/packages/a7/55/a576835b6b95af21d15f69eaf14c4fb1358fd48475f2b9813abd9654132e/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", + "url": "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", - "url": "https://files.pythonhosted.org/packages/ae/70/8dd5f2c0aab82431c9c619a2c4fbd1742fc0fb769d8d7b275ae1d03eb3a5/MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl" + "hash": "1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", + "url": "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", - "url": "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz" + "hash": "d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", + "url": "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz" }, { "algorithm": "sha256", - "hash": "1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6", - "url": "https://files.pythonhosted.org/packages/c2/db/314df69668f582d5173922bded7b58126044bb77cfce6347c5d992074d2e/MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" + "hash": "fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", + "url": "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a", - "url": "https://files.pythonhosted.org/packages/cc/f2/854d33eee85df681e61e22b52d8e83bef8b7425c0b9826212289f7885710/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl" + "hash": "bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", + "url": "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", - "url": "https://files.pythonhosted.org/packages/ce/a7/835a636047f4bb4fea31a682c18affad9795e864d800892bd7248485425e/MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", + "url": "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", - "url": "https://files.pythonhosted.org/packages/dd/8f/d0c570c851f70377ca6f344531fab4b6b01a99a9d2a801b25d6fd75525e5/MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl" + "hash": "a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", + "url": "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", - "url": "https://files.pythonhosted.org/packages/e4/9b/c7b55a2f587368d69eb6dc36e285010ab0bbb74323833d501921e08e2728/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", + "url": "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", - "url": "https://files.pythonhosted.org/packages/eb/3b/1cddaf0338a031ef5c2e1d9d74f2d607d564748a933b44de6edfe7a2a880/MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35", - "url": "https://files.pythonhosted.org/packages/f9/12/b63afcb3bf9f27fd347adef452f9a6e27dfe7107a8f2685afacc8e9c6592/MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl" + "hash": "656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", + "url": "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl" } ], "project_name": "markupsafe", "requires_dists": [], - "requires_python": ">=3.6", - "version": "2.0.1" + "requires_python": ">=3.7", + "version": "2.1.5" }, { "artifacts": [ @@ -2041,104 +2238,134 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273", - "url": "https://files.pythonhosted.org/packages/ff/21/1b3545b88fe47526925b37217729036df4088340cad6e665609cb36ba84e/msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "c5a91481a3cc573ac8c0d9aace09345d989dc4a0202b7fcb312c88c26d4e71a8", + "url": "https://files.pythonhosted.org/packages/b6/54/7d8317dac590cf16b3e08e3fb74d2081e5af44eb396f0effa13f17777f30/msgpack-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3", - "url": "https://files.pythonhosted.org/packages/08/4c/17adf86a8fbb02c144c7569dc4919483c01a2ac270307e2d59e1ce394087/msgpack-1.0.8.tar.gz" + "hash": "c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5", + "url": "https://files.pythonhosted.org/packages/02/95/dc0044b439b518236aaf012da4677c1b8183ce388411ad1b1e63c32d8979/msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228", - "url": "https://files.pythonhosted.org/packages/09/b1/d80b0a71ac05655f73146492601e91b1dbb7eb0d95d8261bec1c981e8a36/msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5", + "url": "https://files.pythonhosted.org/packages/08/52/bf4fbf72f897a23a56b822997a72c16de07d8d56d7bf273242f884055682/msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18", - "url": "https://files.pythonhosted.org/packages/20/40/4eb8e9dc0e949bf22e5bcd74d16996ad61eb87220a1d719d6badd169be1a/msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "534480ee5690ab3cbed89d4c8971a5c631b69a8c0883ecfea96c19118510c846", + "url": "https://files.pythonhosted.org/packages/1b/94/a82b0db0981e9586ed5af77d6cfb343da05d7437dceaae3b35d346498110/msgpack-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77", - "url": "https://files.pythonhosted.org/packages/27/87/e303ebcfb1b14d4ed272b3aa54228d8d5b5caa3cea7b6ff6843a76d5affd/msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "3180065ec2abbe13a4ad37688b61b99d7f9e012a535b930e0e683ad6bc30155b", + "url": "https://files.pythonhosted.org/packages/1f/c6/e4a04c0089deace870dabcdef5c9f12798f958e2e81d5012501edaff342f/msgpack-1.1.0-cp39-cp39-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8", - "url": "https://files.pythonhosted.org/packages/39/e2/cac717fd842a6d0d321b2f34add877033aede4f2e6321d93799ab68c6aea/msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b", + "url": "https://files.pythonhosted.org/packages/32/d3/c152e0c55fead87dd948d4b29879b0f14feeeec92ef1fd2ec21b107c3f49/msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d", - "url": "https://files.pythonhosted.org/packages/42/fa/9379d11dd1b83570b2e9dc0d7c7e45aec2fb99d80540170f82d79f83132a/msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "646afc8102935a388ffc3914b336d22d1c2d6209c773f3eb5dd4d6d3b6f8c1cb", + "url": "https://files.pythonhosted.org/packages/46/72/0454fa773fc4977ca70ae45471e38b1ab0cd831bef1990e9283d8683fe18/msgpack-1.1.0-cp38-cp38-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24", - "url": "https://files.pythonhosted.org/packages/50/ee/b749822f36f448b7edb5e6081cdba529fc0ef9e442d5632a05602f7a8274/msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl" + "hash": "7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd", + "url": "https://files.pythonhosted.org/packages/4b/f9/a892a6038c861fa849b11a2bb0502c07bc698ab6ea53359e5771397d883b/msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13", - "url": "https://files.pythonhosted.org/packages/56/33/465f6feaca727ccc898e2a73e27af942febe9c8cfc726972bcf70ab059e2/msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "f1ba6136e650898082d9d5a5217d5906d1e138024f836ff48691784bbe1adf96", + "url": "https://files.pythonhosted.org/packages/55/f6/d4859a158a915be52eecd52dee9761ab3a5d84c834a1d13ffc198e068a48/msgpack-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746", - "url": "https://files.pythonhosted.org/packages/56/7a/2a9b40ca2d9ff8f9b5628b15b820676d830b006cff6ca6b3bdffbafd2142/msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "c40ffa9a15d74e05ba1fe2681ea33b9caffd886675412612d93ab17b58ea2fec", + "url": "https://files.pythonhosted.org/packages/77/68/6ddc40189295de4363af0597ecafb822ca7636ed1e91626f294cc8bc0d91/msgpack-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2", - "url": "https://files.pythonhosted.org/packages/60/8c/6f32030ad034212deb6b679280d908c49fc8aac3dd604c33c9ad0ccb97a7/msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "f3e9b4936df53b970513eac1758f3882c88658a220b58dcc1e39606dccaaf01c", + "url": "https://files.pythonhosted.org/packages/92/9b/5c0dfb0009b9f96328664fecb9f8e4e9c8a1ae919e6d53986c1b813cb493/msgpack-1.1.0-cp39-cp39-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a", - "url": "https://files.pythonhosted.org/packages/76/2f/a06b5ca0ba80aeb5f0b50449fb57a55c2c70bc495f2569442c743ed8478d/msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl" + "hash": "7e7b853bbc44fb03fbdba34feb4bd414322180135e2cb5164f20ce1c9795ee48", + "url": "https://files.pythonhosted.org/packages/93/af/d63f25bcccd3d6f06fd518ba4a321f34a4370c67b579ca5c70b4a37721b4/msgpack-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a", - "url": "https://files.pythonhosted.org/packages/79/d2/e0a6583f4f8cc7c2768ae3fec386eb0ca19cdbea296eb6d1201f275a638a/msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "8cf9e8c3a2153934a23ac160cc4cba0ec035f6867c8013cc6077a79823370346", + "url": "https://files.pythonhosted.org/packages/93/fc/6c7f0dcc1c913e14861e16eaf494c07fc1dde454ec726ff8cebcf348ae53/msgpack-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596", - "url": "https://files.pythonhosted.org/packages/7a/c7/c95fe31dd0d7bf49fd3590df8e0089a8b9b18222909439d68dcc7973fd13/msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "e0856a2b7e8dcb874be44fea031d22e5b3a19121be92a1e098f46068a11b0870", + "url": "https://files.pythonhosted.org/packages/98/6c/3b89221b0f6b2fd92572bd752545fc96ca4e494b76e2a02be8da56451909/msgpack-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d", - "url": "https://files.pythonhosted.org/packages/8f/aa/e637d1212560c905b97ddd1dbe1cb35b320cd15c6200f5d29acea571c708/msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68", + "url": "https://files.pythonhosted.org/packages/cb/a0/3d093b248837094220e1edc9ec4337de3443b1cfeeb6e0896af8ccc4cc7a/msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40", - "url": "https://files.pythonhosted.org/packages/a9/30/815bbd025ede86f9ac5b04d9f96480386227e35a6d438cbb95e02a31dc9e/msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl" + "hash": "dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e", + "url": "https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz" }, { "algorithm": "sha256", - "hash": "e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f", - "url": "https://files.pythonhosted.org/packages/ad/61/225d64e983e51f960cac41fd1084188764fcc7430e75f609ad9d86e47839/msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "46c34e99110762a76e3911fc923222472c9d681f1094096ac4102c18319e6468", + "url": "https://files.pythonhosted.org/packages/d1/7c/3a9ee6ec9fc3e47681ad39b4d344ee04ff20a776b594fba92d88d8b68356/msgpack-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db", - "url": "https://files.pythonhosted.org/packages/d6/9b/108d7447e612fcdb3a7ed957e59b912a8d2fc4cab7198cad976b30be94a9/msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f", + "url": "https://files.pythonhosted.org/packages/d9/2c/82e73506dd55f9e43ac8aa007c9dd088c6f0de2aa19e8f7330e6a65879fc/msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151", - "url": "https://files.pythonhosted.org/packages/ec/21/8fb3fb9693413afc9bc0c3b796e17f9d6e7e77e9c88d34e19fd433c5486c/msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d", + "url": "https://files.pythonhosted.org/packages/df/7a/d174cc6a3b6bb85556e6a046d3193294a92f9a8e583cdbd46dc8a1d7e7f4/msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b", + "url": "https://files.pythonhosted.org/packages/e4/13/7646f14f06838b406cf5a6ddbb7e8dc78b4996d891ab3b93c33d1ccc8678/msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "471e27a5787a2e3f974ba023f9e265a8c7cfd373632247deb225617e3100a3c7", + "url": "https://files.pythonhosted.org/packages/ed/a1/16bd86502f1572a14c6ccfa057306be7f94ea3081ffec652308036cefbd2/msgpack-1.1.0-cp38-cp38-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8a706d1e74dd3dea05cb54580d9bd8b2880e9264856ce5068027eed09680aa74", + "url": "https://files.pythonhosted.org/packages/f7/0a/8a213cecea7b731c540f25212ba5f9a818f358237ac51a44d448bd753690/msgpack-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "53258eeb7a80fc46f62fd59c876957a2d0e15e6449a9e71842b6d24419d88ca1", + "url": "https://files.pythonhosted.org/packages/f7/3b/544a5c5886042b80e1f4847a4757af3430f60d106d8d43bb7be72c9e9650/msgpack-1.1.0-cp39-cp39-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "13599f8829cfbe0158f6456374e9eea9f44eee08076291771d8ae93eda56607f", + "url": "https://files.pythonhosted.org/packages/fd/2f/885932948ec2f51509691684842f5870f960d908373744070400ac56e2d0/msgpack-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e", + "url": "https://files.pythonhosted.org/packages/ff/75/09081792db60470bef19d9c2be89f024d366b1e1973c197bb59e6aabc647/msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "msgpack", "requires_dists": [], "requires_python": ">=3.8", - "version": "1.0.8" + "version": "1.1.0" }, { "artifacts": [ @@ -2212,13 +2439,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524", - "url": "https://files.pythonhosted.org/packages/42/31/d2f89f1ae42718f8c8a9e440ebe38d7d5fe1e0d9eb9178ce779e365b3ab0/networkx-2.8.8-py3-none-any.whl" + "hash": "4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36", + "url": "https://files.pythonhosted.org/packages/a8/05/9d4f9b78ead6b2661d6e8ea772e111fc4a9fbd866ad0c81906c11206b55e/networkx-3.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e", - "url": "https://files.pythonhosted.org/packages/cd/16/c44e8550012735b8f21b3df7f39e8ba5a987fb764ac017ad5f3589735889/networkx-2.8.8.tar.gz" + "hash": "de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61", + "url": "https://files.pythonhosted.org/packages/fd/a1/47b974da1a73f063c158a1f4cc33ed0abf7c04f98a19050e80c533c31f0c/networkx-3.1.tar.gz" } ], "project_name": "networkx", @@ -2226,77 +2453,26 @@ "codecov>=2.1; extra == \"test\"", "lxml>=4.6; extra == \"extra\"", "matplotlib>=3.4; extra == \"default\"", - "mypy>=0.982; extra == \"developer\"", + "mypy>=1.1; extra == \"developer\"", "nb2plots>=0.6; extra == \"doc\"", - "numpy>=1.19; extra == \"default\"", + "numpy>=1.20; extra == \"default\"", "numpydoc>=1.5; extra == \"doc\"", "pandas>=1.3; extra == \"default\"", - "pillow>=9.2; extra == \"doc\"", - "pre-commit>=2.20; extra == \"developer\"", - "pydata-sphinx-theme>=0.11; extra == \"doc\"", + "pillow>=9.4; extra == \"doc\"", + "pre-commit>=3.2; extra == \"developer\"", + "pydata-sphinx-theme>=0.13; extra == \"doc\"", "pydot>=1.4.2; extra == \"extra\"", - "pygraphviz>=1.9; extra == \"extra\"", + "pygraphviz>=1.10; extra == \"extra\"", "pytest-cov>=4.0; extra == \"test\"", "pytest>=7.2; extra == \"test\"", "scipy>=1.8; extra == \"default\"", - "sphinx-gallery>=0.11; extra == \"doc\"", - "sphinx>=5.2; extra == \"doc\"", + "sphinx-gallery>=0.12; extra == \"doc\"", + "sphinx>=6.1; extra == \"doc\"", "sympy>=1.10; extra == \"extra\"", - "texext>=0.6.6; extra == \"doc\"" + "texext>=0.6.7; extra == \"doc\"" ], "requires_python": ">=3.8", - "version": "2.8.8" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "9ff7c6cc443f8c51994b34a667bbcf45afd6d945be7477b52e97516fd17c53ac", - "url": "https://files.pythonhosted.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98", - "url": "https://files.pythonhosted.org/packages/58/a5/0dc93c3ec33f4e281849523a5a913fa1eea9a3068acfa754d44d88107a44/nose-1.3.7.tar.gz" - } - ], - "project_name": "nose", - "requires_dists": [], - "requires_python": null, - "version": "1.3.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "3f7c48d7aa5030fe872211cbffc6852e64e4e356ddbac5958a35796bf15dc225", - "url": "https://files.pythonhosted.org/packages/64/08/9968ef72b3ee8f3243e1f300219afdfb753a3432b203afe9bef56e34ce95/nose_parallel-0.4.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "e4e6d6891a4bb417f09abf1f400554f557f0a9df3fdaed6517d4236e87ed0f51", - "url": "https://files.pythonhosted.org/packages/70/60/039898d68516d2086db9b8ec8e318f84f44a15a8584b2abdfc2d97980a68/nose-parallel-0.4.0.tar.gz" - } - ], - "project_name": "nose-parallel", - "requires_dists": [], - "requires_python": null, - "version": "0.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8f70d103b7ffd9122a589de0df9d037a7d967519bf6de122621d2186609b9e3a", - "url": "https://files.pythonhosted.org/packages/ee/fc/ad961aa29606e20b3c85f739ab7d2e5abe0c285310c468a5850dcaf9c720/nose-timer-1.0.1.tar.gz" - } - ], - "project_name": "nose-timer", - "requires_dists": [ - "nose" - ], - "requires_python": null, - "version": "1.0.1" + "version": "3.1" }, { "artifacts": [ @@ -2310,6 +2486,11 @@ "hash": "5b24a579123fa884f3a3caadaed7b75eb5715ee2b17ab5c66ac97d29b18fe57f", "url": "https://files.pythonhosted.org/packages/04/02/bcb6ee82ecb5bc8f7487bce2204db9e9d8818f5fe7a3cad1625254f8d3a7/orjson-3.10.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "ac7cf6222b29fbda9e3a472b41e6a5538b48f2c8f99261eecd60aafbdb60690c", + "url": "https://files.pythonhosted.org/packages/04/da/d03d72b54bdd60d05de372114abfbd9f05050946895140c6ff5f27ab8f49/orjson-3.10.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "c31008598424dfbe52ce8c5b47e0752dca918a4fdc4a2a32004efd9fab41d866", @@ -2325,6 +2506,11 @@ "hash": "1193b2416cbad1a769f868b1749535d5da47626ac29445803dae7cc64b3f5c98", "url": "https://files.pythonhosted.org/packages/25/13/a66f4873ed57832aab57dd8b49c91c4c22b35fb1fa0d1dce3bf8928f2fe0/orjson-3.10.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "74f4544f5a6405b90da8ea724d15ac9c36da4d72a738c64685003337401f5c12", + "url": "https://files.pythonhosted.org/packages/49/12/60931cf808b9334f26210ab496442f4a7a3d66e29d1cf12e0a01857e756f/orjson-3.10.7-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + }, { "algorithm": "sha256", "hash": "4829cf2195838e3f93b70fd3b4292156fc5e097aac3739859ac0dcc722b27ac0", @@ -2340,6 +2526,16 @@ "hash": "6ea2b2258eff652c82652d5e0f02bd5e0463a6a52abb78e49ac288827aaa1469", "url": "https://files.pythonhosted.org/packages/6e/54/cf4838db05cc5c3e2ccd8b85e80239789457fc8a20071910e8f97cd7fa44/orjson-3.10.7-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "de817e2f5fc75a9e7dd350c4b0f54617b280e26d1631811a43e7e968fa71e3e9", + "url": "https://files.pythonhosted.org/packages/7f/7e/ef8522dbba112af6cc52227dcc746dd3447c7d53ea8cea35740239b547ee/orjson-3.10.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "479fd0844ddc3ca77e0fd99644c7fe2de8e8be1efcd57705b5c92e5186e8a250", + "url": "https://files.pythonhosted.org/packages/82/0a/1f09c12d15b1e83156b7f3f621561d38650fe5b8f39f38f04a64de1a87fc/orjson-3.10.7-cp310-cp310-musllinux_1_2_aarch64.whl" + }, { "algorithm": "sha256", "hash": "084e537806b458911137f76097e53ce7bf5806dda33ddf6aaa66a028f8d43a23", @@ -2355,6 +2551,16 @@ "hash": "144888c76f8520e39bfa121b31fd637e18d4cc2f115727865fdf9fa325b10412", "url": "https://files.pythonhosted.org/packages/a3/4a/a041b6c95f623c28ccab87ce0720ac60cd0734f357774fd7212ff1fd9077/orjson-3.10.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, + { + "algorithm": "sha256", + "hash": "fdf5197a21dd660cf19dfd2a3ce79574588f8f5e2dbf21bda9ee2d2b46924d84", + "url": "https://files.pythonhosted.org/packages/a6/d8/eee30caba21a8d6a9df06d2519bb0ecd0adbcd57f2e79d360de5570031cf/orjson-3.10.7-cp310-cp310-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "348bdd16b32556cf8d7257b17cf2bdb7ab7976af4af41ebe79f9796c218f7e91", + "url": "https://files.pythonhosted.org/packages/b6/bc/fbd345d771a73cacc5b0e774d034cd081590b336754c511f4ead9fdc4cf1/orjson-3.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "ed350d6978d28b92939bfeb1a0570c523f6170efc3f0a0ef1f1df287cd4f4960", @@ -2375,11 +2581,21 @@ "hash": "4e6c3da13e5a57e4b3dca2de059f243ebec705857522f188f0180ae88badd354", "url": "https://files.pythonhosted.org/packages/cb/dd/f5b385ab593974efd082986f8c6f4f6d07715f7321d908ca16bc4ecd70cd/orjson-3.10.7-cp38-cp38-musllinux_1_2_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "bf6ba8ebc8ef5792e2337fb0419f8009729335bb400ece005606336b7fd7bab7", + "url": "https://files.pythonhosted.org/packages/dd/47/1ddff6e23fe5f4aeaaed996a3cde422b3eaac4558c03751723e106184c68/orjson-3.10.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, { "algorithm": "sha256", "hash": "430ee4d85841e1483d487e7b81401785a5dfd69db5de01314538f31f8fbf7ee1", "url": "https://files.pythonhosted.org/packages/e0/22/218233b8038a83ca8df0c6e7e28270ad5a2cd02a2e2ada0a30f33d018601/orjson-3.10.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "34a566f22c28222b08875b18b0dfbf8a947e69df21a9ed5c51a6bf91cfb944ac", + "url": "https://files.pythonhosted.org/packages/fe/0e/efbd0a2d25f8e82b230eb20b6b8424be6dd95b6811b669be9af16234b6db/orjson-3.10.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "4b6146e439af4c2472c56f8540d799a67a81226e11992008cb47e1267a9b3225", @@ -2395,21 +2611,20 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4857472090b6a48dcc8ff3f8f3d0ec5145270ecb253d84aec3f98e2fd14bc9dc", - "url": "git+https://github.com/StackStorm/orquesta.git@v1.6.0" + "hash": "cc9f9827d1a062352b80a9b0c2b4b7de12987885e56990f0045f0345dc032e9d", + "url": "git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975" } ], "project_name": "orquesta", "requires_dists": [ - "Jinja2>=2.11", - "PyYAML>=3.1.0", - "chardet<4.0.0,>=3.0.2", + "chardet>=3.0.2", "eventlet", - "jsonschema!=2.5.0,<=3.2,>=2.0.0", - "networkx<2.6,>=2.5.1; python_version < \"3.7\"", - "networkx<3,>=2.6; python_version >= \"3.7\"", + "jinja2>=2.11", + "jsonschema<4,>=3", + "networkx<3.2,>=2.6", "python-dateutil", - "six>=1.9.0", + "pyyaml>=5.3.1", + "six>=1.14.0", "stevedore>=1.3.0", "ujson>=1.35", "yaql>=1.1.0" @@ -2552,13 +2767,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8e49fd2f82f84acf7ffd57c64311aa2b30e575370dc23bdb375b10262f7eac32", - "url": "https://files.pythonhosted.org/packages/96/6e/4a52a8923d840107024b844d83502dfa6a1e5399ad31cf9d1a4ddbaaa7e5/paramiko-3.4.1-py3-none-any.whl" + "hash": "1fedf06b085359051cd7d0d270cebe19e755a8a921cc2ddbfa647fb0cd7d68f9", + "url": "https://files.pythonhosted.org/packages/1f/66/14b2c030fcce69cba482d205c2d1462ca5c77303a263260dcb1192801c85/paramiko-3.5.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8b15302870af7f6652f2e038975c1d2973f06046cb5d7d65355668b3ecbece0c", - "url": "https://files.pythonhosted.org/packages/0b/6a/1d85cc9f5eaf49a769c7128039074bbb8127aba70756f05dfcf4326e72a1/paramiko-3.4.1.tar.gz" + "hash": "ad11e540da4f55cedda52931f1a3f812a8238a7af7f62a60de538cd80bb28124", + "url": "https://files.pythonhosted.org/packages/1b/0f/c00296e36ff7485935b83d466c4f2cf5934b84b0ad14e81796e1d9d3609b/paramiko-3.5.0.tar.gz" } ], "project_name": "paramiko", @@ -2576,7 +2791,7 @@ "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"gssapi\"" ], "requires_python": ">=3.6", - "version": "3.4.1" + "version": "3.5.0" }, { "artifacts": [ @@ -2665,13 +2880,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "eb1c8582560b34ed4ba105009a4badf7f6f85768b30126f351328507b2beb617", - "url": "https://files.pythonhosted.org/packages/da/8b/d497999c4017b80678017ddce745cf675489c110681ad3c84a55eddfd3e7/platformdirs-4.3.2-py3-none-any.whl" + "hash": "50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5", + "url": "https://files.pythonhosted.org/packages/69/e6/7c8e8c326903bd97c6c0c47e0a3c5de815faaae986cab7defdeddf5fddcd/platformdirs-4.3.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9e5e27a08aa095dd127b9f2e764d74254f482fef22b0970773bfba79d091ab8c", - "url": "https://files.pythonhosted.org/packages/75/a0/d7cab8409cdc7d39b037c85ac46d92434fb6595432e069251b38e5c8dd0e/platformdirs-4.3.2.tar.gz" + "hash": "d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0", + "url": "https://files.pythonhosted.org/packages/f5/19/f7bee3a71decedd8d7bc4d3edb7970b8e899f3caef257b0f0d623f2f7b11/platformdirs-4.3.3.tar.gz" } ], "project_name": "platformdirs", @@ -2688,7 +2903,7 @@ "sphinx>=8.0.2; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.3.2" + "version": "4.3.3" }, { "artifacts": [ @@ -2857,31 +3072,31 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473", - "url": "https://files.pythonhosted.org/packages/23/7e/5f50d07d5e70a2addbccd90ac2950f81d1edd0783630651d9268d7f1db49/pyasn1-0.6.0-py2.py3-none-any.whl" + "hash": "0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", + "url": "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c", - "url": "https://files.pythonhosted.org/packages/4a/a3/d2157f333900747f20984553aca98008b6dc843eb62f3a36030140ccec0d/pyasn1-0.6.0.tar.gz" + "hash": "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", + "url": "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz" } ], "project_name": "pyasn1", "requires_dists": [], "requires_python": ">=3.8", - "version": "0.6.0" + "version": "0.6.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b", - "url": "https://files.pythonhosted.org/packages/13/68/8906226b15ef38e71dc926c321d2fe99de8048e9098b5dfd38343011c886/pyasn1_modules-0.4.0-py3-none-any.whl" + "hash": "49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd", + "url": "https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6", - "url": "https://files.pythonhosted.org/packages/f7/00/e7bd1dec10667e3f2be602686537969a7ac92b0a7c5165be2e5875dc3971/pyasn1_modules-0.4.0.tar.gz" + "hash": "c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c", + "url": "https://files.pythonhosted.org/packages/1d/67/6afbf0d507f73c32d21084a79946bfcfca5fbc62a72057e9c23797a737c9/pyasn1_modules-0.4.1.tar.gz" } ], "project_name": "pyasn1-modules", @@ -2889,7 +3104,7 @@ "pyasn1<0.7.0,>=0.4.6" ], "requires_python": ">=3.8", - "version": "0.4.0" + "version": "0.4.1" }, { "artifacts": [ @@ -2964,6 +3179,11 @@ "hash": "517b09b1dd842390a965a896d1327c55dfe78199c9f5840595d40facbcd81854", "url": "https://files.pythonhosted.org/packages/1b/63/c3023c7fd6bee4f79ce3d24b6a63b59baed2d4abec25c017183ef7805dca/pymongo-3.12.3-cp39-cp39-manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "93111fd4e08fa889c126aa8baf5c009a941880a539c87672e04583286517450a", + "url": "https://files.pythonhosted.org/packages/1c/4e/5c24af7bdd098101b15ccdf8fdd7161977a3f114c27e82d7b708079ebc29/pymongo-3.12.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "7a6e4dccae8ef5dd76052647d78f02d5d0ffaff1856277d951666c54aeba3ad2", @@ -2974,6 +3194,11 @@ "hash": "80710d7591d579442c67a3bc7ae9dcba9ff95ea8414ac98001198d894fc4ff46", "url": "https://files.pythonhosted.org/packages/28/f9/01f3ae759b4176ffbf7d71767433c2154f7f140e2465ad886dfaecd652f0/pymongo-3.12.3-cp38-cp38-manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "d3082e5c4d7b388792124f5e805b469109e58f1ab1eb1fbd8b998e8ab766ffb7", + "url": "https://files.pythonhosted.org/packages/2b/db/df0e56a11240c231da00670a1a610c2d61e0d86758c794c1d1fe72aa494e/pymongo-3.12.3-cp310-cp310-manylinux1_i686.whl" + }, { "algorithm": "sha256", "hash": "28bfd5244d32faf3e49b5a8d1fab0631e922c26e8add089312e4be19fb05af50", @@ -2989,6 +3214,11 @@ "hash": "1b4c535f524c9d8c86c3afd71d199025daa070859a2bdaf94a298120b0de16db", "url": "https://files.pythonhosted.org/packages/41/3c/2f7979ca86ee88ede3b6733dab55181e35754c19c8a349dbe9fdee960dfd/pymongo-3.12.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "858af7c2ab98f21ed06b642578b769ecfcabe4754648b033168a91536f7beef9", + "url": "https://files.pythonhosted.org/packages/45/94/59660766491e730721986e7b94e6aa28930fb1eefd70abab849f993797a8/pymongo-3.12.3-cp310-cp310-macosx_10_15_universal2.whl" + }, { "algorithm": "sha256", "hash": "e4e5d163e6644c2bc84dd9f67bfa89288c23af26983d08fefcc2cbc22f6e57e6", @@ -2999,6 +3229,11 @@ "hash": "cebb3d8bcac4a6b48be65ebbc5c9881ed4a738e27bb96c86d9d7580a1fb09e05", "url": "https://files.pythonhosted.org/packages/53/cc/0a58955ec937d61e4cba830df2ec1c909cf8c7e1cf850f7043360e3769db/pymongo-3.12.3-cp38-cp38-manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "e099b79ccf7c40f18b149a64d3d10639980035f9ceb223169dd806ff1bb0d9cc", + "url": "https://files.pythonhosted.org/packages/5f/f6/df2a5eb613f6a5c10258893a07316c00b72e7b869b6b5611cb1dc737b518/pymongo-3.12.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "bfc2d763d05ec7211313a06e8571236017d3e61d5fef97fcf34ec4b36c0b6556", @@ -3009,6 +3244,16 @@ "hash": "2577b8161eeae4dd376d13100b2137d883c10bb457dd08935f60c9f9d4b5c5f6", "url": "https://files.pythonhosted.org/packages/66/fd/450ca78ed199ddbe76d3f398d124d86d8925582fef500f9baf13aabb1c52/pymongo-3.12.3-cp39-cp39-manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "0a02313e71b7c370c43056f6b16c45effbb2d29a44d24403a3d5ba6ed322fa3f", + "url": "https://files.pythonhosted.org/packages/6c/8f/e7c0c609388eb4aefb6167e7a113fb2323d4f1e86b2834d4d01f4a4ed505/pymongo-3.12.3-cp310-cp310-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "58db209da08a502ce6948841d522dcec80921d714024354153d00b054571993c", + "url": "https://files.pythonhosted.org/packages/6e/c4/005ad73b9857405314b32b4d17d9679eb3efd8a2d0963b84aec66fdc133a/pymongo-3.12.3-cp310-cp310-manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "8d92c6bb9174d47c2257528f64645a00bbc6324a9ff45a626192797aff01dc14", @@ -3019,6 +3264,16 @@ "hash": "b7df0d99e189b7027d417d4bfd9b8c53c9c7ed5a0a1495d26a6f547d820eca88", "url": "https://files.pythonhosted.org/packages/72/b3/142dd8a64b12d7b101f9f4b6b32609b13ac6358b57f04f44192b40843c09/pymongo-3.12.3-cp39-cp39-manylinux1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "514e78d20d8382d5b97f32b20c83d1d0452c302c9a135f0a9022236eb9940fda", + "url": "https://files.pythonhosted.org/packages/84/66/d86f2623c500b88dc3a53bf0c2363e0249323e67c534af0e068341e50f22/pymongo-3.12.3-cp310-cp310-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b1b5be40ebf52c3c67ee547e2c4435ed5bc6352f38d23e394520b686641a6be4", + "url": "https://files.pythonhosted.org/packages/89/52/35d5ee34c597bfa162e0bb9528fbbd55e82e6e311f7876bab026aa48d03c/pymongo-3.12.3-cp310-cp310-manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "14dee106a10b77224bba5efeeb6aee025aabe88eb87a2b850c46d3ee55bdab4a", @@ -3029,11 +3284,21 @@ "hash": "0a89cadc0062a5e53664dde043f6c097172b8c1c5f0094490095282ff9995a5f", "url": "https://files.pythonhosted.org/packages/97/79/9382c00183979e6cedfb82d7c8d9667a121c19bb2ed66334da930b6f4ef2/pymongo-3.12.3.tar.gz" }, + { + "algorithm": "sha256", + "hash": "5296e5e69243ffd76bd919854c4da6630ae52e46175c804bc4c0e050d937b705", + "url": "https://files.pythonhosted.org/packages/99/93/57f3145d95f84d061d0e421a267d85af824b64854242af3e7008464666e4/pymongo-3.12.3-cp310-cp310-manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "07398d8a03545b98282f459f2603a6bb271f4448d484ed7f411121a519a7ea48", "url": "https://files.pythonhosted.org/packages/9c/12/193a4455db2f149b65943a1eff80f5bc2eb680659b6505ae2fb41256458d/pymongo-3.12.3-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "ed7d11330e443aeecab23866055e08a5a536c95d2c25333aeb441af2dbac38d2", + "url": "https://files.pythonhosted.org/packages/9c/66/c84840c863578e03f43150abbd24a694a8532386a9d654cf7df3e029a241/pymongo-3.12.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "0e7a5d0b9077e8c3e57727f797ee8adf12e1d5e7534642230d98980d160d1320", @@ -3049,6 +3314,11 @@ "hash": "a283425e6a474facd73072d8968812d1d9058490a5781e022ccf8895500b83ce", "url": "https://files.pythonhosted.org/packages/9e/c0/98d2c2214d882f0639bc4e9f9ba15f82b6ae57a902948534de3a81182173/pymongo-3.12.3-cp39-cp39-manylinux1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "27e5ea64332385385b75414888ce9d1a9806be8616d7cef4ef409f4f256c6d06", + "url": "https://files.pythonhosted.org/packages/a8/d2/c904ed342a6f291eb3dc675896de148dbb46433d620bf431c24026f9e4a3/pymongo-3.12.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "602284e652bb56ca8760f8e88a5280636c5b63d7946fca1c2fe0f83c37dffc64", @@ -3089,11 +3359,21 @@ "hash": "f340a2a908644ea6cccd399be0fb308c66e05d2800107345f9f0f0d59e1731c4", "url": "https://files.pythonhosted.org/packages/ea/84/c558b19e8e8d3442e8394f313d74ffad4919dca963f1923567629f7dba09/pymongo-3.12.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "51d1d061df3995c2332ae78f036492cc188cb3da8ef122caeab3631a67bb477e", + "url": "https://files.pythonhosted.org/packages/ee/51/5460ecb24cb8ccd2973ec297454ae093a155a2ac516611deac8755f26d06/pymongo-3.12.3-cp310-cp310-manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "176fdca18391e1206c32fb1d8265628a84d28333c20ad19468d91e3e98312cd1", "url": "https://files.pythonhosted.org/packages/f0/4e/b2f5dc8584bc11ff871aab182ba15ab2c3d4d9f39cbd8c7749f0fd1275ea/pymongo-3.12.3-cp38-cp38-manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "463b974b7f49d65a16ca1435bc1c25a681bb7d630509dd23b2e819ed36da0b7f", + "url": "https://files.pythonhosted.org/packages/f0/8a/3be73e456170e9c63c557591660fbe8eb21f76dc9a7a33b9233687bee355/pymongo-3.12.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "845b178bd127bb074835d2eac635b980c58ec5e700ebadc8355062df708d5a71", @@ -3237,6 +3517,11 @@ "hash": "ef3992833fbd686ee783590639f4b8343a57f1f75de8633749d984dc0eb16c86", "url": "https://files.pythonhosted.org/packages/93/29/93ad2089a3317b00c9f5d863a532339aa44dcd2cd5f8d73c569ef2c9cddb/pyrsistent-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "c1beb78af5423b879edaf23c5591ff292cf7c33979734c99aa66d5914ead880f", + "url": "https://files.pythonhosted.org/packages/9f/4f/8342079ea331031ef9ed57edd312a9ad283bcc8adfaf268931ae356a09a6/pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "79ed12ba79935adaac1664fd7e0e585a22caa539dfc9b7c7c6d5ebf91fb89054", @@ -3252,10 +3537,25 @@ "hash": "4f5c2d012671b7391803263419e31b5c7c21e7c95c8760d7fc35602353dee714", "url": "https://files.pythonhosted.org/packages/b1/ff/93dea1abc3e2d44cee0f62974a1f133fc5a4c719c0978148726bd4957b52/pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "8c3aba3e01235221e5b229a6c05f585f344734bd1ad42a8ac51493d74722bbce", + "url": "https://files.pythonhosted.org/packages/c7/19/c343b14061907b629b765444b6436b160e2bd4184d17d4804bbe6381f6be/pyrsistent-0.20.0-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4", "url": "https://files.pythonhosted.org/packages/ce/3a/5031723c09068e9c8c2f0bc25c3a9245f2b1d1aea8396c787a408f2b95ca/pyrsistent-0.20.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "21cc459636983764e692b9eba7144cdd54fdec23ccdb1e8ba392a63666c60c34", + "url": "https://files.pythonhosted.org/packages/d7/b7/64a125c488243965b7c5118352e47c6f89df95b4ac306d31cee409153d57/pyrsistent-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f5ac696f02b3fc01a710427585c855f65cd9c640e14f52abe52020722bb4906b", + "url": "https://files.pythonhosted.org/packages/fe/a5/43c67bd5f80df9e7583042398d12113263ec57f27c0607abe9d78395d18f/pyrsistent-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" } ], "project_name": "pyrsistent", @@ -3309,13 +3609,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5", - "url": "https://files.pythonhosted.org/packages/0f/f9/cf155cf32ca7d6fa3601bc4c5dd19086af4b320b706919d48a4c79081cf9/pytest-8.3.2-py3-none-any.whl" + "hash": "a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2", + "url": "https://files.pythonhosted.org/packages/6b/77/7440a06a8ead44c7757a64362dd22df5760f9b12dc5f11b6188cd2fc27a0/pytest-8.3.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce", - "url": "https://files.pythonhosted.org/packages/b4/8c/9862305bdcd6020bc7b45b1b5e7397a6caf1a33d3025b9a003b39075ffb2/pytest-8.3.2.tar.gz" + "hash": "70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181", + "url": "https://files.pythonhosted.org/packages/8b/6c/62bbd536103af674e227c41a8f3dcd022d591f6eed5facb5a0f31ee33bbc/pytest-8.3.3.tar.gz" } ], "project_name": "pytest", @@ -3336,7 +3636,7 @@ "xmlschema; extra == \"dev\"" ], "requires_python": ">=3.8", - "version": "8.3.2" + "version": "8.3.3" }, { "artifacts": [ @@ -3420,19 +3720,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319", - "url": "https://files.pythonhosted.org/packages/9c/3d/a121f284241f08268b21359bd425f7d4825cffc5ac5cd0e1b3d82ffd2b10/pytz-2024.1-py2.py3-none-any.whl" + "hash": "31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", + "url": "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812", - "url": "https://files.pythonhosted.org/packages/90/26/9f1f00a5d021fff16dee3de13d43e5e978f3d58928e129c3a62cf7eb9738/pytz-2024.1.tar.gz" + "hash": "2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a", + "url": "https://files.pythonhosted.org/packages/3a/31/3c70bf7603cc2dca0f19bdc53b4537a797747a58875b552c8c413d963a3f/pytz-2024.2.tar.gz" } ], "project_name": "pytz", "requires_dists": [], "requires_python": null, - "version": "2024.1" + "version": "2024.2" }, { "artifacts": [ @@ -3486,16 +3786,36 @@ "hash": "3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", "url": "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", + "url": "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", + "url": "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", "url": "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz" }, + { + "algorithm": "sha256", + "hash": "23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", + "url": "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", "url": "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", + "url": "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", @@ -3511,6 +3831,21 @@ "hash": "82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", "url": "https://files.pythonhosted.org/packages/8c/ab/6226d3df99900e580091bb44258fde77a8433511a86883bd4681ea19a858/PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", + "url": "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", + "url": "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", + "url": "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", @@ -3573,23 +3908,6 @@ "requires_python": ">=3.7", "version": "5.0.8" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "6da77917788be277b70259edc0bb92fc6f28fe268b765b4ea88206cc3543a3e1", - "url": "https://files.pythonhosted.org/packages/3a/a8/4b73ae7466c2e9b63b3c4d66040d1c0eda1f764812353753702546d8c87f/rednose-1.3.0.tar.gz" - } - ], - "project_name": "rednose", - "requires_dists": [ - "colorama", - "setuptools", - "termstyle>=0.1.7" - ], - "requires_python": null, - "version": "1.3.0" - }, { "artifacts": [ { @@ -3811,6 +4129,11 @@ "hash": "e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28", "url": "https://files.pythonhosted.org/packages/5c/f0/702e56e12497da7960ed8a6972e5edc50545757c40f1a86a41a5217da7e9/ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462", + "url": "https://files.pythonhosted.org/packages/61/ee/4874c9fc96010fce85abefdcbe770650c5324288e988d7a48b527a423815/ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5", @@ -3821,15 +4144,40 @@ "hash": "e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d", "url": "https://files.pythonhosted.org/packages/87/a6/efb1add3bac06c25aa4c8ff8c6d3e5e91c539f6600832dd63ff98e2b44cc/ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334", + "url": "https://files.pythonhosted.org/packages/88/30/fc45b45d5eaf2ff36cffd215a2f85e9b90ac04e70b97fd4097017abfb567/ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b", "url": "https://files.pythonhosted.org/packages/8d/c0/fd7196ca7a1c3867e7068ad1c4ff9230291af3f8adab2f9c2c202ecaf9cb/ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f", + "url": "https://files.pythonhosted.org/packages/90/8c/6cdb44f548b29eb6328b9e7e175696336bc856de2ff82e5776f860f03822/ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_24_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d", + "url": "https://files.pythonhosted.org/packages/af/dc/133547f90f744a0c827bac5411d84d4e81da640deb3af1459e38c5f3b6a0/ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf", "url": "https://files.pythonhosted.org/packages/b2/ed/f221e60a4cdc7996aae23643da44b12ef33f457c2a52d590236a6950ac8e/ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d", + "url": "https://files.pythonhosted.org/packages/ca/01/37ac131614f71b98e9b148b2d7790662dcee92217d2fb4bac1aa377def33/ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412", + "url": "https://files.pythonhosted.org/packages/d3/62/c60b034d9a008bbd566eeecf53a5a4c73d191c8de261290db6761802b72d/ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl" } ], "project_name": "ruamel-yaml-clib", @@ -3879,13 +4227,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308", - "url": "https://files.pythonhosted.org/packages/cb/9c/9ad11ac06b97e55ada655f8a6bea9d1d3f06e120b178cd578d80e558191d/setuptools-74.1.2-py3-none-any.whl" + "hash": "35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2", + "url": "https://files.pythonhosted.org/packages/ff/ae/f19306b5a221f6a436d8f2238d5b80925004093fa3edea59835b514d9057/setuptools-75.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6", - "url": "https://files.pythonhosted.org/packages/3e/2c/f0a538a2f91ce633a78daaeb34cbfb93a54bd2132a6de1f6cec028eee6ef/setuptools-74.1.2.tar.gz" + "hash": "d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538", + "url": "https://files.pythonhosted.org/packages/27/b8/f21073fde99492b33ca357876430822e4800cdf522011f18041351dfa74b/setuptools-75.1.0.tar.gz" } ], "project_name": "setuptools", @@ -3897,16 +4245,20 @@ "importlib-metadata>=7.0.2; python_version < \"3.10\" and extra == \"type\"", "importlib-resources>=5.10.2; python_version < \"3.9\" and extra == \"core\"", "ini2toml[lite]>=0.14; extra == \"test\"", + "jaraco.collections; extra == \"core\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"test\"", "jaraco.develop>=7.21; sys_platform != \"cygwin\" and extra == \"type\"", "jaraco.envs>=2.2; extra == \"test\"", + "jaraco.functools; extra == \"core\"", "jaraco.packaging>=9.3; extra == \"doc\"", "jaraco.path>=3.2.0; extra == \"test\"", "jaraco.test; extra == \"test\"", "jaraco.text>=3.7; extra == \"core\"", "jaraco.tidelift>=1.4; extra == \"doc\"", + "more-itertools; extra == \"core\"", "more-itertools>=8.8; extra == \"core\"", "mypy==1.11.*; extra == \"type\"", + "packaging; extra == \"core\"", "packaging>=23.2; extra == \"test\"", "packaging>=24; extra == \"core\"", "pip>=19.1; extra == \"test\"", @@ -3942,7 +4294,7 @@ "wheel>=0.44.0; extra == \"test\"" ], "requires_python": ">=3.8", - "version": "74.1.2" + "version": "75.1.0" }, { "artifacts": [ @@ -3966,11 +4318,21 @@ "hash": "eed8cd98a7b24861da9d3d937f5fbfb6657350c547528a117297fe49e3960667", "url": "https://files.pythonhosted.org/packages/08/15/8b4e1a8c7729b37797d0eab1381f517f928bd323d17efa7f4414c3565e1f/simplejson-3.19.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "7b5c472099b39b274dcde27f1113db8d818c9aa3ba8f78cbb8ad04a4c1ac2118", + "url": "https://files.pythonhosted.org/packages/0f/55/d3da33ee3e708133da079b9d537693d7fef281e6f0d27921cc7e5b3ec523/simplejson-3.19.3-cp310-cp310-musllinux_1_2_x86_64.whl" + }, { "algorithm": "sha256", "hash": "2b737a5fefedb8333fa50b8db3dcc9b1d18fd6c598f89fa7debff8b46bf4e511", "url": "https://files.pythonhosted.org/packages/1c/73/14306559157a6faedb4ecae28ad907b64b5359be5c9ec79233546acb96a4/simplejson-3.19.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "50d8b742d74c449c4dcac570d08ce0f21f6a149d2d9cf7652dbf2ba9a1bc729a", + "url": "https://files.pythonhosted.org/packages/39/24/260ad03435ce8ef2436031951134659c7161776ec3a78094b35b9375ceea/simplejson-3.19.3-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "8e086896c36210ab6050f2f9f095a5f1e03c83fa0e7f296d6cba425411364680", @@ -4001,11 +4363,51 @@ "hash": "eb47ee773ce67476a960e2db4a0a906680c54f662521550828c0cc57d0099426", "url": "https://files.pythonhosted.org/packages/5b/1a/7994abb33e53ec972dd5e6dbb337b9070d3ad96017c4cff9d5dc83678ad4/simplejson-3.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "add8850db04b98507a8b62d248a326ecc8561e6d24336d1ca5c605bbfaab4cad", + "url": "https://files.pythonhosted.org/packages/5d/de/5b03fafe3003e32d179588953d38183af6c3747e95c7dcc668c4f9eb886a/simplejson-3.19.3-cp310-cp310-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "f8efb03ca77bd7725dfacc9254df00d73e6f43013cf39bd37ef1a8ed0ebb5165", + "url": "https://files.pythonhosted.org/packages/61/20/0035a288deaff05397d6cc0145b33f3dd2429b99cdc880de4c5eca41ca72/simplejson-3.19.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "dd011fc3c1d88b779645495fdb8189fb318a26981eebcce14109460e062f209b", + "url": "https://files.pythonhosted.org/packages/63/a1/dee207f357bcd6b106f2ca5129ee916c24993ba08b7dfbf9a37c22442ea9/simplejson-3.19.3-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "72e8abbc86fcac83629a030888b45fed3a404d54161118be52cb491cd6975d3e", + "url": "https://files.pythonhosted.org/packages/69/b3/89640bd676e26ea2315b5aaf80712a6fbbb4338e4caf872d91448502a19b/simplejson-3.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "ef59a53be400c1fad2c914b8d74c9d42384fed5174f9321dd021b7017fd40270", + "url": "https://files.pythonhosted.org/packages/76/37/012f5ad2f38afa28f8a6ad9da01dc0b64492ffbaf2a3f2f8a0e1fddf9c1d/simplejson-3.19.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "e1a1452ad5723ff129b081e3c8aa4ba56b8734fee4223355ed7b815a7ece69bc", "url": "https://files.pythonhosted.org/packages/7b/f7/bef9bc035f2e7eabc01469286238e99fd762010c714d3079925253d29f99/simplejson-3.19.3-cp38-cp38-musllinux_1_2_i686.whl" }, + { + "algorithm": "sha256", + "hash": "2f56eb03bc9e432bb81adc8ecff2486d39feb371abb442964ffb44f6db23b332", + "url": "https://files.pythonhosted.org/packages/7f/4b/9a132382982f8127bc7ce5212a5585d83c174707c9dd698d0cb6a0d41882/simplejson-3.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "637c4d4b81825c1f4d651e56210bd35b5604034b192b02d2d8f17f7ce8c18f42", + "url": "https://files.pythonhosted.org/packages/80/7b/45ef1da43f54d209ce2ef59b7356cda13f810186c381f38ae23a4d2b1337/simplejson-3.19.3-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "4dfa420bb9225dd33b6efdabde7c6a671b51150b9b1d9c4e5cd74d3b420b3fe1", + "url": "https://files.pythonhosted.org/packages/86/f3/a18b98a7a27548829f672754dd3940fb637a27981399838128d3e560087f/simplejson-3.19.3-cp310-cp310-musllinux_1_2_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "7e062767ac165df9a46963f5735aa4eee0089ec1e48b3f2ec46182754b96f55e", @@ -4046,6 +4448,11 @@ "hash": "4a0710d1a5e41c4f829caa1572793dd3130c8d65c2b194c24ff29c4c305c26e0", "url": "https://files.pythonhosted.org/packages/ca/26/ecac686556c7e3757abe345afcf167773d3317acd09ea0b60a02eb4db65f/simplejson-3.19.3-cp38-cp38-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "fc3dc9fb413fc34c396f52f4c87de18d0bd5023804afa8ab5cc224deeb6a9900", + "url": "https://files.pythonhosted.org/packages/d1/ce/e493116ff49fd215f7baa25195b8f684c91e65c153e2a57e04dc3f3a466b/simplejson-3.19.3-cp310-cp310-musllinux_1_2_i686.whl" + }, { "algorithm": "sha256", "hash": "6f455672f4738b0f47183c5896e3606cd65c9ddee3805a4d18e8c96aa3f47c84", @@ -4265,21 +4672,6 @@ "requires_python": ">=3.8", "version": "9.0.0" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "ef74b83698ea014112040cf32b1a093c1ab3d91c4dd18ecc03ec178fd99c9f9f", - "url": "https://files.pythonhosted.org/packages/65/53/4dfdfe12b499f375cc78caca9cf146c01e752bab7713de4510d35e3da306/termstyle-0.1.11.tar.gz" - } - ], - "project_name": "termstyle", - "requires_dists": [ - "setuptools" - ], - "requires_python": null, - "version": "0.1.11" - }, { "artifacts": [ { @@ -4439,6 +4831,16 @@ "hash": "4734ee0745d5928d0ba3a213647f1c4a74a2a28edc6d27b2d6d5bd9fa4319e27", "url": "https://files.pythonhosted.org/packages/0c/b3/3d2ca621d8dbeaf6c5afd0725e1b4bbd465077acc69eff1e9302735d1432/ujson-5.10.0-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88", + "url": "https://files.pythonhosted.org/packages/17/cd/9c6547169eb01a22b04cbb638804ccaeb3c2ec2afc12303464e0f9b2ee5a/ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a", + "url": "https://files.pythonhosted.org/packages/1a/3a/d3921b6f29bc744d8d6c56db5f8bbcbe55115fd0f2b79c3c43ff292cc7c9/ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0", @@ -4454,6 +4856,16 @@ "hash": "b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6", "url": "https://files.pythonhosted.org/packages/45/9c/168928f96be009b93161eeb19cd7e058c397a6f79daa76667a2f26a6d775/ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6", + "url": "https://files.pythonhosted.org/packages/51/bf/a3a38b2912288143e8e613c6c4c3f798b5e4e98c542deabf94c60237235f/ujson-5.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3", + "url": "https://files.pythonhosted.org/packages/59/1f/f7bc02a54ea7b47f3dc2d125a106408f18b0f47b14fc737f0913483ae82b/ujson-5.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5", @@ -4474,6 +4886,11 @@ "hash": "61e1591ed9376e5eddda202ec229eddc56c612b61ac6ad07f96b91460bb6c2fb", "url": "https://files.pythonhosted.org/packages/6e/07/41145ed78838385ded3aceedb1bae496e7fb1c558fcfa337fd51651d0ec5/ujson-5.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5", + "url": "https://files.pythonhosted.org/packages/70/5c/808fbf21470e7045d56a282cf5e85a0450eacdb347d871d4eb404270ee17/ujson-5.10.0-cp310-cp310-musllinux_1_2_i686.whl" + }, { "algorithm": "sha256", "hash": "ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996", @@ -4484,6 +4901,11 @@ "hash": "ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8", "url": "https://files.pythonhosted.org/packages/73/3d/41e78e7500e75eb6b5a7ab06907a6df35603b92ac6f939b86f40e9fe2c06/ujson-5.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd", + "url": "https://files.pythonhosted.org/packages/7d/91/91678e49a9194f527e60115db84368c237ac7824992224fac47dcb23a5c6/ujson-5.10.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4", @@ -4494,6 +4916,16 @@ "hash": "d47ebb01bd865fdea43da56254a3930a413f0c5590372a1241514abae8aa7c76", "url": "https://files.pythonhosted.org/packages/8d/af/5dc103cb4d08f051f82d162a738adb9da488d1e3fafb9fd9290ea3eabf8e/ujson-5.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51", + "url": "https://files.pythonhosted.org/packages/8f/6a/e1e8281408e6270d6ecf2375af14d9e2f41c402ab6b161ecfa87a9727777/ujson-5.10.0-cp310-cp310-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64", + "url": "https://files.pythonhosted.org/packages/95/53/e5f5e733fc3525e65f36f533b0dbece5e5e2730b760e9beacf7e3d9d8b26/ujson-5.10.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b", @@ -4509,6 +4941,11 @@ "hash": "78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753", "url": "https://files.pythonhosted.org/packages/a1/d7/27727f4de9f79f7be3e294f08d0640c4bba4c40d716a1523815f3d161e44/ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569", + "url": "https://files.pythonhosted.org/packages/b4/6d/0df8f7a6f1944ba619d93025ce468c9252aa10799d7140e07014dfc1a16c/ujson-5.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "73814cd1b9db6fc3270e9d8fe3b19f9f89e78ee9d71e8bd6c9a626aeaeaf16bd", @@ -4529,6 +4966,16 @@ "hash": "7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337", "url": "https://files.pythonhosted.org/packages/c2/6d/749c8349ad080325d9dbfabd7fadfa79e4bb8304e9e0f2c42f0419568328/ujson-5.10.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770", + "url": "https://files.pythonhosted.org/packages/d5/ec/370741e5e30d5f7dc7f31a478d5bec7537ce6bfb7f85e72acefbe09aa2b2/ujson-5.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf", + "url": "https://files.pythonhosted.org/packages/de/2f/1ed8c9b782fa4f44c26c1c4ec686d728a4865479da5712955daeef0b2e7b/ujson-5.10.0-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804", @@ -4544,10 +4991,20 @@ "hash": "b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1", "url": "https://files.pythonhosted.org/packages/f0/00/3110fd566786bfa542adb7932d62035e0c0ef662a8ff6544b6643b3d6fd7/ujson-5.10.0.tar.gz" }, + { + "algorithm": "sha256", + "hash": "fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746", + "url": "https://files.pythonhosted.org/packages/f1/04/f4e3883204b786717038064afd537389ba7d31a72b437c1372297cb651ea/ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "cc6139531f13148055d691e442e4bc6601f6dba1e6d521b1585d4788ab0bfad4", "url": "https://files.pythonhosted.org/packages/f5/cb/475defab49cac018d34ac7d47a2d5c8d764484ce8831d8fa8f523c41349d/ujson-5.10.0-cp38-cp38-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1", + "url": "https://files.pythonhosted.org/packages/fe/29/72b33a88f7fae3c398f9ba3e74dc2e5875989b25f1c1f75489c048a2cf4e/ujson-5.10.0-cp310-cp310-musllinux_1_2_aarch64.whl" } ], "project_name": "ujson", @@ -4559,13 +5016,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", - "url": "https://files.pythonhosted.org/packages/ca/1c/89ffc63a9605b583d5df2be791a27bc1a42b7c32bab68d3c8f2f73a98cd4/urllib3-2.2.2-py3-none-any.whl" + "hash": "ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", + "url": "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168", - "url": "https://files.pythonhosted.org/packages/43/6d/fa469ae21497ddc8bc93e5877702dca7cb8f911e337aca7452b5724f1bb6/urllib3-2.2.2.tar.gz" + "hash": "e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", + "url": "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz" } ], "project_name": "urllib3", @@ -4577,7 +5034,7 @@ "zstandard>=0.18.0; extra == \"zstd\"" ], "requires_python": ">=3.8", - "version": "2.2.2" + "version": "2.2.3" }, { "artifacts": [ @@ -4775,21 +5232,22 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255", - "url": "https://files.pythonhosted.org/packages/c4/44/f50f2d22cdfb6d56c03d1b4cc3cfa03ebee2f21b59a7768f151e43415ba5/Werkzeug-2.1.2-py3-none-any.whl" + "hash": "02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c", + "url": "https://files.pythonhosted.org/packages/4b/84/997bbf7c2bf2dc3f09565c6d0b4959fefe5355c18c4096cfd26d83e0785b/werkzeug-3.0.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6", - "url": "https://files.pythonhosted.org/packages/10/cf/97eb1a3847c01ae53e8376bc21145555ac95279523a935963dc8ff96c50b/Werkzeug-2.1.2.tar.gz" + "hash": "34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306", + "url": "https://files.pythonhosted.org/packages/0f/e2/6dbcaab07560909ff8f654d3a2e5a60552d937c909455211b1b36d7101dc/werkzeug-3.0.4.tar.gz" } ], "project_name": "werkzeug", "requires_dists": [ - "watchdog; extra == \"watchdog\"" + "MarkupSafe>=2.1.1", + "watchdog>=2.3; extra == \"watchdog\"" ], - "requires_python": ">=3.7", - "version": "2.1.2" + "requires_python": ">=3.8", + "version": "3.0.4" }, { "artifacts": [ @@ -4819,21 +5277,41 @@ "hash": "6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1", "url": "https://files.pythonhosted.org/packages/ff/21/abdedb4cdf6ff41ebf01a74087740a709e2edb146490e4d9beea054b0b7a/wrapt-1.16.0-py3-none-any.whl" }, + { + "algorithm": "sha256", + "hash": "bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136", + "url": "https://files.pythonhosted.org/packages/07/44/359e4724a92369b88dbf09878a7cde7393cf3da885567ea898e5904049a3/wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6", "url": "https://files.pythonhosted.org/packages/15/4e/081f59237b620a124b035f1229f55db40841a9339fdb8ef60b4decc44df9/wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72", + "url": "https://files.pythonhosted.org/packages/19/d4/cd33d3a82df73a064c9b6401d14f346e1d2fb372885f0295516ec08ed2ee/wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8", "url": "https://files.pythonhosted.org/packages/28/d3/4f079f649c515727c127c987b2ec2e0816b80d95784f2d28d1a57d2a1029/wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020", + "url": "https://files.pythonhosted.org/packages/32/12/e11adfde33444986135d8881b401e4de6cbb4cced046edc6b464e6ad7547/wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267", "url": "https://files.pythonhosted.org/packages/34/49/589db6fa2d5d428b71716815bca8b39196fdaeea7c247a719ed2f93b0ab4/wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf", + "url": "https://files.pythonhosted.org/packages/49/83/b40bc1ad04a868b5b5bcec86349f06c1ee1ea7afe51dc3e46131e4f39308/wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb", @@ -4849,6 +5327,11 @@ "hash": "8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0", "url": "https://files.pythonhosted.org/packages/69/21/b2ba809bafc9b6265e359f9c259c6d9a52a16cf6be20c72d95e76da609dd/wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440", + "url": "https://files.pythonhosted.org/packages/70/7d/3dcc4a7e96f8d3e398450ec7703db384413f79bd6c0196e0e139055ce00f/wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2", @@ -4874,6 +5357,11 @@ "hash": "b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c", "url": "https://files.pythonhosted.org/packages/a3/1c/226c2a4932e578a2241dcb383f425995f80224b446f439c2e112eb51c3a6/wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4", + "url": "https://files.pythonhosted.org/packages/a8/c6/5375258add3777494671d8cec27cdf5402abd91016dee24aa2972c61fedf/wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a", @@ -4889,11 +5377,21 @@ "hash": "1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca", "url": "https://files.pythonhosted.org/packages/c5/40/3eabe06c8dc54fada7364f34e8caa562efe3bf3f769bf3258de9c785a27f/wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487", + "url": "https://files.pythonhosted.org/packages/d1/c4/8dfdc3c2f0b38be85c8d9fdf0011ebad2f54e40897f9549a356bebb63a97/wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664", "url": "https://files.pythonhosted.org/packages/da/6f/6d0b3c4983f1fc764a422989dabc268ee87d937763246cd48aa92f1eed1e/wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0", + "url": "https://files.pythonhosted.org/packages/ef/58/2fde309415b5fa98fd8f5f4a11886cbf276824c4c64d45a39da342fff6fe/wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f", @@ -4993,13 +5491,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064", - "url": "https://files.pythonhosted.org/packages/07/9e/c96f7a4cd0bf5625bb409b7e61e99b1130dc63a98cb8b24aeabae62d43e8/zipp-3.20.1-py3-none-any.whl" + "hash": "a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350", + "url": "https://files.pythonhosted.org/packages/62/8b/5ba542fa83c90e09eac972fc9baca7a88e7e7ca4b221a89251954019308b/zipp-3.20.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b", - "url": "https://files.pythonhosted.org/packages/d3/8b/1239a3ef43a0d0ebdca623fb6413bc7702c321400c5fdd574f0b7aa0fbb4/zipp-3.20.1.tar.gz" + "hash": "bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29", + "url": "https://files.pythonhosted.org/packages/54/bf/5c0000c44ebc80123ecbdddba1f5dcd94a5ada602a9c225d84b5aaa55e86/zipp-3.20.2.tar.gz" } ], "project_name": "zipp", @@ -5025,7 +5523,7 @@ "sphinx>=3.5; extra == \"doc\"" ], "requires_python": ">=3.8", - "version": "3.20.1" + "version": "3.20.2" }, { "artifacts": [ @@ -5034,6 +5532,16 @@ "hash": "1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5", "url": "https://files.pythonhosted.org/packages/ed/cc/c89329723d7515898a1fc7ef5d251264078548c505719d13e9511800a103/zstandard-0.23.0-cp39-cp39-musllinux_1_2_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "157e89ceb4054029a289fb504c98c6a9fe8010f1680de0201b3eb5dc20aa6d9e", + "url": "https://files.pythonhosted.org/packages/09/4f/0cc49570141dd72d4d95dd6fcf09328d1b702c47a6ec12fbed3b8aed18a5/zstandard-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "77da4c6bfa20dd5ea25cbf12c76f181a8e8cd7ea231c673828d0386b1740b8dc", + "url": "https://files.pythonhosted.org/packages/12/89/75e633d0611c028e0d9af6df199423bf43f54bea5007e6718ab7132e234c/zstandard-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e", @@ -5054,6 +5562,11 @@ "hash": "837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259", "url": "https://files.pythonhosted.org/packages/1d/e5/9fe0dd8c85fdc2f635e6660d07872a5dc4b366db566630161e39f9f804e1/zstandard-0.23.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9", + "url": "https://files.pythonhosted.org/packages/2a/55/bd0487e86679db1823fc9ee0d8c9c78ae2413d34c0b461193b5f4c31d22f/zstandard-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a", @@ -5069,11 +5582,41 @@ "hash": "48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58", "url": "https://files.pythonhosted.org/packages/39/86/4fe79b30c794286110802a6cd44a73b6a314ac8196b9338c0fbd78c2407d/zstandard-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "27d3ef2252d2e62476389ca8f9b0cf2bbafb082a3b6bfe9d90cbcbb5529ecf7c", + "url": "https://files.pythonhosted.org/packages/41/7e/0012a02458e74a7ba122cd9cafe491facc602c9a17f590367da369929498/zstandard-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "752bf8a74412b9892f4e5b58f2f890a039f57037f52c89a740757ebd807f33ea", + "url": "https://files.pythonhosted.org/packages/44/f9/21a5fb9bb7c9a274b05ad700a82ad22ce82f7ef0f485980a1e98ed6e8c5f/zstandard-0.23.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "80080816b4f52a9d886e67f1f96912891074903238fe54f2de8b786f86baded2", + "url": "https://files.pythonhosted.org/packages/49/74/b7b3e61db3f88632776b78b1db597af3f44c91ce17d533e14a25ce6a2816/zstandard-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b2170c7e0367dde86a2647ed5b6f57394ea7f53545746104c6b09fc1f4223573", + "url": "https://files.pythonhosted.org/packages/4a/7a/bd7f6a21802de358b63f1ee636ab823711c25ce043a3e9f043b4fcb5ba32/zstandard-0.23.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "84433dddea68571a6d6bd4fbf8ff398236031149116a7fff6f777ff95cad3df9", + "url": "https://files.pythonhosted.org/packages/4a/7f/d8eb1cb123d8e4c541d4465167080bec88481ab54cd0b31eb4013ba04b95/zstandard-0.23.0-cp310-cp310-musllinux_1_2_i686.whl" + }, { "algorithm": "sha256", "hash": "29a2bc7c1b09b0af938b7a8343174b987ae021705acabcbae560166567f5a8db", "url": "https://files.pythonhosted.org/packages/59/8c/fe542982e63e1948066bf2adc18e902196eb08f3407188474b5a4e855e2e/zstandard-0.23.0-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ab19a2d91963ed9e42b4e8d77cd847ae8381576585bad79dbd0a8837a9f6620a", + "url": "https://files.pythonhosted.org/packages/5e/05/f7dccdf3d121309b60342da454d3e706453a31073e2c4dac8e1581861e44/zstandard-0.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d", @@ -5089,11 +5632,21 @@ "hash": "1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4", "url": "https://files.pythonhosted.org/packages/73/bf/fe62c0cd865c171ee8ed5bc83174b5382a2cb729c8d6162edfb99a83158b/zstandard-0.23.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "c16842b846a8d2a145223f520b7e18b57c8f476924bda92aeee3a88d11cfc391", + "url": "https://files.pythonhosted.org/packages/79/3b/775f851a4a65013e88ca559c8ae42ac1352db6fcd96b028d0df4d7d1d7b4/zstandard-0.23.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916", "url": "https://files.pythonhosted.org/packages/83/ff/a52ce725be69b86a2967ecba0497a8184540cc284c0991125515449e54e2/zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "59556bf80a7094d0cfb9f5e50bb2db27fefb75d5138bb16fb052b61b0e0eeeb0", + "url": "https://files.pythonhosted.org/packages/86/9d/3677a02e172dccd8dd3a941307621c0cbd7691d77cb435ac3c75ab6a3105/zstandard-0.23.0-cp310-cp310-musllinux_1_2_s390x.whl" + }, { "algorithm": "sha256", "hash": "32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045", @@ -5119,6 +5672,11 @@ "hash": "e2d1a054f8f0a191004675755448d12be47fa9bebbcffa3cdf01db19f2d30a54", "url": "https://files.pythonhosted.org/packages/ac/a5/b8c9d79511796684a2a653843e0464dfcc11a052abb5855af7035d919ecc/zstandard-0.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "dc5d1a49d3f8262be192589a4b72f0d03b72dcf46c51ad5852a4fdc67be7b9e4", + "url": "https://files.pythonhosted.org/packages/ac/eb/4b58b5c071d177f7dc027129d20bd2a44161faca6592a67f8fcb0b88b3ae/zstandard-0.23.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e", @@ -5144,6 +5702,16 @@ "hash": "a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9", "url": "https://files.pythonhosted.org/packages/e0/c8/8aed1f0ab9854ef48e5ad4431367fcb23ce73f0304f7b72335a8edc66556/zstandard-0.23.0-cp39-cp39-musllinux_1_2_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880", + "url": "https://files.pythonhosted.org/packages/e1/8a/ccb516b684f3ad987dfee27570d635822e3038645b1a950c5e8022df1145/zstandard-0.23.0-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "203d236f4c94cd8379d1ea61db2fce20730b4c38d7f1c34506a31b34edc87bdd", + "url": "https://files.pythonhosted.org/packages/e7/7c/aaa7cd27148bae2dc095191529c0570d16058c54c4597a7d118de4b21676/zstandard-0.23.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", @@ -5190,15 +5758,13 @@ "only_builds": [], "only_wheels": [], "path_mappings": {}, - "pex_version": "2.2.1", - "pip_version": "23.1.2", + "pex_version": "2.3.1", + "pip_version": "24.0", "prefer_older_binary": false, "requirements": [ - "PyYAML", "RandomWords", "apscheduler", "argcomplete", - "argparse", "beautifulsoup4", "ciso8601", "cryptography", @@ -5221,9 +5787,6 @@ "mock", "mongoengine<0.24.0,>=0.21.0", "networkx", - "nose", - "nose-parallel", - "nose-timer", "orjson", "orquesta", "oslo.config", @@ -5245,8 +5808,8 @@ "python-statsd", "pytz", "pywinrm", + "pyyaml", "redis", - "rednose", "requests", "retrying", "routes", @@ -5271,7 +5834,7 @@ "zstandard" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/twine.lock b/lockfiles/twine.lock index 1dbe3a0dfa..8840b2e7cf 100644 --- a/lockfiles/twine.lock +++ b/lockfiles/twine.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "colorama>=0.4.3", @@ -28,6 +28,35 @@ "locked_resolves": [ { "locked_requirements": [ + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "73e0179647803d3726d82e76089d01d8549ceca9bace469953fcb4d97cf2d417", + "url": "https://files.pythonhosted.org/packages/75/ac/019f3130d55e4a9b014a3fc935316ff719b41b6461192c413bc12e11347a/backports.tarfile-1.1.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9c2ef9696cb73374f7164e17fc761389393ca76777036f5aad42e8b93fcd8009", + "url": "https://files.pythonhosted.org/packages/78/b9/45c54e950a3425bb1c23011e4fc045b3a9a7bae84eb4de7614a6971210d9/backports_tarfile-1.1.1.tar.gz" + } + ], + "project_name": "backports-tarfile", + "requires_dists": [ + "furo; extra == \"docs\"", + "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test; extra == \"testing\"", + "pytest!=8.1.*,>=6; extra == \"testing\"", + "pytest-checkdocs>=2.4; extra == \"testing\"", + "pytest-cov; extra == \"testing\"", + "pytest-enabler>=2.2; extra == \"testing\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-lint; extra == \"docs\"", + "sphinx>=3.5; extra == \"docs\"" + ], + "requires_python": ">=3.8", + "version": "1.1.1" + }, { "artifacts": [ { @@ -63,6 +92,11 @@ "hash": "748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000", "url": "https://files.pythonhosted.org/packages/20/f8/5931cfb7a8cc15d224099cead5e5432efe729bd61abce72d9b3e51e5800b/cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684", + "url": "https://files.pythonhosted.org/packages/22/05/43cfda378da7bb0aa19b3cf34fe54f8867b0d581294216339d87deefd69c/cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872", @@ -78,6 +112,16 @@ "hash": "9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8", "url": "https://files.pythonhosted.org/packages/50/bd/17a8f9ac569d328de304e7318d7707fcdb6f028bcc194d80cfc654902007/cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7", + "url": "https://files.pythonhosted.org/packages/54/49/b8875986beef2e74fc668b95f2df010e354f78e009d33d95b375912810c3/cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673", + "url": "https://files.pythonhosted.org/packages/57/3a/c263cf4d5b02880274866968fa2bf196a02c4486248bc164732319b4a4c0/cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0", @@ -108,16 +152,46 @@ "hash": "582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed", "url": "https://files.pythonhosted.org/packages/9d/da/e6dbf22b66899419e66c501ae5f1cf3d69979d4c75ad30da683f60abba94/cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088", + "url": "https://files.pythonhosted.org/packages/aa/aa/1c43e48a6f361d1529f9e4602d6992659a0107b5f21cae567e2eddcf8d66/cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4", "url": "https://files.pythonhosted.org/packages/ae/00/831d01e63288d1654ed3084a6ac8b0940de6dc0ada4ba71b830fff7a0088/cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9", + "url": "https://files.pythonhosted.org/packages/c4/01/f5116266fe80c04d4d1cc96c3d355606943f9fb604a810e0b02228a0ce19/cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614", + "url": "https://files.pythonhosted.org/packages/c9/7c/43d81bdd5a915923c3bad5bb4bff401ea00ccc8e28433fb6083d2e3bf58e/cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098", "url": "https://files.pythonhosted.org/packages/ea/ac/e9e77bc385729035143e54cc8c4785bd480eaca9df17565963556b0b7a93/cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743", + "url": "https://files.pythonhosted.org/packages/eb/de/4f644fc78a1144a897e1f908abfb2058f7be05a8e8e4fe90b7f41e9de36b/cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d", + "url": "https://files.pythonhosted.org/packages/ee/68/74a2b9f9432b70d97d1184cdabf32d7803124c228adef9481d280864a4a7/cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896", + "url": "https://files.pythonhosted.org/packages/f0/31/a6503a5c4874fb4d4c2053f73f09a957cb427b6943fab5a43b8e156df397/cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324", @@ -143,6 +217,11 @@ "hash": "3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", "url": "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl" }, + { + "algorithm": "sha256", + "hash": "1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", + "url": "https://files.pythonhosted.org/packages/05/8c/eb854996d5fef5e4f33ad56927ad053d04dc820e4a3d39023f35cad72617/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", @@ -163,11 +242,21 @@ "hash": "68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", "url": "https://files.pythonhosted.org/packages/2a/9d/a6d15bd1e3e2914af5955c8eb15f4071997e7078419328fee93dfd497eb7/charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", + "url": "https://files.pythonhosted.org/packages/2b/61/095a0aa1a84d1481998b534177c8566fdc50bb1233ea9a0478cd3cc075bd/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", "url": "https://files.pythonhosted.org/packages/33/95/ef68482e4a6adf781fae8d183fb48d6f2be8facb414f49c90ba6a5149cd1/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", + "url": "https://files.pythonhosted.org/packages/33/c3/3b96a435c5109dd5b6adc8a59ba1d678b302a97938f032e3770cc84cd354/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", @@ -183,11 +272,26 @@ "hash": "22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", "url": "https://files.pythonhosted.org/packages/3d/85/5b7416b349609d20611a64718bed383b9251b5a601044550f0c8983b8900/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", + "url": "https://files.pythonhosted.org/packages/3f/ba/3f5e7be00b215fa10e13d64b1f6237eb6ebea66676a41b2bcdd09fe74323/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", + "url": "https://files.pythonhosted.org/packages/43/05/3bf613e719efe68fb3a77f9c536a389f35b95d75424b96b426a47a45ef1d/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", "url": "https://files.pythonhosted.org/packages/44/80/b339237b4ce635b4af1c73742459eee5f97201bd92b2371c53e11958392e/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", + "url": "https://files.pythonhosted.org/packages/46/6a/d5c26c41c49b546860cc1acabdddf48b0b3fb2685f4f5617ac59261b44ae/charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", @@ -203,6 +307,11 @@ "hash": "ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561", "url": "https://files.pythonhosted.org/packages/54/7f/cad0b328759630814fcf9d804bfabaf47776816ad4ef2e9938b7e1123d04/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", + "url": "https://files.pythonhosted.org/packages/58/78/a0bc646900994df12e07b4ae5c713f2b3e5998f58b9d3720cce2aa45652f/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", @@ -233,6 +342,11 @@ "hash": "2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", "url": "https://files.pythonhosted.org/packages/9e/ef/cd47a63d3200b232792e361cd67530173a09eb011813478b1c0fb8aa7226/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", + "url": "https://files.pythonhosted.org/packages/a8/31/47d018ef89f95b8aded95c589a77c072c55e94b50a41aa99c0a2008a45a4/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", @@ -243,6 +357,11 @@ "hash": "06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", "url": "https://files.pythonhosted.org/packages/b3/c1/ebca8e87c714a6a561cfee063f0655f742e54b8ae6e78151f60ba8708b3a/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", + "url": "https://files.pythonhosted.org/packages/b8/60/e2f67915a51be59d4539ed189eb0a2b0d292bf79270410746becb32bc2c3/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", @@ -258,21 +377,41 @@ "hash": "d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", "url": "https://files.pythonhosted.org/packages/c2/65/52aaf47b3dd616c11a19b1052ce7fa6321250a7a0b975f48d8c366733b9f/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", + "url": "https://files.pythonhosted.org/packages/cc/94/f7cf5e5134175de79ad2059edf2adce18e0685ebdb9227ff0139975d0e93/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", "url": "https://files.pythonhosted.org/packages/d1/2f/0d1efd07c74c52b6886c32a3b906fb8afd2fecf448650e73ecb90a5a27f1/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", + "url": "https://files.pythonhosted.org/packages/da/f1/3702ba2a7470666a62fd81c58a4c40be00670e5006a67f4d626e57f013ae/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", "url": "https://files.pythonhosted.org/packages/e1/9c/60729bf15dc82e3aaf5f71e81686e42e50715a1399770bcde1a9e43d09db/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", + "url": "https://files.pythonhosted.org/packages/eb/5c/97d97248af4920bc68687d9c3b3c0f47c910e21a8ff80af4565a576bd2f0/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl" + }, { "algorithm": "sha256", "hash": "6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", "url": "https://files.pythonhosted.org/packages/ef/d4/a1d72a8f6aa754fdebe91b848912025d30ab7dced61e9ed8aabbf791ed65/charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", + "url": "https://files.pythonhosted.org/packages/f6/93/bb6cbeec3bf9da9b2eba458c15966658d1daa8b982c642f81c93ad9b40e1/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", @@ -339,6 +478,11 @@ "hash": "e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1", "url": "https://files.pythonhosted.org/packages/50/26/248cd8b6809635ed412159791c0d3869d8ec9dfdc57d428d500a14d425b7/cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2", + "url": "https://files.pythonhosted.org/packages/59/48/519ecd6b65dc9ea7c8111dfde7c9ed61aeb90fe59c6b4454900bcd3e3286/cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" + }, { "algorithm": "sha256", "hash": "b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1", @@ -359,6 +503,11 @@ "hash": "5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8", "url": "https://files.pythonhosted.org/packages/6d/4d/f7c14c7a49e35df829e04d451a57b843208be7442c8e087250c195775be1/cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c", + "url": "https://files.pythonhosted.org/packages/6e/8d/6cce88bdeb26b4ec14b23ab9f0c2c7c0bf33ef4904bfa952c5db1749fd37/cryptography-42.0.5-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922", @@ -369,6 +518,11 @@ "hash": "b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278", "url": "https://files.pythonhosted.org/packages/8c/50/9185cca136596448d9cc595ae22a9bd4412ad35d812550c37c1390d54673/cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8", + "url": "https://files.pythonhosted.org/packages/9f/c3/3d2d9bb2ff9e15b5ababc370ae85b377eacc8e3d54fcb03225471e41a1d8/cryptography-42.0.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl" + }, { "algorithm": "sha256", "hash": "3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc", @@ -468,19 +622,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", - "url": "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl" + "hash": "82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0", + "url": "https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06aa57dbb1992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", - "url": "https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2/idna-3.6.tar.gz" + "hash": "028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc", + "url": "https://files.pythonhosted.org/packages/21/ed/f86a79a07470cb07819390452f178b3bef1d375f2ec021ecfc709fc7cf07/idna-3.7.tar.gz" } ], "project_name": "idna", "requires_dists": [], "requires_python": ">=3.5", - "version": "3.6" + "version": "3.7" }, { "artifacts": [ @@ -593,46 +747,46 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5d9e95ca0faa78943ed66f6bc658dd637430f16125d86988e77844c741ff2f11", - "url": "https://files.pythonhosted.org/packages/0a/de/3f889cd55e69f0a91b396f6799ca31ea0d6869cde338e7c79335699090cb/jaraco.context-4.3.0-py3-none-any.whl" + "hash": "3e16388f7da43d384a1a7cd3452e72e14732ac9fe459678773a3608a812bf266", + "url": "https://files.pythonhosted.org/packages/d2/40/11b7bc1898cf1dcb87ccbe09b39f5088634ac78bb25f3383ff541c2b40aa/jaraco.context-5.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "4dad2404540b936a20acedec53355bdaea223acb88fd329fa6de9261c941566e", - "url": "https://files.pythonhosted.org/packages/7c/b4/fa71f82b83ebeed95fe45ce587d6cba85b7c09ef3d9f61602f92f45e90db/jaraco.context-4.3.0.tar.gz" + "hash": "c2f67165ce1f9be20f32f650f25d8edfc1646a8aeee48ae06fb35f90763576d2", + "url": "https://files.pythonhosted.org/packages/c9/60/e83781b07f9a66d1d102a0459e5028f3a7816fdd0894cba90bee2bbbda14/jaraco.context-5.3.0.tar.gz" } ], "project_name": "jaraco-context", "requires_dists": [ - "flake8<5; extra == \"testing\"", + "backports.tarfile; python_version < \"3.12\"", "furo; extra == \"docs\"", - "jaraco.packaging>=9; extra == \"docs\"", + "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", - "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "portend; extra == \"testing\"", + "pytest!=8.1.1,>=6; extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", - "pytest-enabler>=1.3; extra == \"testing\"", - "pytest-flake8; python_version < \"3.12\" and extra == \"testing\"", - "pytest-mypy>=0.9.1; platform_python_implementation != \"PyPy\" and extra == \"testing\"", - "pytest>=6; extra == \"testing\"", + "pytest-enabler>=2.2; extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", + "pytest-ruff>=0.2.1; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], - "requires_python": ">=3.7", - "version": "4.3.0" + "requires_python": ">=3.8", + "version": "5.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "daf276ddf234bea897ef14f43c4e1bf9eefeac7b7a82a4dd69228ac20acff68d", - "url": "https://files.pythonhosted.org/packages/4c/57/726a9c80c1b36f98b497debd72f4c81ae444d55abf9647367e5d53e1cc93/jaraco.functools-4.0.0-py3-none-any.whl" + "hash": "3b24ccb921d6b593bdceb56ce14799204f473976e2a9d4b15b04d0f2c2326664", + "url": "https://files.pythonhosted.org/packages/c3/ac/d0bf0d37a9f95f69a5efc5685d9166ee34a664d3cd29a9c139989512fe14/jaraco.functools-4.0.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c279cb24c93d694ef7270f970d499cab4d3813f4e08273f95398651a634f0925", - "url": "https://files.pythonhosted.org/packages/57/7c/fe770e264913f9a49ddb9387cca2757b8d7d26f06735c1bfbb018912afce/jaraco.functools-4.0.0.tar.gz" + "hash": "d33fa765374c0611b52f8b3a795f8900869aa88c84769d4d1746cd68fb28c3e8", + "url": "https://files.pythonhosted.org/packages/bc/66/746091bed45b3683d1026cb13b8b7719e11ccc9857b18d29177a18838dc9/jaraco_functools-4.0.1.tar.gz" } ], "project_name": "jaraco-functools", @@ -642,12 +796,11 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "more-itertools", - "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-enabler>=2.2; extra == \"testing\"", - "pytest-mypy>=0.9.1; platform_python_implementation != \"PyPy\" and extra == \"testing\"", - "pytest-ruff; extra == \"testing\"", + "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-ruff>=0.2.1; extra == \"testing\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", @@ -655,7 +808,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.0.0" + "version": "4.0.1" }, { "artifacts": [ @@ -688,13 +841,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "26fc12e6a329d61d24aa47b22a7c5c3f35753df7d8f2860973cf94f4e1fb3427", - "url": "https://files.pythonhosted.org/packages/51/8b/0728346fb9d69c2be2c67a315fc1a53c1a58959fcbdbebdb852d01b156a9/keyring-25.1.0-py3-none-any.whl" + "hash": "19f17d40335444aab84b19a0d16a77ec0758a9c384e3446ae2ed8bd6d53b67a5", + "url": "https://files.pythonhosted.org/packages/3d/38/0a674d3b515693948e9b61c766d25e78e6466800e478a352f9e42415fdbe/keyring-25.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7230ea690525133f6ad536a9b5def74a4bd52642abe594761028fc044d7c7893", - "url": "https://files.pythonhosted.org/packages/18/ec/cc0afdcd7538d4942a6b78f858139120a8c7999e554004080ed312e43886/keyring-25.1.0.tar.gz" + "hash": "7045f367268ce42dba44745050164b431e46f6e92f99ef2937dfadaef368d8cf", + "url": "https://files.pythonhosted.org/packages/b8/09/fdd3a390518e3aebeec0d7aceae7f9152da1fd2484f12f1b3a12a74aa079/keyring-25.2.0.tar.gz" } ], "project_name": "keyring", @@ -709,7 +862,7 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "jeepney>=0.4.2; sys_platform == \"linux\"", - "pytest!=8.1.1,>=6; extra == \"testing\"", + "pytest!=8.1.*,>=6; extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-enabler>=2.2; extra == \"testing\"", @@ -722,7 +875,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "25.1.0" + "version": "25.2.0" }, { "artifacts": [ @@ -1118,7 +1271,7 @@ "twine<3.8,>=3.7.1" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/pants.toml b/pants.toml index 41085db3a9..8d185e5cf9 100644 --- a/pants.toml +++ b/pants.toml @@ -123,29 +123,42 @@ tool_interpreter_constraints = "CPython>=3.8,<3.10" # resolver_version is always "pip-2020-resolver". legacy is not supported. enable_resolves = true default_resolve = "st2" -# python_distributions needs a single constraint (vs one line per python version). -interpreter_constraints = ["%(st2_interpreter_constraints)s"] +# these are the primary constraints for st2 code +interpreter_constraints = [ + # python_distributions needs a single constraint (vs one line per python version). + "CPython>=3.8,<3.11", + # NB: constraints for tools defined below +] [python.resolves] # st2 is the primary resolve -st2 = "lockfiles/st2.lock" +st2 = "lockfiles/st2.lock" # tool and misc other resolves (for most, see //BUILD.tools) -bandit = "lockfiles/bandit.lock" -black = "lockfiles/black.lock" -flake8 = "lockfiles/flake8.lock" +bandit = "lockfiles/bandit.lock" +black = "lockfiles/black.lock" +flake8 = "lockfiles/flake8.lock" pants-plugins = "lockfiles/pants-plugins.lock" # see //pants-plugins/BUILD -pylint = "lockfiles/pylint.lock" # see //pylint_plugins/BUILD -pytest = "lockfiles/pytest.lock" -twine = "lockfiles/twine.lock" +pylint = "lockfiles/pylint.lock" # see //pylint_plugins/BUILD +pytest = "lockfiles/pytest.lock" +setuptools = "lockfiles/setuptools.lock" +twine = "lockfiles/twine.lock" [python.resolves_to_interpreter_constraints] -bandit = ["%(tool_interpreter_constraints)s"] -black = ["%(tool_interpreter_constraints)s"] -flake8 = ["%(tool_interpreter_constraints)s"] -pants-plugins = ["%(pants_plugins_interpreter_constraints)s"] -pylint = ["%(tool_interpreter_constraints)s"] -pytest = ["%(tool_interpreter_constraints)s"] -twine = ["%(tool_interpreter_constraints)s"] +# for tools, we have to include constraints for st2 and pants-plugins +bandit = ["CPython>=3.8,<3.11"] +black = ["CPython>=3.8,<3.11"] +flake8 = ["CPython>=3.8,<3.11"] + +pants-plugins = [ + # this should match the pants interpreter_constraints: + # https://github.com/pantsbuild/pants/blob/2.18.x/pants.toml#L144 + # See: https://www.pantsbuild.org/docs/prerequisites + "CPython==3.9.*", +] +pylint = ["CPython>=3.8,<3.11"] +pytest = ["CPython>=3.8,<3.11"] +setuptools = ["CPython>=3.8,<3.11"] +twine = ["CPython>=3.8,<3.11"] [python.resolves_to_constraints_file] # Our direct requirements are in requirements-pants.txt; diff --git a/requirements-pants.txt b/requirements-pants.txt index 9fd3f26997..d9a68e6a71 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -8,14 +8,13 @@ apscheduler argcomplete -argparse ciso8601 cryptography editor eventlet # flex parses the openapi 2 spec in our router flex -# gitpython & gitdb are used for pack management +# gitdb and gitpython are used for pack management gitdb gitpython # st2common/tests/integration/test_util_green.py requires greenlet (as does eventlet) @@ -32,12 +31,13 @@ mongoengine>=0.21.0,<0.24.0 # networkx version is constrained in orquesta. networkx orjson -orquesta @ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +# Temporarily use fork until PR #266 is merged. +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 # Historical reference: https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 # Relaxed pinning for py3.10 support. oslo.config paramiko -# we use pip at runtime +# pip is used at runtime (24.0 is available for py3.8 to py3.10) pip # prance is used by st2-validate-api-spec to validate the openapi spec # prance needs flex, but do not use the extra as that gets an old version. @@ -56,7 +56,7 @@ python-dateutil python-json-logger python-statsd pytz -PyYAML +pyyaml # RandomWords used in some tests RandomWords requests @@ -92,15 +92,3 @@ zstandard # tooz backends redis zake - -# was in fixed-requirements.txt, but not in requirements-pants.txt -# keyczar is used by a python2-only test. -#python-keyczar - -########### - -# remove once we switch to pytest -nose -nose-timer -nose-parallel -rednose diff --git a/requirements.txt b/requirements.txt index 9896d5581e..84c772a678 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,18 +5,18 @@ # If you want to update depdencies for a single component, modify the # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt -MarkupSafe==2.0.1 +MarkupSafe RandomWords amqp==5.2.0 apscheduler==3.10.4 argcomplete==3.4.0 bcrypt==4.2.0 cffi==1.17.1 -chardet==3.0.4 +chardet ciso8601 cryptography==43.0.1 decorator==5.1.1 -dnspython==1.16.0 +dnspython==2.6.1 editor==1.6.6 eventlet==0.36.1 flex==6.14.1 @@ -33,12 +33,9 @@ lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" mock==5.1.0 mongoengine==0.23.1 -networkx==2.8.8 -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 +networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 oslo.config==9.6.0 oslo.utils==7.3.0 paramiko==3.4.1 @@ -53,6 +50,7 @@ pymongo==3.12.3 pyparsing==3.1.4 pyrabbit pysocks +pytest python-dateutil==2.9.0.post0 python-json-logger python-statsd==2.1.0 @@ -60,7 +58,6 @@ pytz==2024.1 pywinrm==0.5.0 pyyaml==6.0.2 redis==5.0.8 -rednose requests==2.32.3 retrying==1.3.4 routes==2.5.1 @@ -75,7 +72,6 @@ stevedore==5.3.0 tenacity==9.0.0 tooz==6.3.0 typing-extensions==4.12.2 -unittest2 webob==1.8.8 webtest zake==0.2.2 diff --git a/st2actions/in-requirements.txt b/st2actions/in-requirements.txt index 14cda20b57..2f0cbad6c7 100644 --- a/st2actions/in-requirements.txt +++ b/st2actions/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! apscheduler python-dateutil eventlet diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 7e66d5f5bd..3ee30758eb 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -5,9 +5,9 @@ # If you want to update depdencies for a single component, modify the # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt -MarkupSafe==2.0.1 +MarkupSafe apscheduler==3.10.4 -chardet==3.0.4 +chardet eventlet==0.36.1 gitpython==3.1.43 jinja2==3.1.4 diff --git a/st2actions/tests/unit/test_worker.py b/st2actions/tests/unit/test_worker.py index ca2bf172dc..9f78b3cf89 100644 --- a/st2actions/tests/unit/test_worker.py +++ b/st2actions/tests/unit/test_worker.py @@ -19,6 +19,7 @@ import mock import os from oslo_config import cfg +from tooz.drivers.redis import RedisDriver import tempfile import st2actions.worker as actions_worker @@ -169,7 +170,7 @@ def test_worker_shutdown(self): runner_thread.wait() @mock.patch.object( - coordination.NoOpDriver, + RedisDriver, "get_members", mock.MagicMock(return_value=coordination.NoOpAsyncResult("member-1")), ) @@ -177,6 +178,15 @@ def test_worker_graceful_shutdown_with_multiple_runners(self): cfg.CONF.set_override( name="graceful_shutdown", override=True, group="actionrunner" ) + cfg.CONF.set_override( + name="service_registry", override=True, group="coordination" + ) + cfg.CONF.set_override( + name="exit_still_active_check", override=10, group="actionrunner" + ) + cfg.CONF.set_override( + name="still_active_check_interval", override=1, group="actionrunner" + ) action_worker = actions_worker.get_worker() temp_file = None @@ -237,6 +247,16 @@ def test_worker_graceful_shutdown_with_single_runner(self): cfg.CONF.set_override( name="graceful_shutdown", override=True, group="actionrunner" ) + cfg.CONF.set_override( + name="service_registry", override=True, group="coordination" + ) + cfg.CONF.set_override( + name="exit_still_active_check", override=10, group="actionrunner" + ) + cfg.CONF.set_override( + name="still_active_check_interval", override=1, group="actionrunner" + ) + action_worker = actions_worker.get_worker() temp_file = None diff --git a/st2actions/tests/unit/test_workflow_engine.py b/st2actions/tests/unit/test_workflow_engine.py index 955f7ca2f0..b051edcb94 100644 --- a/st2actions/tests/unit/test_workflow_engine.py +++ b/st2actions/tests/unit/test_workflow_engine.py @@ -23,6 +23,7 @@ from orquesta import statuses as wf_statuses from oslo_config import cfg from tooz import coordination +from tooz.drivers.redis import RedisDriver # XXX: actionsensor import depends on config being setup. import st2tests.config as tests_config @@ -146,8 +147,12 @@ def test_process(self): lv_ac_db = lv_db_access.LiveAction.get_by_id(str(lv_ac_db.id)) self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_SUCCEEDED) - @mock.patch.object(coordination_service.NoOpDriver, "get_lock") + @mock.patch.object(RedisDriver, "get_lock") def test_process_error_handling(self, mock_get_lock): + tests_config.parse_args() + cfg.CONF.set_override( + name="service_registry", override=True, group="coordination" + ) expected_errors = [ { "message": "Execution failed. See result for details.", @@ -161,7 +166,6 @@ def test_process_error_handling(self, mock_get_lock): "route": 0, }, ] - mock_get_lock.side_effect = coordination_service.NoOpLock(name="noop") wf_meta = self.get_wf_fixture_meta_data(TEST_PACK_PATH, "sequential.yaml") lv_ac_db = lv_db_models.LiveActionDB(action=wf_meta["name"]) @@ -182,8 +186,6 @@ def test_process_error_handling(self, mock_get_lock): task_execution=str(t1_ex_db.id) )[0] mock_get_lock.side_effect = [ - coordination.ToozConnectionError("foobar"), - coordination.ToozConnectionError("foobar"), coordination.ToozConnectionError("foobar"), coordination.ToozConnectionError("foobar"), coordination.ToozConnectionError("foobar"), @@ -204,7 +206,7 @@ def test_process_error_handling(self, mock_get_lock): self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_FAILED) @mock.patch.object( - coordination_service.NoOpDriver, + RedisDriver, "get_lock", ) @mock.patch.object( @@ -216,6 +218,7 @@ def test_process_error_handling_has_error(self, mock_get_lock): mock_get_lock.side_effect = coordination_service.NoOpLock(name="noop") wf_meta = self.get_wf_fixture_meta_data(TEST_PACK_PATH, "sequential.yaml") lv_ac_db = lv_db_models.LiveActionDB(action=wf_meta["name"]) + lv_ac_db, ac_ex_db = action_service.request(lv_ac_db) # Assert action execution is running. @@ -266,15 +269,20 @@ def test_process_error_handling_has_error(self, mock_get_lock): lv_ac_db = lv_db_access.LiveAction.get_by_id(str(lv_ac_db.id)) self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_CANCELED) - @mock.patch.object( - coordination_service.NoOpDriver, - "get_members", - mock.MagicMock(return_value=coordination_service.NoOpAsyncResult("")), - ) def test_workflow_engine_shutdown(self): + cfg.CONF.set_override( + name="graceful_shutdown", override=True, group="actionrunner" + ) cfg.CONF.set_override( name="service_registry", override=True, group="coordination" ) + cfg.CONF.set_override( + name="exit_still_active_check", override=4, group="workflow_engine" + ) + cfg.CONF.set_override( + name="still_active_check_interval", override=1, group="workflow_engine" + ) + wf_meta = self.get_wf_fixture_meta_data(TEST_PACK_PATH, "sequential.yaml") lv_ac_db = lv_db_models.LiveActionDB(action=wf_meta["name"]) lv_ac_db, ac_ex_db = action_service.request(lv_ac_db) @@ -287,11 +295,10 @@ def test_workflow_engine_shutdown(self): )[0] self.assertEqual(wf_ex_db.status, action_constants.LIVEACTION_STATUS_RUNNING) workflow_engine = workflows.get_engine() - eventlet.spawn(workflow_engine.shutdown) # Sleep for few seconds to ensure execution transitions to pausing. - eventlet.sleep(5) + eventlet.sleep(8) lv_ac_db = lv_db_access.LiveAction.get_by_id(str(lv_ac_db.id)) self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_PAUSING) @@ -329,7 +336,7 @@ def test_workflow_engine_shutdown(self): ) @mock.patch.object( - coordination_service.NoOpDriver, + RedisDriver, "get_members", mock.MagicMock(return_value=coordination_service.NoOpAsyncResult("member-1")), ) @@ -403,7 +410,7 @@ def test_workflow_engine_shutdown_with_service_registry_disabled(self): self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_RUNNING) @mock.patch.object( - coordination_service.NoOpDriver, + RedisDriver, "get_lock", mock.MagicMock(return_value=coordination_service.NoOpLock(name="noop")), ) @@ -460,7 +467,7 @@ def test_workflow_engine_shutdown_first_then_start(self): ) @mock.patch.object( - coordination_service.NoOpDriver, + RedisDriver, "get_lock", mock.MagicMock(return_value=coordination_service.NoOpLock(name="noop")), ) @@ -484,15 +491,15 @@ def test_workflow_engine_start_first_then_shutdown(self): self.assertEqual(wf_ex_db.status, action_constants.LIVEACTION_STATUS_RUNNING) workflow_engine = workflows.get_engine() + RedisDriver.get_members = mock.MagicMock( + return_value=coordination_service.NoOpAsyncResult("member-1") + ) + workflow_engine._delay = 0 # Initiate start first eventlet.spawn(workflow_engine.start, True) eventlet.spawn_after(1, workflow_engine.shutdown) - coordination_service.NoOpDriver.get_members = mock.MagicMock( - return_value=coordination_service.NoOpAsyncResult("member-1") - ) - lv_ac_db = lv_db_access.LiveAction.get_by_id(str(lv_ac_db.id)) # Startup routine acquires the lock first and shutdown routine sees a new member present in registry. diff --git a/st2api/in-requirements.txt b/st2api/in-requirements.txt index d3506c27f1..6d1a519921 100644 --- a/st2api/in-requirements.txt +++ b/st2api/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! eventlet jsonschema kombu diff --git a/st2api/tests/integration/test_gunicorn_configs.py b/st2api/tests/integration/test_gunicorn_configs.py index c4c05bb155..2a77f4d5ca 100644 --- a/st2api/tests/integration/test_gunicorn_configs.py +++ b/st2api/tests/integration/test_gunicorn_configs.py @@ -17,10 +17,10 @@ import random from six.moves import http_client -import unittest import requests import eventlet from eventlet.green import subprocess +import pytest from st2common.models.utils import profiling from st2common.util.shell import kill_process @@ -32,7 +32,7 @@ class GunicornWSGIEntryPointTestCase(IntegrationTestCase): - @unittest.skipIf(profiling.is_enabled(), "Profiling is enabled") + @pytest.mark.skipif(profiling.is_enabled(), reason="Profiling is enabled") def test_st2api_wsgi_entry_point(self): port = random.randint(10000, 30000) cmd = ( @@ -51,7 +51,7 @@ def test_st2api_wsgi_entry_point(self): finally: kill_process(process) - @unittest.skipIf(profiling.is_enabled(), "Profiling is enabled") + @pytest.mark.skipif(profiling.is_enabled(), reason="Profiling is enabled") def test_st2auth(self): port = random.randint(10000, 30000) cmd = ( diff --git a/st2api/tests/unit/test_validation_utils.py b/st2api/tests/unit/test_validation_utils.py index 579069f4de..e518a45e77 100644 --- a/st2api/tests/unit/test_validation_utils.py +++ b/st2api/tests/unit/test_validation_utils.py @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import pytest import unittest from oslo_config import cfg @@ -48,8 +49,9 @@ def test_validate_auth_cookie_is_correctly_configured_error(self): invalid_values = ["strictx", "laxx", "nonex", "invalid"] for value in invalid_values: - with self.assertRaisesRegex( - ValueError, r"Valid values are \[strict, lax, none, unset\], but found" + with pytest.raises( + ValueError, + match=r"Valid values are \[strict, lax, none, unset\], but found", ): cfg.CONF.set_override( group="api", name="auth_cookie_same_site", override=value diff --git a/st2auth/in-requirements.txt b/st2auth/in-requirements.txt index 0d9e5e01a3..e2b9fdc718 100644 --- a/st2auth/in-requirements.txt +++ b/st2auth/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! bcrypt eventlet oslo.config diff --git a/st2auth/tests/integration/BUILD b/st2auth/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/st2auth/tests/integration/BUILD +++ b/st2auth/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2auth/tests/integration/test_st2auth.py b/st2auth/tests/integration/test_st2auth.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/st2auth/tests/integration/test_st2auth.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/st2client/in-requirements.txt b/st2client/in-requirements.txt index 88bb5e5b5a..e291be76aa 100644 --- a/st2client/in-requirements.txt +++ b/st2client/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! importlib-metadata # importlib-metadata requires typing-extensions typing-extensions diff --git a/st2client/requirements.txt b/st2client/requirements.txt index be06f3064c..31a7428a51 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -7,7 +7,7 @@ # update the component requirements.txt argcomplete==3.4.0 cffi==1.17.1 -chardet==3.0.4 +chardet cryptography==43.0.1 editor==1.6.6 importlib-metadata==7.1.0 diff --git a/st2client/tests/integration/BUILD b/st2client/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/st2client/tests/integration/BUILD +++ b/st2client/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2client/tests/integration/test_st2client.py b/st2client/tests/integration/test_st2client.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/st2client/tests/integration/test_st2client.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/st2client/tests/unit/test_config_parser.py b/st2client/tests/unit/test_config_parser.py index 5bdd40a773..6d89e14883 100644 --- a/st2client/tests/unit/test_config_parser.py +++ b/st2client/tests/unit/test_config_parser.py @@ -20,6 +20,7 @@ import mock import six +import pytest import unittest from st2client.config_parser import CLIConfigParser @@ -200,7 +201,7 @@ def test_weird_but_correct_permissions_emit_no_warnings(self): self.assertTrue(os.path.exists(self.TEMP_CONFIG_DIR)) self.assertEqual(os.stat(self.TEMP_CONFIG_DIR).st_mode & 0o7777, 0o2770) - @unittest.skipIf(os.getuid() == 0, reason="Test must be run as non-root user.") + @pytest.mark.skipif(os.getuid() == 0, reason="Test must be run as non-root user.") def test_warn_on_bad_config_permissions(self): # Setup the config directory os.chmod(self.TEMP_CONFIG_DIR, 0o0755) diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index 64582fd1cc..f6cd048e0d 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -27,6 +27,7 @@ import requests import six import mock +import pytest import unittest import st2client @@ -516,7 +517,7 @@ def _write_mock_package_metadata_file(self): return package_metadata_path - @unittest.skipIf(True, "skipping until checks are re-enabled") + @pytest.mark.skipif(True, reason="skipping until checks are re-enabled") @mock.patch.object( requests, "get", mock.MagicMock(return_value=base.FakeResponse("{}", 200, "OK")) ) @@ -617,7 +618,7 @@ def _write_mock_config(self): with open(self._mock_config_path, "w") as fp: fp.write(MOCK_CONFIG) - @unittest.skipIf(os.getuid() == 0, reason="Test must be run as non-root user.") + @pytest.mark.skipif(os.getuid() == 0, reason="Test must be run as non-root user.") def test_get_cached_auth_token_invalid_permissions(self): shell = Shell() client = Client() @@ -681,7 +682,7 @@ def test_get_cached_auth_token_invalid_permissions(self): expected_msg = "Permissions .*? for cached token file .*? are too permissive.*" self.assertRegex(log_message, expected_msg) - @unittest.skipIf(os.getuid() == 0, reason="Test must be run as non-root user.") + @pytest.mark.skipif(os.getuid() == 0, reason="Test must be run as non-root user.") def test_cache_auth_token_invalid_permissions(self): shell = Shell() username = "testu" diff --git a/st2common/bin/st2-run-pack-tests b/st2common/bin/st2-run-pack-tests index e358aa1e63..a003bceb2f 100755 --- a/st2common/bin/st2-run-pack-tests +++ b/st2common/bin/st2-run-pack-tests @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -x # Licensed to the StackStorm, Inc ('StackStorm') under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. @@ -34,17 +35,13 @@ function join { local IFS="$1"; shift; echo "$*"; } # package installation. When using StackStorm package installation, those dependencies are already # available (they are installed by st2tests package). PACK_TEST_PYTHON_DEPENDENCIES_NAMES=( + 'pytest' 'mock' - 'unittest2' - 'nose' - 'nose-timer' 'coverage' ) PACK_TEST_PYTHON_DEPENDENCIES_VERSIONS=( + '>6' '>=4.0.3' - '>=1.1.0,<2.0' - '>=1.3.7' - '>=0.7.0' '>=4.4.1' ) @@ -320,47 +317,29 @@ if [ "${VERBOSE}" = true ]; then fi echo "Running tests..." -# Note: We run nosetests with "--exe" option so it also runs test files which are executable +# Note: We run pytest with "--exe" option so it also runs test files which are executable # (pack install command automatically makes all the files, including test files executable) -NOSE_OPTS=(-s -v --exe --rednose --immediate) +PYTEST_OPTS=(-s -v ) # Is test coverage reporting enabled? if [ "${ENABLE_COVERAGE}" = true ]; then - verbose_log "Enabling nosetests coverage" - - # Base options to enable test coverage reporting - # --with-coverage : enables coverage reporting - # --cover-erase : removes old coverage reports before starting - NOSE_OPTS+=(--with-coverage --cover-erase) - - # Now, by default nosetests reports test coverage for every module found - # in the $PYTHONPATH... as you can imagine this is not ideal and may contain - # a LOT of files. - # We can restrict nosetest to only report on python files from certain - # directories by specifying those directories (absolute or relative) using - # the options: --cover-package=/absolte/path OR --cover-package=./relative/path + verbose_log "Enabling pytest coverage" # For each of the sub-directory in the pack, excluding the "tests" directory PACK_SUB_DIRS=$(find $PACK_PATH -mindepth 1 -maxdepth 1 -type d -and -not -name "tests") for pack_sub_dir in $PACK_SUB_DIRS; do - verbose_log "Enabling nosetests coverage for directory: $pack_sub_dir" - NOSE_OPTS+=(--cover-package=$pack_sub_dir) + verbose_log "Enabling pytest coverage for directory: $pack_sub_dir" + PYTEST_OPTS+=(--cov=$pack_sub_dir) done # end for each $PACK_PYTHON_DIR fi # end enable test coverage -# Should we pass in arguments to enable test timing -if [ "${ENABLE_TIMING}" = true ]; then - verbose_log "Enabling nosetests timings" - NOSE_OPTS+=(--with-timer) -fi - -NOSE=(nosetests) -if head -n 1 $(command -v nosetests) | grep -q ' -sE$'; then - # workaround pants+pex default of hermetic scripts so we can run nosetests with PYTHONPATH +PYTEST=(pytest) +if head -n 1 $(command -v pytest) | grep -q ' -sE$'; then + # workaround pants+pex default of hermetic scripts so we can run pytest with PYTHONPATH if [ -f "${STACKSTORM_VIRTUALENV_PYTHON_BINARY}" ]; then - NOSE=(${STACKSTORM_VIRTUALENV_PYTHON_BINARY} -m "nose") + PYTEST=(${STACKSTORM_VIRTUALENV_PYTHON_BINARY} -m "pytest") else - NOSE=(python3 -m "nose") + PYTEST=(python3 -m "pytest") fi fi @@ -370,10 +349,10 @@ pushd ${PACK_PATH} > /dev/null # Execute the tests if [ "${TEST_LOCATION}" ]; then # Run a specific test file, class or method - ${NOSE[@]} ${NOSE_OPTS[@]} ${TEST_LOCATION} + ${PYTEST[@]} ${PYTEST_OPTS[@]} ${TEST_LOCATION} else # Run all tests inside the pack - ${NOSE[@]} ${NOSE_OPTS[@]} ${PACK_TESTS_PATH} + ${PYTEST[@]} ${PYTEST_OPTS[@]} ${PACK_TESTS_PATH} fi TESTS_EXIT_CODE=$? diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index 1daa52fb8e..deef682939 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! apscheduler dnspython python-dateutil @@ -14,7 +14,7 @@ mongoengine networkx # used by networkx decorator -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master oslo.config paramiko diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 979056c2c5..4dd15d69b6 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -5,15 +5,15 @@ # If you want to update depdencies for a single component, modify the # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt -MarkupSafe==2.0.1 +MarkupSafe amqp==5.2.0 apscheduler==3.10.4 cffi==1.17.1 -chardet==3.0.4 +chardet ciso8601 cryptography==43.0.1 decorator==5.1.1 -dnspython==1.16.0 +dnspython==2.6.1 eventlet==0.36.1 flex==6.14.1 gitdb==4.0.11 @@ -25,9 +25,9 @@ jsonschema==3.2.0 kombu==5.4.0 lockfile==0.12.2 mongoengine==0.23.1 -networkx==2.8.8 +networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 oslo.config==9.6.0 paramiko==3.4.1 pyOpenSSL diff --git a/st2common/st2common/service_setup.py b/st2common/st2common/service_setup.py index 9e8ae7e07f..0ca7dc01f7 100644 --- a/st2common/st2common/service_setup.py +++ b/st2common/st2common/service_setup.py @@ -270,7 +270,6 @@ def setup( register_kombu_serializers() metrics_initialize() - # Register service in the service registry if cfg.CONF.coordination.service_registry and service_registry: # NOTE: It's important that we pass start_heart=True to start the hearbeat process @@ -319,7 +318,6 @@ def register_service_in_service_registry(service, capabilities=None, start_heart coordinator = coordination.get_coordinator(start_heart=start_heart) member_id = coordination.get_member_id() - # 1. Create a group with the name of the service if not isinstance(service, six.binary_type): group_id = service.encode("utf-8") diff --git a/st2common/st2common/services/action.py b/st2common/st2common/services/action.py index e32fb39061..e48381dd3b 100644 --- a/st2common/st2common/services/action.py +++ b/st2common/st2common/services/action.py @@ -1,4 +1,4 @@ -# Copyright 2020 The StackStorm Authors. +# Copyright 2020-2024 The StackStorm Authors. # Copyright 2019 Extreme Networks, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/st2common/tests/integration/test_logging.py b/st2common/tests/integration/test_logging.py index 0f7cc77228..92069db2da 100644 --- a/st2common/tests/integration/test_logging.py +++ b/st2common/tests/integration/test_logging.py @@ -24,7 +24,7 @@ import os import sys import signal -import unittest +import pytest import eventlet from eventlet.green import subprocess @@ -75,7 +75,9 @@ def test_formatting_with_unicode_data_works_no_stdout_patching_valid_utf8_encodi "DEBUG [-] Test debug message with unicode 1 - \u597d\u597d\u597d", stdout ) - @unittest.skipIf(sys.version_info >= (3, 8, 0), "Skipping test under Python >= 3.8") + @pytest.mark.skipif( + sys.version_info >= (3, 8, 0), reason="Skipping test under Python >= 3.8" + ) def test_formatting_with_unicode_data_works_no_stdout_patching_non_valid_utf8_encoding( self, ): diff --git a/st2common/tests/integration/test_rabbitmq_ssl_listener.py b/st2common/tests/integration/test_rabbitmq_ssl_listener.py index e56bfa65d9..d45b72ee18 100644 --- a/st2common/tests/integration/test_rabbitmq_ssl_listener.py +++ b/st2common/tests/integration/test_rabbitmq_ssl_listener.py @@ -22,6 +22,7 @@ import six import unittest from oslo_config import cfg +import pytest from st2common.transport import utils as transport_utils @@ -37,9 +38,9 @@ # NOTE: We only run those tests on the CI provider because at the moment, local # vagrant dev VM doesn't expose RabbitMQ SSL listener by default -@unittest.skipIf( +@pytest.mark.skipif( not ST2_CI, - 'Skipping tests because ST2_CI environment variable is not set to "true"', + reason='Skipping tests because ST2_CI environment variable is not set to "true"', ) class RabbitMQTLSListenerTestCase(unittest.TestCase): def setUp(self): diff --git a/st2common/tests/unit/services/test_workflow_service_retries.py b/st2common/tests/unit/services/test_workflow_service_retries.py index 0e322fe573..0c779fb165 100644 --- a/st2common/tests/unit/services/test_workflow_service_retries.py +++ b/st2common/tests/unit/services/test_workflow_service_retries.py @@ -27,6 +27,7 @@ from orquesta import statuses as wf_statuses from tooz import coordination +from tooz.drivers.redis import RedisDriver import st2tests @@ -128,7 +129,7 @@ def setUpClass(cls): for pack in PACKS: actions_registrar.register_from_pack(pack) - @mock.patch.object(coord_svc.NoOpDriver, "get_lock") + @mock.patch.object(RedisDriver, "get_lock") def test_recover_from_coordinator_connection_error(self, mock_get_lock): mock_get_lock.side_effect = coord_svc.NoOpLock(name="noop") wf_meta = self.get_wf_fixture_meta_data(TEST_PACK_PATH, "sequential.yaml") @@ -162,7 +163,7 @@ def test_recover_from_coordinator_connection_error(self, mock_get_lock): tk1_ex_db = wf_db_access.TaskExecution.get_by_id(tk1_ex_db.id) self.assertEqual(tk1_ex_db.status, wf_statuses.SUCCEEDED) - @mock.patch.object(coord_svc.NoOpDriver, "get_lock") + @mock.patch.object(RedisDriver, "get_lock") def test_retries_exhausted_from_coordinator_connection_error(self, mock_get_lock): mock_get_lock.side_effect = coord_svc.NoOpLock(name="noop") wf_meta = self.get_wf_fixture_meta_data(TEST_PACK_PATH, "sequential.yaml") @@ -200,7 +201,6 @@ def test_retries_exhausted_from_coordinator_connection_error(self, mock_get_lock "update_task_state", mock.MagicMock( side_effect=[ - mongoengine.connection.ConnectionFailure(), mongoengine.connection.ConnectionFailure(), None, ] diff --git a/st2common/tests/unit/test_crypto_utils.py b/st2common/tests/unit/test_crypto_utils.py index 2717b605ec..76c493904e 100644 --- a/st2common/tests/unit/test_crypto_utils.py +++ b/st2common/tests/unit/test_crypto_utils.py @@ -23,9 +23,9 @@ import json import binascii -import unittest from unittest import TestCase from six.moves import range +import pytest from cryptography.exceptions import InvalidSignature from st2common.util.crypto import KEYCZAR_HEADER_SIZE @@ -255,7 +255,7 @@ def test_symmetric_encrypt_decrypt_cryptography(self): self.assertEqual(decrypted, plaintext) - @unittest.skipIf(six.PY3, "keyczar doesn't work under Python 3") + @pytest.mark.skipif(six.PY3, reason="keyczar doesn't work under Python 3") def test_symmetric_encrypt_decrypt_roundtrips_1(self): encrypt_keys = [ AESKey.generate(), diff --git a/st2common/tests/unit/test_service_setup.py b/st2common/tests/unit/test_service_setup.py index 0fa413ca5d..4638be2f88 100644 --- a/st2common/tests/unit/test_service_setup.py +++ b/st2common/tests/unit/test_service_setup.py @@ -217,6 +217,7 @@ def test_deregister_service_when_service_registry_enabled(self): members = coordinator.get_members(service.encode("utf-8")) self.assertEqual(len(list(members.get())), 1) service_setup.deregister_service(service) + members = coordinator.get_members(service.encode("utf-8")) self.assertEqual(len(list(members.get())), 0) def test_deregister_service_when_service_registry_disables(self): diff --git a/st2common/tests/unit/test_transport.py b/st2common/tests/unit/test_transport.py index ae12b1ea9d..4e613716b8 100644 --- a/st2common/tests/unit/test_transport.py +++ b/st2common/tests/unit/test_transport.py @@ -97,9 +97,6 @@ def test_publish_compression(self): self.assertEqual( watcher.received_messages[0][1].properties["content_encoding"], "binary" ) - self.assertEqual( - watcher.received_messages[0][1].properties["application_headers"], {} - ) self.assertEqual(watcher.received_messages[0][0].id, live_action_db.id) # 2. Verify config level option is used diff --git a/st2reactor/in-requirements.txt b/st2reactor/in-requirements.txt index a6624b07e3..c5b0a47367 100644 --- a/st2reactor/in-requirements.txt +++ b/st2reactor/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! apscheduler python-dateutil eventlet diff --git a/st2stream/in-requirements.txt b/st2stream/in-requirements.txt index b6024af935..8135e0daa8 100644 --- a/st2stream/in-requirements.txt +++ b/st2stream/in-requirements.txt @@ -1,4 +1,4 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! eventlet jsonschema kombu diff --git a/st2stream/tests/integration/BUILD b/st2stream/tests/integration/BUILD index e94bf54690..2d782aaea0 100644 --- a/st2stream/tests/integration/BUILD +++ b/st2stream/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {python_test: dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2stream/tests/integration/test_st2stream.py b/st2stream/tests/integration/test_st2stream.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/st2stream/tests/integration/test_st2stream.py @@ -0,0 +1,20 @@ +# Copyright 2024 The StackStorm Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import pytest + + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass diff --git a/st2tests/in-requirements.txt b/st2tests/in-requirements.txt index 71af9feb58..f5ab882b73 100644 --- a/st2tests/in-requirements.txt +++ b/st2tests/in-requirements.txt @@ -1,11 +1,7 @@ -# Remember to list implicit packages here, otherwise version won't be fixated! +# Remember to list implicit packages here, otherwise version won't be appended! mock -unittest2 -nose +pytest psutil webtest -nose-timer -nose-parallel -rednose RandomWords pyrabbit diff --git a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py index b6588088ee..f5353720cd 100644 --- a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py +++ b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import os -import unittest +import pytest from integration.orquesta import base @@ -25,10 +25,10 @@ # Those tests hang and time out very often so they are disabled for the timing being until we find # the root cause for the race or run that test separately in isolation in retry loop -@unittest.skipIf( +@pytest.mark.skipif( os.environ.get("ST2_CI_RUN_ORQUESTA_PAUSE_RESUME_TESTS", "false").lower() not in ["1", "true"], - "Skipping race prone tests", + reason="Skipping race prone tests", ) class PauseResumeWiringTest( base.TestWorkflowExecution, base.WorkflowControlTestCaseMixin diff --git a/st2tests/requirements.txt b/st2tests/requirements.txt index 142ce32595..d5a13b8f3c 100644 --- a/st2tests/requirements.txt +++ b/st2tests/requirements.txt @@ -7,11 +7,7 @@ # update the component requirements.txt RandomWords mock==5.1.0 -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 psutil==6.0.0 pyrabbit -rednose -unittest2 +pytest webtest diff --git a/st2tests/st2tests/config.py b/st2tests/st2tests/config.py index 351456a261..76a3a6303e 100644 --- a/st2tests/st2tests/config.py +++ b/st2tests/st2tests/config.py @@ -136,12 +136,23 @@ def _override_scheduler_opts(): def _override_coordinator_opts(noop=False): driver = None if noop else "zake://" + + ST2_OVERRIDE_COORDINATOR_REDIS_HOST = os.environ.get( + "ST2_OVERRIDE_COORDINATOR_REDIS_HOST", False + ) + if ST2_OVERRIDE_COORDINATOR_REDIS_HOST: + + ST2_OVERRIDE_COORDINATOR_REDIS_PORT = os.environ.get( + "ST2_OVERRIDE_COORDINATOR_REDIS_PORT", "6379" + ) + driver = f"redis://{ST2_OVERRIDE_COORDINATOR_REDIS_HOST}:{ST2_OVERRIDE_COORDINATOR_REDIS_PORT}" + CONF.set_override(name="url", override=driver, group="coordination") CONF.set_override(name="lock_timeout", override=1, group="coordination") def _override_workflow_engine_opts(): - cfg.CONF.set_override("retry_stop_max_msec", 500, group="workflow_engine") + cfg.CONF.set_override("retry_stop_max_msec", 200, group="workflow_engine") cfg.CONF.set_override("retry_wait_fixed_msec", 100, group="workflow_engine") cfg.CONF.set_override("retry_max_jitter_msec", 100, group="workflow_engine") cfg.CONF.set_override("gc_max_idle_sec", 1, group="workflow_engine") diff --git a/test-requirements.txt b/test-requirements.txt index 0107109f58..4df76e7eb9 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,31 +1,30 @@ +# Important: Keep version constraints synchronised with the below repositories: +# - https://github.com/StackStorm/st2docs +# - https://github.com/StackStorm/orquesta +# - https://github.com/StackStorm/st2-auth-ldap +# - https://github.com/StackStorm/st2-rbac-backend +# ---------------------------------------------------------------------- # 7.5 causing errors with orquesta integration tests (probably interaction w/ nose) coverage<7.5 pep8==1.7.1 -# st2flake8 does not support flake8 v5 yet -flake8==4.0.1 -st2flake8==0.1.0 +flake8==7.0.0 +st2-flake8 @ git+https://github.com/nzlosh/st2-flake8@master astroid==3.1.0 pylint==3.1.0 pylint-plugin-utils>=0.4 black==22.3.0 pre-commit==2.1.0 bandit==1.7.0 -ipython<6.0.0 isort>=4.2.5 mock==5.1.0 -nose>=1.3.7 tabulate -# # 4.5.0 required for Jinja-3.1.3 support but >5.0 required by rstcheck and lower than 7.2 which drops py3.8 support +# 4.5.0 required for Jinja-3.1.3 support but >5.0 required by rstcheck and lower than 7.2 which drops py3.8 support sphinx>=5.0.0,<7.2.0 sphinx-autobuild # pin alabaster (sphinx dependency) or pip installs one that is not compatible alabaster<0.7.14 -# nosetests enhancements -rednose -nose-timer==1.0.1 -# splitting tests run on a separate CI machines -nose-parallel==0.4.0 -# Required by st2client tests +# Required by st2client tests (202403: downgrade pyyaml to 5.3.1 to avoid pyyaml AttributeError: cython_sources error.) +#pyyaml==5.3.1 # uncomment if downgrade still required pyyaml==6.0.2 # Constrain pygments required by editor to align with st2 core version pygments==2.18.0 @@ -35,12 +34,20 @@ psutil==6.0.0 webtest==3.0.1 # Bump to latest to meet sphinx requirements. rstcheck==6.2.1 -tox==3.23.0 +# pydantic needed by rstcheck +pydantic==2.6.4 +# 202403: typing-extension must be >4.7.1 to avoid ImportError: cannot import name 'deprecated' from 'typing_extensions' for pydantic +#typing_extensions==4.10.0 # uncomment if downgrade still required +tox==4.14.2 pyrabbit +# 202403: Bumped to 23.6.21.0 for py3.10 support prance==23.6.21.0 # pip-tools provides pip-compile: to check for version conflicts -pip-tools==7.4.1 -pytest==6.2.3 +pip_tools==7.4.1 +# 202403: Use 6.2.5 for py3.10 support +pytest==6.2.5 +pytest-cov==4.1.0 +pytest-xdist==3.5.0 pytest-benchmark==3.4.1 pytest-benchmark[histogram]==3.4.1 # zstandard is used for micro benchmarks