From 21e34fbe178ca884ca8e4f2a6766e3b7ae2afdba Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 28 Feb 2024 15:14:57 +0100 Subject: [PATCH 001/110] Update pymongo and mongoengine to display deprecation warnings. --- CHANGELOG.rst | 2 ++ fixed-requirements.txt | 6 ++++-- requirements.txt | 4 ++-- st2api/requirements.txt | 4 ++-- st2auth/requirements.txt | 2 +- st2common/requirements.txt | 4 ++-- st2stream/requirements.txt | 4 ++-- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index bb04eb2e92..20769601be 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,8 @@ Changed ~~~~~~~ * Bumped `jsonschema` 2.6.0 -> 3.2.0 now that python3.6 is not supported. #6118 +* Upgrade `pymongo` and `mongoengine` for MongoDB v5/6/7 support. #6157 + Added ~~~~~ * Continue introducing `pants `_ to improve DX (Developer Experience) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 389105c72f..7f3d2e18bf 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -27,7 +27,8 @@ lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode # >=0.23 was from jinja2 MarkupSafe<2.1.0,>=0.23 -mongoengine==0.23.0 +# mongoengine 0.24.0 has breaking changes to support pymongo 4.0 +mongoengine>=0.21.0,<0.24.0 # required by orquesta (networkx<2.6 for py3.6, networkx<3 for py3.8) networkx<3 # networkx requires decorator>=4.3,<5 which should resolve to version 4.4.2 @@ -43,7 +44,8 @@ paramiko==2.11.0 passlib==1.7.4 prompt-toolkit==1.0.15 pyinotify==0.9.6 ; platform_system=="Linux" -pymongo==3.11.3 +# pymongo 3.13 has backports of APIs from pymongo 4 to help w/ migration +pymongo>=3.11.0,<3.13.0 pyparsing<3 zstandard==0.15.2 # pyOpenSSL 23.1.0 supports cryptography up to 40.0.x diff --git a/requirements.txt b/requirements.txt index c6ddc77374..8e3c61433c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -31,7 +31,7 @@ kombu==5.0.2 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" mock==4.0.3 -mongoengine==0.23.0 +mongoengine>=0.21.0,<0.24.0 networkx<3 nose nose-parallel==0.4.0 @@ -47,7 +47,7 @@ prompt-toolkit==1.0.15 psutil==5.8.0 pyOpenSSL==23.1.0 pyinotify==0.9.6 ; platform_system=="Linux" -pymongo==3.11.3 +pymongo>=3.11.0,<3.13.0 pyparsing<3 pyrabbit pysocks diff --git a/st2api/requirements.txt b/st2api/requirements.txt index cfb7a8a2ed..5b94711ba7 100644 --- a/st2api/requirements.txt +++ b/st2api/requirements.txt @@ -9,10 +9,10 @@ eventlet==0.33.3 gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.0.2 -mongoengine==0.23.0 +mongoengine>=0.21.0,<0.24.0 oslo.config>=1.12.1,<1.13 oslo.utils<5.0,>=4.0.0 -pymongo==3.11.3 +pymongo>=3.11.0,<3.13.0 pyparsing<3 simplejson six==1.13.0 diff --git a/st2auth/requirements.txt b/st2auth/requirements.txt index e4d7f91fb9..05a14eb595 100644 --- a/st2auth/requirements.txt +++ b/st2auth/requirements.txt @@ -10,7 +10,7 @@ eventlet==0.33.3 gunicorn==21.2.0 oslo.config>=1.12.1,<1.13 passlib==1.7.4 -pymongo==3.11.3 +pymongo>=3.11.0,<3.13.0 six==1.13.0 st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master diff --git a/st2common/requirements.txt b/st2common/requirements.txt index d3bddfd2c1..00182fd433 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -24,14 +24,14 @@ jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.0.2 lockfile==0.12.2 -mongoengine==0.23.0 +mongoengine>=0.21.0,<0.24.0 networkx<3 orjson==3.5.2 orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 oslo.config>=1.12.1,<1.13 paramiko==2.11.0 pyOpenSSL==23.1.0 -pymongo==3.11.3 +pymongo>=3.11.0,<3.13.0 python-dateutil==2.8.1 python-statsd==2.1.0 pyyaml==5.4.1 diff --git a/st2stream/requirements.txt b/st2stream/requirements.txt index 9efb2b85d3..b852220697 100644 --- a/st2stream/requirements.txt +++ b/st2stream/requirements.txt @@ -9,9 +9,9 @@ eventlet==0.33.3 gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.0.2 -mongoengine==0.23.0 +mongoengine>=0.21.0,<0.24.0 oslo.config>=1.12.1,<1.13 oslo.utils<5.0,>=4.0.0 -pymongo==3.11.3 +pymongo>=3.11.0,<3.13.0 pyparsing<3 six==1.13.0 From 1ad6c3435e8e0dd23bd34281ff811f88a827aef3 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 6 Mar 2024 13:17:32 +0000 Subject: [PATCH 002/110] Bump version for py3.10 support --- Makefile | 3 ++- fixed-requirements.txt | 15 ++++++--------- requirements.txt | 8 ++++---- st2actions/requirements.txt | 6 +++--- st2api/requirements.txt | 4 ++-- st2auth/requirements.txt | 2 +- st2client/requirements.txt | 2 +- st2common/requirements.txt | 6 +++--- st2reactor/requirements.txt | 2 +- st2stream/requirements.txt | 4 ++-- test-requirements.txt | 7 ++++--- 11 files changed, 29 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index d13788b1ad..2cf77f36c5 100644 --- a/Makefile +++ b/Makefile @@ -55,7 +55,8 @@ REQUIREMENTS := test-requirements.txt requirements.txt # 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 ?= 20.3.3 +# 202403: Use pip 24.0 which is the highest supported version across Python 3.8 - 3.10 +PIP_VERSION ?= 24.0 SETUPTOOLS_VERSION ?= 51.3.3 PIP_OPTIONS := $(ST2_PIP_OPTIONS) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 7f3d2e18bf..6881699caf 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -8,8 +8,6 @@ cffi<1.15.0 # NOTE: 2.0 version breaks pymongo work with hosts dnspython>=1.16.0,<2.0.0 cryptography==39.0.1 -# Note: 0.20.0 removed select.poll() on which some of our code and libraries we -# depend on rely eventlet==0.33.3 flex==6.14.1 # Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 @@ -17,8 +15,8 @@ flex==6.14.1 gitpython<=3.1.37 # Needed by gitpython, old versions used to bundle it gitdb==4.0.2 -# Note: greenlet is used by eventlet -greenlet==1.0.0 +# Note: greenlet is used by eventlet (2023: 3.0.3 support for py3.10) +greenlet==3.0.3 gunicorn==21.2.0 jsonpath-rw==1.4.0 jsonschema==3.2.0 @@ -35,10 +33,9 @@ networkx<3 # but the wheel on pypi does not say it supports python3.8, so pip gets # confused. For now, pin decorator to work around pip's confusion. decorator==4.4.2 -# NOTE: Recent version substantially affect the performance and add big import time overhead -# See https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 for details -oslo.config>=1.12.1,<1.13 -oslo.utils<5.0,>=4.0.0 +# Use latest (Mar 2024) oslo config for py3.10 support. +oslo.config==9.4.0 +oslo.utils==7.1.0 # paramiko 2.11.0 is needed by cryptography > 37.0.0 paramiko==2.11.0 passlib==1.7.4 @@ -54,7 +51,7 @@ python-editor==1.0.4 python-keyczar==0.716 pytz==2021.1 pywinrm==0.4.1 -pyyaml==5.4.1 +pyyaml==5.3.1 redis==4.1.4 requests[security]==2.25.1 retrying==1.3.3 diff --git a/requirements.txt b/requirements.txt index 8e3c61433c..c07c8efaa8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ eventlet==0.33.3 flex==6.14.1 gitdb==4.0.2 gitpython<=3.1.37 -greenlet==1.0.0 +greenlet==3.0.3 gunicorn==21.2.0 importlib-metadata>=4.8.3,<=4.10.1 jinja2==2.11.3 @@ -38,8 +38,8 @@ nose-parallel==0.4.0 nose-timer==1.0.1 orjson==3.5.2 orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -oslo.config>=1.12.1,<1.13 -oslo.utils<5.0,>=4.0.0 +oslo.config==9.4.0 +oslo.utils==7.1.0 paramiko==2.11.0 passlib==1.7.4 prettytable==2.1.0 @@ -57,7 +57,7 @@ python-json-logger python-statsd==2.1.0 pytz==2021.1 pywinrm==0.4.1 -pyyaml==5.4.1 +pyyaml==5.3.1 redis==4.1.4 rednose requests[security]==2.25.1 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index bdfe4e8b1c..7877e13588 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -14,12 +14,12 @@ jinja2==2.11.3 kombu==5.0.2 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" -oslo.config>=1.12.1,<1.13 -oslo.utils<5.0,>=4.0.0 +oslo.config==9.4.0 +oslo.utils==7.1.0 pyinotify==0.9.6 ; platform_system=="Linux" pyparsing<3 python-dateutil==2.8.1 python-json-logger -pyyaml==5.4.1 +pyyaml==5.3.1 requests[security]==2.25.1 six==1.13.0 diff --git a/st2api/requirements.txt b/st2api/requirements.txt index 5b94711ba7..b7af2f9f86 100644 --- a/st2api/requirements.txt +++ b/st2api/requirements.txt @@ -10,8 +10,8 @@ gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.0.2 mongoengine>=0.21.0,<0.24.0 -oslo.config>=1.12.1,<1.13 -oslo.utils<5.0,>=4.0.0 +oslo.config==9.4.0 +oslo.utils==7.1.0 pymongo>=3.11.0,<3.13.0 pyparsing<3 simplejson diff --git a/st2auth/requirements.txt b/st2auth/requirements.txt index 05a14eb595..08564f329b 100644 --- a/st2auth/requirements.txt +++ b/st2auth/requirements.txt @@ -8,7 +8,7 @@ bcrypt==3.2.0 eventlet==0.33.3 gunicorn==21.2.0 -oslo.config>=1.12.1,<1.13 +oslo.config==9.4.0 passlib==1.7.4 pymongo>=3.11.0,<3.13.0 six==1.13.0 diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 143e2ba6f5..a68c5773b5 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -20,7 +20,7 @@ pysocks python-dateutil==2.8.1 python-editor==1.0.4 pytz==2021.1 -pyyaml==5.4.1 +pyyaml==5.3.1 requests[security]==2.25.1 six==1.13.0 sseclient-py==1.7 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 00182fd433..6b07e9b7f6 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -18,7 +18,7 @@ eventlet==0.33.3 flex==6.14.1 gitdb==4.0.2 gitpython<=3.1.37 -greenlet==1.0.0 +greenlet==3.0.3 jinja2==2.11.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 @@ -28,13 +28,13 @@ mongoengine>=0.21.0,<0.24.0 networkx<3 orjson==3.5.2 orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -oslo.config>=1.12.1,<1.13 +oslo.config==9.4.0 paramiko==2.11.0 pyOpenSSL==23.1.0 pymongo>=3.11.0,<3.13.0 python-dateutil==2.8.1 python-statsd==2.1.0 -pyyaml==5.4.1 +pyyaml==5.3.1 redis==4.1.4 requests[security]==2.25.1 retrying==1.3.3 diff --git a/st2reactor/requirements.txt b/st2reactor/requirements.txt index 321e89f6ee..1e4eb1301b 100644 --- a/st2reactor/requirements.txt +++ b/st2reactor/requirements.txt @@ -10,6 +10,6 @@ eventlet==0.33.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.0.2 -oslo.config>=1.12.1,<1.13 +oslo.config==9.4.0 python-dateutil==2.8.1 six==1.13.0 diff --git a/st2stream/requirements.txt b/st2stream/requirements.txt index b852220697..ebaa244861 100644 --- a/st2stream/requirements.txt +++ b/st2stream/requirements.txt @@ -10,8 +10,8 @@ gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.0.2 mongoengine>=0.21.0,<0.24.0 -oslo.config>=1.12.1,<1.13 -oslo.utils<5.0,>=4.0.0 +oslo.config==9.4.0 +oslo.utils==7.1.0 pymongo>=3.11.0,<3.13.0 pyparsing<3 six==1.13.0 diff --git a/test-requirements.txt b/test-requirements.txt index 0145399504..7a1895b96e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -22,8 +22,8 @@ rednose nose-timer==1.0.1 # splitting tests run on a separate CI machines nose-parallel==0.4.0 -# Required by st2client tests -pyyaml==5.4.1 +# Required by st2client tests (202403: downgrade pyyaml to 5.3.1 to avoid pyyaml AttributeError: cython_sources error.) +pyyaml==5.3.1 RandomWords gunicorn==21.2.0 psutil==5.8.0 @@ -37,7 +37,8 @@ prance==0.15.0 # pip-tools 5.4 needs pip>=20.1 # pip-tools 6.0 needs pip>=20.3 pip-tools>=5.4,<6.1 -pytest==6.2.3 +# 202403: Use 6.2.5 for py3.10 support +pytest==6.2.5 pytest-benchmark==3.4.1 pytest-benchmark[histogram]==3.4.1 # zstandard is used for micro benchmarks From 634a7b3acd5e64a5fe608a2dfe8c270c6f57acfe Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 13:24:17 +0100 Subject: [PATCH 003/110] Replace nose with pytest --- test-requirements.txt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test-requirements.txt b/test-requirements.txt index 7a1895b96e..711404fa2d 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -17,11 +17,6 @@ sphinx==1.7.9 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 (202403: downgrade pyyaml to 5.3.1 to avoid pyyaml AttributeError: cython_sources error.) pyyaml==5.3.1 RandomWords From 2102851f35c5cee0606134fb7f095ea67f2b10e8 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 14:33:11 +0100 Subject: [PATCH 004/110] Remove unittest2, switch nosetest to pytest --- Makefile | 12 +++++------- .../unit/test_actionchain_params_rendering.py | 4 ++-- .../http_runner/tests/unit/test_http_runner.py | 6 +++--- .../noop_runner/tests/unit/test_nooprunner.py | 2 +- .../tests/unit/test_functions_st2kv.py | 4 ++-- .../test_python_action_process_wrapper.py | 6 +++--- fixed-requirements.txt | 2 +- .../integration/test_actions_queue_consumer.py | 2 +- .../tests/unit/test_action_runner_worker.py | 2 +- st2actions/tests/unit/test_parallel_ssh.py | 4 ++-- .../unit/test_paramiko_remote_script_runner.py | 4 ++-- st2actions/tests/unit/test_paramiko_ssh.py | 4 ++-- .../tests/unit/test_paramiko_ssh_runner.py | 4 ++-- st2actions/tests/unit/test_remote_runners.py | 2 +- .../tests/integration/test_gunicorn_configs.py | 6 +++--- .../tests/unit/controllers/v1/test_actions.py | 6 +++--- st2api/tests/unit/test_validation_utils.py | 4 ++-- st2auth/tests/unit/test_auth_backends.py | 4 ++-- st2auth/tests/unit/test_validation_utils.py | 4 ++-- st2client/tests/base.py | 4 ++-- st2client/tests/unit/test_app.py | 4 ++-- st2client/tests/unit/test_client.py | 4 ++-- st2client/tests/unit/test_client_actions.py | 4 ++-- st2client/tests/unit/test_client_executions.py | 4 ++-- st2client/tests/unit/test_command_actionrun.py | 4 ++-- st2client/tests/unit/test_commands.py | 6 +++--- st2client/tests/unit/test_config_parser.py | 6 +++--- st2client/tests/unit/test_formatters.py | 4 ++-- st2client/tests/unit/test_interactive.py | 4 ++-- st2client/tests/unit/test_models.py | 8 ++++---- st2client/tests/unit/test_shell.py | 6 +++--- st2client/tests/unit/test_util_date.py | 4 ++-- st2client/tests/unit/test_util_json.py | 6 +++--- st2client/tests/unit/test_util_misc.py | 4 ++-- st2client/tests/unit/test_util_strutil.py | 4 ++-- st2client/tests/unit/test_util_terminal.py | 4 ++-- .../integration/test_rabbitmq_ssl_listener.py | 6 +++--- st2common/tests/unit/services/test_packs.py | 12 ++++++------ .../unit/services/test_synchronization.py | 4 ++-- st2common/tests/unit/services/test_trace.py | 2 +- .../tests/unit/test_action_alias_utils.py | 2 +- .../tests/unit/test_action_system_models.py | 6 +++--- .../tests/unit/test_actionchain_schema.py | 4 ++-- .../tests/unit/test_api_model_validation.py | 4 ++-- st2common/tests/unit/test_casts.py | 4 ++-- st2common/tests/unit/test_config_parser.py | 2 +- st2common/tests/unit/test_content_loader.py | 6 +++--- st2common/tests/unit/test_content_utils.py | 4 ++-- st2common/tests/unit/test_crypto_utils.py | 6 +++--- st2common/tests/unit/test_date_utils.py | 4 ++-- st2common/tests/unit/test_db.py | 2 +- st2common/tests/unit/test_db_fields.py | 8 ++++---- st2common/tests/unit/test_db_model_uids.py | 4 ++-- st2common/tests/unit/test_db_policy.py | 4 ++-- st2common/tests/unit/test_dist_utils.py | 4 ++-- .../tests/unit/test_exceptions_workflow.py | 4 ++-- st2common/tests/unit/test_greenpooldispatch.py | 2 +- st2common/tests/unit/test_hash.py | 4 ++-- st2common/tests/unit/test_ip_utils.py | 4 ++-- .../unit/test_jinja_render_data_filters.py | 4 ++-- .../test_jinja_render_json_escape_filters.py | 4 ++-- ...test_jinja_render_jsonpath_query_filters.py | 4 ++-- .../unit/test_jinja_render_path_filters.py | 4 ++-- .../unit/test_jinja_render_regex_filters.py | 4 ++-- .../unit/test_jinja_render_time_filters.py | 4 ++-- .../unit/test_jinja_render_version_filters.py | 4 ++-- st2common/tests/unit/test_json_schema.py | 2 +- st2common/tests/unit/test_jsonify.py | 4 ++-- .../tests/unit/test_keyvalue_system_model.py | 4 ++-- st2common/tests/unit/test_logging.py | 4 ++-- .../tests/unit/test_logging_middleware.py | 4 ++-- st2common/tests/unit/test_metrics.py | 18 +++++++++--------- st2common/tests/unit/test_misc_utils.py | 4 ++-- .../tests/unit/test_notification_helper.py | 4 ++-- st2common/tests/unit/test_operators.py | 10 +++++----- st2common/tests/unit/test_pack_management.py | 4 ++-- .../unit/test_paramiko_command_action_model.py | 4 ++-- .../unit/test_paramiko_script_action_model.py | 4 ++-- st2common/tests/unit/test_plugin_loader.py | 4 ++-- st2common/tests/unit/test_queue_utils.py | 2 +- st2common/tests/unit/test_rbac_types.py | 2 +- .../tests/unit/test_resource_reference.py | 4 ++-- st2common/tests/unit/test_sensor_type_utils.py | 4 ++-- st2common/tests/unit/test_sensor_watcher.py | 4 ++-- .../unit/test_shell_action_system_model.py | 6 +++--- st2common/tests/unit/test_spec_loader.py | 4 ++-- st2common/tests/unit/test_stream_generator.py | 4 ++-- .../tests/unit/test_time_jinja_filters.py | 2 +- st2common/tests/unit/test_transport.py | 4 ++-- .../tests/unit/test_unit_testing_mocks.py | 4 ++-- .../unit/test_util_actionalias_helpstrings.py | 4 ++-- .../unit/test_util_actionalias_matching.py | 4 ++-- st2common/tests/unit/test_util_api.py | 4 ++-- st2common/tests/unit/test_util_compat.py | 4 ++-- st2common/tests/unit/test_util_db.py | 4 ++-- st2common/tests/unit/test_util_file_system.py | 4 ++-- st2common/tests/unit/test_util_http.py | 4 ++-- st2common/tests/unit/test_util_jinja.py | 4 ++-- st2common/tests/unit/test_util_keyvalue.py | 4 ++-- .../tests/unit/test_util_output_schema.py | 4 ++-- st2common/tests/unit/test_util_pack.py | 4 ++-- st2common/tests/unit/test_util_payload.py | 4 ++-- st2common/tests/unit/test_util_secrets.py | 4 ++-- st2common/tests/unit/test_util_shell.py | 4 ++-- st2common/tests/unit/test_util_types.py | 4 ++-- st2common/tests/unit/test_util_url.py | 4 ++-- st2common/tests/unit/test_versioning_utils.py | 4 ++-- .../tests/unit/test_process_container.py | 4 ++-- st2reactor/tests/unit/test_sensor_service.py | 4 ++-- st2reactor/tests/unit/test_sensor_wrapper.py | 4 ++-- st2tests/integration/orquesta/base.py | 4 ++-- st2tests/st2tests/base.py | 6 +++--- st2tests/st2tests/pack_resource.py | 2 +- test-requirements.txt | 3 ++- 114 files changed, 248 insertions(+), 249 deletions(-) diff --git a/Makefile b/Makefile index 2cf77f36c5..70daf42ff8 100644 --- a/Makefile +++ b/Makefile @@ -74,6 +74,7 @@ endif # 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 +PYTEST_OPTS := -n auto ifndef NOSE_TIME NOSE_TIME := yes @@ -824,8 +825,7 @@ unit-tests: requirements .unit-tests echo "Running tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ - nosetests $(NOSE_OPTS) -s -v \ - $$component/tests/unit || exit 1; \ + pytest --capture=no --verbose $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ echo "==========================================================="; \ @@ -847,8 +847,7 @@ endif echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ COVERAGE_FILE=.coverage.unit.$$(echo $$component | tr '/' '.') \ - nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \ - $(NOSE_COVERAGE_PACKAGES) \ + pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ @@ -903,7 +902,7 @@ itests: requirements .itests echo "Running integration tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ - nosetests $(NOSE_OPTS) -s -v \ + pytest --capture=no --verbose $(PYTEST_OPTS) \ $$component/tests/integration || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running integration tests in" $$component; \ @@ -926,8 +925,7 @@ endif echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ COVERAGE_FILE=.coverage.integration.$$(echo $$component | tr '/' '.') \ - nosetests $(NOSE_OPTS) -s -v $(NOSE_COVERAGE_FLAGS) \ - $(NOSE_COVERAGE_PACKAGES) \ + pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ $$component/tests/integration || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done integration running tests in" $$component; \ diff --git a/contrib/runners/action_chain_runner/tests/unit/test_actionchain_params_rendering.py b/contrib/runners/action_chain_runner/tests/unit/test_actionchain_params_rendering.py index d6278ca61a..b7e36e351b 100644 --- a/contrib/runners/action_chain_runner/tests/unit/test_actionchain_params_rendering.py +++ b/contrib/runners/action_chain_runner/tests/unit/test_actionchain_params_rendering.py @@ -15,7 +15,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest import mock @@ -24,7 +24,7 @@ from st2common.models.system.actionchain import Node -class ActionChainRunnerResolveParamsTests(unittest2.TestCase): +class ActionChainRunnerResolveParamsTests(unittest.TestCase): def test_render_params_action_context(self): runner = acr.get_runner() chain_context = { diff --git a/contrib/runners/http_runner/tests/unit/test_http_runner.py b/contrib/runners/http_runner/tests/unit/test_http_runner.py index 9d2d99a7c1..c2c15262a4 100644 --- a/contrib/runners/http_runner/tests/unit/test_http_runner.py +++ b/contrib/runners/http_runner/tests/unit/test_http_runner.py @@ -20,7 +20,7 @@ import six import mock -import unittest2 +import unittest from st2common.constants.action import LIVEACTION_STATUS_SUCCEEDED from http_runner.http_runner import HTTPClient @@ -41,7 +41,7 @@ class MockResult(object): close = mock.Mock() -class HTTPClientTestCase(unittest2.TestCase): +class HTTPClientTestCase(unittest.TestCase): @classmethod def setUpClass(cls): tests_config.parse_args() @@ -383,7 +383,7 @@ def test_url_host_blacklist_and_url_host_blacklist_params_are_mutually_exclusive ) -class HTTPRunnerTestCase(unittest2.TestCase): +class HTTPRunnerTestCase(unittest.TestCase): @mock.patch("http_runner.http_runner.requests") def test_get_success(self, mock_requests): mock_result = MockResult() diff --git a/contrib/runners/noop_runner/tests/unit/test_nooprunner.py b/contrib/runners/noop_runner/tests/unit/test_nooprunner.py index 67a234585b..686a404e89 100644 --- a/contrib/runners/noop_runner/tests/unit/test_nooprunner.py +++ b/contrib/runners/noop_runner/tests/unit/test_nooprunner.py @@ -22,7 +22,7 @@ tests_config.parse_args() -from unittest2 import TestCase +from unittest import TestCase from st2common.constants import action as action_constants from st2tests.fixtures.generic.fixture import PACK_NAME as GENERIC_PACK from st2tests.fixturesloader import FixturesLoader diff --git a/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py b/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py index 3004857bee..191da5ce93 100644 --- a/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py +++ b/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py @@ -17,7 +17,7 @@ import mock import six -import unittest2 +import unittest import st2tests @@ -42,7 +42,7 @@ MOCK_CTX_NO_USER = {"__vars": {"st2": {}}} -class DatastoreFunctionTest(unittest2.TestCase): +class DatastoreFunctionTest(unittest.TestCase): def test_missing_user_context(self): self.assertRaises(KeyError, st2kv.st2kv_, MOCK_CTX_NO_USER, "foo") 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 da939f4aae..3c609e26b5 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 @@ -36,7 +36,7 @@ import os import json -import unittest2 +import unittest from shutil import which as shutil_which from st2common.util.shell import run_command @@ -65,8 +65,8 @@ TIME_BINARY_AVAILABLE = TIME_BINARY_PATH is not None -@unittest2.skipIf(not TIME_BINARY_PATH, "time binary not available") -class PythonRunnerActionWrapperProcessTestCase(unittest2.TestCase): +@unittest.skipIf(not TIME_BINARY_PATH, "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 self.assertTrue(os.path.isfile(WRAPPER_SCRIPT_PATH)) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 6881699caf..cc60bdcb5a 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -6,7 +6,7 @@ apscheduler==3.7.0 chardet<3.1.0 cffi<1.15.0 # NOTE: 2.0 version breaks pymongo work with hosts -dnspython>=1.16.0,<2.0.0 +dnspython==2.6.1 cryptography==39.0.1 eventlet==0.33.3 flex==6.14.1 diff --git a/st2actions/tests/integration/test_actions_queue_consumer.py b/st2actions/tests/integration/test_actions_queue_consumer.py index e4b57698de..149e94b0f3 100644 --- a/st2actions/tests/integration/test_actions_queue_consumer.py +++ b/st2actions/tests/integration/test_actions_queue_consumer.py @@ -19,7 +19,7 @@ from kombu import Exchange from kombu import Queue -from unittest2 import TestCase +from unittest import TestCase from st2common.transport.consumers import ActionsQueueConsumer from st2common.transport.publishers import PoolPublisher diff --git a/st2actions/tests/unit/test_action_runner_worker.py b/st2actions/tests/unit/test_action_runner_worker.py index 1d0c7bbbd0..96e049b179 100644 --- a/st2actions/tests/unit/test_action_runner_worker.py +++ b/st2actions/tests/unit/test_action_runner_worker.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -from unittest2 import TestCase +from unittest import TestCase from mock import Mock from st2common.transport.consumers import ActionsQueueConsumer diff --git a/st2actions/tests/unit/test_parallel_ssh.py b/st2actions/tests/unit/test_parallel_ssh.py index 67052a53e0..c1ef2e998a 100644 --- a/st2actions/tests/unit/test_parallel_ssh.py +++ b/st2actions/tests/unit/test_parallel_ssh.py @@ -18,7 +18,7 @@ import os from mock import patch, Mock, MagicMock -import unittest2 +import unittest from st2common.runners.parallel_ssh import ParallelSSHClient from st2common.runners.paramiko_ssh import ParamikoSSHClient @@ -35,7 +35,7 @@ """ -class ParallelSSHTests(unittest2.TestCase): +class ParallelSSHTests(unittest.TestCase): @patch("paramiko.SSHClient", Mock) @patch.object( ParamikoSSHClient, diff --git a/st2actions/tests/unit/test_paramiko_remote_script_runner.py b/st2actions/tests/unit/test_paramiko_remote_script_runner.py index 4f09170781..27495463ff 100644 --- a/st2actions/tests/unit/test_paramiko_remote_script_runner.py +++ b/st2actions/tests/unit/test_paramiko_remote_script_runner.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import bson from mock import patch, Mock, MagicMock -import unittest2 +import unittest # XXX: There is an import dependency. Config needs to setup # before importing remote_script_runner classes. @@ -47,7 +47,7 @@ ACTION_1 = MODELS["actions"]["a1.yaml"] -class ParamikoScriptRunnerTestCase(unittest2.TestCase): +class ParamikoScriptRunnerTestCase(unittest.TestCase): @patch("st2common.runners.parallel_ssh.ParallelSSHClient", Mock) @patch.object(jsonify, "json_loads", MagicMock(return_value={})) @patch.object(ParallelSSHClient, "run", MagicMock(return_value={})) diff --git a/st2actions/tests/unit/test_paramiko_ssh.py b/st2actions/tests/unit/test_paramiko_ssh.py index eadc4a477a..9b9bc008f3 100644 --- a/st2actions/tests/unit/test_paramiko_ssh.py +++ b/st2actions/tests/unit/test_paramiko_ssh.py @@ -19,7 +19,7 @@ import mock import paramiko -import unittest2 +import unittest from oslo_config import cfg from mock import call, patch, Mock, MagicMock from six.moves import StringIO @@ -34,7 +34,7 @@ __all__ = ["ParamikoSSHClientTestCase"] -class ParamikoSSHClientTestCase(unittest2.TestCase): +class ParamikoSSHClientTestCase(unittest.TestCase): @patch("paramiko.SSHClient", Mock) def setUp(self): """ diff --git a/st2actions/tests/unit/test_paramiko_ssh_runner.py b/st2actions/tests/unit/test_paramiko_ssh_runner.py index f42746d602..6700bb0347 100644 --- a/st2actions/tests/unit/test_paramiko_ssh_runner.py +++ b/st2actions/tests/unit/test_paramiko_ssh_runner.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import os -import unittest2 +import unittest import mock from st2common.runners.paramiko_ssh_runner import BaseParallelSSHRunner @@ -38,7 +38,7 @@ def run(self): pass -class ParamikoSSHRunnerTestCase(unittest2.TestCase): +class ParamikoSSHRunnerTestCase(unittest.TestCase): @mock.patch("st2common.runners.paramiko_ssh_runner.ParallelSSHClient") def test_pre_run(self, mock_client): # Test case which verifies that ParamikoSSHClient is instantiated with the correct arguments diff --git a/st2actions/tests/unit/test_remote_runners.py b/st2actions/tests/unit/test_remote_runners.py index 7f84165dbb..19f5cb40f1 100644 --- a/st2actions/tests/unit/test_remote_runners.py +++ b/st2actions/tests/unit/test_remote_runners.py @@ -19,7 +19,7 @@ tests_config.parse_args() -from unittest2 import TestCase +from unittest import TestCase from st2common.models.system.action import RemoteScriptAction diff --git a/st2api/tests/integration/test_gunicorn_configs.py b/st2api/tests/integration/test_gunicorn_configs.py index 9375cf3b85..c4c05bb155 100644 --- a/st2api/tests/integration/test_gunicorn_configs.py +++ b/st2api/tests/integration/test_gunicorn_configs.py @@ -17,7 +17,7 @@ import random from six.moves import http_client -import unittest2 +import unittest import requests import eventlet from eventlet.green import subprocess @@ -32,7 +32,7 @@ class GunicornWSGIEntryPointTestCase(IntegrationTestCase): - @unittest2.skipIf(profiling.is_enabled(), "Profiling is enabled") + @unittest.skipIf(profiling.is_enabled(), "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) - @unittest2.skipIf(profiling.is_enabled(), "Profiling is enabled") + @unittest.skipIf(profiling.is_enabled(), "Profiling is enabled") def test_st2auth(self): port = random.randint(10000, 30000) cmd = ( diff --git a/st2api/tests/unit/controllers/v1/test_actions.py b/st2api/tests/unit/controllers/v1/test_actions.py index 364349a798..ddb111c8c7 100644 --- a/st2api/tests/unit/controllers/v1/test_actions.py +++ b/st2api/tests/unit/controllers/v1/test_actions.py @@ -25,7 +25,7 @@ import json import mock -import unittest2 +import unittest from six.moves import http_client from st2common.persistence.action import Action @@ -862,14 +862,14 @@ def test_get_one_using_tag_parameter(self): # TODO: Re-enable those tests after we ensure DB is flushed in setUp # and each test starts in a clean state - @unittest2.skip("Skip because of test polution") + @unittest.skip("Skip because of test polution") def test_update_action_belonging_to_system_pack(self): post_resp = self.__do_post(ACTION_11) action_id = self.__get_action_id(post_resp) put_resp = self.__do_put(action_id, ACTION_11, expect_errors=True) self.assertEqual(put_resp.status_int, 400) - @unittest2.skip("Skip because of test polution") + @unittest.skip("Skip because of test polution") def test_delete_action_belonging_to_system_pack(self): post_resp = self.__do_post(ACTION_11) action_id = self.__get_action_id(post_resp) diff --git a/st2api/tests/unit/test_validation_utils.py b/st2api/tests/unit/test_validation_utils.py index b5c939221c..b2e36be82f 100644 --- a/st2api/tests/unit/test_validation_utils.py +++ b/st2api/tests/unit/test_validation_utils.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import unittest2 +import unittest from oslo_config import cfg from st2api.validation import validate_auth_cookie_is_correctly_configured @@ -23,7 +23,7 @@ __all__ = ["ValidationUtilsTestCase"] -class ValidationUtilsTestCase(unittest2.TestCase): +class ValidationUtilsTestCase(unittest.TestCase): def setUp(self): super(ValidationUtilsTestCase, self).setUp() tests_config.parse_args() diff --git a/st2auth/tests/unit/test_auth_backends.py b/st2auth/tests/unit/test_auth_backends.py index e3225b33f0..58047a1097 100644 --- a/st2auth/tests/unit/test_auth_backends.py +++ b/st2auth/tests/unit/test_auth_backends.py @@ -13,12 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -import unittest2 +import unittest from st2auth.backends import get_available_backends -class AuthenticationBackendsTestCase(unittest2.TestCase): +class AuthenticationBackendsTestCase(unittest.TestCase): def test_flat_file_backend_is_available_by_default(self): available_backends = get_available_backends() self.assertIn("flat_file", available_backends) diff --git a/st2auth/tests/unit/test_validation_utils.py b/st2auth/tests/unit/test_validation_utils.py index 213e106625..ebb5915994 100644 --- a/st2auth/tests/unit/test_validation_utils.py +++ b/st2auth/tests/unit/test_validation_utils.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import unittest2 +import unittest from oslo_config import cfg from st2auth.validation import validate_auth_backend_is_correctly_configured @@ -22,7 +22,7 @@ __all__ = ["ValidationUtilsTestCase"] -class ValidationUtilsTestCase(unittest2.TestCase): +class ValidationUtilsTestCase(unittest.TestCase): def setUp(self): super(ValidationUtilsTestCase, self).setUp() tests_config.parse_args() diff --git a/st2client/tests/base.py b/st2client/tests/base.py index e2ea29a3ae..193783bd02 100644 --- a/st2client/tests/base.py +++ b/st2client/tests/base.py @@ -20,7 +20,7 @@ import logging import six -import unittest2 +import unittest from st2client import models @@ -70,7 +70,7 @@ def __init__(self): self.client = FakeClient() -class BaseCLITestCase(unittest2.TestCase): +class BaseCLITestCase(unittest.TestCase): capture_output = ( True # if True, stdout and stderr are saved to self.stdout and self.stderr ) diff --git a/st2client/tests/unit/test_app.py b/st2client/tests/unit/test_app.py index 217d3875ad..f956c757ac 100644 --- a/st2client/tests/unit/test_app.py +++ b/st2client/tests/unit/test_app.py @@ -17,7 +17,7 @@ import os import getpass -import unittest2 +import unittest import mock from st2client.base import BaseCLIApp @@ -25,7 +25,7 @@ USER = getpass.getuser() -class BaseCLIAppTestCase(unittest2.TestCase): +class BaseCLIAppTestCase(unittest.TestCase): @mock.patch("os.path.isfile", mock.Mock()) def test_cli_config_file_path(self): app = BaseCLIApp() diff --git a/st2client/tests/unit/test_client.py b/st2client/tests/unit/test_client.py index 01d5bb4800..3b36209c51 100644 --- a/st2client/tests/unit/test_client.py +++ b/st2client/tests/unit/test_client.py @@ -18,7 +18,7 @@ import os import json import logging -import unittest2 +import unittest import six import mock @@ -35,7 +35,7 @@ NONRESOURCES = ["workflows"] -class TestClientEndpoints(unittest2.TestCase): +class TestClientEndpoints(unittest.TestCase): def tearDown(self): for var in [ "ST2_BASE_URL", diff --git a/st2client/tests/unit/test_client_actions.py b/st2client/tests/unit/test_client_actions.py index 141e7c8ece..1bafb1b355 100644 --- a/st2client/tests/unit/test_client_actions.py +++ b/st2client/tests/unit/test_client_actions.py @@ -18,7 +18,7 @@ import json import logging import mock -import unittest2 +import unittest from tests import base @@ -55,7 +55,7 @@ ) -class TestActionResourceManager(unittest2.TestCase): +class TestActionResourceManager(unittest.TestCase): @classmethod def setUpClass(cls): super(TestActionResourceManager, cls).setUpClass() diff --git a/st2client/tests/unit/test_client_executions.py b/st2client/tests/unit/test_client_executions.py index a9dc19e2c3..725ea1c45a 100644 --- a/st2client/tests/unit/test_client_executions.py +++ b/st2client/tests/unit/test_client_executions.py @@ -19,7 +19,7 @@ import logging import warnings import mock -import unittest2 +import unittest from tests import base @@ -55,7 +55,7 @@ } -class TestExecutionResourceManager(unittest2.TestCase): +class TestExecutionResourceManager(unittest.TestCase): @classmethod def setUpClass(cls): super(TestExecutionResourceManager, cls).setUpClass() diff --git a/st2client/tests/unit/test_command_actionrun.py b/st2client/tests/unit/test_command_actionrun.py index afd6fb418d..805491f189 100644 --- a/st2client/tests/unit/test_command_actionrun.py +++ b/st2client/tests/unit/test_command_actionrun.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import copy -import unittest2 +import unittest import six import mock @@ -24,7 +24,7 @@ from st2client.models.action import Action, RunnerType -class ActionRunCommandTest(unittest2.TestCase): +class ActionRunCommandTest(unittest.TestCase): def test_get_params_types(self): runner = RunnerType() runner_params = { diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index 729b671cd4..929a327e98 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -20,7 +20,7 @@ import logging import argparse import tempfile -import unittest2 +import unittest from collections import namedtuple from tests import base @@ -102,7 +102,7 @@ def test_all_resources_get_multi(self): self._reset_output_streams() -class TestResourceCommand(unittest2.TestCase): +class TestResourceCommand(unittest.TestCase): def __init__(self, *args, **kwargs): super(TestResourceCommand, self).__init__(*args, **kwargs) self.parser = argparse.ArgumentParser() @@ -401,7 +401,7 @@ def test_command_get_unicode_primary_key(self): self.assertEqual(actual, expected) -class ResourceViewCommandTestCase(unittest2.TestCase): +class ResourceViewCommandTestCase(unittest.TestCase): def setUp(self): ResourceViewCommand.display_attributes = [] diff --git a/st2client/tests/unit/test_config_parser.py b/st2client/tests/unit/test_config_parser.py index eec8694442..39d5a48473 100644 --- a/st2client/tests/unit/test_config_parser.py +++ b/st2client/tests/unit/test_config_parser.py @@ -20,7 +20,7 @@ import mock import six -import unittest2 +import unittest from st2client.config_parser import CLIConfigParser from st2client.config_parser import CONFIG_DEFAULT_VALUES @@ -31,7 +31,7 @@ CONFIG_FILE_PATH_UNICODE = os.path.join(BASE_DIR, "../fixtures/test_unicode.ini") -class CLIConfigParserTestCase(unittest2.TestCase): +class CLIConfigParserTestCase(unittest.TestCase): def test_constructor(self): parser = CLIConfigParser( config_file_path="doesnotexist", validate_config_exists=False @@ -102,7 +102,7 @@ def test_get_config_for_unicode_char(self): self.assertEqual(config["credentials"]["password"], "\u5bc6\u7801\u0025") -class CLIConfigPermissionsTestCase(unittest2.TestCase): +class CLIConfigPermissionsTestCase(unittest.TestCase): def setUp(self): self.TEMP_FILE_PATH = os.path.join("st2config", ".st2", "config") self.TEMP_CONFIG_DIR = os.path.dirname(self.TEMP_FILE_PATH) diff --git a/st2client/tests/unit/test_formatters.py b/st2client/tests/unit/test_formatters.py index d64f75a827..ab20cd110e 100644 --- a/st2client/tests/unit/test_formatters.py +++ b/st2client/tests/unit/test_formatters.py @@ -21,7 +21,7 @@ import json import logging import tempfile -import unittest2 +import unittest from io import BytesIO from six.moves import StringIO @@ -84,7 +84,7 @@ def redirect_console_for_pytest(request): @pytest.mark.usefixtures("redirect_console_for_pytest") -class TestExecutionResultFormatter(unittest2.TestCase): +class TestExecutionResultFormatter(unittest.TestCase): def __init__(self, *args, **kwargs): super(TestExecutionResultFormatter, self).__init__(*args, **kwargs) self.shell = shell.Shell() diff --git a/st2client/tests/unit/test_interactive.py b/st2client/tests/unit/test_interactive.py index dce4c6748d..547782ce53 100644 --- a/st2client/tests/unit/test_interactive.py +++ b/st2client/tests/unit/test_interactive.py @@ -17,7 +17,7 @@ import logging import mock import re -import unittest2 +import unittest import prompt_toolkit from prompt_toolkit.document import Document @@ -30,7 +30,7 @@ LOG = logging.getLogger(__name__) -class TestInteractive(unittest2.TestCase): +class TestInteractive(unittest.TestCase): def assertPromptMessage(self, prompt_mock, message, msg=None): self.assertEqual(prompt_mock.call_args[0], (message,), msg) diff --git a/st2client/tests/unit/test_models.py b/st2client/tests/unit/test_models.py index 8f5d6bd6d7..31e762eb81 100644 --- a/st2client/tests/unit/test_models.py +++ b/st2client/tests/unit/test_models.py @@ -17,7 +17,7 @@ import mock import json import logging -import unittest2 +import unittest from tests import base @@ -28,7 +28,7 @@ LOG = logging.getLogger(__name__) -class TestSerialization(unittest2.TestCase): +class TestSerialization(unittest.TestCase): def test_resource_serialize(self): instance = base.FakeResource(id="123", name="abc") self.assertDictEqual(instance.serialize(), base.RESOURCES[0]) @@ -39,7 +39,7 @@ def test_resource_deserialize(self): self.assertEqual(instance.name, "abc") -class TestResourceManager(unittest2.TestCase): +class TestResourceManager(unittest.TestCase): @mock.patch.object( httpclient.HTTPClient, "get", @@ -473,7 +473,7 @@ def test_resource_clone_failed(self): self.assertRaises(Exception, mgr.clone, source_ref, "dpack", "daction") -class TestKeyValuePairResourceManager(unittest2.TestCase): +class TestKeyValuePairResourceManager(unittest.TestCase): @mock.patch.object( httpclient.HTTPClient, "get", diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index 5eb27714ca..a4f88541fa 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -27,7 +27,7 @@ import requests import six import mock -import unittest2 +import unittest import st2client from st2client.shell import Shell @@ -516,7 +516,7 @@ def _write_mock_package_metadata_file(self): return package_metadata_path - @unittest2.skipIf(True, "skipping until checks are re-enabled") + @unittest.skipIf(True, "skipping until checks are re-enabled") @mock.patch.object( requests, "get", mock.MagicMock(return_value=base.FakeResponse("{}", 200, "OK")) ) @@ -578,7 +578,7 @@ def test_policy_list_with_pack_option(self): ) -class CLITokenCachingTestCase(unittest2.TestCase): +class CLITokenCachingTestCase(unittest.TestCase): def setUp(self): super(CLITokenCachingTestCase, self).setUp() self._mock_temp_dir_path = tempfile.mkdtemp() diff --git a/st2client/tests/unit/test_util_date.py b/st2client/tests/unit/test_util_date.py index 2cdeab95fc..a556709a5a 100644 --- a/st2client/tests/unit/test_util_date.py +++ b/st2client/tests/unit/test_util_date.py @@ -17,7 +17,7 @@ import datetime import mock -import unittest2 +import unittest from st2client.utils.date import add_utc_tz from st2client.utils.date import format_dt @@ -25,7 +25,7 @@ from st2client.utils.date import format_isodate_for_user_timezone -class DateUtilsTestCase(unittest2.TestCase): +class DateUtilsTestCase(unittest.TestCase): def test_format_dt(self): dt = datetime.datetime(2015, 10, 20, 8, 0, 0) dt = add_utc_tz(dt) diff --git a/st2client/tests/unit/test_util_json.py b/st2client/tests/unit/test_util_json.py index 2333128c2e..59373151ce 100644 --- a/st2client/tests/unit/test_util_json.py +++ b/st2client/tests/unit/test_util_json.py @@ -17,7 +17,7 @@ import json import logging import mock -import unittest2 +import unittest from st2client.utils import jsutil @@ -38,7 +38,7 @@ } -class TestGetValue(unittest2.TestCase): +class TestGetValue(unittest.TestCase): def test_dot_notation(self): self.assertEqual(jsutil.get_value(DOC, "a01"), 1) self.assertEqual(jsutil.get_value(DOC, "c01.c11"), 3) @@ -108,7 +108,7 @@ def test_double_dot_calls_complex(self, mock__get_value_complex): mock__get_value_complex.assert_called_with(DOC, "c01..c11") -class TestGetKeyValuePairs(unittest2.TestCase): +class TestGetKeyValuePairs(unittest.TestCase): def test_select_kvps(self): self.assertEqual(jsutil.get_kvps(DOC, ["a01"]), {"a01": 1}) self.assertEqual(jsutil.get_kvps(DOC, ["c01.c11"]), {"c01": {"c11": 3}}) diff --git a/st2client/tests/unit/test_util_misc.py b/st2client/tests/unit/test_util_misc.py index 2e33156adc..e970fcdbbe 100644 --- a/st2client/tests/unit/test_util_misc.py +++ b/st2client/tests/unit/test_util_misc.py @@ -14,12 +14,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2client.utils.misc import merge_dicts -class MiscUtilTestCase(unittest2.TestCase): +class MiscUtilTestCase(unittest.TestCase): def test_merge_dicts(self): d1 = {"a": 1} d2 = {"a": 2} diff --git a/st2client/tests/unit/test_util_strutil.py b/st2client/tests/unit/test_util_strutil.py index 585e88c389..5d38758b99 100644 --- a/st2client/tests/unit/test_util_strutil.py +++ b/st2client/tests/unit/test_util_strutil.py @@ -16,12 +16,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2client.utils import strutil -class StrUtilTestCase(unittest2.TestCase): +class StrUtilTestCase(unittest.TestCase): # See https://mail.python.org/pipermail/python-list/2006-January/411909.html def test_unescape(self): diff --git a/st2client/tests/unit/test_util_terminal.py b/st2client/tests/unit/test_util_terminal.py index 29a8386b0b..e5b5a272f1 100644 --- a/st2client/tests/unit/test_util_terminal.py +++ b/st2client/tests/unit/test_util_terminal.py @@ -17,7 +17,7 @@ import os -import unittest2 +import unittest import mock from st2client.utils.terminal import DEFAULT_TERMINAL_SIZE_COLUMNS @@ -26,7 +26,7 @@ __all__ = ["TerminalUtilsTestCase"] -class TerminalUtilsTestCase(unittest2.TestCase): +class TerminalUtilsTestCase(unittest.TestCase): def setUp(self): super(TerminalUtilsTestCase, self).setUp() diff --git a/st2common/tests/integration/test_rabbitmq_ssl_listener.py b/st2common/tests/integration/test_rabbitmq_ssl_listener.py index e7b2ce1247..95aac4f8b1 100644 --- a/st2common/tests/integration/test_rabbitmq_ssl_listener.py +++ b/st2common/tests/integration/test_rabbitmq_ssl_listener.py @@ -20,7 +20,7 @@ import socket import six -import unittest2 +import unittest from oslo_config import cfg from st2common.transport import utils as transport_utils @@ -37,11 +37,11 @@ # 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 -@unittest2.skipIf( +@unittest.skipIf( not ST2_CI, 'Skipping tests because ST2_CI environment variable is not set to "true"', ) -class RabbitMQTLSListenerTestCase(unittest2.TestCase): +class RabbitMQTLSListenerTestCase(unittest.TestCase): def setUp(self): # Set default values cfg.CONF.set_override(name="ssl", override=False, group="messaging") diff --git a/st2common/tests/unit/services/test_packs.py b/st2common/tests/unit/services/test_packs.py index e93258aa0b..1fb46fec7f 100644 --- a/st2common/tests/unit/services/test_packs.py +++ b/st2common/tests/unit/services/test_packs.py @@ -20,7 +20,7 @@ import os import mock import shutil -import unittest2 +import unittest import uuid from st2common.models.db.stormbase import UIDFieldMixin @@ -201,7 +201,7 @@ } -class DeleteActionFilesTest(unittest2.TestCase): +class DeleteActionFilesTest(unittest.TestCase): def test_delete_action_files_from_pack(self): """ Test that the action files present in the pack and removed @@ -280,7 +280,7 @@ def test_metadata_file_does_not_exists(self): self.assertFalse(os.path.exists(metadata_file)) -class DeleteActionEntryPointFilesErrorTest(unittest2.TestCase): +class DeleteActionEntryPointFilesErrorTest(unittest.TestCase): """ Testing that exceptions are thrown by delete_action_files_from_pack function for entry point file. Here only entry point file is created and metadata @@ -347,7 +347,7 @@ def test_exception_to_remove_resource_entry_point_file(self, remove): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) -class DeleteActionMetadataFilesErrorTest(unittest2.TestCase): +class DeleteActionMetadataFilesErrorTest(unittest.TestCase): """ Testing that exceptions are thrown by delete_action_files_from_pack function for metadata file. Here only metadata file is created and metadata file doesn't exist. @@ -413,7 +413,7 @@ def test_exception_to_remove_resource_metadata_file(self, remove): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) -class CloneActionDBAndFilesTestCase(unittest2.TestCase): +class CloneActionDBAndFilesTestCase(unittest.TestCase): @classmethod def setUpClass(cls): action_files_path = os.path.join(TEST_DEST_PACK_PATH, "actions") @@ -587,7 +587,7 @@ def test_workflows_directory_created_if_does_not_exist(self): self.assertTrue(os.path.exists(workflows_dir_path)) -class CloneActionFilesBackupTestCase(unittest2.TestCase): +class CloneActionFilesBackupTestCase(unittest.TestCase): @classmethod def tearDownClass(cls): action_files_path = os.path.join(TEST_DEST_PACK_PATH, "actions") diff --git a/st2common/tests/unit/services/test_synchronization.py b/st2common/tests/unit/services/test_synchronization.py index e0c42b50f4..e6dfd2ec66 100644 --- a/st2common/tests/unit/services/test_synchronization.py +++ b/st2common/tests/unit/services/test_synchronization.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest import uuid from oslo_config import cfg @@ -23,7 +23,7 @@ import st2tests.config as tests_config -class SynchronizationTest(unittest2.TestCase): +class SynchronizationTest(unittest.TestCase): coordinator = None @classmethod diff --git a/st2common/tests/unit/services/test_trace.py b/st2common/tests/unit/services/test_trace.py index 39db4c7ade..b7f8a2ddaf 100644 --- a/st2common/tests/unit/services/test_trace.py +++ b/st2common/tests/unit/services/test_trace.py @@ -19,7 +19,7 @@ from collections import OrderedDict import bson -from unittest2 import TestCase +from unittest import TestCase from st2common.exceptions.db import StackStormDBObjectNotFoundError from st2common.exceptions.trace import UniqueTraceNotFoundException diff --git a/st2common/tests/unit/test_action_alias_utils.py b/st2common/tests/unit/test_action_alias_utils.py index daad0fbe1e..f32dd25ecb 100644 --- a/st2common/tests/unit/test_action_alias_utils.py +++ b/st2common/tests/unit/test_action_alias_utils.py @@ -23,7 +23,7 @@ AT_END_STRING, ) from mock import Mock -from unittest2 import TestCase +from unittest import TestCase from st2common.exceptions.content import ParseException from st2common.models.utils.action_alias_utils import ( ActionAliasFormatParser, diff --git a/st2common/tests/unit/test_action_system_models.py b/st2common/tests/unit/test_action_system_models.py index c8812acf38..3fccf70028 100644 --- a/st2common/tests/unit/test_action_system_models.py +++ b/st2common/tests/unit/test_action_system_models.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.system.action import RemoteAction from st2common.models.system.action import RemoteScriptAction @@ -22,7 +22,7 @@ __all__ = ["RemoteActionTestCase", "RemoteScriptActionTestCase"] -class RemoteActionTestCase(unittest2.TestCase): +class RemoteActionTestCase(unittest.TestCase): def test_instantiation(self): action = RemoteAction( name="name", @@ -48,7 +48,7 @@ def test_instantiation(self): self.assertEqual(action.timeout, 10) -class RemoteScriptActionTestCase(unittest2.TestCase): +class RemoteScriptActionTestCase(unittest.TestCase): def test_instantiation(self): action = RemoteScriptAction( name="name", diff --git a/st2common/tests/unit/test_actionchain_schema.py b/st2common/tests/unit/test_actionchain_schema.py index 1b1286b975..743fb45bcd 100644 --- a/st2common/tests/unit/test_actionchain_schema.py +++ b/st2common/tests/unit/test_actionchain_schema.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from jsonschema.exceptions import ValidationError from st2common.models.system import actionchain @@ -40,7 +40,7 @@ CHAIN_WITH_PUBLISH = FIXTURES["actionchains"]["chain_with_publish.yaml"] -class ActionChainSchemaTest(unittest2.TestCase): +class ActionChainSchemaTest(unittest.TestCase): def test_actionchain_schema_valid(self): chain = actionchain.ActionChain(**CHAIN_1) self.assertEqual(len(chain.chain), len(CHAIN_1["chain"])) diff --git a/st2common/tests/unit/test_api_model_validation.py b/st2common/tests/unit/test_api_model_validation.py index 20eb98ce6c..bb2a04ff47 100644 --- a/st2common/tests/unit/test_api_model_validation.py +++ b/st2common/tests/unit/test_api_model_validation.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.api.base import BaseAPI @@ -111,7 +111,7 @@ class MockAPIModel2(BaseAPI): } -class APIModelValidationTestCase(unittest2.TestCase): +class APIModelValidationTestCase(unittest.TestCase): def test_validate_default_values_are_set(self): # no "permission_grants" attribute mock_model_api = MockAPIModel1(name="name") diff --git a/st2common/tests/unit/test_casts.py b/st2common/tests/unit/test_casts.py index 62bf0ac4e8..2852008017 100644 --- a/st2common/tests/unit/test_casts.py +++ b/st2common/tests/unit/test_casts.py @@ -16,12 +16,12 @@ from __future__ import absolute_import import json -import unittest2 +import unittest from st2common.util.casts import get_cast -class CastsTestCase(unittest2.TestCase): +class CastsTestCase(unittest.TestCase): def test_cast_string(self): cast_func = get_cast("string") diff --git a/st2common/tests/unit/test_config_parser.py b/st2common/tests/unit/test_config_parser.py index 883ee66260..04cd7636af 100644 --- a/st2common/tests/unit/test_config_parser.py +++ b/st2common/tests/unit/test_config_parser.py @@ -15,7 +15,7 @@ # limitations under the License. from __future__ import absolute_import -from unittest2 import TestCase +from unittest import TestCase from st2common.util.config_parser import ContentPackConfigParser import st2tests.config as tests_config diff --git a/st2common/tests/unit/test_content_loader.py b/st2common/tests/unit/test_content_loader.py index 663d5f7844..e4a4b5cbeb 100644 --- a/st2common/tests/unit/test_content_loader.py +++ b/st2common/tests/unit/test_content_loader.py @@ -18,7 +18,7 @@ from oslo_config import cfg import os -import unittest2 +import unittest import yaml @@ -41,7 +41,7 @@ RESOURCES_DIR = os.path.abspath(os.path.join(CURRENT_DIR, "../resources")) -class ContentLoaderTest(unittest2.TestCase): +class ContentLoaderTest(unittest.TestCase): def test_get_sensors(self): packs_base_path = os.path.join(RESOURCES_DIR, "packs/") loader = ContentPackLoader() @@ -216,7 +216,7 @@ def test_get_override_invalid_exceptions_key(self): ) -class YamlLoaderTestCase(unittest2.TestCase): +class YamlLoaderTestCase(unittest.TestCase): def test_yaml_safe_load(self): # Verify C version of yaml loader indeed doesn't load non-safe data dumped = yaml.dump(Foo) diff --git a/st2common/tests/unit/test_content_utils.py b/st2common/tests/unit/test_content_utils.py index c9ff10ff29..6c05596ad9 100644 --- a/st2common/tests/unit/test_content_utils.py +++ b/st2common/tests/unit/test_content_utils.py @@ -17,7 +17,7 @@ import os import os.path -import unittest2 +import unittest from oslo_config import cfg from st2common.constants.action import LIBS_DIR as ACTION_LIBS_DIR @@ -38,7 +38,7 @@ from st2tests.fixtures.packs.dummy_pack_2.fixture import PACK_PATH as DUMMY_PACK_2_PATH -class ContentUtilsTestCase(unittest2.TestCase): +class ContentUtilsTestCase(unittest.TestCase): @classmethod def setUpClass(cls): tests_config.parse_args() diff --git a/st2common/tests/unit/test_crypto_utils.py b/st2common/tests/unit/test_crypto_utils.py index 7fbbe9bf8f..0e196a0345 100644 --- a/st2common/tests/unit/test_crypto_utils.py +++ b/st2common/tests/unit/test_crypto_utils.py @@ -23,8 +23,8 @@ import json import binascii -import unittest2 -from unittest2 import TestCase +import unittest +from unittest import TestCase from six.moves import range from cryptography.exceptions import InvalidSignature @@ -255,7 +255,7 @@ def test_symmetric_encrypt_decrypt_cryptography(self): self.assertEqual(decrypted, plaintext) - @unittest2.skipIf(six.PY3, "keyczar doesn't work under Python 3") + @unittest.skipIf(six.PY3, "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_date_utils.py b/st2common/tests/unit/test_date_utils.py index d453edb8f7..f58caa54f9 100644 --- a/st2common/tests/unit/test_date_utils.py +++ b/st2common/tests/unit/test_date_utils.py @@ -17,12 +17,12 @@ import datetime import pytz -import unittest2 +import unittest from st2common.util import date as date_utils -class DateUtilsTestCase(unittest2.TestCase): +class DateUtilsTestCase(unittest.TestCase): def test_get_datetime_utc_now(self): date = date_utils.get_datetime_utc_now() self.assertEqual(date.tzinfo.tzname(None), "UTC") diff --git a/st2common/tests/unit/test_db.py b/st2common/tests/unit/test_db.py index 0ae1ee79f1..4d571fb93f 100644 --- a/st2common/tests/unit/test_db.py +++ b/st2common/tests/unit/test_db.py @@ -48,7 +48,7 @@ from st2common.persistence.trigger import TriggerType, Trigger, TriggerInstance from st2tests import DbTestCase -from unittest2 import TestCase +from unittest import TestCase from st2tests.base import ALL_MODELS diff --git a/st2common/tests/unit/test_db_fields.py b/st2common/tests/unit/test_db_fields.py index 9abd587fb5..c6deff0f6c 100644 --- a/st2common/tests/unit/test_db_fields.py +++ b/st2common/tests/unit/test_db_fields.py @@ -20,7 +20,7 @@ import calendar import mock -import unittest2 +import unittest import orjson import zstandard @@ -78,7 +78,7 @@ class ModelWithJSONDictFieldDB(stormbase.StormFoundationDB): ModelJsonDictFieldAccess = MongoDBAccess(ModelWithJSONDictFieldDB) -class JSONDictFieldTestCase(unittest2.TestCase): +class JSONDictFieldTestCase(unittest.TestCase): def test_set_to_mongo(self): field = JSONDictField(use_header=False) result = field.to_mongo({"test": {1, 2}}) @@ -147,7 +147,7 @@ def test_parse_field_value(self): self.assertEqual(result, {"c": "d"}) -class JSONDictFieldTestCaseWithHeader(unittest2.TestCase): +class JSONDictFieldTestCaseWithHeader(unittest.TestCase): def test_to_mongo_no_compression(self): field = JSONDictField(use_header=True) @@ -515,7 +515,7 @@ def test_field_state_changes_are_correctly_detected_save_method(self): self.assertEqual(retrieved_model_db.result, expected_result) -class ComplexDateTimeFieldTestCase(unittest2.TestCase): +class ComplexDateTimeFieldTestCase(unittest.TestCase): def test_what_comes_in_goes_out(self): field = ComplexDateTimeField() diff --git a/st2common/tests/unit/test_db_model_uids.py b/st2common/tests/unit/test_db_model_uids.py index 2dd3bfb87d..2cc1232153 100644 --- a/st2common/tests/unit/test_db_model_uids.py +++ b/st2common/tests/unit/test_db_model_uids.py @@ -18,7 +18,7 @@ import hashlib from collections import OrderedDict -import unittest2 +import unittest from st2common.models.db.pack import PackDB from st2common.models.db.sensor import SensorTypeDB @@ -33,7 +33,7 @@ __all__ = ["DBModelUIDFieldTestCase"] -class DBModelUIDFieldTestCase(unittest2.TestCase): +class DBModelUIDFieldTestCase(unittest.TestCase): def test_get_uid(self): pack_db = PackDB(ref="ma_pack") self.assertEqual(pack_db.get_uid(), "pack:ma_pack") diff --git a/st2common/tests/unit/test_db_policy.py b/st2common/tests/unit/test_db_policy.py index 95b682e4a4..6b7a478306 100644 --- a/st2common/tests/unit/test_db_policy.py +++ b/st2common/tests/unit/test_db_policy.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.constants import pack as pack_constants from st2common.models.db.policy import PolicyTypeReference, PolicyTypeDB, PolicyDB @@ -23,7 +23,7 @@ from st2tests import DbModelTestCase -class PolicyTypeReferenceTest(unittest2.TestCase): +class PolicyTypeReferenceTest(unittest.TestCase): def test_is_reference(self): self.assertTrue(PolicyTypeReference.is_reference("action.concurrency")) self.assertFalse(PolicyTypeReference.is_reference("concurrency")) diff --git a/st2common/tests/unit/test_dist_utils.py b/st2common/tests/unit/test_dist_utils.py index e19df80604..9b6060b480 100644 --- a/st2common/tests/unit/test_dist_utils.py +++ b/st2common/tests/unit/test_dist_utils.py @@ -17,7 +17,7 @@ import sys import mock -import unittest2 +import unittest BASE_DIR = os.path.dirname(os.path.abspath(__file__)) SCRIPTS_PATH = os.path.join(BASE_DIR, "../../../scripts/") @@ -38,7 +38,7 @@ VERSION_FILE_PATH = os.path.join(BASE_DIR, "../fixtures/version_file.py") -class DistUtilsTestCase(unittest2.TestCase): +class DistUtilsTestCase(unittest.TestCase): def setUp(self): super(DistUtilsTestCase, self).setUp() diff --git a/st2common/tests/unit/test_exceptions_workflow.py b/st2common/tests/unit/test_exceptions_workflow.py index fbb6dbd1fe..0d739396b1 100644 --- a/st2common/tests/unit/test_exceptions_workflow.py +++ b/st2common/tests/unit/test_exceptions_workflow.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import mongoengine -import unittest2 +import unittest from tooz import coordination @@ -25,7 +25,7 @@ from st2common.models.db import workflow as wf_db_models -class WorkflowExceptionTest(unittest2.TestCase): +class WorkflowExceptionTest(unittest.TestCase): def test_retry_on_transient_db_errors(self): instance = wf_db_models.WorkflowExecutionDB() exc = db_exc.StackStormDBObjectWriteConflictError(instance) diff --git a/st2common/tests/unit/test_greenpooldispatch.py b/st2common/tests/unit/test_greenpooldispatch.py index 45cc568759..4208c348b2 100644 --- a/st2common/tests/unit/test_greenpooldispatch.py +++ b/st2common/tests/unit/test_greenpooldispatch.py @@ -18,7 +18,7 @@ import mock from st2common.util.greenpooldispatch import BufferedDispatcher -from unittest2 import TestCase +from unittest import TestCase from six.moves import range diff --git a/st2common/tests/unit/test_hash.py b/st2common/tests/unit/test_hash.py index 234d4969da..adabb379d1 100644 --- a/st2common/tests/unit/test_hash.py +++ b/st2common/tests/unit/test_hash.py @@ -14,14 +14,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import hash as hash_utils from st2common.util import auth as auth_utils from six.moves import range -class TestHashWithApiKeys(unittest2.TestCase): +class TestHashWithApiKeys(unittest.TestCase): def test_hash_repeatability(self): api_key = auth_utils.generate_api_key() hash1 = hash_utils.hash(api_key) diff --git a/st2common/tests/unit/test_ip_utils.py b/st2common/tests/unit/test_ip_utils.py index cd1339be73..be88bce599 100644 --- a/st2common/tests/unit/test_ip_utils.py +++ b/st2common/tests/unit/test_ip_utils.py @@ -14,12 +14,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.ip_utils import split_host_port -class IPUtilsTests(unittest2.TestCase): +class IPUtilsTests(unittest.TestCase): def test_host_port_split(self): # Simple IPv4 diff --git a/st2common/tests/unit/test_jinja_render_data_filters.py b/st2common/tests/unit/test_jinja_render_data_filters.py index 44d2f296f9..8db175cac2 100644 --- a/st2common/tests/unit/test_jinja_render_data_filters.py +++ b/st2common/tests/unit/test_jinja_render_data_filters.py @@ -15,7 +15,7 @@ from __future__ import absolute_import import json -import unittest2 +import unittest import yaml from st2common.constants.keyvalue import FULL_SYSTEM_SCOPE @@ -23,7 +23,7 @@ from st2common.services.keyvalues import KeyValueLookup -class JinjaUtilsDataFilterTestCase(unittest2.TestCase): +class JinjaUtilsDataFilterTestCase(unittest.TestCase): def test_filter_from_json_string(self): env = jinja_utils.get_jinja_environment() expected_obj = {"a": "b", "c": {"d": "e", "f": 1, "g": True}} diff --git a/st2common/tests/unit/test_jinja_render_json_escape_filters.py b/st2common/tests/unit/test_jinja_render_json_escape_filters.py index 48fef776c1..62aca311e4 100644 --- a/st2common/tests/unit/test_jinja_render_json_escape_filters.py +++ b/st2common/tests/unit/test_jinja_render_json_escape_filters.py @@ -15,12 +15,12 @@ from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsJsonEscapeTestCase(unittest2.TestCase): +class JinjaUtilsJsonEscapeTestCase(unittest.TestCase): def test_doublequotes(self): env = jinja_utils.get_jinja_environment() template = "{{ test_str | json_escape }}" diff --git a/st2common/tests/unit/test_jinja_render_jsonpath_query_filters.py b/st2common/tests/unit/test_jinja_render_jsonpath_query_filters.py index 934aa04de8..4f3a5e85d7 100644 --- a/st2common/tests/unit/test_jinja_render_jsonpath_query_filters.py +++ b/st2common/tests/unit/test_jinja_render_jsonpath_query_filters.py @@ -15,12 +15,12 @@ from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsJsonpathQueryTestCase(unittest2.TestCase): +class JinjaUtilsJsonpathQueryTestCase(unittest.TestCase): def test_jsonpath_query_static(self): env = jinja_utils.get_jinja_environment() obj = { diff --git a/st2common/tests/unit/test_jinja_render_path_filters.py b/st2common/tests/unit/test_jinja_render_path_filters.py index 23507bbbc1..6dfea72676 100644 --- a/st2common/tests/unit/test_jinja_render_path_filters.py +++ b/st2common/tests/unit/test_jinja_render_path_filters.py @@ -15,12 +15,12 @@ from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsPathFilterTestCase(unittest2.TestCase): +class JinjaUtilsPathFilterTestCase(unittest.TestCase): def test_basename(self): env = jinja_utils.get_jinja_environment() diff --git a/st2common/tests/unit/test_jinja_render_regex_filters.py b/st2common/tests/unit/test_jinja_render_regex_filters.py index df2e347779..28835e6d65 100644 --- a/st2common/tests/unit/test_jinja_render_regex_filters.py +++ b/st2common/tests/unit/test_jinja_render_regex_filters.py @@ -14,12 +14,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsRegexFilterTestCase(unittest2.TestCase): +class JinjaUtilsRegexFilterTestCase(unittest.TestCase): def test_filters_regex_match(self): env = jinja_utils.get_jinja_environment() diff --git a/st2common/tests/unit/test_jinja_render_time_filters.py b/st2common/tests/unit/test_jinja_render_time_filters.py index 2cf002a0e3..58064d00bf 100644 --- a/st2common/tests/unit/test_jinja_render_time_filters.py +++ b/st2common/tests/unit/test_jinja_render_time_filters.py @@ -14,12 +14,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsTimeFilterTestCase(unittest2.TestCase): +class JinjaUtilsTimeFilterTestCase(unittest.TestCase): def test_to_human_time_filter(self): env = jinja_utils.get_jinja_environment() diff --git a/st2common/tests/unit/test_jinja_render_version_filters.py b/st2common/tests/unit/test_jinja_render_version_filters.py index 41b2b23670..102a630b2a 100644 --- a/st2common/tests/unit/test_jinja_render_version_filters.py +++ b/st2common/tests/unit/test_jinja_render_version_filters.py @@ -15,12 +15,12 @@ from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsVersionsFilterTestCase(unittest2.TestCase): +class JinjaUtilsVersionsFilterTestCase(unittest.TestCase): def test_version_compare(self): env = jinja_utils.get_jinja_environment() diff --git a/st2common/tests/unit/test_json_schema.py b/st2common/tests/unit/test_json_schema.py index 3e0c6e7336..bfb346d413 100644 --- a/st2common/tests/unit/test_json_schema.py +++ b/st2common/tests/unit/test_json_schema.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -from unittest2 import TestCase +from unittest import TestCase from jsonschema.exceptions import ValidationError from st2common.util import schema as util_schema diff --git a/st2common/tests/unit/test_jsonify.py b/st2common/tests/unit/test_jsonify.py index fe5de6e5e8..b4a375be69 100644 --- a/st2common/tests/unit/test_jsonify.py +++ b/st2common/tests/unit/test_jsonify.py @@ -17,7 +17,7 @@ import json -import unittest2 +import unittest from bson import ObjectId import st2tests.config as tests_config @@ -27,7 +27,7 @@ import st2common.util.jsonify as jsonify -class JsonifyTests(unittest2.TestCase): +class JsonifyTests(unittest.TestCase): @classmethod def setUpClass(cls): jsonify.DEFAULT_JSON_LIBRARY = "orjson" diff --git a/st2common/tests/unit/test_keyvalue_system_model.py b/st2common/tests/unit/test_keyvalue_system_model.py index a8ea10822b..14549e4985 100644 --- a/st2common/tests/unit/test_keyvalue_system_model.py +++ b/st2common/tests/unit/test_keyvalue_system_model.py @@ -14,13 +14,13 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.system.keyvalue import InvalidUserKeyReferenceError from st2common.models.system.keyvalue import UserKeyReference -class UserKeyReferenceSystemModelTest(unittest2.TestCase): +class UserKeyReferenceSystemModelTest(unittest.TestCase): def test_to_string_reference(self): key_ref = UserKeyReference.to_string_reference(user="stanley", name="foo") self.assertEqual(key_ref, "stanley:foo") diff --git a/st2common/tests/unit/test_logging.py b/st2common/tests/unit/test_logging.py index ebb75b6f1d..7775436e47 100644 --- a/st2common/tests/unit/test_logging.py +++ b/st2common/tests/unit/test_logging.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.logging.misc import get_logger_name_for_module from st2reactor.cmd import sensormanager @@ -24,7 +24,7 @@ __all__ = ["LoggingMiscUtilsTestCase"] -class LoggingMiscUtilsTestCase(unittest2.TestCase): +class LoggingMiscUtilsTestCase(unittest.TestCase): def test_get_logger_name_for_module(self): logger_name = get_logger_name_for_module(sensormanager) self.assertEqual(logger_name, "st2reactor.cmd.sensormanager") diff --git a/st2common/tests/unit/test_logging_middleware.py b/st2common/tests/unit/test_logging_middleware.py index b7d34de0bc..2da4bb5875 100644 --- a/st2common/tests/unit/test_logging_middleware.py +++ b/st2common/tests/unit/test_logging_middleware.py @@ -14,7 +14,7 @@ # limitations under the License. import mock -import unittest2 +import unittest from oslo_config import cfg @@ -24,7 +24,7 @@ __all__ = ["LoggingMiddlewareTestCase"] -class LoggingMiddlewareTestCase(unittest2.TestCase): +class LoggingMiddlewareTestCase(unittest.TestCase): @mock.patch("st2common.middleware.logging.LOG") @mock.patch("st2common.middleware.logging.Request") def test_secret_parameters_are_masked_in_log_message(self, mock_request, mock_log): diff --git a/st2common/tests/unit/test_metrics.py b/st2common/tests/unit/test_metrics.py index 4b0df66aa1..ad8167238c 100644 --- a/st2common/tests/unit/test_metrics.py +++ b/st2common/tests/unit/test_metrics.py @@ -17,7 +17,7 @@ from datetime import datetime from datetime import timedelta -import unittest2 +import unittest import mock from mock import patch, MagicMock @@ -41,7 +41,7 @@ cfg.CONF.set_override("port", 8080, group="metrics") -class TestBaseMetricsDriver(unittest2.TestCase): +class TestBaseMetricsDriver(unittest.TestCase): _driver = None def setUp(self): @@ -57,7 +57,7 @@ def test_dec_timer(self): self._driver.dec_counter("test") -class TestStatsDMetricsDriver(unittest2.TestCase): +class TestStatsDMetricsDriver(unittest.TestCase): _driver = None @patch("st2common.metrics.drivers.statsd_driver.statsd") @@ -249,7 +249,7 @@ def test_driver_socket_exceptions_are_not_fatal(self, statsd, mock_log): mock_gauge.assert_called_once_with(None, 1) -class TestCounterContextManager(unittest2.TestCase): +class TestCounterContextManager(unittest.TestCase): @patch("st2common.metrics.base.METRICS") def test_counter(self, metrics_patch): test_key = "test_key" @@ -258,7 +258,7 @@ def test_counter(self, metrics_patch): metrics_patch.dec_counter.assert_not_called() -class TestTimerContextManager(unittest2.TestCase): +class TestTimerContextManager(unittest.TestCase): @patch("st2common.metrics.base.get_datetime_utc_now") @patch("st2common.metrics.base.METRICS") def test_time(self, metrics_patch, datetime_patch): @@ -294,7 +294,7 @@ def test_time(self, metrics_patch, datetime_patch): ) -class TestCounterWithTimerContextManager(unittest2.TestCase): +class TestCounterWithTimerContextManager(unittest.TestCase): def setUp(self): self.start_time = get_datetime_utc_now() self.middle_time = self.start_time + timedelta(seconds=1) @@ -335,7 +335,7 @@ def test_time(self, metrics_patch, datetime_patch): ) -class TestCounterWithTimerDecorator(unittest2.TestCase): +class TestCounterWithTimerDecorator(unittest.TestCase): @patch("st2common.metrics.base.get_datetime_utc_now") @patch("st2common.metrics.base.METRICS") def test_time(self, metrics_patch, datetime_patch): @@ -378,7 +378,7 @@ def _get_tested(metrics_counter_with_timer=None): ) -class TestCounterDecorator(unittest2.TestCase): +class TestCounterDecorator(unittest.TestCase): @patch("st2common.metrics.base.METRICS") def test_counter(self, metrics_patch): test_key = "test_key" @@ -391,7 +391,7 @@ def _get_tested(): _get_tested() -class TestTimerDecorator(unittest2.TestCase): +class TestTimerDecorator(unittest.TestCase): @patch("st2common.metrics.base.get_datetime_utc_now") @patch("st2common.metrics.base.METRICS") def test_time(self, metrics_patch, datetime_patch): diff --git a/st2common/tests/unit/test_misc_utils.py b/st2common/tests/unit/test_misc_utils.py index 4890f12756..1687bef57a 100644 --- a/st2common/tests/unit/test_misc_utils.py +++ b/st2common/tests/unit/test_misc_utils.py @@ -16,7 +16,7 @@ from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.misc import rstrip_last_char from st2common.util.misc import strip_shell_chars @@ -27,7 +27,7 @@ __all__ = ["MiscUtilTestCase"] -class MiscUtilTestCase(unittest2.TestCase): +class MiscUtilTestCase(unittest.TestCase): def test_rstrip_last_char(self): self.assertEqual(rstrip_last_char(None, "\n"), None) self.assertEqual(rstrip_last_char("stuff", None), "stuff") diff --git a/st2common/tests/unit/test_notification_helper.py b/st2common/tests/unit/test_notification_helper.py index 9c00ea4771..9848f6386c 100644 --- a/st2common/tests/unit/test_notification_helper.py +++ b/st2common/tests/unit/test_notification_helper.py @@ -14,12 +14,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.api.notification import NotificationsHelper -class NotificationsHelperTestCase(unittest2.TestCase): +class NotificationsHelperTestCase(unittest.TestCase): def test_model_transformations(self): notify = {} diff --git a/st2common/tests/unit/test_operators.py b/st2common/tests/unit/test_operators.py index dd00eba6f7..9bb6161f91 100644 --- a/st2common/tests/unit/test_operators.py +++ b/st2common/tests/unit/test_operators.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common import operators from st2common.util import date as date_utils @@ -37,7 +37,7 @@ def list_of_dicts_strict_equal(lofd1, lofd2): return not t2 -class ListOfDictsStrictEqualTest(unittest2.TestCase): +class ListOfDictsStrictEqualTest(unittest.TestCase): """ Tests list_of_dicts_strict_equal @@ -156,7 +156,7 @@ def test_less_simple_dicts(self): ) -class SearchOperatorTest(unittest2.TestCase): +class SearchOperatorTest(unittest.TestCase): # The search command extends the rules engine into being a recursive descent # parser. As such, its tests are much more complex than other commands, so we # pull its tests out into their own test case. @@ -762,7 +762,7 @@ def test_search_payload_dict(self): self.assertFalse(result) -class OperatorTest(unittest2.TestCase): +class OperatorTest(unittest.TestCase): def test_matchwildcard(self): op = operators.get_operator("matchwildcard") self.assertTrue(op("v1", "v1"), "Failed matchwildcard.") @@ -1215,7 +1215,7 @@ def test_ninside(self): self.assertTrue(op("a", "bcd"), "Should return True") -class GetOperatorsTest(unittest2.TestCase): +class GetOperatorsTest(unittest.TestCase): def test_get_operator(self): self.assertTrue(operators.get_operator("equals")) self.assertTrue(operators.get_operator("EQUALS")) diff --git a/st2common/tests/unit/test_pack_management.py b/st2common/tests/unit/test_pack_management.py index b350c7d98f..2c08137746 100644 --- a/st2common/tests/unit/test_pack_management.py +++ b/st2common/tests/unit/test_pack_management.py @@ -18,7 +18,7 @@ import os import sys -import unittest2 +import unittest BASE_DIR = os.path.dirname(os.path.abspath(__file__)) PACK_ACTIONS_DIR = os.path.join(BASE_DIR, "../../../contrib/packs/actions") @@ -35,7 +35,7 @@ __all__ = ["InstallPackTestCase"] -class InstallPackTestCase(unittest2.TestCase): +class InstallPackTestCase(unittest.TestCase): def test_eval_repo(self): result = eval_repo_url("stackstorm/st2contrib") self.assertEqual(result, "https://github.com/stackstorm/st2contrib") diff --git a/st2common/tests/unit/test_paramiko_command_action_model.py b/st2common/tests/unit/test_paramiko_command_action_model.py index 0d023d4f8a..00d7356b0e 100644 --- a/st2common/tests/unit/test_paramiko_command_action_model.py +++ b/st2common/tests/unit/test_paramiko_command_action_model.py @@ -14,14 +14,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.system.paramiko_command_action import ParamikoRemoteCommandAction __all__ = ["ParamikoRemoteCommandActionTestCase"] -class ParamikoRemoteCommandActionTestCase(unittest2.TestCase): +class ParamikoRemoteCommandActionTestCase(unittest.TestCase): def test_get_command_string_no_env_vars(self): cmd_action = ParamikoRemoteCommandActionTestCase._get_test_command_action( "echo boo bah baz" diff --git a/st2common/tests/unit/test_paramiko_script_action_model.py b/st2common/tests/unit/test_paramiko_script_action_model.py index 3efae1053f..28a117299b 100644 --- a/st2common/tests/unit/test_paramiko_script_action_model.py +++ b/st2common/tests/unit/test_paramiko_script_action_model.py @@ -14,14 +14,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.system.paramiko_script_action import ParamikoRemoteScriptAction __all__ = ["ParamikoRemoteScriptActionTestCase"] -class ParamikoRemoteScriptActionTestCase(unittest2.TestCase): +class ParamikoRemoteScriptActionTestCase(unittest.TestCase): def test_get_command_string_no_env_vars(self): script_action = ParamikoRemoteScriptActionTestCase._get_test_script_action() ex = "cd /tmp && /tmp/remote_script.sh song='b s' 'taylor swift'" diff --git a/st2common/tests/unit/test_plugin_loader.py b/st2common/tests/unit/test_plugin_loader.py index 4641b66e9c..2ec6d1a726 100644 --- a/st2common/tests/unit/test_plugin_loader.py +++ b/st2common/tests/unit/test_plugin_loader.py @@ -19,7 +19,7 @@ import os import six import sys -import unittest2 +import unittest import st2common.util.loader as plugin_loader @@ -29,7 +29,7 @@ SRC_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), SRC_RELATIVE) -class LoaderTest(unittest2.TestCase): +class LoaderTest(unittest.TestCase): sys_path = None @six.add_metaclass(abc.ABCMeta) diff --git a/st2common/tests/unit/test_queue_utils.py b/st2common/tests/unit/test_queue_utils.py index db77fc01c2..a5a808377b 100644 --- a/st2common/tests/unit/test_queue_utils.py +++ b/st2common/tests/unit/test_queue_utils.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import re -from unittest2 import TestCase +from unittest import TestCase import st2common.util.queues as queue_utils diff --git a/st2common/tests/unit/test_rbac_types.py b/st2common/tests/unit/test_rbac_types.py index 895208210d..c997906f95 100644 --- a/st2common/tests/unit/test_rbac_types.py +++ b/st2common/tests/unit/test_rbac_types.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -from unittest2 import TestCase +from unittest import TestCase from st2common.constants.types import ResourceType as SystemType from st2common.rbac.types import PermissionType diff --git a/st2common/tests/unit/test_resource_reference.py b/st2common/tests/unit/test_resource_reference.py index 95533022ed..f653ce7b76 100644 --- a/st2common/tests/unit/test_resource_reference.py +++ b/st2common/tests/unit/test_resource_reference.py @@ -14,13 +14,13 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.system.common import ResourceReference from st2common.models.system.common import InvalidResourceReferenceError -class ResourceReferenceTestCase(unittest2.TestCase): +class ResourceReferenceTestCase(unittest.TestCase): def test_resource_reference_success(self): value = "pack1.name1" ref = ResourceReference.from_string_reference(ref=value) diff --git a/st2common/tests/unit/test_sensor_type_utils.py b/st2common/tests/unit/test_sensor_type_utils.py index 657054c453..c82c97c95a 100644 --- a/st2common/tests/unit/test_sensor_type_utils.py +++ b/st2common/tests/unit/test_sensor_type_utils.py @@ -15,13 +15,13 @@ from __future__ import absolute_import import mock -import unittest2 +import unittest from st2common.models.api.sensor import SensorTypeAPI from st2common.models.utils import sensor_type_utils -class SensorTypeUtilsTestCase(unittest2.TestCase): +class SensorTypeUtilsTestCase(unittest.TestCase): def test_to_sensor_db_model_no_trigger_types(self): sensor_meta = { "artifact_uri": "file:///data/st2contrib/packs/jira/sensors/jira_sensor.py", diff --git a/st2common/tests/unit/test_sensor_watcher.py b/st2common/tests/unit/test_sensor_watcher.py index 2379f81562..760a9147c7 100644 --- a/st2common/tests/unit/test_sensor_watcher.py +++ b/st2common/tests/unit/test_sensor_watcher.py @@ -16,7 +16,7 @@ from __future__ import absolute_import from kombu.message import Message import mock -import unittest2 +import unittest from st2common.services.sensor_watcher import SensorWatcher from st2common.models.db.sensor import SensorTypeDB @@ -25,7 +25,7 @@ MOCK_SENSOR_DB = SensorTypeDB(name="foo", pack="test") -class SensorWatcherTests(unittest2.TestCase): +class SensorWatcherTests(unittest.TestCase): @mock.patch.object(Message, "ack", mock.MagicMock()) @mock.patch.object(PoolPublisher, "publish", mock.MagicMock()) def test_assert_handlers_called(self): diff --git a/st2common/tests/unit/test_shell_action_system_model.py b/st2common/tests/unit/test_shell_action_system_model.py index 28cd78a00b..e171f54276 100644 --- a/st2common/tests/unit/test_shell_action_system_model.py +++ b/st2common/tests/unit/test_shell_action_system_model.py @@ -21,7 +21,7 @@ import copy from collections import OrderedDict -import unittest2 +import unittest from st2common.models.system.action import ShellCommandAction from st2common.models.system.action import ShellScriptAction @@ -38,7 +38,7 @@ __all__ = ["ShellCommandActionTestCase", "ShellScriptActionTestCase"] -class ShellCommandActionTestCase(unittest2.TestCase): +class ShellCommandActionTestCase(unittest.TestCase): def setUp(self): self._base_kwargs = { "name": "test action", @@ -97,7 +97,7 @@ def test_user_argument(self): self.assertEqual(command, expected_command) -class ShellScriptActionTestCase(unittest2.TestCase): +class ShellScriptActionTestCase(unittest.TestCase): def setUp(self): self._base_kwargs = { "name": "test action", diff --git a/st2common/tests/unit/test_spec_loader.py b/st2common/tests/unit/test_spec_loader.py index 284a38e838..474fb78c4d 100644 --- a/st2common/tests/unit/test_spec_loader.py +++ b/st2common/tests/unit/test_spec_loader.py @@ -14,7 +14,7 @@ from __future__ import absolute_import -import unittest2 +import unittest import yaml from st2common.util import spec_loader @@ -23,7 +23,7 @@ from st2tests.fixtures.specs import __package__ as specs_fixture_package -class SpecLoaderTest(unittest2.TestCase): +class SpecLoaderTest(unittest.TestCase): def test_spec_loader(self): self.assertTrue( isinstance(spec_loader.load_spec("st2common", "openapi.yaml.j2"), dict) diff --git a/st2common/tests/unit/test_stream_generator.py b/st2common/tests/unit/test_stream_generator.py index a184220b80..3a691dd1b8 100644 --- a/st2common/tests/unit/test_stream_generator.py +++ b/st2common/tests/unit/test_stream_generator.py @@ -14,7 +14,7 @@ # limitations under the License. import mock -import unittest2 +import unittest from st2common.stream import listener @@ -52,7 +52,7 @@ def get_consumers(self, consumer, channel): pass -class TestStream(unittest2.TestCase): +class TestStream(unittest.TestCase): @mock.patch("st2common.stream.listener.BaseListener._get_action_ref_for_body") @mock.patch("eventlet.Queue") def test_generator(self, mock_queue, get_action_ref_for_body): diff --git a/st2common/tests/unit/test_time_jinja_filters.py b/st2common/tests/unit/test_time_jinja_filters.py index 5a343a5c29..b7e461e64b 100644 --- a/st2common/tests/unit/test_time_jinja_filters.py +++ b/st2common/tests/unit/test_time_jinja_filters.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -from unittest2 import TestCase +from unittest import TestCase from st2common.expressions.functions import time diff --git a/st2common/tests/unit/test_transport.py b/st2common/tests/unit/test_transport.py index c8148f686e..ae12b1ea9d 100644 --- a/st2common/tests/unit/test_transport.py +++ b/st2common/tests/unit/test_transport.py @@ -20,7 +20,7 @@ import ssl import random -import unittest2 +import unittest import eventlet from bson.objectid import ObjectId @@ -56,7 +56,7 @@ def process_task(self, body, message): message.ack() -class TransportUtilsTestCase(unittest2.TestCase): +class TransportUtilsTestCase(unittest.TestCase): def tearDown(self): super(TransportUtilsTestCase, self).tearDown() cfg.CONF.set_override(name="compression", group="messaging", override=None) diff --git a/st2common/tests/unit/test_unit_testing_mocks.py b/st2common/tests/unit/test_unit_testing_mocks.py index 742ca85da1..3f8685c776 100644 --- a/st2common/tests/unit/test_unit_testing_mocks.py +++ b/st2common/tests/unit/test_unit_testing_mocks.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2tests.base import BaseSensorTestCase from st2tests.mocks.sensor import MockSensorWrapper @@ -34,7 +34,7 @@ class MockSensorClass(object): class BaseMockResourceServiceTestCase(object): - class TestCase(unittest2.TestCase): + class TestCase(unittest.TestCase): def test_get_user_info(self): result = self.mock_service.get_user_info() self.assertEqual(result["username"], "admin") diff --git a/st2common/tests/unit/test_util_actionalias_helpstrings.py b/st2common/tests/unit/test_util_actionalias_helpstrings.py index e543bd471a..ee8368cd12 100644 --- a/st2common/tests/unit/test_util_actionalias_helpstrings.py +++ b/st2common/tests/unit/test_util_actionalias_helpstrings.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest import mock from st2common.models.db.actionalias import ActionAliasDB @@ -115,7 +115,7 @@ @mock.patch.object(MemoryActionAliasDB, "get_uid") -class ActionAliasTestCase(unittest2.TestCase): +class ActionAliasTestCase(unittest.TestCase): """ Test scenarios must consist of 80s movie quotes. """ diff --git a/st2common/tests/unit/test_util_actionalias_matching.py b/st2common/tests/unit/test_util_actionalias_matching.py index 082fa40b98..058ff91d08 100644 --- a/st2common/tests/unit/test_util_actionalias_matching.py +++ b/st2common/tests/unit/test_util_actionalias_matching.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest import mock from st2common.models.db.actionalias import ActionAliasDB @@ -25,7 +25,7 @@ @mock.patch.object(MemoryActionAliasDB, "get_uid") -class ActionAliasTestCase(unittest2.TestCase): +class ActionAliasTestCase(unittest.TestCase): """ Test scenarios must consist of 80s movie quotes. """ diff --git a/st2common/tests/unit/test_util_api.py b/st2common/tests/unit/test_util_api.py index 2333939b13..d5d8e51a6d 100644 --- a/st2common/tests/unit/test_util_api.py +++ b/st2common/tests/unit/test_util_api.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from oslo_config import cfg @@ -27,7 +27,7 @@ parse_args() -class APIUtilsTestCase(unittest2.TestCase): +class APIUtilsTestCase(unittest.TestCase): def test_get_base_public_api_url(self): values = [ "http://foo.bar.com", diff --git a/st2common/tests/unit/test_util_compat.py b/st2common/tests/unit/test_util_compat.py index 74face7ea6..86bf64a3e5 100644 --- a/st2common/tests/unit/test_util_compat.py +++ b/st2common/tests/unit/test_util_compat.py @@ -15,14 +15,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.compat import to_ascii __all__ = ["CompatUtilsTestCase"] -class CompatUtilsTestCase(unittest2.TestCase): +class CompatUtilsTestCase(unittest.TestCase): def test_to_ascii(self): expected_values = [ ("already ascii", "already ascii"), diff --git a/st2common/tests/unit/test_util_db.py b/st2common/tests/unit/test_util_db.py index f94a2fe39a..2a41ed1a80 100644 --- a/st2common/tests/unit/test_util_db.py +++ b/st2common/tests/unit/test_util_db.py @@ -16,12 +16,12 @@ from __future__ import absolute_import import mongoengine -import unittest2 +import unittest from st2common.util import db as db_util -class DatabaseUtilTestCase(unittest2.TestCase): +class DatabaseUtilTestCase(unittest.TestCase): def test_noop_mongodb_to_python_types(self): data = [123, 999.99, True, [10, 20, 30], {"a": 1, "b": 2}, None] diff --git a/st2common/tests/unit/test_util_file_system.py b/st2common/tests/unit/test_util_file_system.py index 9ae8d1bc7a..0dceb142a5 100644 --- a/st2common/tests/unit/test_util_file_system.py +++ b/st2common/tests/unit/test_util_file_system.py @@ -17,7 +17,7 @@ import os import os.path -import unittest2 +import unittest from st2common.util.file_system import get_file_list @@ -25,7 +25,7 @@ ST2TESTS_DIR = os.path.join(CURRENT_DIR, "../../../st2tests/st2tests") -class FileSystemUtilsTestCase(unittest2.TestCase): +class FileSystemUtilsTestCase(unittest.TestCase): def test_get_file_list(self): # Standard exclude pattern directory = os.path.join(ST2TESTS_DIR, "policies") diff --git a/st2common/tests/unit/test_util_http.py b/st2common/tests/unit/test_util_http.py index a97aa8c7f1..d4220e3eeb 100644 --- a/st2common/tests/unit/test_util_http.py +++ b/st2common/tests/unit/test_util_http.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.http import parse_content_type_header from six.moves import zip @@ -22,7 +22,7 @@ __all__ = ["HTTPUtilTestCase"] -class HTTPUtilTestCase(unittest2.TestCase): +class HTTPUtilTestCase(unittest.TestCase): def test_parse_content_type_header(self): values = [ "application/json", diff --git a/st2common/tests/unit/test_util_jinja.py b/st2common/tests/unit/test_util_jinja.py index 127570f54b..187260c818 100644 --- a/st2common/tests/unit/test_util_jinja.py +++ b/st2common/tests/unit/test_util_jinja.py @@ -15,12 +15,12 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util import jinja as jinja_utils -class JinjaUtilsRenderTestCase(unittest2.TestCase): +class JinjaUtilsRenderTestCase(unittest.TestCase): def test_render_values(self): actual = jinja_utils.render_values( mapping={"k1": "{{a}}", "k2": "{{b}}"}, context={"a": "v1", "b": "v2"} diff --git a/st2common/tests/unit/test_util_keyvalue.py b/st2common/tests/unit/test_util_keyvalue.py index 14c0996143..a39f1a5c76 100644 --- a/st2common/tests/unit/test_util_keyvalue.py +++ b/st2common/tests/unit/test_util_keyvalue.py @@ -15,7 +15,7 @@ import mock -import unittest2 +import unittest from oslo_config import cfg from st2common.util import keyvalue as kv_utl @@ -44,7 +44,7 @@ ) -class TestKeyValueUtil(unittest2.TestCase): +class TestKeyValueUtil(unittest.TestCase): @classmethod def setUpClass(cls): super(TestKeyValueUtil, cls).setUpClass() diff --git a/st2common/tests/unit/test_util_output_schema.py b/st2common/tests/unit/test_util_output_schema.py index 9e27bff61e..8756151bc1 100644 --- a/st2common/tests/unit/test_util_output_schema.py +++ b/st2common/tests/unit/test_util_output_schema.py @@ -14,7 +14,7 @@ # limitations under the License. import copy -import unittest2 +import unittest from st2common.util import output_schema @@ -186,7 +186,7 @@ } -class OutputSchemaTestCase(unittest2.TestCase): +class OutputSchemaTestCase(unittest.TestCase): def test_valid_schema(self): result, status = output_schema.validate_output( copy.deepcopy(RUNNER_OUTPUT_SCHEMA), diff --git a/st2common/tests/unit/test_util_pack.py b/st2common/tests/unit/test_util_pack.py index 8e9dd59884..8ccf23440a 100644 --- a/st2common/tests/unit/test_util_pack.py +++ b/st2common/tests/unit/test_util_pack.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.models.db.pack import PackDB from st2common.util.pack import get_pack_common_libs_path_for_pack_db @@ -22,7 +22,7 @@ from st2common.util.pack import get_pack_ref_from_metadata -class PackUtilsTestCase(unittest2.TestCase): +class PackUtilsTestCase(unittest.TestCase): def test_get_pack_common_libs_path_for_pack_db(self): pack_model_args = { "name": "Yolo CI", diff --git a/st2common/tests/unit/test_util_payload.py b/st2common/tests/unit/test_util_payload.py index 2621e3de91..d6629d6d57 100644 --- a/st2common/tests/unit/test_util_payload.py +++ b/st2common/tests/unit/test_util_payload.py @@ -15,14 +15,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.payload import PayloadLookup __all__ = ["PayloadLookupTestCase"] -class PayloadLookupTestCase(unittest2.TestCase): +class PayloadLookupTestCase(unittest.TestCase): @classmethod def setUpClass(cls): cls.payload = PayloadLookup( diff --git a/st2common/tests/unit/test_util_secrets.py b/st2common/tests/unit/test_util_secrets.py index 8c77c34f49..17d92aea4b 100644 --- a/st2common/tests/unit/test_util_secrets.py +++ b/st2common/tests/unit/test_util_secrets.py @@ -14,7 +14,7 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.constants.secrets import MASKED_ATTRIBUTE_VALUE from st2common.util import secrets @@ -444,7 +444,7 @@ ################################################################################ -class SecretUtilsTestCase(unittest2.TestCase): +class SecretUtilsTestCase(unittest.TestCase): def test_get_secret_parameters_flat(self): result = secrets.get_secret_parameters(TEST_FLAT_SCHEMA) self.assertEqual(TEST_FLAT_SECRET_PARAMS, result) diff --git a/st2common/tests/unit/test_util_shell.py b/st2common/tests/unit/test_util_shell.py index 4a2a00e343..c6f02ae72f 100644 --- a/st2common/tests/unit/test_util_shell.py +++ b/st2common/tests/unit/test_util_shell.py @@ -14,14 +14,14 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.shell import quote_unix from st2common.util.shell import quote_windows from six.moves import zip -class ShellUtilsTestCase(unittest2.TestCase): +class ShellUtilsTestCase(unittest.TestCase): def test_quote_unix(self): arguments = ["foo", "foo bar", "foo1 bar1", '"foo"', '"foo" "bar"', "'foo bar'"] expected_values = [ diff --git a/st2common/tests/unit/test_util_types.py b/st2common/tests/unit/test_util_types.py index 8b7ef78864..a9a3cbed7f 100644 --- a/st2common/tests/unit/test_util_types.py +++ b/st2common/tests/unit/test_util_types.py @@ -13,14 +13,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -import unittest2 +import unittest from st2common.util.types import OrderedSet __all__ = ["OrderedTestTypeTestCase"] -class OrderedTestTypeTestCase(unittest2.TestCase): +class OrderedTestTypeTestCase(unittest.TestCase): def test_ordered_set(self): set1 = OrderedSet([1, 2, 3, 3, 4, 2, 1, 5]) self.assertEqual(set1, [1, 2, 3, 4, 5]) diff --git a/st2common/tests/unit/test_util_url.py b/st2common/tests/unit/test_util_url.py index 8b23619593..26907fce08 100644 --- a/st2common/tests/unit/test_util_url.py +++ b/st2common/tests/unit/test_util_url.py @@ -14,13 +14,13 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.url import get_url_without_trailing_slash from six.moves import zip -class URLUtilsTestCase(unittest2.TestCase): +class URLUtilsTestCase(unittest.TestCase): def test_get_url_without_trailing_slash(self): values = [ "http://localhost:1818/foo/bar/", diff --git a/st2common/tests/unit/test_versioning_utils.py b/st2common/tests/unit/test_versioning_utils.py index de7bbbfeaf..f35b6fd026 100644 --- a/st2common/tests/unit/test_versioning_utils.py +++ b/st2common/tests/unit/test_versioning_utils.py @@ -14,13 +14,13 @@ # limitations under the License. from __future__ import absolute_import -import unittest2 +import unittest from st2common.util.versioning import complex_semver_match from st2common.util.pack import normalize_pack_version -class VersioningUtilsTestCase(unittest2.TestCase): +class VersioningUtilsTestCase(unittest.TestCase): def test_complex_semver_match(self): # Positive test case self.assertTrue(complex_semver_match("1.6.0", ">=1.6.0, <2.2.0")) diff --git a/st2reactor/tests/unit/test_process_container.py b/st2reactor/tests/unit/test_process_container.py index d1bcfdfe64..b05175b805 100644 --- a/st2reactor/tests/unit/test_process_container.py +++ b/st2reactor/tests/unit/test_process_container.py @@ -18,7 +18,7 @@ import time from mock import MagicMock, Mock, patch -import unittest2 +import unittest from st2reactor.container.process_container import ProcessSensorContainer from st2common.util import concurrency @@ -37,7 +37,7 @@ ) -class ProcessContainerTests(unittest2.TestCase): +class ProcessContainerTests(unittest.TestCase): def test_no_sensors_dont_quit(self): process_container = ProcessSensorContainer(None, poll_interval=0.1) process_container_thread = concurrency.spawn(process_container.run) diff --git a/st2reactor/tests/unit/test_sensor_service.py b/st2reactor/tests/unit/test_sensor_service.py index 9d1e245e10..6ba0e6236b 100644 --- a/st2reactor/tests/unit/test_sensor_service.py +++ b/st2reactor/tests/unit/test_sensor_service.py @@ -15,7 +15,7 @@ from __future__ import absolute_import import mock -import unittest2 +import unittest from oslo_config import cfg @@ -51,7 +51,7 @@ def __init__(self, type=None): self.type = type -class SensorServiceTestCase(unittest2.TestCase): +class SensorServiceTestCase(unittest.TestCase): def setUp(self): def side_effect(trigger, payload, trace_context): self._dispatched_count += 1 diff --git a/st2reactor/tests/unit/test_sensor_wrapper.py b/st2reactor/tests/unit/test_sensor_wrapper.py index 7d7ce7f1d2..e6cb02312c 100644 --- a/st2reactor/tests/unit/test_sensor_wrapper.py +++ b/st2reactor/tests/unit/test_sensor_wrapper.py @@ -20,7 +20,7 @@ monkey_patch() import os -import unittest2 +import unittest import six import mock @@ -39,7 +39,7 @@ __all__ = ["SensorWrapperTestCase"] -class SensorWrapperTestCase(unittest2.TestCase): +class SensorWrapperTestCase(unittest.TestCase): @classmethod def setUpClass(cls): super(SensorWrapperTestCase, cls).setUpClass() diff --git a/st2tests/integration/orquesta/base.py b/st2tests/integration/orquesta/base.py index 15d1cefbfd..1d4a8c95e2 100644 --- a/st2tests/integration/orquesta/base.py +++ b/st2tests/integration/orquesta/base.py @@ -24,7 +24,7 @@ import shutil import six import tempfile -import unittest2 +import unittest from st2client import client as st2 from st2client import models @@ -59,7 +59,7 @@ def _delete_temp_file(self, temp_file_path): os.remove(temp_file_path) -class TestWorkflowExecution(unittest2.TestCase): +class TestWorkflowExecution(unittest.TestCase): @classmethod def setUpClass(cls): cls.st2client = st2.Client(base_url="http://127.0.0.1") diff --git a/st2tests/st2tests/base.py b/st2tests/st2tests/base.py index c8a480fdb6..6c3a04fb52 100644 --- a/st2tests/st2tests/base.py +++ b/st2tests/st2tests/base.py @@ -40,8 +40,8 @@ import psutil import mock from oslo_config import cfg -from unittest2 import TestCase -import unittest2 +from unittest import TestCase +import unittest from orquesta import conducting from orquesta import events @@ -139,7 +139,7 @@ TESTS_CONFIG_PATH = os.path.join(BASE_DIR, "../conf/st2.conf") -class RunnerTestCase(unittest2.TestCase): +class RunnerTestCase(unittest.TestCase): meta_loader = MetaLoader() def assertCommonSt2EnvVarsAvailableInEnv(self, env): diff --git a/st2tests/st2tests/pack_resource.py b/st2tests/st2tests/pack_resource.py index 51f5899218..7b72d72a9d 100644 --- a/st2tests/st2tests/pack_resource.py +++ b/st2tests/st2tests/pack_resource.py @@ -17,7 +17,7 @@ import os import inspect -from unittest2 import TestCase +from unittest import TestCase __all__ = ["BasePackResourceTestCase"] diff --git a/test-requirements.txt b/test-requirements.txt index 711404fa2d..02fdb13690 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12,7 +12,6 @@ isort>=4.2.5 mock==4.0.3 nose>=1.3.7 tabulate -unittest2 sphinx==1.7.9 sphinx-autobuild # pin alabaster (sphinx dependency) or pip installs one that is not compatible @@ -34,6 +33,8 @@ prance==0.15.0 pip-tools>=5.4,<6.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 From 12b8254a9a70fb4e8dd8d1c132a9342ec48882b0 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 14:35:16 +0100 Subject: [PATCH 005/110] update requirements --- requirements.txt | 2 +- st2common/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index c07c8efaa8..d7ba6ab2f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ chardet<3.1.0 ciso8601 cryptography==39.0.1 decorator==4.4.2 -dnspython>=1.16.0,<2.0.0 +dnspython==2.6.1 eventlet==0.33.3 flex==6.14.1 gitdb==4.0.2 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 6b07e9b7f6..672de814ad 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -13,7 +13,7 @@ chardet<3.1.0 ciso8601 cryptography==39.0.1 decorator==4.4.2 -dnspython>=1.16.0,<2.0.0 +dnspython==2.6.1 eventlet==0.33.3 flex==6.14.1 gitdb==4.0.2 From 071c2b04f9ed6188834f092bfbe4112141098fc6 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 15:02:23 +0100 Subject: [PATCH 006/110] Replace nosetest with pytest (without concurrency) --- Makefile | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 70daf42ff8..a18b137c78 100644 --- a/Makefile +++ b/Makefile @@ -74,7 +74,9 @@ endif # 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 -PYTEST_OPTS := -n auto +# https://github.com/pytest-dev/pytest-xdist/issues/71 +#PYTEST_OPTS := -n auto --tx 2*popen//execmodel=eventlet +PYTEST_OPTS := "" ifndef NOSE_TIME NOSE_TIME := yes @@ -941,8 +943,7 @@ 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 || exit 1; \ + pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch $$component/tests/integration || exit 1; \ done # NOTE: If you also want to run orquesta tests which seem to have a bunch of race conditions, use # ci-integration-full target @@ -1036,7 +1037,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: @@ -1044,8 +1045,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 @@ -1074,7 +1074,7 @@ runners-tests: requirements .runners-tests echo "==========================================================="; \ echo "Running tests in" $$component; \ echo "==========================================================="; \ - . $(VIRTUALENV_DIR)/bin/activate; nosetests $(NOSE_OPTS) -s -v $$component/tests/unit || exit 1; \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) $$component/tests/unit || exit 1; \ done .PHONY: runners-itests @@ -1090,7 +1090,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 || exit 1; \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) $$component/tests/integration || exit 1; \ done .PHONY: .runners-itests-coverage-html @@ -1103,8 +1103,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 || exit 1; \ + . $(VIRTUALENV_DIR)/bin/activate; pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-report=html \ + $$component/tests/integration || exit 1; \ done .PHONY: cli From a1d35a732a31c95fdbed00dd057e782e93c106e9 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 22:53:11 +0100 Subject: [PATCH 007/110] Fix for DeprecationWarning: Please use assertRaisesRegex --- contrib/packs/tests/test_action_download.py | 18 +++++++------- .../tests/unit/test_actionchain.py | 10 ++++---- .../tests/unit/test_announcementrunner.py | 2 +- .../tests/unit/test_http_runner.py | 8 +++---- .../tests/unit/test_functions_st2kv.py | 8 +++---- .../tests/unit/test_pythonrunner.py | 16 ++++++------- .../tests/unit/test_actions_registrar.py | 4 ++-- st2actions/tests/unit/test_paramiko_ssh.py | 12 +++++----- .../tests/unit/test_runner_container.py | 2 +- st2actions/tests/unit/test_workflow_engine.py | 2 +- st2api/tests/unit/controllers/v1/test_base.py | 2 +- st2api/tests/unit/test_validation_utils.py | 8 +++---- st2auth/tests/unit/test_validation_utils.py | 4 ++-- st2client/tests/unit/test_client.py | 2 +- st2client/tests/unit/test_client_actions.py | 2 +- st2client/tests/unit/test_keyvalue.py | 2 +- st2client/tests/unit/test_shell.py | 2 +- .../integration/test_rabbitmq_ssl_listener.py | 6 ++--- st2common/tests/unit/services/test_action.py | 2 +- st2common/tests/unit/services/test_packs.py | 24 +++++++++---------- .../unit/services/test_workflow_rerun.py | 16 ++++++------- .../tests/unit/test_action_alias_utils.py | 4 ++-- st2common/tests/unit/test_casts.py | 2 +- st2common/tests/unit/test_config_loader.py | 12 +++++----- .../tests/unit/test_configs_registrar.py | 8 +++---- st2common/tests/unit/test_content_loader.py | 8 +++---- st2common/tests/unit/test_content_utils.py | 16 ++++++------- st2common/tests/unit/test_crypto_utils.py | 8 +++---- st2common/tests/unit/test_db.py | 2 +- st2common/tests/unit/test_executions_util.py | 2 +- .../unit/test_jinja_render_crypto_filters.py | 4 ++-- st2common/tests/unit/test_json_schema.py | 2 +- ...st_pack_action_alias_unit_testing_utils.py | 6 ++--- st2common/tests/unit/test_param_utils.py | 8 +++---- st2common/tests/unit/test_plugin_loader.py | 4 ++-- .../tests/unit/test_policies_registrar.py | 4 ++-- st2common/tests/unit/test_purge_executions.py | 2 +- .../tests/unit/test_purge_rule_enforcement.py | 2 +- .../tests/unit/test_purge_task_executions.py | 2 +- st2common/tests/unit/test_purge_token.py | 2 +- st2common/tests/unit/test_purge_trace.py | 2 +- .../unit/test_purge_trigger_instances.py | 2 +- st2common/tests/unit/test_purge_worklows.py | 2 +- .../tests/unit/test_resource_reference.py | 6 ++--- .../tests/unit/test_resource_registrar.py | 14 +++++------ st2common/tests/unit/test_runners_base.py | 2 +- st2common/tests/unit/test_service_setup.py | 8 +++---- .../tests/unit/test_unit_testing_mocks.py | 4 ++-- st2reactor/tests/unit/test_sensor_wrapper.py | 4 ++-- 49 files changed, 147 insertions(+), 147 deletions(-) diff --git a/contrib/packs/tests/test_action_download.py b/contrib/packs/tests/test_action_download.py index 3bfb9f978f..0961ff17a2 100644 --- a/contrib/packs/tests/test_action_download.py +++ b/contrib/packs/tests/test_action_download.py @@ -260,7 +260,7 @@ def mock_acquire(self, timeout=None): fp.write("") expected_msg = "Timeout waiting to acquire lock for" - self.assertRaisesRegexp( + self.assertRaisesRegex( LockTimeout, expected_msg, action.run, @@ -328,7 +328,7 @@ def test_run_pack_download_invalid_version(self): "is not a valid version, hash, tag or branch.*?" "Available versions are: 1.0.0, 2.0.0." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -351,7 +351,7 @@ def test_download_pack_stackstorm_version_identifier_check(self): 'Pack "test3" requires StackStorm ">=1.6.0, <2.2.0", but ' 'current version is "2.2.0"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -364,7 +364,7 @@ def test_download_pack_stackstorm_version_identifier_check(self): 'Pack "test3" requires StackStorm ">=1.6.0, <2.2.0", but ' 'current version is "2.3.0"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -377,7 +377,7 @@ def test_download_pack_stackstorm_version_identifier_check(self): 'Pack "test3" requires StackStorm ">=1.6.0, <2.2.0", but ' 'current version is "1.5.9"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -390,7 +390,7 @@ def test_download_pack_stackstorm_version_identifier_check(self): 'Pack "test3" requires StackStorm ">=1.6.0, <2.2.0", but ' 'current version is "1.5.0"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -470,7 +470,7 @@ def test_download_pack_python_version_check(self): r'Pack "test3" requires Python 2.x, but current Python version is ' '"3.5.2"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -497,7 +497,7 @@ def test_download_pack_python_version_check(self): r'Pack "test3" requires Python 3.x, but current Python version is ' '"2.7.2"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, @@ -657,7 +657,7 @@ def test_run_pack_download_local_directory(self): # 1. Local directory doesn't exist expected_msg = r'Local pack directory ".*" doesn\'t exist' - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action.run, diff --git a/contrib/runners/action_chain_runner/tests/unit/test_actionchain.py b/contrib/runners/action_chain_runner/tests/unit/test_actionchain.py index 964507b191..953b2d6acb 100644 --- a/contrib/runners/action_chain_runner/tests/unit/test_actionchain.py +++ b/contrib/runners/action_chain_runner/tests/unit/test_actionchain.py @@ -364,7 +364,7 @@ def test_chain_runner_bad_default(self, request): expected_msg = ( 'Unable to find node with name "bad_default" referenced in "default".' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( runnerexceptions.ActionRunnerPreRunError, expected_msg, chain_runner.pre_run ) @@ -434,7 +434,7 @@ def test_chain_runner_broken_on_success_path_static_task_name(self, request): 'Unable to find node with name "c5" referenced in "on-success" ' 'in task "c2"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( runnerexceptions.ActionRunnerPreRunError, expected_msg, chain_runner.pre_run ) @@ -453,7 +453,7 @@ def test_chain_runner_broken_on_failure_path_static_task_name(self, request): 'Unable to find node with name "c6" referenced in "on-failure" ' 'in task "c2"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( runnerexceptions.ActionRunnerPreRunError, expected_msg, chain_runner.pre_run ) @@ -896,7 +896,7 @@ def test_chain_task_passes_invalid_parameter_type_to_action(self, mock_request): r'Failed to cast value "stringnotanarray" \(type: str\) for parameter ' r'"arrtype" of type "array"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, chain_runner.run, @@ -944,7 +944,7 @@ def test_exception_is_thrown_if_both_params_and_parameters_attributes_are_provid 'Either "params" or "parameters" attribute needs to be provided, but ' "not both" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( runnerexceptions.ActionRunnerPreRunError, expected_msg, chain_runner.pre_run ) diff --git a/contrib/runners/announcement_runner/tests/unit/test_announcementrunner.py b/contrib/runners/announcement_runner/tests/unit/test_announcementrunner.py index 9ad56a2115..c8feae704a 100644 --- a/contrib/runners/announcement_runner/tests/unit/test_announcementrunner.py +++ b/contrib/runners/announcement_runner/tests/unit/test_announcementrunner.py @@ -64,7 +64,7 @@ def test_announcement_no_experimental(self, dispatch): runner.liveaction = mock.Mock(context={}) expected_msg = "Experimental flag is missing for action some.thing" - self.assertRaisesRegexp(Exception, expected_msg, runner.pre_run) + self.assertRaisesRegex(Exception, expected_msg, runner.pre_run) @mock.patch("st2common.models.api.trace.TraceContext.__new__") def test_announcement_with_trace(self, context, dispatch): diff --git a/contrib/runners/http_runner/tests/unit/test_http_runner.py b/contrib/runners/http_runner/tests/unit/test_http_runner.py index c2c15262a4..59695ec17c 100644 --- a/contrib/runners/http_runner/tests/unit/test_http_runner.py +++ b/contrib/runners/http_runner/tests/unit/test_http_runner.py @@ -287,7 +287,7 @@ def test_blacklisted_url_url_hosts_blacklist_runner_parameter(self, mock_request client = HTTPClient( url=url, method="GET", url_hosts_blacklist=url_hosts_blacklist ) - self.assertRaisesRegexp(ValueError, expected_msg, client.run) + self.assertRaisesRegex(ValueError, expected_msg, client.run) # Non blacklisted URLs urls = ["https://example2.com", "http://example3.com", "http://example4.com:81"] @@ -335,7 +335,7 @@ def test_whitelisted_url_url_hosts_whitelist_runner_parameter(self, mock_request client = HTTPClient( url=url, method="GET", url_hosts_whitelist=url_hosts_whitelist ) - self.assertRaisesRegexp(ValueError, expected_msg, client.run) + self.assertRaisesRegex(ValueError, expected_msg, client.run) # Whitelisted URLS urls = [ @@ -372,7 +372,7 @@ def test_url_host_blacklist_and_url_host_blacklist_params_are_mutually_exclusive r'"url_hosts_blacklist" and "url_hosts_whitelist" parameters are mutually ' "exclusive." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, HTTPClient, @@ -423,4 +423,4 @@ def test_url_host_blacklist_and_url_host_blacklist_params_are_mutually_exclusive r'"url_hosts_blacklist" and "url_hosts_whitelist" parameters are mutually ' "exclusive." ) - self.assertRaisesRegexp(ValueError, expected_msg, runner.run, {}) + self.assertRaisesRegex(ValueError, expected_msg, runner.run, {}) diff --git a/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py b/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py index 191da5ce93..25adf4c1fc 100644 --- a/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py +++ b/contrib/runners/orquesta_runner/tests/unit/test_functions_st2kv.py @@ -93,7 +93,7 @@ def test_key_exists(self): self.assertIsNone(st2kv.st2kv_(MOCK_CTX, "foo_null")) def test_key_does_not_exist(self): - self.assertRaisesRegexp( + self.assertRaisesRegex( exc.ExpressionEvaluationException, 'The key ".*" does not exist in the StackStorm datastore.', st2kv.st2kv_, @@ -120,7 +120,7 @@ def test_key_decrypt(self): kvp_util, "get_key", mock.MagicMock(side_effect=Exception("Mock failure.")) ) def test_get_key_exception(self): - self.assertRaisesRegexp( + self.assertRaisesRegex( exc.ExpressionEvaluationException, "Mock failure.", st2kv.st2kv_, @@ -168,7 +168,7 @@ def test_key_exists(self): self.assertIsNone(st2kv.st2kv_(MOCK_CTX, "system.foo_null")) def test_key_does_not_exist(self): - self.assertRaisesRegexp( + self.assertRaisesRegex( exc.ExpressionEvaluationException, 'The key ".*" does not exist in the StackStorm datastore.', st2kv.st2kv_, @@ -197,7 +197,7 @@ def test_key_decrypt(self): kvp_util, "get_key", mock.MagicMock(side_effect=Exception("Mock failure.")) ) def test_get_key_exception(self): - self.assertRaisesRegexp( + self.assertRaisesRegex( exc.ExpressionEvaluationException, "Mock failure.", st2kv.st2kv_, diff --git a/contrib/runners/python_runner/tests/unit/test_pythonrunner.py b/contrib/runners/python_runner/tests/unit/test_pythonrunner.py index 27a6806e9a..912c6ebae6 100644 --- a/contrib/runners/python_runner/tests/unit/test_pythonrunner.py +++ b/contrib/runners/python_runner/tests/unit/test_pythonrunner.py @@ -281,7 +281,7 @@ def test_simple_action_no_entry_point(self): runner.entry_point = "" expected_msg = "Action .*? is missing entry_point attribute" - self.assertRaisesRegexp(Exception, expected_msg, runner.run, {}) + self.assertRaisesRegex(Exception, expected_msg, runner.run, {}) @mock.patch("st2common.util.concurrency.subprocess_popen") def test_action_with_user_supplied_env_vars(self, mock_popen): @@ -720,7 +720,7 @@ def test_python_action_wrapper_action_script_file_doesnt_exist_friendly_error(se expected_msg = ( 'File "/tmp/doesnt.exist" has no action class or the file doesn\'t exist.' ) - self.assertRaisesRegexp(Exception, expected_msg, wrapper._get_action_instance) + self.assertRaisesRegex(Exception, expected_msg, wrapper._get_action_instance) # File in a directory which is a Python package wrapper = PythonActionWrapper( @@ -732,7 +732,7 @@ def test_python_action_wrapper_action_script_file_doesnt_exist_friendly_error(se r"\(action file most likely doesn\'t exist or contains invalid syntax\): " r"\[Errno 2\] No such file or directory" ) - self.assertRaisesRegexp(Exception, expected_msg, wrapper._get_action_instance) + self.assertRaisesRegex(Exception, expected_msg, wrapper._get_action_instance) def test_python_action_wrapper_action_script_file_contains_invalid_syntax_friendly_error( self, @@ -745,7 +745,7 @@ def test_python_action_wrapper_action_script_file_contains_invalid_syntax_friend r"\(action file most likely doesn\'t exist or contains invalid syntax\): " r"No module named \'?invalid\'?" ) - self.assertRaisesRegexp(Exception, expected_msg, wrapper._get_action_instance) + self.assertRaisesRegex(Exception, expected_msg, wrapper._get_action_instance) def test_simple_action_log_messages_and_log_level_runner_param(self): expected_msg_1 = ( @@ -927,7 +927,7 @@ def test_content_version_success(self, mock_get_sandbox_virtualenv_path): '"v0.30.0" provided. Make sure that git repository is up ' "to date and contains that revision." ) - self.assertRaisesRegexp(ValueError, expected_msg, runner.pre_run) + self.assertRaisesRegex(ValueError, expected_msg, runner.pre_run) @mock.patch("python_runner.python_runner.get_sandbox_virtualenv_path") @mock.patch("st2common.util.concurrency.subprocess_popen") @@ -998,7 +998,7 @@ def test_content_version_old_git_version(self, mock_run_command): "doesn't support git worktree command. To be able to utilize this " "functionality you need to use git >= 2.5.0." ) - self.assertRaisesRegexp(ValueError, expected_msg, runner.pre_run) + self.assertRaisesRegex(ValueError, expected_msg, runner.pre_run) @mock.patch("st2common.runners.base.run_command") def test_content_version_pack_repo_not_git_repository(self, mock_run_command): @@ -1020,7 +1020,7 @@ def test_content_version_pack_repo_not_git_repository(self, mock_run_command): "git repository. To utilize this functionality, pack directory needs to " "be a git repository." ) - self.assertRaisesRegexp(ValueError, expected_msg, runner.pre_run) + self.assertRaisesRegex(ValueError, expected_msg, runner.pre_run) @mock.patch("st2common.runners.base.run_command") def test_content_version_invalid_git_revision(self, mock_run_command): @@ -1040,7 +1040,7 @@ def test_content_version_invalid_git_revision(self, mock_run_command): '"vinvalid" provided. Make sure that git repository is up ' "to date and contains that revision." ) - self.assertRaisesRegexp(ValueError, expected_msg, runner.pre_run) + self.assertRaisesRegex(ValueError, expected_msg, runner.pre_run) def test_missing_config_item_user_friendly_error(self): runner = self._get_mock_runner_obj() diff --git a/st2actions/tests/unit/test_actions_registrar.py b/st2actions/tests/unit/test_actions_registrar.py index a9f6eb838a..2ec0f4b30c 100644 --- a/st2actions/tests/unit/test_actions_registrar.py +++ b/st2actions/tests/unit/test_actions_registrar.py @@ -134,7 +134,7 @@ def test_register_action_invalid_parameter_type_attribute(self): # "'list' is not valid under any of the given schemas" # with jsonschema 3.2.0, the underlying enum (anyOf->enum) gets reported instead: expected_msg = r"'list' is not one of \['array', 'boolean', 'integer', 'null', 'number', 'object', 'string'\].*" - self.assertRaisesRegexp( + self.assertRaisesRegex( jsonschema.ValidationError, expected_msg, registrar._register_action, @@ -161,7 +161,7 @@ def test_register_action_invalid_parameter_name(self): 'Parameter name "action-name" is invalid. Valid characters for ' "parameter name are" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( jsonschema.ValidationError, expected_msg, registrar._register_action, diff --git a/st2actions/tests/unit/test_paramiko_ssh.py b/st2actions/tests/unit/test_paramiko_ssh.py index 9b9bc008f3..1ccdc110a2 100644 --- a/st2actions/tests/unit/test_paramiko_ssh.py +++ b/st2actions/tests/unit/test_paramiko_ssh.py @@ -180,7 +180,7 @@ def test_key_files_and_key_material_arguments_are_mutual_exclusive(self): client = ParamikoSSHClient(**conn_params) - self.assertRaisesRegexp(ValueError, expected_msg, client.connect) + self.assertRaisesRegex(ValueError, expected_msg, client.connect) @patch("paramiko.SSHClient", Mock) @patch.object( @@ -230,7 +230,7 @@ def test_key_material_argument_invalid_key(self): mock = ParamikoSSHClient(**conn_params) expected_msg = "Invalid or unsupported key type" - self.assertRaisesRegexp( + self.assertRaisesRegex( paramiko.ssh_exception.SSHException, expected_msg, mock.connect ) @@ -247,7 +247,7 @@ def test_passphrase_no_key_provided(self): expected_msg = "passphrase should accompany private key material" client = ParamikoSSHClient(**conn_params) - self.assertRaisesRegexp(ValueError, expected_msg, client.connect) + self.assertRaisesRegex(ValueError, expected_msg, client.connect) @patch("paramiko.SSHClient", Mock) def test_passphrase_not_provided_for_encrypted_key_file(self): @@ -330,7 +330,7 @@ def test_passphrase_and_no_key(self): expected_msg = "passphrase should accompany private key material" client = ParamikoSSHClient(**conn_params) - self.assertRaisesRegexp(ValueError, expected_msg, client.connect) + self.assertRaisesRegex(ValueError, expected_msg, client.connect) @patch("paramiko.SSHClient", Mock) @patch.object( @@ -351,7 +351,7 @@ def test_incorrect_passphrase(self): mock = ParamikoSSHClient(**conn_params) expected_msg = "Invalid passphrase or invalid/unsupported key type" - self.assertRaisesRegexp( + self.assertRaisesRegex( paramiko.ssh_exception.SSHException, expected_msg, mock.connect ) @@ -375,7 +375,7 @@ def test_key_material_contains_path_not_contents(self): conn_params["key_material"] = key_material mock = ParamikoSSHClient(**conn_params) - self.assertRaisesRegexp( + self.assertRaisesRegex( paramiko.ssh_exception.SSHException, expected_msg, mock.connect ) diff --git a/st2actions/tests/unit/test_runner_container.py b/st2actions/tests/unit/test_runner_container.py index 0dcb299fde..1134e176bf 100644 --- a/st2actions/tests/unit/test_runner_container.py +++ b/st2actions/tests/unit/test_runner_container.py @@ -132,7 +132,7 @@ def test_pre_run_runner_is_disabled(self): runner.runner_type.enabled = False expected_msg = 'Runner "test-runner-1" has been disabled by the administrator' - self.assertRaisesRegexp(ValueError, expected_msg, runner.pre_run) + self.assertRaisesRegex(ValueError, expected_msg, runner.pre_run) def test_created_temporary_auth_token_is_correctly_scoped_to_user_who_ran_the_action( self, diff --git a/st2actions/tests/unit/test_workflow_engine.py b/st2actions/tests/unit/test_workflow_engine.py index e4729798fe..955f7ca2f0 100644 --- a/st2actions/tests/unit/test_workflow_engine.py +++ b/st2actions/tests/unit/test_workflow_engine.py @@ -240,7 +240,7 @@ def test_process_error_handling_has_error(self, mock_get_lock): coordination.ToozConnectionError("foobar"), coordination.ToozConnectionError("foobar"), ] - self.assertRaisesRegexp( + self.assertRaisesRegex( Exception, "Unexpected error.", workflows.get_engine().process, t1_ac_ex_db ) diff --git a/st2api/tests/unit/controllers/v1/test_base.py b/st2api/tests/unit/controllers/v1/test_base.py index c26dc0a692..f8b37e8906 100644 --- a/st2api/tests/unit/controllers/v1/test_base.py +++ b/st2api/tests/unit/controllers/v1/test_base.py @@ -110,6 +110,6 @@ def test_router_invalid_url_path_friendly_error(self): request = Request(environ={"PATH_INFO": "/v1/rules/好的".encode("utf-8")}) expected_msg = "URL likely contains invalid or incorrectly URL encoded values" - self.assertRaisesRegexp( + self.assertRaisesRegex( webob.exc.HTTPBadRequest, expected_msg, router.match, request ) diff --git a/st2api/tests/unit/test_validation_utils.py b/st2api/tests/unit/test_validation_utils.py index b2e36be82f..289f418448 100644 --- a/st2api/tests/unit/test_validation_utils.py +++ b/st2api/tests/unit/test_validation_utils.py @@ -53,7 +53,7 @@ def test_validate_auth_cookie_is_correctly_configured_error(self): ) expected_msg = "Valid values are: strict, lax, none, unset" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_auth_cookie_is_correctly_configured ) @@ -67,7 +67,7 @@ def test_validate_auth_cookie_is_correctly_configured_error(self): r"Failed to validate api.auth_cookie config options: Incompatible cookie attributes: " "when the samesite equals 'none', then the secure must be True" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_auth_cookie_is_correctly_configured ) @@ -83,7 +83,7 @@ def test_validate_rbac_is_correctly_configured_auth_not_enabled(self): "Authentication is not enabled. RBAC only works when authentication is " "enabled. You can either enable authentication or disable RBAC." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_rbac_is_correctly_configured ) @@ -95,7 +95,7 @@ def test_validate_rbac_is_correctly_configured_non_default_backend_set(self): expected_msg = ( 'You have enabled RBAC, but RBAC backend is not set to "default".' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_rbac_is_correctly_configured ) diff --git a/st2auth/tests/unit/test_validation_utils.py b/st2auth/tests/unit/test_validation_utils.py index ebb5915994..328acc4127 100644 --- a/st2auth/tests/unit/test_validation_utils.py +++ b/st2auth/tests/unit/test_validation_utils.py @@ -37,7 +37,7 @@ def test_validate_auth_backend_is_correctly_configured_invalid_backend(self): 'Invalid auth mode "invalid" specified in the config. ' "Valid modes are: proxy, standalone" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_auth_backend_is_correctly_configured ) @@ -57,6 +57,6 @@ def test_validate_auth_backend_is_correctly_configured_backend_doesnt_expose_gro "Configured auth backend doesn't expose user group information. Disable " "remote group synchronization or" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, validate_auth_backend_is_correctly_configured ) diff --git a/st2client/tests/unit/test_client.py b/st2client/tests/unit/test_client.py index 3b36209c51..11e9206056 100644 --- a/st2client/tests/unit/test_client.py +++ b/st2client/tests/unit/test_client.py @@ -192,7 +192,7 @@ def test_cacert_arg(self): # Invalid value, path to the bundle doesn't exist cacert = os.path.abspath(__file__) expected_msg = 'CA cert file "doesntexist" does not exist' - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, Client, diff --git a/st2client/tests/unit/test_client_actions.py b/st2client/tests/unit/test_client_actions.py index 1bafb1b355..a38df9ccbf 100644 --- a/st2client/tests/unit/test_client_actions.py +++ b/st2client/tests/unit/test_client_actions.py @@ -105,7 +105,7 @@ def test_get_action_entry_point_by_id(self): ), ) def test_get_non_existent_action_entry_point(self): - with self.assertRaisesRegexp(Exception, "404 Client Error: Not Found"): + with self.assertRaisesRegex(Exception, "404 Client Error: Not Found"): self.client.actions.get_entrypoint("nonexistentpack.nonexistentaction") endpoint = "/actions/views/entry_point/%s" % "nonexistentpack.nonexistentaction" diff --git a/st2client/tests/unit/test_keyvalue.py b/st2client/tests/unit/test_keyvalue.py index 52c240a052..955c08738e 100644 --- a/st2client/tests/unit/test_keyvalue.py +++ b/st2client/tests/unit/test_keyvalue.py @@ -130,7 +130,7 @@ def test_set_keyvalue(self): def test_encrypt_and_encrypted_flags_are_mutually_exclusive(self): args = ["key", "set", "--encrypt", "--encrypted", "kv_name", "AAABBBCCC1234"] - self.assertRaisesRegexp(SystemExit, "2", self.shell.run, args) + self.assertRaisesRegex(SystemExit, "2", self.shell.run, args) self.stderr.seek(0) stderr = self.stderr.read() diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index a4f88541fa..e48c522c1b 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -746,7 +746,7 @@ def test_get_cached_auth_token_corrupted_token_cache_file(self): fp.write("CORRRRRUPTED!") expected_msg = "File (.+) with cached token is corrupted or invalid" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, shell._get_cached_auth_token, diff --git a/st2common/tests/integration/test_rabbitmq_ssl_listener.py b/st2common/tests/integration/test_rabbitmq_ssl_listener.py index 95aac4f8b1..e56bfa65d9 100644 --- a/st2common/tests/integration/test_rabbitmq_ssl_listener.py +++ b/st2common/tests/integration/test_rabbitmq_ssl_listener.py @@ -135,7 +135,7 @@ def test_ssl_connection_ca_certs_provided(self): ) expected_msg = r"\[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed" - self.assertRaisesRegexp(ssl.SSLError, expected_msg, connection.connect) + self.assertRaisesRegex(ssl.SSLError, expected_msg, connection.connect) # 3. Validate server cert against other CA bundle (failure) ca_cert_path = os.path.join("/etc/ssl/certs/SecureTrust_CA.pem") @@ -152,7 +152,7 @@ def test_ssl_connection_ca_certs_provided(self): ) expected_msg = r"\[SSL: CERTIFICATE_VERIFY_FAILED\] certificate verify failed" - self.assertRaisesRegexp(ssl.SSLError, expected_msg, connection.connect) + self.assertRaisesRegex(ssl.SSLError, expected_msg, connection.connect) # 4. Validate server cert against other CA bundle (failure) # We use invalid bundle but cert_reqs is none @@ -231,4 +231,4 @@ def test_ssl_connect_client_side_cert_authentication(self): ) expected_msg = r"\[X509: KEY_VALUES_MISMATCH\] key values mismatch" - self.assertRaisesRegexp(ssl.SSLError, expected_msg, connection.connect) + self.assertRaisesRegex(ssl.SSLError, expected_msg, connection.connect) diff --git a/st2common/tests/unit/services/test_action.py b/st2common/tests/unit/services/test_action.py index e27126ec86..85679018fa 100644 --- a/st2common/tests/unit/services/test_action.py +++ b/st2common/tests/unit/services/test_action.py @@ -629,7 +629,7 @@ def test_invalid_json_request_validate(self): parameters = {"hosts": "127.0.0.1", "cmd": "uname -a", "arg_default_value": 123} liveaction = LiveActionDB(action=ACTION_REF, parameters=parameters) - self.assertRaisesRegexp( + self.assertRaisesRegex( jsonschema.ValidationError, "123 is not of type 'string'", action_service.create_request, diff --git a/st2common/tests/unit/services/test_packs.py b/st2common/tests/unit/services/test_packs.py index 1fb46fec7f..69152a8398 100644 --- a/st2common/tests/unit/services/test_packs.py +++ b/st2common/tests/unit/services/test_packs.py @@ -318,7 +318,7 @@ def test_permission_error_to_remove_resource_entry_point_file(self, remove): # asserting PermissionError with message on call of delete_action_files_from_pack # to delete entry_point file - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) @mock.patch.object(os, "remove") @@ -343,7 +343,7 @@ def test_exception_to_remove_resource_entry_point_file(self, remove): # asserting exception with message on call of delete_action_files_from_pack # to delete entry_point file - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) @@ -384,7 +384,7 @@ def test_permission_error_to_remove_resource_metadata_file(self, remove): # asserting PermissionError with message on call of delete_action_files_from_pack # to delete metadata file - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) @mock.patch.object(os, "remove") @@ -409,7 +409,7 @@ def test_exception_to_remove_resource_metadata_file(self, remove): # asserting exception with message on call of delete_action_files_from_pack # to delete metadata file - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): delete_action_files_from_pack(TEST_PACK, entry_point, metadata_file) @@ -523,7 +523,7 @@ def test_permission_error_to_write_in_destination_file(self, mock_copy): CLONE_ACTION_4 = clone_action_db( SOURCE_ACTION_WITH_SHELL_SCRIPT_RUNNER, TEST_DEST_PACK, "clone_action_4" ) - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): clone_action_files( SOURCE_ACTION_WITH_SHELL_SCRIPT_RUNNER, CLONE_ACTION_4, @@ -546,7 +546,7 @@ def test_exceptions_to_write_in_destination_file(self, mock_copy): "administrator to clone the files manually." % cloned_action_metadata_file_path ) - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): clone_action_files( SOURCE_ACTION_WITH_LOCAL_SHELL_CMD_RUNNER, CLONE_ACTION_5, @@ -689,7 +689,7 @@ def test_exception_remove_temp_action_files(self): ) with mock.patch("shutil.rmtree") as mock_rmdir: mock_rmdir.side_effect = Exception - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): remove_temp_action_files(temp_sub_dir) remove_temp_action_files(temp_sub_dir) @@ -715,7 +715,7 @@ def test_permission_error_remove_temp_action_files(self): expected_msg = 'No permission to delete the "%s" directory' % temp_dir_path with mock.patch("shutil.rmtree") as mock_rmdir: mock_rmdir.side_effect = PermissionError - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): remove_temp_action_files(temp_sub_dir) remove_temp_action_files(temp_sub_dir) @@ -740,7 +740,7 @@ def test_exception_temp_backup_action_files(self): ) with mock.patch("shutil.copy") as mock_copy: mock_copy.side_effect = Exception - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): temp_backup_action_files( TEST_DEST_PACK_PATH, dest_action_metadata_file, @@ -767,7 +767,7 @@ def test_permission_error_temp_backup_action_files(self): expected_msg = 'Unable to copy file to "%s".' % tmp_action_metadata_file_path with mock.patch("shutil.copy") as mock_copy: mock_copy.side_effect = PermissionError - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): temp_backup_action_files( TEST_DEST_PACK_PATH, dest_action_metadata_file, @@ -801,7 +801,7 @@ def test_exception_restore_temp_action_files(self): ) with mock.patch("shutil.copy") as mock_copy: mock_copy.side_effect = Exception - with self.assertRaisesRegexp(Exception, expected_msg): + with self.assertRaisesRegex(Exception, expected_msg): restore_temp_action_files( TEST_DEST_PACK_PATH, dest_action_metadata_file, @@ -831,7 +831,7 @@ def test_permission_error_restore_temp_action_files(self): expected_msg = 'Unable to copy file to "%s".' % dest_action_metadata_file_path with mock.patch("shutil.copy") as mock_copy: mock_copy.side_effect = PermissionError - with self.assertRaisesRegexp(PermissionError, expected_msg): + with self.assertRaisesRegex(PermissionError, expected_msg): restore_temp_action_files( TEST_DEST_PACK_PATH, dest_action_metadata_file, diff --git a/st2common/tests/unit/services/test_workflow_rerun.py b/st2common/tests/unit/services/test_workflow_rerun.py index 1fb10ace6f..b1bcb7417c 100644 --- a/st2common/tests/unit/services/test_workflow_rerun.py +++ b/st2common/tests/unit/services/test_workflow_rerun.py @@ -185,7 +185,7 @@ def test_request_rerun_while_original_is_still_running(self): "because it is not in a completed state.$" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -244,7 +244,7 @@ def test_request_rerun_again_while_prev_rerun_is_still_running(self): "because it is not in a completed state.$" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -274,7 +274,7 @@ def test_request_rerun_with_missing_workflow_execution_id(self): "workflow_execution_id is not provided." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -304,7 +304,7 @@ def test_request_rerun_with_nonexistent_workflow_execution(self): '^Unable to rerun workflow execution ".*" ' "because it does not exist.$" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -339,7 +339,7 @@ def test_request_rerun_with_workflow_execution_not_abended(self): "because it is not in a completed state.$" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -373,7 +373,7 @@ def test_request_rerun_with_conductor_status_not_abended(self): "Unable to rerun workflow because it is not in a completed state." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -403,7 +403,7 @@ def test_request_rerun_with_bad_task_name(self): "^Unable to rerun workflow because one or more tasks is not found: .*$" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, @@ -438,7 +438,7 @@ def test_request_rerun_with_conductor_status_not_resuming(self): "get_workflow_status", mock.MagicMock(return_value=wf_statuses.FAILED), ): - self.assertRaisesRegexp( + self.assertRaisesRegex( wf_exc.WorkflowExecutionRerunException, expected_error, workflow_service.request_rerun, diff --git a/st2common/tests/unit/test_action_alias_utils.py b/st2common/tests/unit/test_action_alias_utils.py index f32dd25ecb..ec3251070a 100644 --- a/st2common/tests/unit/test_action_alias_utils.py +++ b/st2common/tests/unit/test_action_alias_utils.py @@ -215,7 +215,7 @@ def test_stream_is_none_no_default_values(self): expected_msg = ( 'Command "" doesn\'t match format string "skip {{d}} more skip {{e}}."' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ParseException, expected_msg, parser.get_extracted_param_value ) @@ -251,7 +251,7 @@ def test_command_doesnt_match_format_string(self): expected_msg = ( 'Command "foo lulz ponies" doesn\'t match format string "foo bar ponies"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ParseException, expected_msg, parser.get_extracted_param_value ) diff --git a/st2common/tests/unit/test_casts.py b/st2common/tests/unit/test_casts.py index 2852008017..6adb957826 100644 --- a/st2common/tests/unit/test_casts.py +++ b/st2common/tests/unit/test_casts.py @@ -45,7 +45,7 @@ def test_cast_string(self): # Non string or non, should throw a friendly exception value = [] expected_msg = r'Value "\[\]" must either be a string or None. Got "list"' - self.assertRaisesRegexp(ValueError, expected_msg, cast_func, value) + self.assertRaisesRegex(ValueError, expected_msg, cast_func, value) def test_cast_array(self): cast_func = get_cast("array") diff --git a/st2common/tests/unit/test_config_loader.py b/st2common/tests/unit/test_config_loader.py index c123d52db2..c77ceba214 100644 --- a/st2common/tests/unit/test_config_loader.py +++ b/st2common/tests/unit/test_config_loader.py @@ -345,7 +345,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " " "'st2kvXX' is undefined" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() # Renders fails on fist level item @@ -359,7 +359,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " for pack \".*?\" config: " " 'st2kvXX' is undefined" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() # Renders fails on second level item @@ -375,7 +375,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " for pack \".*?\" config: " " 'st2kvXX' is undefined" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() # Renders fails on list item @@ -389,7 +389,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " for pack \".*?\" config: " " 'st2kvXX' is undefined" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() # Renders fails on nested object in list item @@ -403,7 +403,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " for pack \".*?\" config: " " 'st2kvXX' is undefined" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() # Renders fails on invalid syntax @@ -417,7 +417,7 @@ def test_get_config_dynamic_config_item_render_fails_user_friendly_exception_is_ " for pack \".*?\" config: " " expected token 'end of print statement', got 'Jinja'" ) - self.assertRaisesRegexp(RuntimeError, expected_msg, loader.get_config) + self.assertRaisesRegex(RuntimeError, expected_msg, loader.get_config) config_db.delete() def test_get_config_dynamic_config_item(self): diff --git a/st2common/tests/unit/test_configs_registrar.py b/st2common/tests/unit/test_configs_registrar.py index 05b4466933..1e98dd108f 100644 --- a/st2common/tests/unit/test_configs_registrar.py +++ b/st2common/tests/unit/test_configs_registrar.py @@ -126,7 +126,7 @@ def test_register_all_configs_with_config_schema_validation_validation_failure_1 "\"dummy_pack_6\" (.*?): 1000 is not of type 'array'" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_from_packs, @@ -160,7 +160,7 @@ def test_register_all_configs_with_config_schema_validation_validation_failure_2 "'string'" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_from_packs, @@ -198,7 +198,7 @@ def test_register_all_configs_with_config_schema_validation_validation_failure_3 "the default values in the schema." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_from_packs, @@ -236,7 +236,7 @@ def test_register_all_configs_with_config_schema_validation_validation_failure_4 "the default values in the schema." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_from_packs, diff --git a/st2common/tests/unit/test_content_loader.py b/st2common/tests/unit/test_content_loader.py index e4a4b5cbeb..6edba192d4 100644 --- a/st2common/tests/unit/test_content_loader.py +++ b/st2common/tests/unit/test_content_loader.py @@ -100,7 +100,7 @@ def test_get_content_from_pack_directory_doesnt_exist(self): pack_path = os.path.join(RESOURCES_DIR, "packs/pack100") message_regex = "Directory .*? doesn't exist" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, message_regex, loader.get_content_from_pack, @@ -226,14 +226,14 @@ def test_yaml_safe_load(self): result = yaml.load(dumped, Loader=FullLoader) self.assertTrue(result) - self.assertRaisesRegexp( + self.assertRaisesRegex( yaml.constructor.ConstructorError, "could not determine a constructor", yaml_safe_load, dumped, ) - self.assertRaisesRegexp( + self.assertRaisesRegex( yaml.constructor.ConstructorError, "could not determine a constructor", yaml.load, @@ -242,7 +242,7 @@ def test_yaml_safe_load(self): ) if CSafeLoader: - self.assertRaisesRegexp( + self.assertRaisesRegex( yaml.constructor.ConstructorError, "could not determine a constructor", yaml.load, diff --git a/st2common/tests/unit/test_content_utils.py b/st2common/tests/unit/test_content_utils.py index 6c05596ad9..5bf6bea5a3 100644 --- a/st2common/tests/unit/test_content_utils.py +++ b/st2common/tests/unit/test_content_utils.py @@ -113,7 +113,7 @@ def test_get_pack_resource_file_abs_path(self): # Invalid resource type expected_msg = "Invalid resource type: fooo" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_pack_resource_file_abs_path, @@ -138,7 +138,7 @@ def test_get_pack_resource_file_abs_path(self): r'pack actions directory (.*). For example "my_action.py"\.' % (file_path) ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_pack_resource_file_abs_path, @@ -153,7 +153,7 @@ def test_get_pack_resource_file_abs_path(self): r'pack sensors directory (.*). For example "my_sensor.py"\.' % (file_path) ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_pack_resource_file_abs_path, @@ -167,7 +167,7 @@ def test_get_pack_resource_file_abs_path(self): r'Invalid file path: ".*%s"\. File path needs to be relative to the ' r'pack directory (.*). For example "my_action.py"\.' % (file_path) ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_pack_file_abs_path, @@ -263,7 +263,7 @@ def test_get_relative_path_to_pack_file(self): expected_msg = r"file_path (.*?) is not located inside the pack directory (.*?)" file_path = os.path.join(DUMMY_PACK_2_PATH, "actions/lib/foo.py") - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_relative_path_to_pack_file, @@ -272,7 +272,7 @@ def test_get_relative_path_to_pack_file(self): ) file_path = "/tmp/foo/bar.py" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_relative_path_to_pack_file, @@ -281,7 +281,7 @@ def test_get_relative_path_to_pack_file(self): ) file_path = os.path.join(packs_base_paths, "../dummy_pack_1/pack.yaml") - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_relative_path_to_pack_file, @@ -290,7 +290,7 @@ def test_get_relative_path_to_pack_file(self): ) file_path = os.path.join(packs_base_paths, "../../dummy_pack_1/pack.yaml") - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, get_relative_path_to_pack_file, diff --git a/st2common/tests/unit/test_crypto_utils.py b/st2common/tests/unit/test_crypto_utils.py index 0e196a0345..2717b605ec 100644 --- a/st2common/tests/unit/test_crypto_utils.py +++ b/st2common/tests/unit/test_crypto_utils.py @@ -111,7 +111,7 @@ def test_decrypt_ciphertext_is_too_short(self): # Verify corrupted value results in an excpetion expected_msg = "Invalid or malformed ciphertext" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, cryptography_symmetric_decrypt, @@ -136,7 +136,7 @@ def test_exception_is_thrown_on_invalid_hmac_signature(self): # Verify corrupted value results in an excpetion expected_msg = "Signature did not match digest" - self.assertRaisesRegexp( + self.assertRaisesRegex( InvalidSignature, expected_msg, cryptography_symmetric_decrypt, @@ -154,7 +154,7 @@ class CryptoUtilsKeyczarCompatibilityTestCase(TestCase): def test_aes_key_class(self): # 1. Unsupported mode expected_msg = "Unsupported mode: EBC" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, AESKey, @@ -166,7 +166,7 @@ def test_aes_key_class(self): # 2. AES key is too small expected_msg = "Unsafe key size: 64" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, AESKey, diff --git a/st2common/tests/unit/test_db.py b/st2common/tests/unit/test_db.py index 4d571fb93f..ed6b88649d 100644 --- a/st2common/tests/unit/test_db.py +++ b/st2common/tests/unit/test_db.py @@ -492,7 +492,7 @@ def test_db_setup_connecting_info_logging(self, mock_log, mock_mongoengine): password = "pass_st2" expected_msg = "Failed to connect" - self.assertRaisesRegexp( + self.assertRaisesRegex( ConnectionFailure, expected_msg, db_setup, diff --git a/st2common/tests/unit/test_executions_util.py b/st2common/tests/unit/test_executions_util.py index 4c2530155a..00b89c7433 100644 --- a/st2common/tests/unit/test_executions_util.py +++ b/st2common/tests/unit/test_executions_util.py @@ -214,7 +214,7 @@ def test_abandon_executions_on_complete(self): liveaction_db.status, ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, executions_util.abandon_execution_if_incomplete, diff --git a/st2common/tests/unit/test_jinja_render_crypto_filters.py b/st2common/tests/unit/test_jinja_render_crypto_filters.py index f58edb1309..41972ab0b5 100644 --- a/st2common/tests/unit/test_jinja_render_crypto_filters.py +++ b/st2common/tests/unit/test_jinja_render_crypto_filters.py @@ -82,7 +82,7 @@ def test_filter_decrypt_kv_datastore_value_doesnt_exist(self): 'Referenced datastore item "st2kv.system.doesnt_exist" doesn\'t exist or ' "it contains an empty string" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, self.env.from_string(template).render, context ) @@ -133,6 +133,6 @@ def test_filter_decrypt_kv_with_user_scope_value_datastore_value_doesnt_exist(se 'Referenced datastore item "st2kv.user.doesnt_exist" doesn\'t exist or ' "it contains an empty string" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, self.env.from_string(template).render, context ) diff --git a/st2common/tests/unit/test_json_schema.py b/st2common/tests/unit/test_json_schema.py index bfb346d413..9e07b7f954 100644 --- a/st2common/tests/unit/test_json_schema.py +++ b/st2common/tests/unit/test_json_schema.py @@ -179,7 +179,7 @@ def test_use_default_value(self): validator = util_schema.get_validator() expected_msg = "'arg_required_no_default' is a required property" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValidationError, expected_msg, util_schema.validate, diff --git a/st2common/tests/unit/test_pack_action_alias_unit_testing_utils.py b/st2common/tests/unit/test_pack_action_alias_unit_testing_utils.py index 18251fb947..6364b5d216 100644 --- a/st2common/tests/unit/test_pack_action_alias_unit_testing_utils.py +++ b/st2common/tests/unit/test_pack_action_alias_unit_testing_utils.py @@ -56,7 +56,7 @@ def test_assertExtractedParametersMatch_command_doesnt_match_format_string(self) '"show last {{count}} metrics for {{server}}"' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ParseException, expected_msg, self.assertExtractedParametersMatch, @@ -81,7 +81,7 @@ def test_assertCommandMatchesExactlyOneFormatString(self): 'Command "foo bar a test=1" matched multiple format ' "strings: foo bar {{bar}}, foo bar {{baz}}" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( AssertionError, expected_msg, self.assertCommandMatchesExactlyOneFormatString, @@ -97,7 +97,7 @@ def test_assertCommandMatchesExactlyOneFormatString(self): 'Command "does not match foo" didn\'t match any of the provided format ' "strings" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( AssertionError, expected_msg, self.assertCommandMatchesExactlyOneFormatString, diff --git a/st2common/tests/unit/test_param_utils.py b/st2common/tests/unit/test_param_utils.py index ddcd2cd6ff..2aa2d05218 100644 --- a/st2common/tests/unit/test_param_utils.py +++ b/st2common/tests/unit/test_param_utils.py @@ -575,7 +575,7 @@ def test_get_finalized_params_param_rendering_failure(self): action_param_info = {"cmd": {}, "a2": {}} expected_msg = 'Failed to render parameter "cmd": .*' - self.assertRaisesRegexp( + self.assertRaisesRegex( ParamException, expected_msg, param_utils.get_finalized_params, @@ -606,7 +606,7 @@ def test_get_finalized_param_object_contains_template_notation_in_the_value(self def test_cast_param_referenced_action_doesnt_exist(self): # Make sure the function throws if the action doesnt exist expected_msg = 'Action with ref "foo.doesntexist" doesn\'t exist' - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, action_param_utils.cast_params, @@ -765,7 +765,7 @@ def test_cyclic_dependency_friendly_error_message(self): expected_msg = ( "Cyclic dependency found in the following variables: cyclic, morecyclic" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ParamException, expected_msg, param_utils.render_live_params, @@ -789,7 +789,7 @@ def test_unsatisfied_dependency_friendly_error_message(self): action_context = {"user": None} expected_msg = 'Dependency unsatisfied in variable "variable_not_defined"' - self.assertRaisesRegexp( + self.assertRaisesRegex( ParamException, expected_msg, param_utils.render_live_params, diff --git a/st2common/tests/unit/test_plugin_loader.py b/st2common/tests/unit/test_plugin_loader.py index 2ec6d1a726..e5a2822406 100644 --- a/st2common/tests/unit/test_plugin_loader.py +++ b/st2common/tests/unit/test_plugin_loader.py @@ -96,7 +96,7 @@ def test_register_plugin_class_class_doesnt_exist(self): file_path = os.path.join(SRC_ROOT, "plugin/sampleplugin3.py") expected_msg = 'doesn\'t expose class named "SamplePluginNotExists"' - self.assertRaisesRegexp( + self.assertRaisesRegex( Exception, expected_msg, plugin_loader.register_plugin_class, @@ -111,7 +111,7 @@ def test_register_plugin_class_abstract_method_not_implemented(self): expected_msg = ( 'doesn\'t implement required "do_work" method from the base class' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( plugin_loader.IncompatiblePluginException, expected_msg, plugin_loader.register_plugin_class, diff --git a/st2common/tests/unit/test_policies_registrar.py b/st2common/tests/unit/test_policies_registrar.py index 3a435ab0f3..ed22185d8d 100644 --- a/st2common/tests/unit/test_policies_registrar.py +++ b/st2common/tests/unit/test_policies_registrar.py @@ -121,7 +121,7 @@ def test_register_policy_invalid_policy_type_references(self): policy_path = os.path.join(DUMMY_PACK_1_PATH, "policies/policy_2.yaml") expected_msg = 'Referenced policy_type "action.mock_policy_error" doesnt exist' - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar._register_policy, @@ -135,7 +135,7 @@ def test_make_sure_policy_parameters_are_validated_during_register(self): policy_path = os.path.join(DUMMY_PACK_2_PATH, "policies/policy_3.yaml") expected_msg = "100 is greater than the maximum of 5" - self.assertRaisesRegexp( + self.assertRaisesRegex( jsonschema.ValidationError, expected_msg, registrar._register_policy, diff --git a/st2common/tests/unit/test_purge_executions.py b/st2common/tests/unit/test_purge_executions.py index f43266a121..bc2c43504f 100644 --- a/st2common/tests/unit/test_purge_executions.py +++ b/st2common/tests/unit/test_purge_executions.py @@ -79,7 +79,7 @@ def test_no_timestamp_doesnt_delete_things(self): self.assertEqual(len(stderr_dbs), 3) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_executions, logger=LOG, timestamp=None ) execs = ActionExecution.get_all() diff --git a/st2common/tests/unit/test_purge_rule_enforcement.py b/st2common/tests/unit/test_purge_rule_enforcement.py index f4ecb3ea14..90b4d23799 100644 --- a/st2common/tests/unit/test_purge_rule_enforcement.py +++ b/st2common/tests/unit/test_purge_rule_enforcement.py @@ -43,7 +43,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(RuleEnforcement.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_rule_enforcements, diff --git a/st2common/tests/unit/test_purge_task_executions.py b/st2common/tests/unit/test_purge_task_executions.py index a3a35196fd..b0c7cd8bc2 100644 --- a/st2common/tests/unit/test_purge_task_executions.py +++ b/st2common/tests/unit/test_purge_task_executions.py @@ -46,7 +46,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(TaskExecution.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_task_executions, logger=LOG, timestamp=None ) self.assertEqual(len(TaskExecution.get_all()), 1) diff --git a/st2common/tests/unit/test_purge_token.py b/st2common/tests/unit/test_purge_token.py index 3485419777..75c24e62cd 100644 --- a/st2common/tests/unit/test_purge_token.py +++ b/st2common/tests/unit/test_purge_token.py @@ -43,7 +43,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(Token.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_tokens, diff --git a/st2common/tests/unit/test_purge_trace.py b/st2common/tests/unit/test_purge_trace.py index d734974f5e..9a819b4018 100644 --- a/st2common/tests/unit/test_purge_trace.py +++ b/st2common/tests/unit/test_purge_trace.py @@ -47,7 +47,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(Trace.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_traces, diff --git a/st2common/tests/unit/test_purge_trigger_instances.py b/st2common/tests/unit/test_purge_trigger_instances.py index 8848ef5f11..c38bf8fa2a 100644 --- a/st2common/tests/unit/test_purge_trigger_instances.py +++ b/st2common/tests/unit/test_purge_trigger_instances.py @@ -55,7 +55,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(TriggerInstance.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_trigger_instances, diff --git a/st2common/tests/unit/test_purge_worklows.py b/st2common/tests/unit/test_purge_worklows.py index 713a0d1341..2975c504cf 100644 --- a/st2common/tests/unit/test_purge_worklows.py +++ b/st2common/tests/unit/test_purge_worklows.py @@ -46,7 +46,7 @@ def test_no_timestamp_doesnt_delete(self): self.assertEqual(len(WorkflowExecution.get_all()), 1) expected_msg = "Specify a valid timestamp" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, purge_workflow_executions, diff --git a/st2common/tests/unit/test_resource_reference.py b/st2common/tests/unit/test_resource_reference.py index f653ce7b76..7a4c0a94c1 100644 --- a/st2common/tests/unit/test_resource_reference.py +++ b/st2common/tests/unit/test_resource_reference.py @@ -53,7 +53,7 @@ def test_to_string_reference(self): self.assertEqual(ref, "mapack.moname") expected_msg = r'Pack name should not contain "\."' - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, ResourceReference.to_string_reference, @@ -62,7 +62,7 @@ def test_to_string_reference(self): ) expected_msg = "Both pack and name needed for building" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, ResourceReference.to_string_reference, @@ -71,7 +71,7 @@ def test_to_string_reference(self): ) expected_msg = "Both pack and name needed for building" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, ResourceReference.to_string_reference, diff --git a/st2common/tests/unit/test_resource_registrar.py b/st2common/tests/unit/test_resource_registrar.py index b03cf7f645..93c0b9588d 100644 --- a/st2common/tests/unit/test_resource_registrar.py +++ b/st2common/tests/unit/test_resource_registrar.py @@ -164,7 +164,7 @@ def test_register_pack_pack_ref(self): # "ref" is not provided and "name" contains invalid characters expected_msg = "contains invalid characters" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar._register_pack_db, @@ -180,7 +180,7 @@ def test_register_pack_invalid_ref_name_friendly_error_message(self): r"Pack ref / name can only contain valid word characters .*?," " dashes are not allowed." ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValidationError, expected_msg, registrar._register_pack_db, @@ -202,7 +202,7 @@ def test_register_pack_invalid_ref_name_friendly_error_message(self): r'Pack name "dummy pack 14" contains invalid characters and "ref" ' "attribute is not available. You either need to add" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar._register_pack_db, @@ -235,7 +235,7 @@ def test_register_pack_pack_stackstorm_version_and_future_parameters(self): # Wrong characters in the required st2 version expected_msg = "'wrongstackstormversion' does not match" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValidationError, expected_msg, registrar._register_pack_db, @@ -252,7 +252,7 @@ def test_register_pack_empty_and_invalid_config_schema(self): expected_msg = ( 'Config schema ".*?dummy_pack_17/config.schema.yaml" is empty and invalid.' ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_packs, @@ -268,7 +268,7 @@ def test_register_pack_invalid_config_schema_invalid_attribute(self): expected_msg = ( r"Additional properties are not allowed \(\'invalid\' was unexpected\)" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_packs, @@ -282,7 +282,7 @@ def test_register_pack_invalid_python_versions_attribute(self): packs_base_paths = content_utils.get_packs_base_paths() expected_msg = r"'4' is not one of \['2', '3'\]" - self.assertRaisesRegexp( + self.assertRaisesRegex( ValueError, expected_msg, registrar.register_packs, diff --git a/st2common/tests/unit/test_runners_base.py b/st2common/tests/unit/test_runners_base.py index 7490b40cd6..b2a885de7e 100644 --- a/st2common/tests/unit/test_runners_base.py +++ b/st2common/tests/unit/test_runners_base.py @@ -29,6 +29,6 @@ def test_get_runner_success(self): def test_get_runner_failure_not_found(self): expected_msg = "Failed to find runner invalid-name-not-found.*" - self.assertRaisesRegexp( + self.assertRaisesRegex( ActionRunnerCreateError, expected_msg, get_runner, "invalid-name-not-found" ) diff --git a/st2common/tests/unit/test_service_setup.py b/st2common/tests/unit/test_service_setup.py index 49573c6170..0fa413ca5d 100644 --- a/st2common/tests/unit/test_service_setup.py +++ b/st2common/tests/unit/test_service_setup.py @@ -105,7 +105,7 @@ def test_no_logging_config_found(self): expected_msg = ".*KeyError:.*" - self.assertRaisesRegexp( + self.assertRaisesRegex( Exception, expected_msg, service_setup.setup, @@ -133,7 +133,7 @@ def mock_get_logging_config_path(): expected_msg = "ValueError: Unknown level: 'invalid_log_level'" exc_type = ValueError - self.assertRaisesRegexp( + self.assertRaisesRegex( exc_type, expected_msg, service_setup.setup, @@ -175,7 +175,7 @@ def mock_get_logging_config_path(): expected_msg = "Failed to find some config files: %s" % ( MOCK_DEFAULT_CONFIG_FILE_PATH ) - self.assertRaisesRegexp( + self.assertRaisesRegex( ConfigFilesNotFoundError, expected_msg, service_setup.setup, @@ -193,7 +193,7 @@ def mock_get_logging_config_path(): # 2. --config-file should still override default config file path option config_file_path = "/etc/st2/config.override.test" expected_msg = "Failed to find some config files: %s" % (config_file_path) - self.assertRaisesRegexp( + self.assertRaisesRegex( ConfigFilesNotFoundError, expected_msg, service_setup.setup, diff --git a/st2common/tests/unit/test_unit_testing_mocks.py b/st2common/tests/unit/test_unit_testing_mocks.py index 3f8685c776..a860ace294 100644 --- a/st2common/tests/unit/test_unit_testing_mocks.py +++ b/st2common/tests/unit/test_unit_testing_mocks.py @@ -79,7 +79,7 @@ def test_dispatch_and_assertTriggerDispatched(self): sensor_service = self.sensor_service expected_msg = 'Trigger "nope" hasn\'t been dispatched' - self.assertRaisesRegexp( + self.assertRaisesRegex( AssertionError, expected_msg, self.assertTriggerDispatched, trigger="nope" ) @@ -89,7 +89,7 @@ def test_dispatch_and_assertTriggerDispatched(self): result = self.assertTriggerDispatched(trigger="test1", payload={"a": "b"}) self.assertTrue(result) expected_msg = 'Trigger "test1" hasn\'t been dispatched' - self.assertRaisesRegexp( + self.assertRaisesRegex( AssertionError, expected_msg, self.assertTriggerDispatched, diff --git a/st2reactor/tests/unit/test_sensor_wrapper.py b/st2reactor/tests/unit/test_sensor_wrapper.py index e6cb02312c..3a9d3b9ced 100644 --- a/st2reactor/tests/unit/test_sensor_wrapper.py +++ b/st2reactor/tests/unit/test_sensor_wrapper.py @@ -152,7 +152,7 @@ def test_sensor_init_fails_file_doesnt_exist(self): expected_msg = ( "Failed to load sensor class from file.*? No such file or directory" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( IOError, expected_msg, SensorWrapper, @@ -171,7 +171,7 @@ def test_sensor_init_fails_sensor_code_contains_typo(self): expected_msg = ( "Failed to load sensor class from file.*? 'typobar' is not defined" ) - self.assertRaisesRegexp( + self.assertRaisesRegex( NameError, expected_msg, SensorWrapper, From ca7db1d1d9f1db9a25f91380475d19df2995f0e2 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 23:49:16 +0100 Subject: [PATCH 008/110] Fix DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead --- .../st2actions/policies/concurrency_by_attr.py | 2 +- st2actions/st2actions/scheduler/handler.py | 2 +- st2api/st2api/controllers/v1/triggers.py | 4 ++-- st2client/st2client/base.py | 12 ++++++------ st2client/st2client/config_parser.py | 4 ++-- st2common/st2common/logging/misc.py | 2 +- st2common/st2common/persistence/db_init.py | 2 +- st2common/st2common/services/coordination.py | 2 +- st2common/st2common/util/api.py | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/st2actions/st2actions/policies/concurrency_by_attr.py b/st2actions/st2actions/policies/concurrency_by_attr.py index 9f503bf18a..11e0cdf4da 100644 --- a/st2actions/st2actions/policies/concurrency_by_attr.py +++ b/st2actions/st2actions/policies/concurrency_by_attr.py @@ -120,7 +120,7 @@ def apply_before(self, target): # Warn users that the coordination service is not configured. if not coordination.configured(): - LOG.warn( + LOG.warning( "Coordination service is not configured. Policy enforcement is best effort." ) diff --git a/st2actions/st2actions/scheduler/handler.py b/st2actions/st2actions/scheduler/handler.py index 2e2598f5da..b6eb994f72 100644 --- a/st2actions/st2actions/scheduler/handler.py +++ b/st2actions/st2actions/scheduler/handler.py @@ -290,7 +290,7 @@ def _handle_execution(self, execution_queue_item_db): if action_has_policies_require_lock: # Warn users that the coordination service is not configured. if not coordination_service.configured(): - LOG.warn( + LOG.warning( "[%s] Coordination backend is not configured. " "Policy enforcement is best effort.", action_execution_id, diff --git a/st2api/st2api/controllers/v1/triggers.py b/st2api/st2api/controllers/v1/triggers.py index e05e72b219..4082490e13 100644 --- a/st2api/st2api/controllers/v1/triggers.py +++ b/st2api/st2api/controllers/v1/triggers.py @@ -205,7 +205,7 @@ def _create_shadow_trigger(triggertype_db): # Not aborting as this is convenience. return except StackStormDBObjectConflictError as e: - LOG.warn( + LOG.warning( 'Trigger creation of "%s" failed with uniqueness conflict. Exception: %s', trigger, six.text_type(e), @@ -221,7 +221,7 @@ def _delete_shadow_trigger(triggertype_db): ) trigger_db = TriggerService.get_trigger_db_by_ref(triggertype_ref.ref) if not trigger_db: - LOG.warn( + LOG.warning( "No shadow trigger found for %s. Will skip delete.", triggertype_db ) return diff --git a/st2client/st2client/base.py b/st2client/st2client/base.py index 6c2fa94b55..5f35fb7947 100644 --- a/st2client/st2client/base.py +++ b/st2client/st2client/base.py @@ -169,7 +169,7 @@ def get_client(self, args, debug=False): cache_token=cache_token, ) except requests.exceptions.ConnectionError as e: - self.LOG.warn( + self.LOG.warning( "Auth API server is not available, skipping authentication." ) self.LOG.exception(e) @@ -280,7 +280,7 @@ def _get_cached_auth_token(self, client, username, password): "cached token meaning they may be slower." % (cached_token_path, os.getlogin()) ) - self.LOG.warn(message) + self.LOG.warning(message) return None if not os.path.isfile(cached_token_path): @@ -293,7 +293,7 @@ def _get_cached_auth_token(self, client, username, password): "access to this file). Subsequent requests won't use a cached token " "meaning they may be slower." % (cached_token_path, os.getlogin()) ) - self.LOG.warn(message) + self.LOG.warning(message) return None # Safety check for too permissive permissions @@ -307,7 +307,7 @@ def _get_cached_auth_token(self, client, username, password): "restrict the permissions and make sure only your own user can read " "from or write to the file." % (file_st_mode, cached_token_path) ) - self.LOG.warn(message) + self.LOG.warning(message) with open(cached_token_path) as fp: data = fp.read() @@ -359,7 +359,7 @@ def _cache_auth_token(self, token_obj): "cached token meaning they may be slower." % (cached_token_path, os.getlogin()) ) - self.LOG.warn(message) + self.LOG.warning(message) return None if os.path.isfile(cached_token_path) and not os.access( @@ -372,7 +372,7 @@ def _cache_auth_token(self, token_obj): "cached token meaning they may be slower." % (cached_token_path, os.getlogin()) ) - self.LOG.warn(message) + self.LOG.warning(message) return None token = token_obj.token diff --git a/st2client/st2client/config_parser.py b/st2client/st2client/config_parser.py index faac5baa2e..6eb1813324 100644 --- a/st2client/st2client/config_parser.py +++ b/st2client/st2client/config_parser.py @@ -116,7 +116,7 @@ def parse(self): if self.validate_config_permissions: # Make sure the directory permissions == 0o770 if bool(os.stat(config_dir_path).st_mode & 0o7): - self.LOG.warn( + self.LOG.warning( "The StackStorm configuration directory permissions are " "insecure (too permissive): others have access." ) @@ -130,7 +130,7 @@ def parse(self): # Make sure the file permissions == 0o660 if bool(os.stat(self.config_file_path).st_mode & 0o7): - self.LOG.warn( + self.LOG.warning( "The StackStorm configuration file permissions are " "insecure: others have access." ) diff --git a/st2common/st2common/logging/misc.py b/st2common/st2common/logging/misc.py index de7f673431..7ba202aa96 100644 --- a/st2common/st2common/logging/misc.py +++ b/st2common/st2common/logging/misc.py @@ -75,7 +75,7 @@ def reopen_log_files(handlers): if "cannot release" in six.text_type(e): # Release failed which most likely indicates that acquire failed # and lock was never acquired - LOG.warn("Failed to release lock", exc_info=True) + LOG.warning("Failed to release lock", exc_info=True) else: raise e diff --git a/st2common/st2common/persistence/db_init.py b/st2common/st2common/persistence/db_init.py index ed6d080423..c7c0bd9f83 100644 --- a/st2common/st2common/persistence/db_init.py +++ b/st2common/st2common/persistence/db_init.py @@ -36,7 +36,7 @@ def _retry_if_connection_error(error): # start of error msg. is_connection_error = isinstance(error, mongoengine.connection.ConnectionFailure) if is_connection_error: - LOG.warn("Retry on ConnectionError - %s", error) + LOG.warning("Retry on ConnectionError - %s", error) return is_connection_error diff --git a/st2common/st2common/services/coordination.py b/st2common/st2common/services/coordination.py index fc26e42e48..acd8bb0b1e 100644 --- a/st2common/st2common/services/coordination.py +++ b/st2common/st2common/services/coordination.py @@ -241,7 +241,7 @@ def get_coordinator(start_heart=True, use_cache=True): global COORDINATOR if not configured(): - LOG.warn( + LOG.warning( "Coordination backend is not configured. Code paths which use coordination " "service will use best effort approach and race conditions are possible." ) diff --git a/st2common/st2common/util/api.py b/st2common/st2common/util/api.py index 2c378ad726..22aa2623d1 100644 --- a/st2common/st2common/util/api.py +++ b/st2common/st2common/util/api.py @@ -39,7 +39,7 @@ def get_base_public_api_url(): if cfg.CONF.auth.api_url: api_url = get_url_without_trailing_slash(cfg.CONF.auth.api_url) else: - LOG.warn('"auth.api_url" configuration option is not configured') + LOG.warning('"auth.api_url" configuration option is not configured') api_url = "http://%s:%s" % (cfg.CONF.api.host, cfg.CONF.api.port) return api_url From 4cbbdfcf83ebe19c7700794b1ddd5f8acf491075 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 23:55:52 +0100 Subject: [PATCH 009/110] Fix DeprecationWarning: Please use assertRegex instead. --- .../python_runner/tests/unit/test_pythonrunner.py | 2 +- st2api/tests/unit/controllers/v1/test_auth.py | 2 +- st2client/tests/unit/test_shell.py | 10 +++++----- st2common/tests/unit/test_logger.py | 2 +- st2tests/st2tests/api.py | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/contrib/runners/python_runner/tests/unit/test_pythonrunner.py b/contrib/runners/python_runner/tests/unit/test_pythonrunner.py index 912c6ebae6..a178bd20ff 100644 --- a/contrib/runners/python_runner/tests/unit/test_pythonrunner.py +++ b/contrib/runners/python_runner/tests/unit/test_pythonrunner.py @@ -978,7 +978,7 @@ def test_content_version_success_local_modules_work_fine( ".*" % runner.git_worktree_path ) - self.assertRegexpMatches(output["stdout"].strip(), expected_stdout) + self.assertRegex(output["stdout"].strip(), expected_stdout) @mock.patch("st2common.runners.base.run_command") def test_content_version_old_git_version(self, mock_run_command): diff --git a/st2api/tests/unit/controllers/v1/test_auth.py b/st2api/tests/unit/controllers/v1/test_auth.py index a5a5aec0de..695d490faa 100644 --- a/st2api/tests/unit/controllers/v1/test_auth.py +++ b/st2api/tests/unit/controllers/v1/test_auth.py @@ -245,7 +245,7 @@ def test_apikey_not_found(self): ) self.assertIn("application/json", response.headers["content-type"]) self.assertEqual(response.status_int, 401) - self.assertRegexpMatches( + self.assertRegex( response.json_body["faultstring"], "^Unauthorized - ApiKey with key_hash=([a-zA-Z0-9]+) not found.$", ) diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index e48c522c1b..e3950e11f6 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -644,7 +644,7 @@ def test_get_cached_auth_token_invalid_permissions(self): "Unable to retrieve cached token from .*? read access to the parent " "directory" ) - self.assertRegexpMatches(log_message, expected_msg) + self.assertRegex(log_message, expected_msg) # 2. Read access on the directory, but not on the cached token file os.chmod(self._mock_config_directory_path, 0o777) # nosec @@ -662,7 +662,7 @@ def test_get_cached_auth_token_invalid_permissions(self): expected_msg = ( "Unable to retrieve cached token from .*? read access to this file" ) - self.assertRegexpMatches(log_message, expected_msg) + self.assertRegex(log_message, expected_msg) # 3. Other users also have read access to the file os.chmod(self._mock_config_directory_path, 0o777) # nosec @@ -678,7 +678,7 @@ def test_get_cached_auth_token_invalid_permissions(self): log_message = shell.LOG.warn.call_args[0][0] expected_msg = "Permissions .*? for cached token file .*? are too permissive.*" - self.assertRegexpMatches(log_message, expected_msg) + self.assertRegex(log_message, expected_msg) def test_cache_auth_token_invalid_permissions(self): shell = Shell() @@ -707,7 +707,7 @@ def test_cache_auth_token_invalid_permissions(self): "Unable to write token to .*? doesn't have write access to the parent " "directory" ) - self.assertRegexpMatches(log_message, expected_msg) + self.assertRegex(log_message, expected_msg) # 2. Current user has no write access to the cached token file os.chmod(self._mock_config_directory_path, 0o777) # nosec @@ -722,7 +722,7 @@ def test_cache_auth_token_invalid_permissions(self): expected_msg = ( "Unable to write token to .*? doesn't have write access to this file" ) - self.assertRegexpMatches(log_message, expected_msg) + self.assertRegex(log_message, expected_msg) def test_get_cached_auth_token_no_token_cache_file(self): client = Client() diff --git a/st2common/tests/unit/test_logger.py b/st2common/tests/unit/test_logger.py index 79158b8b7f..e2126208eb 100644 --- a/st2common/tests/unit/test_logger.py +++ b/st2common/tests/unit/test_logger.py @@ -271,7 +271,7 @@ def test_format_secret_action_parameters_are_masked(self): message = formatter.format(record=record) self.assertIn("test message 1", message) - self.assertRegexpMatches(message, expected_msg_part) + self.assertRegex(message, expected_msg_part) @mock.patch( "st2common.logging.formatters.MASKED_ATTRIBUTES_BLACKLIST", diff --git a/st2tests/st2tests/api.py b/st2tests/st2tests/api.py index dae8eb7831..1500a0b321 100644 --- a/st2tests/st2tests/api.py +++ b/st2tests/st2tests/api.py @@ -222,7 +222,7 @@ def test_get_all_exclude_attributes_and_include_attributes_are_mutually_exclusiv "exclude.*? and include.*? arguments are mutually exclusive. " "You need to provide either one or another, but not both." ) - self.assertRegexpMatches(resp.json["faultstring"], expected_msg) + self.assertRegex(resp.json["faultstring"], expected_msg) def test_get_all_invalid_exclude_and_include_parameter(self): if self.rbac_enabled: @@ -236,7 +236,7 @@ def test_get_all_invalid_exclude_and_include_parameter(self): "Invalid or unsupported exclude attribute specified: .*invalid_field.*" ) self.assertEqual(resp.status_int, 400) - self.assertRegexpMatches(resp.json["faultstring"], expected_msg) + self.assertRegex(resp.json["faultstring"], expected_msg) # 2. Invalid include_attributes field url = self.get_all_path + "?include_attributes=invalid_field" @@ -246,7 +246,7 @@ def test_get_all_invalid_exclude_and_include_parameter(self): "Invalid or unsupported include attribute specified: .*invalid_field.*" ) self.assertEqual(resp.status_int, 400) - self.assertRegexpMatches(resp.json["faultstring"], expected_msg) + self.assertRegex(resp.json["faultstring"], expected_msg) def test_get_all_include_attributes_filter(self): if self.rbac_enabled: From 848d9c2bb9afd4f44da5757dc169c4169b4b3246 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 12 Mar 2024 23:57:56 +0100 Subject: [PATCH 010/110] Fix for DeprecationWarning: Please use assertNotEqual instead. --- st2api/tests/unit/controllers/v1/test_actions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2api/tests/unit/controllers/v1/test_actions.py b/st2api/tests/unit/controllers/v1/test_actions.py index ddb111c8c7..6d263f1910 100644 --- a/st2api/tests/unit/controllers/v1/test_actions.py +++ b/st2api/tests/unit/controllers/v1/test_actions.py @@ -553,7 +553,7 @@ def test_post_discard_id_field(self): self.assertIn(b"id", post_resp.body) data = json.loads(post_resp.body) # Verify that user-provided id is discarded. - self.assertNotEquals(data["id"], ACTION_7["id"]) + self.assertNotEqual(data["id"], ACTION_7["id"]) self.__do_delete(self.__get_action_id(post_resp)) @mock.patch.object( From 21ebac751ae93c7323c9a0f42405ca7a0a8d188c Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2024 13:44:10 +0100 Subject: [PATCH 011/110] Fix for DeprecationWarning: the imp module is deprecated in favour of importlib --- st2common/st2common/util/loader.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/st2common/st2common/util/loader.py b/st2common/st2common/util/loader.py index 1c5a5a4b54..50f2ece02c 100644 --- a/st2common/st2common/util/loader.py +++ b/st2common/st2common/util/loader.py @@ -15,7 +15,7 @@ from __future__ import absolute_import -import imp +import importlib.util import inspect import json import os @@ -73,8 +73,8 @@ def _get_classes_in_module(module): ] -def _get_plugin_classes(module_name): - return _get_classes_in_module(module_name) +def _get_plugin_classes(module): + return _get_classes_in_module(module) def _get_plugin_methods(plugin_klass): @@ -129,7 +129,7 @@ def register_plugin_class(base_class, file_path, class_name): """ Retrieve a register plugin class from the provided file. - This method also validate that the class implements all the abstract methods + This method also validates that the class implements all the abstract methods from the base plugin class. :param base_class: Base plugin class. @@ -148,7 +148,9 @@ def register_plugin_class(base_class, file_path, class_name): if module_name is None: return None - module = imp.load_source(module_name, file_path) + spec = importlib.util.spec_from_file_location(module_name, file_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) klass = getattr(module, class_name, None) if not klass: @@ -170,7 +172,9 @@ def register_plugin(plugin_base_class, plugin_abs_file_path): if module_name is None: return None - module = imp.load_source(module_name, plugin_abs_file_path) + spec = importlib.util.spec_from_file_location(module_name, plugin_abs_file_path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) klasses = _get_plugin_classes(module) # Try registering classes in plugin file. Some may fail. From 7d3990e266255792d43b490996b38315dec54c39 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2024 15:26:34 +0100 Subject: [PATCH 012/110] Fix ssl_cert_reqs choices and update data type of newer version of oslo.config --- st2common/st2common/config.py | 4 ++-- st2tests/st2tests/config.py | 2 +- tools/config_gen.py | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/st2common/st2common/config.py b/st2common/st2common/config.py index c88955e4bb..d22e1367df 100644 --- a/st2common/st2common/config.py +++ b/st2common/st2common/config.py @@ -221,7 +221,7 @@ def register_opts(ignore_errors=False): cfg.StrOpt( "ssl_cert_reqs", default=None, - choices="none, optional, required", + choices=["none", "optional", "required"], help="Specifies whether a certificate is required from the other side of the " "connection, and whether it will be validated if provided", ), @@ -303,7 +303,7 @@ def register_opts(ignore_errors=False): cfg.StrOpt( "ssl_cert_reqs", default=None, - choices="none, optional, required", + choices=["none", "optional", "required"], help="Specifies whether a certificate is required from the other side of the " "connection, and whether it will be validated if provided.", ), diff --git a/st2tests/st2tests/config.py b/st2tests/st2tests/config.py index 9848ffb626..7d0a0d960c 100644 --- a/st2tests/st2tests/config.py +++ b/st2tests/st2tests/config.py @@ -224,7 +224,7 @@ def _register_api_opts(): cfg.StrOpt( "ssl_cert_reqs", default=None, - choices="none, optional, required", + choices=["none", "optional", "required"], help="Specifies whether a certificate is required from the other side of the " "connection, and whether it will be validated if provided.", ), diff --git a/tools/config_gen.py b/tools/config_gen.py index a0343a9465..f139474c13 100755 --- a/tools/config_gen.py +++ b/tools/config_gen.py @@ -21,6 +21,7 @@ import sys import traceback +from collections import OrderedDict from oslo_config import cfg @@ -188,7 +189,7 @@ def _print_options(opt_group, options): print(("# %s" % opt.help).strip()) if isinstance(opt, cfg.StrOpt) and opt.type.choices: - if isinstance(opt.type.choices, list): + if isinstance(opt.type.choices, OrderedDict): valid_values = ", ".join([str(x) for x in opt.type.choices]) else: valid_values = opt.type.choices From 97539826865825e21a58dda98895e517c1b2d747 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2024 23:25:11 +0100 Subject: [PATCH 013/110] Enable testing with py3.10 --- .github/workflows/test.yaml | 3 +++ pants.toml | 16 ++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 949f0258b6..e3ddef7be1 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -38,6 +38,9 @@ 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.12' services: mongo: diff --git a/pants.toml b/pants.toml index c59010e850..62546f776f 100644 --- a/pants.toml +++ b/pants.toml @@ -111,7 +111,7 @@ enable_resolves = true default_resolve = "st2" interpreter_constraints = [ # python_distributions needs a single constraint (vs one line per python version). - "CPython>=3.8,<3.10", + "CPython>=3.8,<=3.11", # NB: constraints for tools defined below ] @@ -130,19 +130,19 @@ twine = "lockfiles/twine.lock" [python.resolves_to_interpreter_constraints] # for tools, we have to include constraints for st2 and pants-plugins -bandit = ["CPython>=3.8,<3.10"] -black = ["CPython>=3.8,<3.10"] -flake8 = ["CPython>=3.8,<3.10"] +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.10"] -pytest = ["CPython>=3.8,<3.10"] -setuptools = ["CPython>=3.8,<3.10"] -twine = ["CPython>=3.8,<3.10"] +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; From a87373cbf220f8ab5dd7dbf7c4dc51298a107197 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2024 23:52:15 +0100 Subject: [PATCH 014/110] Fixed more DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead --- st2api/tests/unit/test_validation_utils.py | 18 ++++++++++-------- st2client/st2client/formatters/execution.py | 2 +- st2client/st2client/shell.py | 2 +- st2common/st2common/constants/meta.py | 2 +- .../st2common/services/trigger_dispatcher.py | 4 ++-- .../st2reactor/container/sensor_wrapper.py | 2 +- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/st2api/tests/unit/test_validation_utils.py b/st2api/tests/unit/test_validation_utils.py index 289f418448..07b4a28afe 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,14 +49,15 @@ def test_validate_auth_cookie_is_correctly_configured_error(self): invalid_values = ["strictx", "laxx", "nonex", "invalid"] for value in invalid_values: - cfg.CONF.set_override( - group="api", name="auth_cookie_same_site", override=value - ) - - expected_msg = "Valid values are: strict, lax, none, unset" - self.assertRaisesRegex( - ValueError, expected_msg, validate_auth_cookie_is_correctly_configured - ) + 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 + ) + + # ~ expected_msg = "Valid values are: strict, lax, none, unset" + # ~ self.assertRaisesRegex( + # ~ ValueError, expected_msg, validate_auth_cookie_is_correctly_configured + # ~ ) # SameSite=none + Secure=false is not compatible cfg.CONF.set_override( diff --git a/st2client/st2client/formatters/execution.py b/st2client/st2client/formatters/execution.py index d2ee9a1425..70ba573854 100644 --- a/st2client/st2client/formatters/execution.py +++ b/st2client/st2client/formatters/execution.py @@ -28,7 +28,7 @@ # official StackStorm packages. # Only time it may not be available is if the user is doing custom install from source or # similar. - logging.getLogger(__name__).warn( + logging.getLogger(__name__).warning( "libYAML C bindings are not available. This means YAML " "parsing and serialization will be significantly slower. You are " "strongly recommended to install libyaml (libyaml-dev package " diff --git a/st2client/st2client/shell.py b/st2client/st2client/shell.py index 81eb7f05a8..8725ce66ba 100755 --- a/st2client/st2client/shell.py +++ b/st2client/st2client/shell.py @@ -518,7 +518,7 @@ def _check_locale_and_print_warning(self): if preferred_encoding and preferred_encoding.lower() != "utf-8": msg = NON_UTF8_LOCALE % (default_locale or "unknown", preferred_encoding) - LOGGER.warn(msg) + LOGGER.warning(msg) def setup_logging(argv): diff --git a/st2common/st2common/constants/meta.py b/st2common/st2common/constants/meta.py index ceb54fb28a..0f36f95a0a 100644 --- a/st2common/st2common/constants/meta.py +++ b/st2common/st2common/constants/meta.py @@ -27,7 +27,7 @@ # official StackStorm packages. # Only time it may not be available is if the user is doing custom install from source or # similar. - logging.getLogger(__name__).warn( + logging.getLogger(__name__).warning( "libYAML C bindings are not available. This means YAML " "parsing and serialization will be significantly slower. You are " "strongly recommended to install libyaml (libyaml-dev package " diff --git a/st2common/st2common/services/trigger_dispatcher.py b/st2common/st2common/services/trigger_dispatcher.py index 6343a555b9..c7ef5ba44c 100644 --- a/st2common/st2common/services/trigger_dispatcher.py +++ b/st2common/st2common/services/trigger_dispatcher.py @@ -94,7 +94,7 @@ def dispatch_with_context( throw_on_inexistent_trigger=True, ) except (ValidationError, ValueError, Exception) as e: - self._logger.warn( + self._logger.warning( 'Failed to validate payload (%s) for trigger "%s": %s' % (str(payload), trigger, six.text_type(e)) ) @@ -111,7 +111,7 @@ def dispatch_with_context( if throw_on_validation_error: raise ValueError(msg) - self._logger.warn(msg) + self._logger.warning(msg) return None self._logger.debug("Dispatching trigger %s with payload %s.", trigger, payload) diff --git a/st2reactor/st2reactor/container/sensor_wrapper.py b/st2reactor/st2reactor/container/sensor_wrapper.py index 951052b7e3..605e074dec 100644 --- a/st2reactor/st2reactor/container/sensor_wrapper.py +++ b/st2reactor/st2reactor/container/sensor_wrapper.py @@ -289,7 +289,7 @@ def run(self): self._class_name, six.text_type(e), ) - self._logger.warn(msg, exc_info=True) + self._logger.warning(msg, exc_info=True) raise Exception(msg) def stop(self): From b4a915c81fbda88ffbed89e3c7e969c48996ed9c Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2024 23:57:48 +0100 Subject: [PATCH 015/110] Bump kombu to add py3.10 support. --- fixed-requirements.txt | 5 +++-- requirements.txt | 2 +- st2actions/requirements.txt | 2 +- st2api/requirements.txt | 2 +- st2common/requirements.txt | 2 +- st2reactor/requirements.txt | 2 +- st2stream/requirements.txt | 2 +- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index cc60bdcb5a..e7e841a9f9 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -15,12 +15,13 @@ flex==6.14.1 gitpython<=3.1.37 # Needed by gitpython, old versions used to bundle it gitdb==4.0.2 -# Note: greenlet is used by eventlet (2023: 3.0.3 support for py3.10) +# Note: greenlet is used by eventlet (202403: 3.0.3 support for py3.10) greenlet==3.0.3 gunicorn==21.2.0 jsonpath-rw==1.4.0 jsonschema==3.2.0 -kombu==5.0.2 +# 202403: Update to 5.3.5 for py3.10 support +kombu==5.3.5 lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode # >=0.23 was from jinja2 diff --git a/requirements.txt b/requirements.txt index d7ba6ab2f1..c744b09c29 100644 --- a/requirements.txt +++ b/requirements.txt @@ -27,7 +27,7 @@ importlib-metadata>=4.8.3,<=4.10.1 jinja2==2.11.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 -kombu==5.0.2 +kombu==5.3.5 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" mock==4.0.3 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 7877e13588..0508ffa917 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -11,7 +11,7 @@ chardet<3.1.0 eventlet==0.33.3 gitpython<=3.1.37 jinja2==2.11.3 -kombu==5.0.2 +kombu==5.3.5 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" oslo.config==9.4.0 diff --git a/st2api/requirements.txt b/st2api/requirements.txt index b7af2f9f86..5184a6155c 100644 --- a/st2api/requirements.txt +++ b/st2api/requirements.txt @@ -8,7 +8,7 @@ eventlet==0.33.3 gunicorn==21.2.0 jsonschema==3.2.0 -kombu==5.0.2 +kombu==5.3.5 mongoengine>=0.21.0,<0.24.0 oslo.config==9.4.0 oslo.utils==7.1.0 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 672de814ad..a1f5dc1948 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -22,7 +22,7 @@ greenlet==3.0.3 jinja2==2.11.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 -kombu==5.0.2 +kombu==5.3.5 lockfile==0.12.2 mongoengine>=0.21.0,<0.24.0 networkx<3 diff --git a/st2reactor/requirements.txt b/st2reactor/requirements.txt index 1e4eb1301b..66c0716ed9 100644 --- a/st2reactor/requirements.txt +++ b/st2reactor/requirements.txt @@ -9,7 +9,7 @@ apscheduler==3.7.0 eventlet==0.33.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 -kombu==5.0.2 +kombu==5.3.5 oslo.config==9.4.0 python-dateutil==2.8.1 six==1.13.0 diff --git a/st2stream/requirements.txt b/st2stream/requirements.txt index ebaa244861..372349c952 100644 --- a/st2stream/requirements.txt +++ b/st2stream/requirements.txt @@ -8,7 +8,7 @@ eventlet==0.33.3 gunicorn==21.2.0 jsonschema==3.2.0 -kombu==5.0.2 +kombu==5.3.5 mongoengine>=0.21.0,<0.24.0 oslo.config==9.4.0 oslo.utils==7.1.0 From 6cda1dd6216a3d1b665d7b69349c787a59390c8b Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 00:10:01 +0100 Subject: [PATCH 016/110] Regenerate pants lockfile with py3.10 support enabled. --- lockfiles/st2.lock | 1674 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 1378 insertions(+), 296 deletions(-) diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 00f1679dd0..0588aedb5a 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<=3.11,>=3.8" // ], // "generated_with_requirements": [ // "PyYAML", @@ -179,13 +179,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e44f4e7985883ab3e73a103ef0acd27299dbfe2dfed00142c35d4ddd3005901d", - "url": "https://files.pythonhosted.org/packages/f9/75/2cbf82a7ea474786e14b4d5171af88cf2b49e677a927f8b45d091418d889/argcomplete-3.2.2-py3-none-any.whl" + "hash": "c12355e0494c76a2a7b73e3a59b09024ca0ba1e279fb9ed6c1b82d5b74b6a70c", + "url": "https://files.pythonhosted.org/packages/88/8c/61021c45428ad2ef6131c6068d14f7f0968767e972e427cd87bd25c9ea7b/argcomplete-3.2.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f3e49e8ea59b4026ee29548e24488af46e30c9de57d48638e24f54a1ea1000a2", - "url": "https://files.pythonhosted.org/packages/f0/a2/ce706abe166457d5ef68fac3ffa6cf0f93580755b7d5f883c456e94fab7b/argcomplete-3.2.2.tar.gz" + "hash": "bf7900329262e481be5a15f56f19736b376df6f82ed27576fa893652c5de6c23", + "url": "https://files.pythonhosted.org/packages/3c/c0/031c507227ce3b715274c1cd1f3f9baf7a0f7cec075e22c7c8b5d4e468a9/argcomplete-3.2.3.tar.gz" } ], "project_name": "argcomplete", @@ -197,7 +197,7 @@ "wheel; extra == \"test\"" ], "requires_python": ">=3.8", - "version": "3.2.2" + "version": "3.2.3" }, { "artifacts": [ @@ -391,19 +391,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1", - "url": "https://files.pythonhosted.org/packages/a2/91/2d843adb9fbd911e0da45fbf6f18ca89d07a087c3daa23e955584f90ebf4/cachetools-5.3.2-py3-none-any.whl" + "hash": "0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945", + "url": "https://files.pythonhosted.org/packages/fb/2b/a64c2d25a37aeb921fddb929111413049fc5f8b9a4c1aefaffaafe768d54/cachetools-5.3.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2", - "url": "https://files.pythonhosted.org/packages/10/21/1b6880557742c49d5b0c4dcf0cf544b441509246cdd71182e0847ac859d5/cachetools-5.3.2.tar.gz" + "hash": "ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105", + "url": "https://files.pythonhosted.org/packages/b3/4d/27a3e6dd09011649ad5210bdf963765bc8fa81a0827a4fc01bafd2705c5b/cachetools-5.3.3.tar.gz" } ], "project_name": "cachetools", "requires_dists": [], "requires_python": ">=3.7", - "version": "5.3.2" + "version": "5.3.3" }, { "artifacts": [ @@ -523,6 +523,21 @@ "hash": "3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", "url": "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl" }, + { + "algorithm": "sha256", + "hash": "65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", + "url": "https://files.pythonhosted.org/packages/05/31/e1f51c76db7be1d4aef220d29fbfa5dbb4a99165d9833dcbf166753b6dc0/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.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": "4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", + "url": "https://files.pythonhosted.org/packages/07/07/7e554f2bbce3295e191f7e653ff15d55309a9ca40d0362fcdab36f01063c/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", @@ -533,6 +548,16 @@ "hash": "37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", "url": "https://files.pythonhosted.org/packages/16/ea/a9e284aa38cccea06b7056d4cbc7adf37670b1f8a668a312864abf1ff7c6/charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", + "url": "https://files.pythonhosted.org/packages/19/28/573147271fd041d351b438a5665be8223f1dd92f273713cb882ddafe214c/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", + "url": "https://files.pythonhosted.org/packages/1e/49/7ab74d4ac537ece3bc3334ee08645e231f39f7d6df6347b29a74b0537103/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl" + }, { "algorithm": "sha256", "hash": "122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", @@ -543,11 +568,26 @@ "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": "80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", + "url": "https://files.pythonhosted.org/packages/2d/dc/9dacba68c9ac0ae781d40e1a0c0058e26302ea0660e574ddf6797a0347f7/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.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", @@ -563,11 +603,36 @@ "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": "573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", + "url": "https://files.pythonhosted.org/packages/3e/33/21a875a61057165e92227466e54ee076b73af1e21fe1b31f1e292251aa1e/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.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": "753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", + "url": "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.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", @@ -583,6 +648,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", @@ -593,6 +663,16 @@ "hash": "5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", "url": "https://files.pythonhosted.org/packages/66/fe/c7d3da40a66a6bf2920cce0f436fa1f62ee28aaf92f412f0bf3b84c8ad6c/charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", + "url": "https://files.pythonhosted.org/packages/68/77/02839016f6fbbf808e8b38601df6e0e66c17bbab76dff4613f7511413597/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", + "url": "https://files.pythonhosted.org/packages/74/f1/0d9fe69ac441467b737ba7f48c68241487df2f4522dd7246d9426e7c690e/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", @@ -613,6 +693,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", @@ -623,6 +708,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", @@ -638,21 +728,61 @@ "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": "deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", + "url": "https://files.pythonhosted.org/packages/cf/7c/f3b682fa053cc21373c9a839e6beba7705857075686a05c72e0f8c4980ca/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.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": "e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", + "url": "https://files.pythonhosted.org/packages/d8/b5/eb705c313100defa57da79277d9207dc8d8e45931035862fa64b625bfead/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.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": "549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", + "url": "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.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": "f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", + "url": "https://files.pythonhosted.org/packages/e4/a6/7ee57823d46331ddc37dd00749c95b0edec2c79b15fc0d6e6efb532e89ac/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.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", @@ -701,36 +831,101 @@ "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": "121d27c55f4455eaa27ba3bd602beca915df9a352f235e935636a4660321070e", + "url": "https://files.pythonhosted.org/packages/18/db/237d57669edb78b8262bf78d9cc9638355ec96a49216d12238babfa46861/ciso8601-2.3.1-cp311-cp311-macosx_11_0_arm64.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": "473288cd63efe6a2cf3f4b5f90394e53095358ccb13d6128f87a2da85d0f389b", + "url": "https://files.pythonhosted.org/packages/40/36/8260b1b1b63051f90facb659913c5852cd95a17cfd3e7dc243cef4e190a0/ciso8601-2.3.1-cp311-cp311-macosx_10_9_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": "364702e338212b6c1a8643d9399ada21560cf132f363853473560625cb4207f1", + "url": "https://files.pythonhosted.org/packages/57/1a/3de6285bb4b743edc2af3e19253d72076a2911e985b89fe67a730a06d9ea/ciso8601-2.3.1-cp311-cp311-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": "8acb45545e6a654310c6ef788aacb2d73686646c414ceacdd9f5f78a83165af5", + "url": "https://files.pythonhosted.org/packages/7b/52/764356d60dcd743d2352a0c24d593ce6df330a7012f8c2ade00e580031df/ciso8601-2.3.1-cp311-cp311-musllinux_1_1_x86_64.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", "url": "https://files.pythonhosted.org/packages/ac/bc/cf42c1b0042f91c90a6b00244f63b6fb137af15e43e29f07bb72cf955be8/ciso8601-2.3.1.tar.gz" }, + { + "algorithm": "sha256", + "hash": "ef44cb4dc83f37019a356c7a72692cbe17072456f4879ca6bc0339f67eee5d00", + "url": "https://files.pythonhosted.org/packages/ae/25/957d686b0b3640f7a80073f396817dc149e03e3e72665f472deefce04719/ciso8601-2.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9f25647803c9a5aaaed130c53bbec7ea06a4f95ba5c7016f59e444b4ef7ac39e", + "url": "https://files.pythonhosted.org/packages/b1/b7/b03313a9ff86a5bec68f2ceece41abd0834fd92c91c7ba4b9a95ea032f35/ciso8601-2.3.1-cp311-cp311-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "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", @@ -790,118 +985,133 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "9541c69c62d7446539f2c1c06d7046aef822940d248fa4b8962ff0302862cc1f", - "url": "https://files.pythonhosted.org/packages/8e/47/315b3969afbbec7aa3ab0027aa0e6d771a3d4790f6c35430eae42c968da9/cryptography-42.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac", + "url": "https://files.pythonhosted.org/packages/50/be/92ce909d5d5b361780e21e0216502f72e5d8f9b2d73bcfde1ca5f791630b/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc", + "url": "https://files.pythonhosted.org/packages/0e/1d/62a2324882c0db89f64358dadfb95cae024ee3ba9fde3d5fd4d2f58af9f5/cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0d3ec384058b642f7fb7e7bff9664030011ed1af8f852540c76a1317a9dd0d20", - "url": "https://files.pythonhosted.org/packages/04/6c/9534de577ef1ef442942a98d42c4778dfdb57c18ebbc2fc6c7e33c51aa78/cryptography-42.0.3-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1", + "url": "https://files.pythonhosted.org/packages/13/9e/a55763a32d340d7b06d045753c186b690e7d88780cafce5f88cb931536be/cryptography-42.0.5.tar.gz" }, { "algorithm": "sha256", - "hash": "04859aa7f12c2b5f7e22d25198ddd537391f1695df7057c8700f71f26f47a129", - "url": "https://files.pythonhosted.org/packages/1c/a2/4d7a1bf10039e4b21c856c070b34372fd68ba4d1f983dd1780d4e5e09f68/cryptography-42.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da", + "url": "https://files.pythonhosted.org/packages/2c/9c/821ef6144daf80360cf6093520bf07eec7c793103ed4b1bf3fa17d2b55d8/cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "20100c22b298c9eaebe4f0b9032ea97186ac2555f426c3e70670f2517989543b", - "url": "https://files.pythonhosted.org/packages/24/a4/12a424d5009590891ddfbeb89edea0615ce711f37ca9713a96239b74fc37/cryptography-42.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e", + "url": "https://files.pythonhosted.org/packages/3f/ae/61d7c256bd8285263cdb5c9ebebcf66261bd0765ed255a074dc8d5304362/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6c25e1e9c2ce682d01fc5e2dde6598f7313027343bd14f4049b82ad0402e52cd", - "url": "https://files.pythonhosted.org/packages/43/be/dcac16b787b898c0ab403bbfd1691a4724ec52de614c2420a42df1e1d531/cryptography-42.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" + "hash": "cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a", + "url": "https://files.pythonhosted.org/packages/48/c8/c0962598c43d3cff2c9d6ac66d0c612bdfb1975be8d87b8889960cf8c81d/cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "90147dad8c22d64b2ff7331f8d4cddfdc3ee93e4879796f837bdbb2a0b141e0c", - "url": "https://files.pythonhosted.org/packages/47/98/3453216d25df6a8063990e1df06327c9fc0353abd9a3f0c316da236b19c3/cryptography-42.0.3-cp37-abi3-musllinux_1_2_aarch64.whl" + "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": "93fbee08c48e63d5d1b39ab56fd3fdd02e6c2431c3da0f4edaf54954744c718f", - "url": "https://files.pythonhosted.org/packages/4c/aa/fd1379655a9798d6c94bfee579dc0da52f374ae2474576ddc387bed3e4f2/cryptography-42.0.3-cp37-abi3-musllinux_1_1_x86_64.whl" + "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": "df34312149b495d9d03492ce97471234fd9037aa5ba217c2a6ea890e9166f151", - "url": "https://files.pythonhosted.org/packages/4e/8a/a36f452b8cf725073521c8e7af664d85b337d699f29cb5845d92977af1ca/cryptography-42.0.3-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1", + "url": "https://files.pythonhosted.org/packages/5b/3d/c3c21e3afaf43bacccc3ebf61d1a0d47cef6e2607dbba01662f6f9d8fc40/cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "935cca25d35dda9e7bd46a24831dfd255307c55a07ff38fd1a92119cffc34857", - "url": "https://files.pythonhosted.org/packages/59/65/60994410c3f244a7a695cb0bdddb8f1fd65dd9dc753ca50551fd5cbfe9f6/cryptography-42.0.3-cp37-abi3-macosx_10_12_x86_64.whl" + "hash": "f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7", + "url": "https://files.pythonhosted.org/packages/64/f7/d3c83c79947cc6807e6acd3b2d9a1cbd312042777bc7eec50c869913df79/cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d1998e545081da0ab276bcb4b33cce85f775adb86a516e8f55b3dac87f469548", - "url": "https://files.pythonhosted.org/packages/5c/a6/a38cd9ddd15ab79f5e3bf51221171015a655ec229f020d1eeca5df918ede/cryptography-42.0.3-cp37-abi3-musllinux_1_1_aarch64.whl" + "hash": "a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7", + "url": "https://files.pythonhosted.org/packages/69/f6/630eb71f246208103ffee754b8375b6b334eeedb28620b3ae57be815eeeb/cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "39d5c93e95bcbc4c06313fc6a500cee414ee39b616b55320c1904760ad686938", - "url": "https://files.pythonhosted.org/packages/60/50/7282bf57ba9fadaa6bfbeb8a0a16dfb20b69bbd72604b5107fff9e55e307/cryptography-42.0.3-cp37-abi3-manylinux_2_28_aarch64.whl" + "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": "db0480ffbfb1193ac4e1e88239f31314fe4c6cdcf9c0b8712b55414afbf80db4", - "url": "https://files.pythonhosted.org/packages/63/0c/1d240e25cab1a9136490acaee2166290c99af09cf6b098b9fb3046a23ad6/cryptography-42.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" + "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": "25b09b73db78facdfd7dd0fa77a3f19e94896197c86e9f6dc16bce7b37a96504", - "url": "https://files.pythonhosted.org/packages/67/97/55e572ce90af588044cafa23f0924c9384ca977eb8cbd8757b39325e5079/cryptography-42.0.3-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922", + "url": "https://files.pythonhosted.org/packages/7d/bc/b6c691c960b5dcd54c5444e73af7f826e62af965ba59b6d7e9928b6489a2/cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d5cf11bc7f0b71fb71af26af396c83dfd3f6eed56d4b6ef95d57867bf1e4ba65", - "url": "https://files.pythonhosted.org/packages/6b/45/a0f7a0ff613e25dc8270bc0f6f5f7f149119bec4237df7b7757cfea1c6d8/cryptography-42.0.3-cp39-abi3-musllinux_1_2_x86_64.whl" + "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": "3d96ea47ce6d0055d5b97e761d37b4e84195485cb5a38401be341fabf23bc32a", - "url": "https://files.pythonhosted.org/packages/6c/28/231fa3669e6555ce83dd574154706f19f6b81540a7f60c4bdf7cbeef5039/cryptography-42.0.3-cp37-abi3-manylinux_2_28_x86_64.whl" + "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": "c3d1f5a1d403a8e640fa0887e9f7087331abb3f33b0f2207d2cc7f213e4a864c", - "url": "https://files.pythonhosted.org/packages/8d/05/e732c8e4e22557fcf6d59071168093b627f5a157b3858cdcbd1947ecc198/cryptography-42.0.3-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc", + "url": "https://files.pythonhosted.org/packages/c2/40/c7cb9d6819b90640ffc3c4028b28f46edc525feaeaa0d98ea23e843d446d/cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0fab2a5c479b360e5e0ea9f654bcebb535e3aa1e493a715b13244f4e07ea8eec", - "url": "https://files.pythonhosted.org/packages/a0/32/5d06b82a425cffa725d4fc89e3f79eef949f08a564808540d5811fb9697b/cryptography-42.0.3-cp39-abi3-musllinux_1_1_x86_64.whl" + "hash": "1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30", + "url": "https://files.pythonhosted.org/packages/ca/2e/9f2c49bd6a18d46c05ec098b040e7d4599c61f50ced40a39adfae3f68306/cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "069d2ce9be5526a44093a0991c450fe9906cdf069e0e7cd67d9dee49a62b9ebe", - "url": "https://files.pythonhosted.org/packages/b3/cc/988dee9e00be594cb1e20fd0eb83facda0c229fdef4cd7746742ecd44371/cryptography-42.0.3.tar.gz" + "hash": "a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16", + "url": "https://files.pythonhosted.org/packages/d1/f1/fd98e6e79242d9aeaf6a5d49639a7e85f05741575af14d3f4a1d477f572e/cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "de5086cd475d67113ccb6f9fae6d8fe3ac54a4f9238fd08bfdb07b03d791ff0a", - "url": "https://files.pythonhosted.org/packages/bf/79/67ca436f7b8fc14fd4fb875b0e7757183e0d71763b9892d5da3fe1048478/cryptography-42.0.3-cp37-abi3-macosx_10_12_universal2.whl" + "hash": "7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e", + "url": "https://files.pythonhosted.org/packages/d4/fa/057f9d7a5364c86ccb6a4bd4e5c58920dcb66532be0cc21da3f9c7617ec3/cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "35772a6cffd1f59b85cb670f12faba05513446f80352fe811689b4e439b5d89e", - "url": "https://files.pythonhosted.org/packages/d4/6b/8f31bcab2051af50188276b7a4a327cbc9e9eee6cb747643fcf3947dc69a/cryptography-42.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d", + "url": "https://files.pythonhosted.org/packages/d8/b1/127ecb373d02db85a7a7de5093d7ac7b7714b8907d631f0591e8f002998d/cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2eb6368d5327d6455f20327fb6159b97538820355ec00f8cc9464d617caecead", - "url": "https://files.pythonhosted.org/packages/de/4c/e7246ff4b8083e740dbc529aca63de7696a54bcd0b440a0fa3627aa6a4e9/cryptography-42.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec", + "url": "https://files.pythonhosted.org/packages/d9/f9/27dda069a9f9bfda7c75305e222d904cc2445acf5eab5c696ade57d36f1b/cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "4dcab7c25e48fc09a73c3e463d09ac902a932a0f8d0c568238b3696d06bf377b", - "url": "https://files.pythonhosted.org/packages/ef/78/b270c233009e8927f4bbf1a8646ead1ca24e2ac9c314f5a7e5b8b5355967/cryptography-42.0.3-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb", + "url": "https://files.pythonhosted.org/packages/e2/59/61b2364f2a4d3668d933531bc30d012b9b2de1e534df4805678471287d57/cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "de4ae486041878dc46e571a4c70ba337ed5233a1344c14a0790c4c4be4bbb8b4", - "url": "https://files.pythonhosted.org/packages/f3/4c/616fec87c7240bc998662da1e16906ec158b7d383ddeaa9217b1ad426346/cryptography-42.0.3-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee", + "url": "https://files.pythonhosted.org/packages/e5/61/67e090a41c70ee526bd5121b1ccabab85c727574332d03326baaedea962d/cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6", + "url": "https://files.pythonhosted.org/packages/ea/fa/b0cd7f1cd011b52196e01195581119d5e2b802a35e21f08f342d6640aaae/cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4", + "url": "https://files.pythonhosted.org/packages/fb/0b/14509319a1b49858425553d2fb3808579cfdfe98c1d71a3f046c1b4e0108/cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "cryptography", @@ -928,28 +1138,27 @@ "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"" ], "requires_python": ">=3.7", - "version": "42.0.3" + "version": "42.0.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "1393a527d2c72f143ffa6a629e9c33face6642634eece475b48cab7b04ba61f3", - "url": "https://files.pythonhosted.org/packages/a8/b8/3ab00e60d1c5665e831fa33bb47623ad613acb16c0d67e32e355efac44bd/debtcollector-2.5.0-py3-none-any.whl" + "hash": "46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91", + "url": "https://files.pythonhosted.org/packages/9c/ca/863ed8fa66d6f986de6ad7feccc5df96e37400845b1eeb29889a70feea99/debtcollector-3.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dc9d1ad3f745c43f4bbedbca30f9ffe8905a8c028c9926e61077847d5ea257ab", - "url": "https://files.pythonhosted.org/packages/c8/7d/904f64535d04f754c20a02a296de0bf3fb02be8ff5274155e41c89ae211a/debtcollector-2.5.0.tar.gz" + "hash": "2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f", + "url": "https://files.pythonhosted.org/packages/31/e2/a45b5a620145937529c840df5e499c267997e85de40df27d54424a158d3c/debtcollector-3.0.0.tar.gz" } ], "project_name": "debtcollector", "requires_dists": [ - "importlib-metadata>=1.7.0; python_version < \"3.8\"", "wrapt>=1.7.0" ], - "requires_python": ">=3.6", - "version": "2.5.0" + "requires_python": ">=3.8", + "version": "3.0.0" }, { "artifacts": [ @@ -1152,19 +1361,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "3ef3a1f63eca3c4f6ebc8f4cff0bb1492241a0df93622e0bf3e6e90ca822e0e0", - "url": "https://files.pythonhosted.org/packages/b3/55/d9c92dd20be0527a6e47285bb6d4a001659726872e8ee69826ee47454bb8/futurist-2.4.1-py3-none-any.whl" + "hash": "645565803423c907557d59f82b2e7f33d87fd483316414466d059a0fa5aa5fc9", + "url": "https://files.pythonhosted.org/packages/ad/2b/dcdb2dfdc61676ac25676f10f71c9bba77bf81227f3e73f5c678462bffaf/futurist-3.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9c1760a877c0fe3260d04b6a6d4352a6d25ac58e483f1d6cd495e33dc3740ff7", - "url": "https://files.pythonhosted.org/packages/e7/08/141b42af4fbaa9f7b8b9ffbf32197d261269e1088a3d4f2287fcfcbf542b/futurist-2.4.1.tar.gz" + "hash": "6422011792414c39228e114bec5494303aaf06dcd335e4f8dd4f907f78a41f79", + "url": "https://files.pythonhosted.org/packages/4c/24/864408313afba48440ee3a560e1a70b62b39e6c0dfeddea9506699e6e606/futurist-3.0.0.tar.gz" } ], "project_name": "futurist", "requires_dists": [], - "requires_python": ">=3.6", - "version": "2.4.1" + "requires_python": ">=3.8", + "version": "3.0.0" }, { "artifacts": [ @@ -1272,11 +1481,46 @@ "hash": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", "url": "https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz" }, + { + "algorithm": "sha256", + "hash": "dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", + "url": "https://files.pythonhosted.org/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559", + "url": "https://files.pythonhosted.org/packages/21/b4/90e06e07c78513ab03855768200bdb35c8e764e805b3f14fb488e56f82dc/greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", + "url": "https://files.pythonhosted.org/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.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" }, + { + "algorithm": "sha256", + "hash": "fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33", + "url": "https://files.pythonhosted.org/packages/42/11/42ad6b1104c357826bbee7d7b9e4f24dbd9fde94899a03efb004aab62963/greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", + "url": "https://files.pythonhosted.org/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61", + "url": "https://files.pythonhosted.org/packages/6e/20/68a278a6f93fa36e21cfc3d7599399a8a831225644eb3b6b18755cd3d6fc/greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", + "url": "https://files.pythonhosted.org/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", @@ -1292,6 +1536,11 @@ "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" }, + { + "algorithm": "sha256", + "hash": "894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d", + "url": "https://files.pythonhosted.org/packages/94/ed/1e5f4bca691a81700e5a88e86d6f0e538acb10188cd2cc17140e523255ef/greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61", @@ -1302,11 +1551,36 @@ "hash": "b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", "url": "https://files.pythonhosted.org/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", + "url": "https://files.pythonhosted.org/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", + "url": "https://files.pythonhosted.org/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" }, + { + "algorithm": "sha256", + "hash": "2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379", + "url": "https://files.pythonhosted.org/packages/bb/6b/384dee7e0121cbd1757bdc1824a5ee28e43d8d4e3f99aa59521f629442fe/greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22", + "url": "https://files.pythonhosted.org/packages/c6/1f/12d5a6cc26e8b483c2e7975f9c22e088ac735c0d8dcb8a8f72d31a4e5f04/greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3", + "url": "https://files.pythonhosted.org/packages/c7/ec/85b647e59e0f137c7792a809156f413e38379cf7f3f2e1353c37f4be4026/greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", @@ -1322,11 +1596,26 @@ "hash": "d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", "url": "https://files.pythonhosted.org/packages/dc/c3/06ca5f34b01af6d6e2fd2f97c0ad3673123a442bf4a3add548d374b1cc7c/greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", + "url": "https://files.pythonhosted.org/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_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" }, + { + "algorithm": "sha256", + "hash": "3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", + "url": "https://files.pythonhosted.org/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e", + "url": "https://files.pythonhosted.org/packages/f6/a2/0ed21078039072f9dc738bbf3af12b103a84106b1385ac4723841f846ce7/greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506", @@ -1416,13 +1705,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e", - "url": "https://files.pythonhosted.org/packages/c0/8b/d8427f023c081a8303e6ac7209c16e6878f2765d5b59667f3903fbcfd365/importlib_metadata-7.0.1-py3-none-any.whl" + "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", + "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc", - "url": "https://files.pythonhosted.org/packages/90/b4/206081fca69171b4dc1939e77b378a7b87021b0f43ce07439d49d8ac5c84/importlib_metadata-7.0.1.tar.gz" + "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", + "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" } ], "project_name": "importlib-metadata", @@ -1435,23 +1724,21 @@ "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", - "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-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-perf>=0.9.2; extra == \"testing\"", - "pytest-ruff; extra == \"testing\"", + "pytest-ruff>=0.2.1; extra == \"testing\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"", "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.1" + "version": "7.0.2" }, { "artifacts": [ @@ -1766,6 +2053,11 @@ "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": "cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", + "url": "https://files.pythonhosted.org/packages/04/69/c31e837e4bb5532b02d297152464b2cb8a0edeb9bef762c015e9b4e95e16/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194", @@ -1781,6 +2073,11 @@ "hash": "6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee", "url": "https://files.pythonhosted.org/packages/1f/44/ada8e01854175525e8e139278c3a52fec0ef720307cbd670bca86b473b56/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", + "url": "https://files.pythonhosted.org/packages/21/84/e090d999105fe0f3e1d955725ed2c9aeebc649ee83edab0e73d353d47e5d/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", @@ -1791,6 +2088,21 @@ "hash": "5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", "url": "https://files.pythonhosted.org/packages/51/1e/45e25cd867fb79339c49086dad9794e11923dd6325251ae48c341b0a4271/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", + "url": "https://files.pythonhosted.org/packages/51/c3/7154db2b7d5b24875e1f1c42bab87a46af688bd6a5c89a90c60053cb6b33/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", + "url": "https://files.pythonhosted.org/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", + "url": "https://files.pythonhosted.org/packages/5a/98/3303496a5d19aabba67c443ba1df6ee1bec94549b3f8976f90c06a6942e6/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl" + }, { "algorithm": "sha256", "hash": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", @@ -1826,6 +2138,11 @@ "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" }, + { + "algorithm": "sha256", + "hash": "d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", + "url": "https://files.pythonhosted.org/packages/81/8b/f28eac2790d49dde61f89ae9e007ac65002edc90bb2dd63c3b9e653820d2/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", @@ -1841,6 +2158,11 @@ "hash": "aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", "url": "https://files.pythonhosted.org/packages/95/18/b7a45c16635acafdf6837a6fd4c71acfe5bad202884c6fcbae4ea0763dde/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", + "url": "https://files.pythonhosted.org/packages/a4/c8/9d2161b2080cb69c8834d1c34a399685347523acbfc923b203ad27bf1215/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", @@ -1886,6 +2208,11 @@ "hash": "6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", "url": "https://files.pythonhosted.org/packages/e4/9b/c7b55a2f587368d69eb6dc36e285010ab0bbb74323833d501921e08e2728/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", + "url": "https://files.pythonhosted.org/packages/e6/57/e9d243b12918f22bc3aa1392db7821dcb643a120e87b3f8c9bc7e1ad33f1/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", @@ -1951,184 +2278,274 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f", - "url": "https://files.pythonhosted.org/packages/a6/3c/66220419738efe82ef88ac3ddf840cb8b35b3fd94bced232dd7113f8b2a8/msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273", + "url": "https://files.pythonhosted.org/packages/ff/21/1b3545b88fe47526925b37217729036df4088340cad6e665609cb36ba84e/msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "38949d30b11ae5f95c3c91917ee7a6b239f5ec276f271f28638dec9156f82cfc", - "url": "https://files.pythonhosted.org/packages/09/00/83d7cd67ec05772799b264ea3070a55b58b3351b01fe8cd3b00a759383b1/msgpack-1.0.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3", + "url": "https://files.pythonhosted.org/packages/08/4c/17adf86a8fbb02c144c7569dc4919483c01a2ac270307e2d59e1ce394087/msgpack-1.0.8.tar.gz" }, { "algorithm": "sha256", - "hash": "3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc", - "url": "https://files.pythonhosted.org/packages/0a/7a/73a184ed27c974f18cd7c8f571e99fe22faef643fd7c34feee515dc60e36/msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl" + "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" }, { "algorithm": "sha256", - "hash": "bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f", - "url": "https://files.pythonhosted.org/packages/0e/bf/e5318f60000d14912da75088662c308d4335dd13bb5b7707cf472b746343/msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl" + "hash": "e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c", + "url": "https://files.pythonhosted.org/packages/0d/7e/93373ffbe6561e719996a90b6d112604f52da3ab46e7c395db7607458553/msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d", - "url": "https://files.pythonhosted.org/packages/10/b6/e8123361c50859c510cf03f5fbe7d8c1fff16689e4a7dddd619f7287b286/msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b", + "url": "https://files.pythonhosted.org/packages/17/29/7f3f30dd40bf1c2599350099645d3664b3aadb803583cbfce57a28047c4d/msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61", - "url": "https://files.pythonhosted.org/packages/1a/c7/2d31e1819b5c8619deff40ca4ca31cb9e48662f4ab2b0a35942007986b3f/msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba", + "url": "https://files.pythonhosted.org/packages/1a/01/01a88f7971c68037dab4be2737b50e00557bbdaf179ab988803c736043ed/msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "36e17c4592231a7dbd2ed09027823ab295d2791b3b1efb2aee874b10548b7524", - "url": "https://files.pythonhosted.org/packages/1d/f3/44968c303d70a9d1c5cd68180319851e3bb7396580a4c9f6c58b841b4409/msgpack-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "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" }, { "algorithm": "sha256", - "hash": "235a31ec7db685f5c82233bddf9858748b89b8119bf4538d514536c485c15fe0", - "url": "https://files.pythonhosted.org/packages/26/84/93e3cee53a1c32cfa672c65adcfb725e6a2b29f7cf710f62e0cbff6bcfaa/msgpack-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl" + "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" }, { "algorithm": "sha256", - "hash": "484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81", - "url": "https://files.pythonhosted.org/packages/46/4f/6119d222e1a5ee107820abcc188b41b248a2f520d4c2f6a9f8a1bca519e8/msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2", + "url": "https://files.pythonhosted.org/packages/2b/6e/3dcd4f7d8b978277393fd5b7c0abd9d2b6ef7ba8eb12834bed59158ecf5f/msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "dd632777ff3beaaf629f1ab4396caf7ba0bdd075d948a69460d13d44357aca4c", - "url": "https://files.pythonhosted.org/packages/4c/f6/386ba279d3f1dd3f5e1036f8689dd1ae25c95d292df44c0f11038a12d135/msgpack-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8", + "url": "https://files.pythonhosted.org/packages/39/e2/cac717fd842a6d0d321b2f34add877033aede4f2e6321d93799ab68c6aea/msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7", - "url": "https://files.pythonhosted.org/packages/58/99/2b2e64b7195f62b88be01c13ed0244055498d9cd1454f2aafa1a2df24dd3/msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836", + "url": "https://files.pythonhosted.org/packages/3e/0e/96477b0448c593cc5c679e855c7bb58bb6543a065760e67cad0c3f90deb1/msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "cab3db8bab4b7e635c1c97270d7a4b2a90c070b33cbc00c99ef3f9be03d3e1f7", - "url": "https://files.pythonhosted.org/packages/68/8e/46e5e1b863030a9b6ba116d5b2f101b1523180bbbca55f6f9ad6a9839a7a/msgpack-1.0.7-cp38-cp38-macosx_11_0_arm64.whl" + "hash": "f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d", + "url": "https://files.pythonhosted.org/packages/42/fa/9379d11dd1b83570b2e9dc0d7c7e45aec2fb99d80540170f82d79f83132a/msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819", - "url": "https://files.pythonhosted.org/packages/95/9f/c1feee104ad1fb58f75ce32a02d4a0f05ffcdfeb7459d172b9eaf8fa1d27/msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a", + "url": "https://files.pythonhosted.org/packages/43/7c/82b729d105dae9f8be500228fdd8cfc1f918a18e285afcbf6d6915146037/msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87", - "url": "https://files.pythonhosted.org/packages/c2/d5/5662032db1571110b5b51647aed4b56dfbd01bfae789fa566a2be1f385d1/msgpack-1.0.7.tar.gz" + "hash": "d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad", + "url": "https://files.pythonhosted.org/packages/46/ca/96051d40050cd17bf054996662dbf8900da9995fa0a3308f2597a47bedad/msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ff1d0899f104f3921d94579a5638847f783c9b04f2d5f229392ca77fba5b82fc", - "url": "https://files.pythonhosted.org/packages/d9/fe/4ce9fe50b4cf1fc0f26df810db6dfedac39ef683a7a8deae4ab4934ec459/msgpack-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24", + "url": "https://files.pythonhosted.org/packages/50/ee/b749822f36f448b7edb5e6081cdba529fc0ef9e442d5632a05602f7a8274/msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "5b6ccc0c85916998d788b295765ea0e9cb9aac7e4a8ed71d12e7d8ac31c23c95", - "url": "https://files.pythonhosted.org/packages/e2/f8/8680a48febe63b8c3313e3240c3de17942aeeb2a0e3af33542f47e0a4eed/msgpack-1.0.7-cp38-cp38-macosx_10_9_universal2.whl" + "hash": "d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13", + "url": "https://files.pythonhosted.org/packages/56/33/465f6feaca727ccc898e2a73e27af942febe9c8cfc726972bcf70ab059e2/msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "dc43f1ec66eb8440567186ae2f8c447d91e0372d793dfe8c222aec857b81a8cf", - "url": "https://files.pythonhosted.org/packages/e3/1e/7e1375fb92a1f0ae6bb6b6b94425f89e4e352974355f0ded60dad1aed71a/msgpack-1.0.7-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746", + "url": "https://files.pythonhosted.org/packages/56/7a/2a9b40ca2d9ff8f9b5628b15b820676d830b006cff6ca6b3bdffbafd2142/msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "0bfdd914e55e0d2c9e1526de210f6fe8ffe9705f2b1dfcc4aecc92a4cb4b533d", - "url": "https://files.pythonhosted.org/packages/e5/57/d181484eb77bc726154ff73c057a744fcef2f3b9721b25dc951e9f2bffa3/msgpack-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2", + "url": "https://files.pythonhosted.org/packages/60/8c/6f32030ad034212deb6b679280d908c49fc8aac3dd604c33c9ad0ccb97a7/msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd", - "url": "https://files.pythonhosted.org/packages/ef/a2/589139caa054b5c242a5682fa6b6f119e16e9d1aefc49c4412e57eb7549c/msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl" - } - ], - "project_name": "msgpack", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "1.0.7" - }, - { - "artifacts": [ + "hash": "f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a", + "url": "https://files.pythonhosted.org/packages/76/2f/a06b5ca0ba80aeb5f0b50449fb57a55c2c70bc495f2569442c743ed8478d/msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", - "hash": "d542c37909f1624665ec7f59ea2e388a20eb678188f1b0c4cb50fdd600f89264", - "url": "https://files.pythonhosted.org/packages/7f/e1/1b7ebbccd9262cd08f8fde49a2632724268e952a1613bcad0de6062b0cc4/netaddr-1.1.0-py3-none-any.whl" + "hash": "6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a", + "url": "https://files.pythonhosted.org/packages/79/d2/e0a6583f4f8cc7c2768ae3fec386eb0ca19cdbea296eb6d1201f275a638a/msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "eabeba62193525757ed3ab4aacc4ab8089f84e57059fd41fde58df95c128a26d", - "url": "https://files.pythonhosted.org/packages/d4/79/a9b05aa527c0032c0eb6c20d70c0a1335d1dadf000b789d9bbfb8993168c/netaddr-1.1.0.tar.gz" - } - ], - "project_name": "netaddr", - "requires_dists": [ - "ipython; extra == \"shell\"" - ], - "requires_python": ">=3.7", - "version": "1.1.0" - }, - { - "artifacts": [ + "hash": "73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596", + "url": "https://files.pythonhosted.org/packages/7a/c7/c95fe31dd0d7bf49fd3590df8e0089a8b9b18222909439d68dcc7973fd13/msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", - "hash": "e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1", - "url": "https://files.pythonhosted.org/packages/6b/07/613110af7b7856cf0bea173a866304f5476aba06f5ccf74c66acc73e36f1/netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" + "hash": "e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d", + "url": "https://files.pythonhosted.org/packages/7c/40/c6f31cef899b54e3f6a759204d0b152c9205aef7219c9d2279f608c421eb/msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3", - "url": "https://files.pythonhosted.org/packages/13/d3/805fbf89548882361e6900cbb7cc50ad7dec7fab486c5513be49729d9c4e/netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" + "hash": "3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d", + "url": "https://files.pythonhosted.org/packages/8f/aa/e637d1212560c905b97ddd1dbe1cb35b320cd15c6200f5d29acea571c708/msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c", - "url": "https://files.pythonhosted.org/packages/1d/b4/0ba3c00f8bbbd3328562d9e7158235ffe21968b88a21adf5614b019e5037/netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl" + "hash": "82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa", + "url": "https://files.pythonhosted.org/packages/9b/db/8d629233bba3cbe6d7a6e0fd018ed684c5f0befea4428d4217ce066d2f20/msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4", - "url": "https://files.pythonhosted.org/packages/77/6c/eb2b7c9dbbf6cd0148fda0215742346dc4d45b79f680500832e8c6457936/netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" + "hash": "0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40", + "url": "https://files.pythonhosted.org/packages/a9/30/815bbd025ede86f9ac5b04d9f96480386227e35a6d438cbb95e02a31dc9e/msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32", - "url": "https://files.pythonhosted.org/packages/a6/91/86a6eac449ddfae239e93ffc1918cf33fd9bab35c04d1e963b311e347a73/netifaces-0.11.0.tar.gz" + "hash": "e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f", + "url": "https://files.pythonhosted.org/packages/ad/61/225d64e983e51f960cac41fd1084188764fcc7430e75f609ad9d86e47839/msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff", - "url": "https://files.pythonhosted.org/packages/c0/8c/b8d1e0bb4139e8b9b8acea7157c4106eb020ea25f943b364c763a0edba0a/netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653", + "url": "https://files.pythonhosted.org/packages/b0/a8/29426f7af85406116e1cdbd21d8f02e30ef8f4afe3cfcbb43c498cbadadf/msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d", - "url": "https://files.pythonhosted.org/packages/dd/51/316a0e27e015dff0573da8a7629b025eb2c10ebbe3aaf6a152039f233972/netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl" + "hash": "505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868", + "url": "https://files.pythonhosted.org/packages/b3/c2/8ecbafd6d3178ad408989c82d6d518fec76e053bae20c0fd9f47bffe7dda/msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f", - "url": "https://files.pythonhosted.org/packages/f1/52/2e526c90b5636bfab54eb81c52f5b27810d0228e80fa1afac3444dd0cd77/netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" - } - ], - "project_name": "netifaces", - "requires_dists": [], - "requires_python": null, - "version": "0.11.0" - }, - { - "artifacts": [ + "hash": "376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659", + "url": "https://files.pythonhosted.org/packages/ba/13/d000e53b067aee19d57a4f26d5bffed7890e6896538ac5f97605b0f64985/msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", - "hash": "e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524", - "url": "https://files.pythonhosted.org/packages/42/31/d2f89f1ae42718f8c8a9e440ebe38d7d5fe1e0d9eb9178ce779e365b3ab0/networkx-2.8.8-py3-none-any.whl" + "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" }, { "algorithm": "sha256", - "hash": "230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e", - "url": "https://files.pythonhosted.org/packages/cd/16/c44e8550012735b8f21b3df7f39e8ba5a987fb764ac017ad5f3589735889/networkx-2.8.8.tar.gz" + "hash": "00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982", + "url": "https://files.pythonhosted.org/packages/d9/96/a1868dd8997d65732476dfc70fef44d046c1b4dbe36ec1481ab744d87775/msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce", + "url": "https://files.pythonhosted.org/packages/dd/06/adb6c8cdea18f9ba09b7dc1442b50ce222858ae4a85703420349784429d0/msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b", + "url": "https://files.pythonhosted.org/packages/e0/3f/978df03be94c2198be22df5d6e31b69ef7a9759c6cc0cce4ed1d08e2b27b/msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.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" + }, + { + "algorithm": "sha256", + "hash": "9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128", + "url": "https://files.pythonhosted.org/packages/f0/75/553cc9ddfe59c62654dd398c16cd8ab1b3eeb145e56805f52115cbe9f5a0/msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950", + "url": "https://files.pythonhosted.org/packages/f5/9a/88388f7960930a7dc0bbcde3d1db1bd543c9645483f3172c64853f4cab67/msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85", + "url": "https://files.pythonhosted.org/packages/f6/f0/a7bdb48223cd21b9abed814b08fca8fe6a40931e70ec97c24d2f15d68ef3/msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + } + ], + "project_name": "msgpack", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "1.0.8" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "bd9e9534b0d46af328cf64f0e5a23a5a43fca292df221c85580b27394793496e", + "url": "https://files.pythonhosted.org/packages/d0/e4/a57d2ad0c1381d6304c7eb3aed7c1a415c5b443e71d7e5c88378ac60d1ef/netaddr-1.2.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6eb8fedf0412c6d294d06885c110de945cf4d22d2b510d0404f4e06950857987", + "url": "https://files.pythonhosted.org/packages/54/e6/0308695af3bd001c7ce503b3a8628a001841fe1def19374c06d4bce9089b/netaddr-1.2.1.tar.gz" + } + ], + "project_name": "netaddr", + "requires_dists": [ + "ipython; extra == \"nicer-shell\"" + ], + "requires_python": ">=3.7", + "version": "1.2.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1", + "url": "https://files.pythonhosted.org/packages/6b/07/613110af7b7856cf0bea173a866304f5476aba06f5ccf74c66acc73e36f1/netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3", + "url": "https://files.pythonhosted.org/packages/13/d3/805fbf89548882361e6900cbb7cc50ad7dec7fab486c5513be49729d9c4e/netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c", + "url": "https://files.pythonhosted.org/packages/1d/b4/0ba3c00f8bbbd3328562d9e7158235ffe21968b88a21adf5614b019e5037/netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4", + "url": "https://files.pythonhosted.org/packages/77/6c/eb2b7c9dbbf6cd0148fda0215742346dc4d45b79f680500832e8c6457936/netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32", + "url": "https://files.pythonhosted.org/packages/a6/91/86a6eac449ddfae239e93ffc1918cf33fd9bab35c04d1e963b311e347a73/netifaces-0.11.0.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff", + "url": "https://files.pythonhosted.org/packages/c0/8c/b8d1e0bb4139e8b9b8acea7157c4106eb020ea25f943b364c763a0edba0a/netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d", + "url": "https://files.pythonhosted.org/packages/dd/51/316a0e27e015dff0573da8a7629b025eb2c10ebbe3aaf6a152039f233972/netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f", + "url": "https://files.pythonhosted.org/packages/f1/52/2e526c90b5636bfab54eb81c52f5b27810d0228e80fa1afac3444dd0cd77/netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" + } + ], + "project_name": "netifaces", + "requires_dists": [], + "requires_python": null, + "version": "0.11.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "e435dfa75b1d7195c7b8378c3859f0445cd88c6b0375c181ed66823a9ceb7524", + "url": "https://files.pythonhosted.org/packages/42/31/d2f89f1ae42718f8c8a9e440ebe38d7d5fe1e0d9eb9178ce779e365b3ab0/networkx-2.8.8-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "230d388117af870fce5647a3c52401fcf753e94720e6ea6b4197a5355648885e", + "url": "https://files.pythonhosted.org/packages/cd/16/c44e8550012735b8f21b3df7f39e8ba5a987fb764ac017ad5f3589735889/networkx-2.8.8.tar.gz" } ], "project_name": "networkx", @@ -2212,94 +2629,174 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6f52ac2eb49e99e7373f62e2a68428c6946cda52ce89aa8fe9f890c7278e2d3a", - "url": "https://files.pythonhosted.org/packages/3f/cd/a3bd40d2db4da9e56ecfcf7a0a70db93f5f0d7629b84e4f7ebf9f10ae02b/orjson-3.9.14-cp39-cp39-musllinux_1_2_x86_64.whl" + "hash": "57d5d8cf9c27f7ef6bc56a5925c7fbc76b61288ab674eb352c26ac780caa5b10", + "url": "https://files.pythonhosted.org/packages/2f/d1/e983fc1c5bb732e8863208aac399881546544eeef73d92510c69b4056f5a/orjson-3.9.15-cp39-cp39-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b17f0f14a9c0ba55ff6279a922d1932e24b13fc218a3e968ecdbf791b3682b25", + "url": "https://files.pythonhosted.org/packages/01/af/63f80ae9016052ffa13eb8da03ecc48de23d0d9f3e960bbeb6bcd0992ebd/orjson-3.9.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "f541587f5c558abd93cb0de491ce99a9ef8d1ae29dd6ab4dbb5a13281ae04cbd", + "url": "https://files.pythonhosted.org/packages/0b/7a/8b219434bcd439dc0f0dce7380c9c6e8e7362eab364ca8256549a621ad1e/orjson-3.9.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + }, + { + "algorithm": "sha256", + "hash": "9cf1596680ac1f01839dba32d496136bdd5d8ffb858c280fa82bbfeb173bdd40", + "url": "https://files.pythonhosted.org/packages/16/55/23629b7857685184259f1442a14cbacee190eb5564296d41a68efc749fdb/orjson-3.9.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6fc2fe4647927070df3d93f561d7e588a38865ea0040027662e3e541d592811e", + "url": "https://files.pythonhosted.org/packages/18/f1/f6c80cf1b11a855cb0dfe8821ca0400a78e33f3f95b4e003b1dee7edd562/orjson-3.9.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "8055ec598605b0077e29652ccfe9372247474375e0e3f5775c91d9434e12d6b1", + "url": "https://files.pythonhosted.org/packages/2c/77/7fdc0057e8a41acaccf7fecb80b2c67285b3f8154aa437f818d9d4075147/orjson-3.9.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "4228aace81781cc9d05a3ec3a6d2673a1ad0d8725b4e915f1089803e9efd2b99", + "url": "https://files.pythonhosted.org/packages/32/81/6cd4181a580ab8939c24ede65bbcf1a69053368a551998cb57e3e75ec232/orjson-3.9.15-cp310-cp310-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "4feeb41882e8aa17634b589533baafdceb387e01e117b1ec65534ec724023d04", + "url": "https://files.pythonhosted.org/packages/36/cb/a09d53eafb2ec9ebb25855e577767e737ab5179cf73bc5d3d8bf5e4119b4/orjson-3.9.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "12365576039b1a5a47df01aadb353b68223da413e2e7f98c02403061aad34bde", + "url": "https://files.pythonhosted.org/packages/37/ee/22f74928f9df8d3d5a17fa61c7c5456ad854029b9390548bd28e9fcf79f2/orjson-3.9.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "9fe41b6f72f52d3da4db524c8653e46243c8c92df826ab5ffaece2dba9cccd58", + "url": "https://files.pythonhosted.org/packages/3f/22/8b8eba5adfcb5be89c85d74fc8e08b0913ebca264cfa7cbb3ffb7d1840c6/orjson-3.9.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "05a1f57fb601c426635fcae9ddbe90dfc1ed42245eb4c75e4960440cac667262", + "url": "https://files.pythonhosted.org/packages/40/f0/1ead77476c9f0315a7eaad57a2719d9d67bb3b6dbbb1732bd6749e968134/orjson-3.9.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "3014ccbda9be0b1b5f8ea895121df7e6524496b3908f4397ff02e923bcd8f6dd", - "url": "https://files.pythonhosted.org/packages/1a/03/e93ecf2634676ec345a0bdbeb3acab8ceb80b32eb27ed06200acdd1a38fc/orjson-3.9.14-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "809d653c155e2cc4fd39ad69c08fdff7f4016c355ae4b88905219d3579e31eb7", + "url": "https://files.pythonhosted.org/packages/43/27/eade7c2896e6b83a1ce8bb51bed20fcf56fd5860c7ac23d66e64fe486053/orjson-3.9.15-cp38-cp38-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "df3266d54246cb56b8bb17fa908660d2a0f2e3f63fbc32451ffc1b1505051d07", - "url": "https://files.pythonhosted.org/packages/1a/2f/d1959e2d9d9943ccaf73b41201cad5c4dfaaf952bbd64fd705f8a907f0cf/orjson-3.9.14-cp38-cp38-musllinux_1_2_x86_64.whl" + "hash": "fbbeb3c9b2edb5fd044b2a070f127a0ac456ffd079cb82746fc84af01ef021a4", + "url": "https://files.pythonhosted.org/packages/49/02/75cc34741dc8bc3c9e5ec45bcc6b7b47c36133a95cd6cb58351c1220181b/orjson-3.9.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "23d1528db3c7554f9d6eeb09df23cb80dd5177ec56eeb55cc5318826928de506", - "url": "https://files.pythonhosted.org/packages/27/38/04022b06144bc4896be146133be24ffa38c710f336bcff3509126caec501/orjson-3.9.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "7413070a3e927e4207d00bd65f42d1b780fb0d32d7b1d951f6dc6ade318e1b5a", + "url": "https://files.pythonhosted.org/packages/4e/10/eb5b08eab634d07e1b549cd876acac1e84856742cfe1b10e48e28dec0e53/orjson-3.9.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "814f288c011efdf8f115c5ebcc1ab94b11da64b207722917e0ceb42f52ef30a3", - "url": "https://files.pythonhosted.org/packages/29/16/53b5035b544752b2e4f5222f53eed2b1951c5dc3f50ab2ce3862b08b344b/orjson-3.9.14-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "b66bcc5670e8a6b78f0313bcb74774c8291f6f8aeef10fe70e910b8040f3ab75", + "url": "https://files.pythonhosted.org/packages/57/eb/7ce3e9bb030893ae438a7ff93d54b55b4121d68457eece32053f8955971c/orjson-3.9.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "5bf597530544db27a8d76aced49cfc817ee9503e0a4ebf0109cd70331e7bbe0c", - "url": "https://files.pythonhosted.org/packages/3f/b7/473b8ba97204c49def78ecf7b802f864f78414ebd1797d8cc9f355dea197/orjson-3.9.14-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "6f7b65bfaf69493c73423ce9db66cfe9138b2f9ef62897486417a8fcb0a92bfe", + "url": "https://files.pythonhosted.org/packages/61/e3/5c0609a1839882b12bff43a075b0ea2f6927e77176633b93d3472f907511/orjson-3.9.15-cp310-cp310-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ba3518b999f88882ade6686f1b71e207b52e23546e180499be5bbb63a2f9c6e6", - "url": "https://files.pythonhosted.org/packages/46/c9/05a8f30e339b985e15e5c9264e161ecdef0a275fe59f0be0c69ecf38b8ac/orjson-3.9.14-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "e18668f1bd39e69b7fed19fa7cd1cd110a121ec25439328b5c89934e6d30d357", + "url": "https://files.pythonhosted.org/packages/6b/dc/15ec16eb0b50153b6a27aa598bc0c3488dfd6147070f79927c1153d3bf78/orjson-3.9.15-cp311-cp311-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f75823cc1674a840a151e999a7dfa0d86c911150dd6f951d0736ee9d383bf415", - "url": "https://files.pythonhosted.org/packages/4a/7f/6db5bf9206d5a9e156f7071213e177221cf927f59af6f4297404da77851c/orjson-3.9.14-cp39-cp39-musllinux_1_2_aarch64.whl" + "hash": "95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061", + "url": "https://files.pythonhosted.org/packages/6d/22/9709a4cb8606c04a9d70e9372b8d404a6b4c46668986ec76a6ecf184be62/orjson-3.9.15.tar.gz" }, { "algorithm": "sha256", - "hash": "a88cafb100af68af3b9b29b5ccd09fdf7a48c63327916c8c923a94c336d38dd3", - "url": "https://files.pythonhosted.org/packages/6d/53/56fc416cbf8aa6e6ae6a90adf464ac2425d90d9dd4c40cee878f1c0c4db5/orjson-3.9.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "ede0bde16cc6e9b96633df1631fbcd66491d1063667f260a4f2386a098393790", + "url": "https://files.pythonhosted.org/packages/6f/4a/38233fa85b8dc47cead4b1b9a4ed39266ed0a30cd6cda14cddb285b0c315/orjson-3.9.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ac650d49366fa41fe702e054cb560171a8634e2865537e91f09a8d05ea5b1d37", - "url": "https://files.pythonhosted.org/packages/94/f1/fe022db74151381e234b945417eb0029457011289735bc51603740835377/orjson-3.9.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "2973474811db7b35c30248d1129c64fd2bdf40d57d84beed2a9a379a6f57d0ab", + "url": "https://files.pythonhosted.org/packages/79/1f/a96100becff866f329dec20bf851cac626a2d18ada4da3fa1a16a347fbf8/orjson-3.9.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "fca33fdd0b38839b01912c57546d4f412ba7bfa0faf9bf7453432219aec2df07", - "url": "https://files.pythonhosted.org/packages/b1/91/c69c35f36b5eea58305b944b1ebddbc7e21390da57c62980db34e089886a/orjson-3.9.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "87f1097acb569dde17f246faa268759a71a2cb8c96dd392cd25c668b104cad2f", + "url": "https://files.pythonhosted.org/packages/7c/ac/c4b0dcb62508f49f1a1d41ef9dd60a4e6124edd04a3221a29d2e876ddff6/orjson-3.9.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "06fb40f8e49088ecaa02f1162581d39e2cf3fd9dbbfe411eb2284147c99bad79", - "url": "https://files.pythonhosted.org/packages/bb/92/4280f93e3e1826b57a34a12de1b4a9d68bd850a34f528954c1cea0f49b14/orjson-3.9.14.tar.gz" + "hash": "7f6cbd8e6e446fb7e4ed5bac4661a29e43f38aeecbf60c4b900b825a353276a1", + "url": "https://files.pythonhosted.org/packages/7c/e1/85f88e9b9ac2c8ff6f4476774f11448a7478720d2982b830ff2bc77483b0/orjson-3.9.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "7183cc68ee2113b19b0b8714221e5e3b07b3ba10ca2bb108d78fd49cefaae101", - "url": "https://files.pythonhosted.org/packages/c5/7f/fd73ea3c9d619df74efbfedeff87fa6f15198deb196ad8d8915cb029d214/orjson-3.9.14-cp38-cp38-musllinux_1_2_aarch64.whl" + "hash": "76bc6356d07c1d9f4b782813094d0caf1703b729d876ab6a676f3aaa9a47e37c", + "url": "https://files.pythonhosted.org/packages/82/c6/95be4ba4fa49a4ee1cf02d9db06129d08c2aea42cdf953a0d1e9be49b5e0/orjson-3.9.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "236230433a9a4968ab895140514c308fdf9f607cb8bee178a04372b771123860", - "url": "https://files.pythonhosted.org/packages/d0/5b/a76631401cd4c9d7815aa5d5154c9bfaa90babb39e1a3bc9a31ff9aaeced/orjson-3.9.14-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "71c6b009d431b3839d7c14c3af86788b3cfac41e969e3e1c22f8a6ea13139404", + "url": "https://files.pythonhosted.org/packages/83/72/cf1bc409d0fbb95227c7facda421511aacafcfdd9375d82906749cef53db/orjson-3.9.15-cp311-cp311-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "75fc593cf836f631153d0e21beaeb8d26e144445c73645889335c2247fcd71a0", - "url": "https://files.pythonhosted.org/packages/d5/3f/7f81a31a201242996102f6643098d41b981b06ca0b9324c451abb6058587/orjson-3.9.14-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "d61f7ce4727a9fa7680cd6f3986b0e2c732639f46a5e0156e550e35258aa313a", + "url": "https://files.pythonhosted.org/packages/8e/6e/7fa23a55afc901fa3b33210660287dc73b46d6b77d05f53781a98930a7b1/orjson-3.9.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "978f416bbff9da8d2091e3cf011c92da68b13f2c453dcc2e8109099b2a19d234", - "url": "https://files.pythonhosted.org/packages/d6/42/4161277eedcbfb7eb4719de0e9f0ca225edd590a0bc5906b53c56fbd4de9/orjson-3.9.14-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "ff0f9913d82e1d1fadbd976424c316fbc4d9c525c81d047bbdd16bd27dd98cfc", + "url": "https://files.pythonhosted.org/packages/a2/3e/4c0c77791fe8a6dc70f0422fa1a515022c15ba86092507c2e01fa7619835/orjson-3.9.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "ac0c7eae7ad3a223bde690565442f8a3d620056bd01196f191af8be58a5248e1", - "url": "https://files.pythonhosted.org/packages/e0/ba/6a8496ade6dbd6940ef50f1a80ab2b24d606b3136b9435de1f409e8e033e/orjson-3.9.14-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "92255879280ef9c3c0bcb327c5a1b8ed694c290d61a6a532458264f887f052cb", + "url": "https://files.pythonhosted.org/packages/b1/74/0182e57b93bc8709cfcacc69fd8e5527c1f525f3a6efe5ab414dae81cd02/orjson-3.9.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "c8e8fe01e435005d4421f183038fc70ca85d2c1e490f51fb972db92af6e047c2", + "url": "https://files.pythonhosted.org/packages/bf/82/26a887226e5df7a592e5e6c25eff237a109dfdc123c787c543ac246ea685/orjson-3.9.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "fdfa97090e2d6f73dced247a2f2d8004ac6449df6568f30e7fa1a045767c69a6", + "url": "https://files.pythonhosted.org/packages/c3/24/4d66223961ec06ede4f91d4a833bf370d34c627cab2ea5a8a1cf496b64ce/orjson-3.9.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "920fa5a0c5175ab14b9c78f6f820b75804fb4984423ee4c4f1e6d748f8b22bc1", + "url": "https://files.pythonhosted.org/packages/c7/af/ca1b87d29bc2257ce09d8e1768818b54899b252700d31388b66ccce33b7d/orjson-3.9.15-cp38-cp38-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e88b97ef13910e5f87bcbc4dd7979a7de9ba8702b54d3204ac587e83639c0c2b", + "url": "https://files.pythonhosted.org/packages/ce/e3/0e8152cd512ab2ecd69acc748dd7713e1d7ce358d5f99d52d164e7d80767/orjson-3.9.15-cp39-cp39-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d6768a327ea1ba44c9114dba5fdda4a214bdb70129065cd0807eb5f010bfcbb5", + "url": "https://files.pythonhosted.org/packages/df/62/02148fe70586770fd2f7f6a6d6dfa0011782c7dbcb90e46b694cf586d285/orjson-3.9.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, + { + "algorithm": "sha256", + "hash": "34cbcd216e7af5270f2ffa63a963346845eb71e174ea530867b7443892d77180", + "url": "https://files.pythonhosted.org/packages/fe/e9/4f0ecca6d5c8656d43eb01b10358bf6953fda8ea3735b59ccc145238ba28/orjson-3.9.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "orjson", "requires_dists": [], "requires_python": ">=3.8", - "version": "3.9.14" + "version": "3.9.15" }, { "artifacts": [ @@ -2354,13 +2851,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5cd6d0659bec2013107d235a8cf5e61475cc9dd33ef9ffc7aa2776bc1c6b56c9", - "url": "https://files.pythonhosted.org/packages/51/3e/01e63f546fec2550f0001d29037d8d24e7e2c0c2f4a66a50d5dff9c762d6/oslo.i18n-6.2.0-py3-none-any.whl" + "hash": "698eb5c63a01359ed6d91031d6331098190d38be0bdda7d270264d6f86bc79e7", + "url": "https://files.pythonhosted.org/packages/e2/60/662cfd4906746f40f88ba930d1af7990f8da1027baea49702880ce946db2/oslo.i18n-6.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "70f8a4ce9871291bc609d07e31e6e5032666556992ff1ae53e78f2ed2a5abe82", - "url": "https://files.pythonhosted.org/packages/a4/24/c4c441628dee6f6a34b8a433fb1e12853f066f9d0a0c7b7cf88cb8547b10/oslo.i18n-6.2.0.tar.gz" + "hash": "64a251edef8bf1bb1d4e6f78d377e149d4f15c1a9245de77f172016da6267444", + "url": "https://files.pythonhosted.org/packages/c1/d6/7c48b3444e08a0ef7555747a11cddcadf32437cf3ba45b7722b3ab7b1ae0/oslo.i18n-6.3.0.tar.gz" } ], "project_name": "oslo-i18n", @@ -2368,19 +2865,19 @@ "pbr!=2.1.0,>=2.0.0" ], "requires_python": ">=3.8", - "version": "6.2.0" + "version": "6.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "0da7248d0e515b875ef9883e3631ff51f9a8d11e8576247f0ded890f3276c0bf", - "url": "https://files.pythonhosted.org/packages/19/c3/6f2061614337fb9b21d06da058addcee41c9dce76360288737125a2db9f8/oslo.serialization-5.3.0-py3-none-any.whl" + "hash": "f999b75f2c2904c2f6aae5efbb67ab668cc0e79470510b721937626b36427220", + "url": "https://files.pythonhosted.org/packages/70/5f/80eb88d4590cc23cd68e05730ee9be51fc1fc83121b8227e0ff5d29bce65/oslo.serialization-5.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "228898f4f33b7deabc74289b32bbd302a659c39cf6dda9048510f930fc4f76ed", - "url": "https://files.pythonhosted.org/packages/08/13/29681b1a7841eca09c4f8a3d40c38e0e8e2cefb5a7a639fe59d68926be3b/oslo.serialization-5.3.0.tar.gz" + "hash": "315cb3465e99c685cb091b90365cb701bee7140e204ba3e5fc2d8a20b4ec6e76", + "url": "https://files.pythonhosted.org/packages/21/ff/78cc62d4282cf26d322eedf7409a39f7cd5f8c1a83329dc0a65bfa545bd4/oslo.serialization-5.4.0.tar.gz" } ], "project_name": "oslo-serialization", @@ -2388,11 +2885,11 @@ "msgpack>=0.5.2", "oslo.utils>=3.33.0", "pbr!=2.1.0,>=2.0.0", - "pytz>=2013.6", - "tzdata>=2022.4" + "pytz>=2013.6; python_version < \"3.9\"", + "tzdata>=2022.4; python_version >= \"3.9\"" ], "requires_python": ">=3.8", - "version": "5.3.0" + "version": "5.4.0" }, { "artifacts": [ @@ -2426,19 +2923,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7", - "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl" + "hash": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5", - "url": "https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz" + "hash": "eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9", + "url": "https://files.pythonhosted.org/packages/ee/b5/b43a27ac7472e1818c4bafd44430e69605baefe1f34440593e0332ec8b4d/packaging-24.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.7", - "version": "23.2" + "version": "24.0" }, { "artifacts": [ @@ -2661,24 +3158,24 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8", - "url": "https://files.pythonhosted.org/packages/4d/81/316b6a55a0d1f327d04cc7b0ba9d04058cb62de6c3a4d4b0df280cbe3b0b/prettytable-3.9.0-py3-none-any.whl" + "hash": "6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92", + "url": "https://files.pythonhosted.org/packages/3d/c4/a32f4bf44faf95accbbd5d7864ddef9e289749a8efbc3adaad4a4671779a/prettytable-3.10.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34", - "url": "https://files.pythonhosted.org/packages/e1/c0/5e9c4d2a643a00a6f67578ef35485173de273a4567279e4f0c200c01386b/prettytable-3.9.0.tar.gz" + "hash": "9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568", + "url": "https://files.pythonhosted.org/packages/19/d3/7cb826e085a254888d8afb4ae3f8d43859b13149ac8450b221120d4964c9/prettytable-3.10.0.tar.gz" } ], "project_name": "prettytable", "requires_dists": [ "pytest-cov; extra == \"tests\"", - "pytest-lazy-fixture; extra == \"tests\"", + "pytest-lazy-fixtures; extra == \"tests\"", "pytest; extra == \"tests\"", "wcwidth" ], "requires_python": ">=3.8", - "version": "3.9.0" + "version": "3.10.0" }, { "artifacts": [ @@ -2831,6 +3328,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", @@ -2841,6 +3343,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", @@ -2856,6 +3363,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", @@ -2866,6 +3378,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", @@ -2876,6 +3393,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", @@ -2886,6 +3413,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", @@ -2896,11 +3433,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", @@ -2916,6 +3463,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", @@ -2956,11 +3508,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", @@ -3040,13 +3602,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb", - "url": "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl" + "hash": "f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742", + "url": "https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db", - "url": "https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b/pyparsing-3.1.1.tar.gz" + "hash": "a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad", + "url": "https://files.pythonhosted.org/packages/46/3a/31fd28064d016a2182584d579e033ec95b809d8e220e74c4af6f0f2e8842/pyparsing-3.1.2.tar.gz" } ], "project_name": "pyparsing", @@ -3055,7 +3617,7 @@ "railroad-diagrams; extra == \"diagrams\"" ], "requires_python": ">=3.6.8", - "version": "3.1.1" + "version": "3.1.2" }, { "artifacts": [ @@ -3089,6 +3651,11 @@ "hash": "2e14c95c16211d166f59c6611533d0dacce2e25de0f76e4c140fde250997b3ca", "url": "https://files.pythonhosted.org/packages/19/3c/ab06510f86bc0934b77ade41948924ff1f33dcd3433f32feca2028218837/pyrsistent-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "6288b3fa6622ad8a91e6eb759cfc48ff3089e7c17fb1d4c59a919769314af224", + "url": "https://files.pythonhosted.org/packages/3f/f6/9ecfb78b2fc8e2540546db0fe19df1fae0f56664a5958c21ff8861b0f8da/pyrsistent-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "b318ca24db0f0518630e8b6f3831e9cba78f099ed5c1d65ffe3e023003043ba0", @@ -3104,6 +3671,16 @@ "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": "cae40a9e3ce178415040a0383f00e8d68b569e97f31928a3a8ad37e3fde6df6a", + "url": "https://files.pythonhosted.org/packages/a1/94/9808e8c9271424120289b9028a657da336ad7e43da0647f62e4f6011d19b/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "79ed12ba79935adaac1664fd7e0e585a22caa539dfc9b7c7c6d5ebf91fb89054", @@ -3114,15 +3691,40 @@ "hash": "fed2c3216a605dc9a6ea50c7e84c82906e3684c4e80d2908208f662a6cbf9022", "url": "https://files.pythonhosted.org/packages/ab/12/24b9a6ef7b991b6722756e0aa169a39463af2b8ed0fb526f0a00aae34ea4/pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "5cdd7ef1ea7a491ae70d826b6cc64868de09a1d5ff9ef8d574250d0940e275b8", + "url": "https://files.pythonhosted.org/packages/ae/a0/49249bc14d71b1bf2ffe89703acfa86f2017c25cfdabcaea532b8c8a5810/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "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": "0f3b1bcaa1f0629c978b355a7c37acd58907390149b7311b5db1b37648eb6958", + "url": "https://files.pythonhosted.org/packages/df/63/7544dc7d0953294882a5c587fb1b10a26e0c23d9b92281a14c2514bac1f7/pyrsistent-0.20.0-cp311-cp311-macosx_10_9_universal2.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", @@ -3176,47 +3778,46 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "50fb9cbe836c3f20f0dfa99c565201fb75dc54c8d76373cd1bde06b06657bdb6", - "url": "https://files.pythonhosted.org/packages/c7/10/727155d44c5e04bb08e880668e53079547282e4f950535234e5a80690564/pytest-8.0.0-py3-none-any.whl" + "hash": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", + "url": "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "249b1b0864530ba251b7438274c4d251c58d868edaaec8762893ad4a0d71c36c", - "url": "https://files.pythonhosted.org/packages/50/fd/af2d835eed57448960c4e7e9ab76ee42f24bcdd521e967191bc26fa2dece/pytest-8.0.0.tar.gz" + "hash": "ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044", + "url": "https://files.pythonhosted.org/packages/30/b7/7d44bbc04c531dcc753056920e0988032e5871ac674b5a84cb979de6e7af/pytest-8.1.1.tar.gz" } ], "project_name": "pytest", "requires_dists": [ "argcomplete; extra == \"testing\"", - "attrs>=19.2.0; extra == \"testing\"", + "attrs>=19.2; extra == \"testing\"", "colorama; sys_platform == \"win32\"", "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", "hypothesis>=3.56; extra == \"testing\"", "iniconfig", "mock; extra == \"testing\"", - "nose; extra == \"testing\"", "packaging", - "pluggy<2.0,>=1.3.0", + "pluggy<2.0,>=1.4", "pygments>=2.7.2; extra == \"testing\"", "requests; extra == \"testing\"", "setuptools; extra == \"testing\"", - "tomli>=1.0.0; python_version < \"3.11\"", + "tomli>=1; python_version < \"3.11\"", "xmlschema; extra == \"testing\"" ], "requires_python": ">=3.8", - "version": "8.0.0" + "version": "8.1.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9", - "url": "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl" + "hash": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", + "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", - "url": "https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz" + "hash": "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "url": "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" } ], "project_name": "python-dateutil", @@ -3224,7 +3825,7 @@ "six>=1.5" ], "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", - "version": "2.8.2" + "version": "2.9.0.post0" }, { "artifacts": [ @@ -3353,6 +3954,21 @@ "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": "e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b", + "url": "https://files.pythonhosted.org/packages/03/5c/c4671451b2f1d76ebe352c0945d4cd13500adb5d05f5a51ee296d80152f7/PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc", + "url": "https://files.pythonhosted.org/packages/06/92/e0224aa6ebf9dc54a06a4609da37da40bb08d126f5535d81bff6b417b2ae/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.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", @@ -3363,6 +3979,16 @@ "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": "f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", + "url": "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-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", @@ -3373,6 +3999,21 @@ "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": "42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d", + "url": "https://files.pythonhosted.org/packages/5e/94/7d5ee059dfb92ca9e62f4057dcdec9ac08a9e42679644854dc01177f8145/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", + "url": "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c", @@ -3383,11 +4024,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", @@ -3407,6 +4058,16 @@ "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": "6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007", + "url": "https://files.pythonhosted.org/packages/ec/0d/26fb23e8863e0aeaac0c64e03fd27367ad2ae3f3cccf3798ee98ce160368/PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.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", @@ -3433,18 +4094,18 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ed4802971884ae19d640775ba3b03aa2e7bd5e8fb8dfaed2decce4d0fc48391f", - "url": "https://files.pythonhosted.org/packages/0b/34/a01250ac1fc9bf9161e07956d2d580413106ce02d5591470130a25c599e3/redis-5.0.1-py3-none-any.whl" + "hash": "5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d", + "url": "https://files.pythonhosted.org/packages/bb/f1/a384c5582d9a28e4a02eb1a2c279668053dd09aafeb08d2bd4dd323fc466/redis-5.0.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0dab495cd5753069d3bc650a0dde8a8f9edde16fc5691b689a566eda58100d0f", - "url": "https://files.pythonhosted.org/packages/4a/4c/3c3b766f4ecbb3f0bec91ef342ee98d179e040c25b6ecc99e510c2570f2a/redis-5.0.1.tar.gz" + "hash": "4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580", + "url": "https://files.pythonhosted.org/packages/eb/fc/8e822fd1e0a023c5ff80ca8c469b1d854c905ebb526ba38a90e7487c9897/redis-5.0.3.tar.gz" } ], "project_name": "redis", "requires_dists": [ - "async-timeout>=4.0.2; python_full_version <= \"3.11.2\"", + "async-timeout>=4.0.3; python_full_version < \"3.11.3\"", "cryptography>=36.0.1; extra == \"ocsp\"", "hiredis>=1.0.0; extra == \"hiredis\"", "importlib-metadata>=1.0; python_version < \"3.8\"", @@ -3453,7 +4114,7 @@ "typing-extensions; python_version < \"3.8\"" ], "requires_python": ">=3.7", - "version": "5.0.1" + "version": "5.0.3" }, { "artifacts": [ @@ -3633,6 +4294,11 @@ "hash": "a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880", "url": "https://files.pythonhosted.org/packages/54/61/c18d378caadac66fa97da5d28758c751730dac7510b6a8b8b096da3fff9a/ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248", + "url": "https://files.pythonhosted.org/packages/01/b0/4ddef56e9f703d7909febc3a421d709a3482cda25826816ec595b73e3847/ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337", @@ -3673,25 +4339,80 @@ "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", "url": "https://files.pythonhosted.org/packages/7c/b2/389b345a60131593028b0263fddaa580edb4081697a3f3aa1f168f67519f/ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe", + "url": "https://files.pythonhosted.org/packages/7c/e4/0d19d65e340f93df1c47f323d95fa4b256bb28320290f5fddef90837853a/ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl" + }, { "algorithm": "sha256", "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": "25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b", + "url": "https://files.pythonhosted.org/packages/a4/f7/22d6b620ed895a05d40802d8281eff924dc6190f682d933d4efff60db3b5/ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.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": "bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069", + "url": "https://files.pythonhosted.org/packages/b1/15/971b385c098e8d0d170893f5ba558452bb7b776a0c90658b8f4dd0e3382b/ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.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": "46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899", + "url": "https://files.pythonhosted.org/packages/c9/ff/f781eb5e2ae011e586d5426e2086a011cf1e0f59704a6cad1387975c5a62/ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.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" + }, + { + "algorithm": "sha256", + "hash": "09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9", + "url": "https://files.pythonhosted.org/packages/e3/41/f62e67ac651358b8f0d60cfb12ab2daf99b1b69eeaa188d0cec809d943a6/ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl" } ], "project_name": "ruamel-yaml-clib", @@ -3721,13 +4442,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6", - "url": "https://files.pythonhosted.org/packages/bb/0a/203797141ec9727344c7649f6d5f6cf71b89a6c28f8f55d4f18de7a1d352/setuptools-69.1.0-py3-none-any.whl" + "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", + "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401", - "url": "https://files.pythonhosted.org/packages/c9/3d/74c56f1c9efd7353807f8f5fa22adccdba99dc72f34311c30a69627a0fad/setuptools-69.1.0.tar.gz" + "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", + "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" } ], "project_name": "setuptools", @@ -3736,8 +4457,8 @@ "build[virtualenv]>=1.0.3; extra == \"testing-integration\"", "filelock>=3.4.0; extra == \"testing\"", "filelock>=3.4.0; extra == \"testing-integration\"", - "flake8-2020; extra == \"testing\"", "furo; extra == \"docs\"", + "importlib-metadata; extra == \"testing\"", "ini2toml[lite]>=0.9; extra == \"testing\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"testing\"", "jaraco.envs>=2.2; extra == \"testing\"", @@ -3746,7 +4467,9 @@ "jaraco.path>=3.2.0; extra == \"testing\"", "jaraco.path>=3.2.0; extra == \"testing-integration\"", "jaraco.tidelift>=1.4; extra == \"docs\"", - "packaging>=23.1; extra == \"testing-integration\"", + "mypy==1.9; extra == \"testing\"", + "packaging>=23.2; extra == \"testing\"", + "packaging>=23.2; extra == \"testing-integration\"", "pip>=19.1; extra == \"testing\"", "pygments-github-lexers==0.0.5; extra == \"docs\"", "pytest-checkdocs>=2.4; extra == \"testing\"", @@ -3758,8 +4481,8 @@ "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\"", "pytest-xdist; extra == \"testing-integration\"", + "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", @@ -3772,6 +4495,7 @@ "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", + "tomli; extra == \"testing\"", "tomli; extra == \"testing-integration\"", "virtualenv>=13.0.0; extra == \"testing\"", "virtualenv>=13.0.0; extra == \"testing-integration\"", @@ -3779,7 +4503,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.1.0" + "version": "69.2.0" }, { "artifacts": [ @@ -3828,26 +4552,66 @@ "hash": "60848ab779195b72382841fc3fa4f71698a98d9589b0a081a9399904487b5832", "url": "https://files.pythonhosted.org/packages/33/5f/b9506e323ea89737b34c97a6eda9d22ad6b771190df93f6eb72657a3b996/simplejson-3.19.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "11cc3afd8160d44582543838b7e4f9aa5e97865322844b75d51bf4e0e413bb3e", + "url": "https://files.pythonhosted.org/packages/42/4f/eaa30edadca1271a97697a7c1630b9db9471997e56156ee974b45f6d0a09/simplejson-3.19.2-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "0a48679310e1dd5c9f03481799311a65d343748fe86850b7fb41df4e2c00c087", "url": "https://files.pythonhosted.org/packages/42/b5/33169643f5cd76fd26a2ba5a034f934cdd20ad4884fbd719dabf82a0aef5/simplejson-3.19.2-cp38-cp38-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "7f2398361508c560d0bf1773af19e9fe644e218f2a814a02210ac2c97ad70db0", + "url": "https://files.pythonhosted.org/packages/49/7d/94ba3f8c2b83a7536f9f62f23246e071eae15c83b5e4d9bd8a165b7f70a6/simplejson-3.19.2-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "554313db34d63eac3b3f42986aa9efddd1a481169c12b7be1e7512edebff8eaf", + "url": "https://files.pythonhosted.org/packages/52/46/dce3e431d3590f56f9bd2c47a61d54046cec32774b860d3b92761c0ae299/simplejson-3.19.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "08889f2f597ae965284d7b52a5c3928653a9406d88c93e3161180f0abc2433ba", + "url": "https://files.pythonhosted.org/packages/53/a0/4430915cac272de9af75287f566cd1f06dffb69b3e9fa24b3c16b066470b/simplejson-3.19.2-cp311-cp311-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "3848427b65e31bea2c11f521b6fc7a3145d6e501a1038529da2391aff5970f2f", "url": "https://files.pythonhosted.org/packages/69/79/92c253e6990421cc38d232875231d27a886592922096b79efb53a96feaa3/simplejson-3.19.2-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "972a7833d4a1fcf7a711c939e315721a88b988553fc770a5b6a5a64bd6ebeba3", + "url": "https://files.pythonhosted.org/packages/6d/04/ab8fdb3b21845cbc533c84ab71512c1b09fac5c49a57a7176051897236e5/simplejson-3.19.2-cp311-cp311-musllinux_1_1_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "4d36081c0b1c12ea0ed62c202046dca11438bee48dd5240b7c8de8da62c620e9", + "url": "https://files.pythonhosted.org/packages/70/c1/816573ae91aebf06a0fefd8ea30ca43127aa58e68684d2ddfe17c8457afb/simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "e8dd53a8706b15bc0e34f00e6150fbefb35d2fd9235d095b4f83b3c5ed4fa11d", "url": "https://files.pythonhosted.org/packages/77/4b/9634b2e32af8e14dfc453869ff5b30386871bdcac9081ed847bf90af880f/simplejson-3.19.2-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "9eb117db8d7ed733a7317c4215c35993b815bf6aeab67523f1f11e108c040672", + "url": "https://files.pythonhosted.org/packages/79/35/11247b37cc344519847db672c2deb1d237edc44306a879da7882c3d5b7db/simplejson-3.19.2-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c", "url": "https://files.pythonhosted.org/packages/79/79/3ccb95bb4154952532f280f7a41979fbfb0fbbaee4d609810ecb01650afa/simplejson-3.19.2.tar.gz" }, + { + "algorithm": "sha256", + "hash": "332c848f02d71a649272b3f1feccacb7e4f7e6de4a2e6dc70a32645326f3d428", + "url": "https://files.pythonhosted.org/packages/7e/f6/886fd5cd90fa8d74950a9bfc6763b5481c2063eea2eaaa95d494a0eece12/simplejson-3.19.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "0436a70d8eb42bea4fe1a1c32d371d9bb3b62c637969cb33970ad624d5a3336a", @@ -3863,11 +4627,26 @@ "hash": "9e4c166f743bb42c5fcc60760fb1c3623e8fda94f6619534217b083e08644b46", "url": "https://files.pythonhosted.org/packages/8c/8d/97ffae81325d29176b718b1a15ba1581069652c707a457f29bc05a44a946/simplejson-3.19.2-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "66e5dc13bfb17cd6ee764fc96ccafd6e405daa846a42baab81f4c60e15650414", + "url": "https://files.pythonhosted.org/packages/8c/b9/e11a9de884f9f044d3121e2ced0aacef40c1452d266ff0e1298c29d41918/simplejson-3.19.2-cp311-cp311-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "3e74355cb47e0cd399ead3477e29e2f50e1540952c22fb3504dda0184fc9819f", + "url": "https://files.pythonhosted.org/packages/8e/75/79d7d95730716bfaf62249a60cf886a38b970178b34ca0f33f574c16f941/simplejson-3.19.2-cp311-cp311-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "49e0e3faf3070abdf71a5c80a97c1afc059b4f45a5aa62de0c2ca0444b51669b", "url": "https://files.pythonhosted.org/packages/90/da/54fc4292b320c17030cbddebd0b85cafb7bd0d990e24260979c012a85935/simplejson-3.19.2-cp38-cp38-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "25785d038281cd106c0d91a68b9930049b6464288cea59ba95b35ee37c2d23a5", + "url": "https://files.pythonhosted.org/packages/94/f9/2671ed450a2586262ea2cfffd04bc0b93f0a00963c44356667ad5a0ff940/simplejson-3.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "1018bd0d70ce85f165185d2227c71e3b1e446186f9fa9f971b69eee223e1e3cd", @@ -3878,11 +4657,41 @@ "hash": "2c1467d939932901a97ba4f979e8f2642415fcf02ea12f53a4e3206c9c03bc17", "url": "https://files.pythonhosted.org/packages/99/48/dd888ee60e1e690694c5a6c923ccb059a5a879c9b078da3e33d7e80ef100/simplejson-3.19.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "ef7938a78447174e2616be223f496ddccdbf7854f7bf2ce716dbccd958cc7d13", + "url": "https://files.pythonhosted.org/packages/a0/d8/f9e822563d5ccf9e199719a64db221f942c9a04cce17140c4b4fe51a25fc/simplejson-3.19.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2f98d918f7f3aaf4b91f2b08c0c92b1774aea113334f7cde4fe40e777114dbe6", + "url": "https://files.pythonhosted.org/packages/a2/72/1dc530055a85eae444b2bbbd37b07ed2edebe14cbb889750795e78c4d894/simplejson-3.19.2-cp310-cp310-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "6ad331349b0b9ca6da86064a3599c425c7a21cd41616e175ddba0866da32df48", + "url": "https://files.pythonhosted.org/packages/b7/75/d097167ad63b1b0b2075259e57a384be85853f268bc715d10c14174f5425/simplejson-3.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "ed628c1431100b0b65387419551e822987396bee3c088a15d68446d92f554e0c", + "url": "https://files.pythonhosted.org/packages/b7/92/eaa2674296726f458220755f558e0c1cd8ef86287fcfff0d251ca5638fbf/simplejson-3.19.2-cp311-cp311-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "b01fda3e95d07a6148702a641e5e293b6da7863f8bc9b967f62db9461330562c", + "url": "https://files.pythonhosted.org/packages/b9/b8/a1d2fc3fb179d2eb3dd42682c308816991e708dfd4e4dee47291f380e2c5/simplejson-3.19.2-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "c0521e0f07cb56415fdb3aae0bbd8701eb31a9dfef47bb57206075a0584ab2a2", "url": "https://files.pythonhosted.org/packages/bc/9e/5fa8d18275201220f0989d58a2b9567f5f91e8f6c3fdcb900a067d396e30/simplejson-3.19.2-cp38-cp38-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "adcb3332979cbc941b8fff07181f06d2b608625edc0a4d8bc3ffc0be414ad0c4", + "url": "https://files.pythonhosted.org/packages/bc/eb/2bd4a6ec98329158f6855520596e9f2e521e2239e292d43fe1c58cf83a9b/simplejson-3.19.2-cp311-cp311-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "0d2d5119b1d7a1ed286b8af37357116072fc96700bce3bec5bb81b2e7057ab41", @@ -3898,6 +4707,31 @@ "hash": "064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a", "url": "https://files.pythonhosted.org/packages/c4/da/cf5366b140bfda07494fe4de4cfd2dbadc934d31494c4e45c6b7780d2281/simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "a3cd18e03b0ee54ea4319cdcce48357719ea487b53f92a469ba8ca8e39df285e", + "url": "https://files.pythonhosted.org/packages/c7/4c/7142f3c926fb8a3db0aaf6d1c465063e356d8fdb11718e62d6b8ea5ee358/simplejson-3.19.2-cp311-cp311-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "7d74beca677623481810c7052926365d5f07393c72cbf62d6cce29991b676402", + "url": "https://files.pythonhosted.org/packages/ca/c7/a530c9aba6a47823df3d46f20ce09be730d04aeb67aaef057a7c515654bd/simplejson-3.19.2-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "18955c1da6fc39d957adfa346f75226246b6569e096ac9e40f67d102278c3bcb", + "url": "https://files.pythonhosted.org/packages/cb/b6/ed513a0adc3e2c9654864ffb68266dcab5720d5653428d690e7e4fb32a6c/simplejson-3.19.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a970a2e6d5281d56cacf3dc82081c95c1f4da5a559e52469287457811db6a79b", + "url": "https://files.pythonhosted.org/packages/d6/03/32cc6114c9c6928e9fd866c378c7e39297ca77f461ab0cd13cce38bd9d78/simplejson-3.19.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "778331444917108fa8441f59af45886270d33ce8a23bfc4f9b192c0b2ecef1b3", + "url": "https://files.pythonhosted.org/packages/ea/18/79519b59bf5c752c48c60152c6eda0b98a26b80a47eb6002e9f6ba0f9ed9/simplejson-3.19.2-cp310-cp310-musllinux_1_1_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "4a8c3cc4f9dfc33220246760358c8265dad6e1104f25f0077bbca692d616d358", @@ -4000,13 +4834,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "29c6ff480b24e4bc316ed69eac5503c71f4700ed17649ae5c5ca8cd745e5852f", + "hash": "1b62240f8004316de753c3e2e20e629d0afb3337ea9a549f9022b4a7ba8c0499", "url": "git+https://github.com/StackStorm/st2-auth-ldap.git@master" } ], "project_name": "st2-auth-ldap", "requires_dists": [ - "cachetools<5.4.0,>=2.0.1", + "cachetools<5.4.0,>=3.1", "python-ldap<3.5.0,>=3.4.0" ], "requires_python": null, @@ -4141,13 +4975,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "7736dca58da1ae5507f5cd073ead5998ae2fa45b4f91dca03c986c962e4c26b0", - "url": "https://files.pythonhosted.org/packages/bc/6d/0523418dddc095ca353a41420dedf354a1b4b6ed71188738fefe7ecb2b2b/tooz-5.0.0-py3-none-any.whl" + "hash": "ba382f4672e604ae9f7201cb20c2153ecb6fcb238b90899af84bb544b8028939", + "url": "https://files.pythonhosted.org/packages/34/f4/d4211544403ab469047d584321ef79112b203d93a831134dcf75d1aa4e46/tooz-6.0.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "5aeb4febc17ba7971a4fbd11ec733fd86b212b8a1016b7315503faa05afd921b", - "url": "https://files.pythonhosted.org/packages/be/5e/f30b8ad4e72e83de464981411c970ea56cc86a29e898c790b54dd4fcbf02/tooz-5.0.0.tar.gz" + "hash": "e69bdfa71f9220d7090ab8ca61cc6f69ceadf205c96e3ef75a06ff12327d3cfa", + "url": "https://files.pythonhosted.org/packages/dc/f5/83e4909910c106c955749d092f63ee69f3551903a043a7d7b2056a0318ed/tooz-6.0.1.tar.gz" } ], "project_name": "tooz", @@ -4171,7 +5005,7 @@ "pymemcache!=1.3.0,>=1.2.9; extra == \"memcached\"", "python-consul2>=0.0.16; extra == \"consul\"", "python-subunit>=0.0.18; extra == \"test\"", - "redis>=3.1.0; extra == \"redis\"", + "redis>=4.0.0; extra == \"redis\"", "requests>=2.10.0; extra == \"etcd\"", "stestr>=2.0.0; extra == \"test\"", "stevedore>=1.16.0", @@ -4182,7 +5016,7 @@ "zake>=0.1.6; extra == \"zake\"" ], "requires_python": ">=3.8", - "version": "5.0.0" + "version": "6.0.1" }, { "artifacts": [ @@ -4273,16 +5107,46 @@ "hash": "bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36", "url": "https://files.pythonhosted.org/packages/02/2d/4d4956140a1c92f06ef8aa1a62a8eb7e99dd2f7f32aa5d2e4a963a4bcf7c/ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1", + "url": "https://files.pythonhosted.org/packages/08/1b/10a58f775ee908a5c32b2e8fd7d6595d23d5272994d81de934764079352f/ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562", "url": "https://files.pythonhosted.org/packages/0b/28/ddbd1f3e7b81be954961bc9c54d5b7594367a6fcd3362ffbd3822514d3b3/ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa", + "url": "https://files.pythonhosted.org/packages/0d/f0/c5083a3562f8422bc4c26b4bbb3a06bc3a62907ad02adcddb8dc7582c487/ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae", + "url": "https://files.pythonhosted.org/packages/19/f3/1431713de9e5992e5e33ba459b4de28f83904233958855d27da820a101f9/ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc", + "url": "https://files.pythonhosted.org/packages/20/05/908ffe907b698811a32a60560c71d968f441a41a55af1608f0b5129d390e/ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f", "url": "https://files.pythonhosted.org/packages/22/fb/e5531dd0d0de2d5d1aff2e6a0b78299f2f9b611d2cd67954c1dfe064aae6/ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e", + "url": "https://files.pythonhosted.org/packages/26/73/db509fe1d7da62a15c0769c398cec66bdfc61a8bdffaf7dfa9d973e3d65c/ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0", + "url": "https://files.pythonhosted.org/packages/34/5f/c27fa9a1562c96d978c39852b48063c3ca480758f3088dcfc0f3b09f8e93/ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e", @@ -4298,6 +5162,11 @@ "hash": "473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4", "url": "https://files.pythonhosted.org/packages/3c/30/950218fb10fb6c9dd3b50ac6f922805827885fdf358748c2f0aa4a76df1d/ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106", + "url": "https://files.pythonhosted.org/packages/44/4a/11a91a9e2e5f6153d8042821f21ea488a91e8017162212362445118f6660/ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617", @@ -4313,11 +5182,21 @@ "hash": "37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60", "url": "https://files.pythonhosted.org/packages/50/4f/9541c36bc1342dbea0853d6e75b91094f44f1e5709bca3c16e1a35f6bf84/ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d", + "url": "https://files.pythonhosted.org/packages/51/b8/5309fbb299d5fcac12bbf3db20896db5178392904abe6b992da233dc69d6/ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95", "url": "https://files.pythonhosted.org/packages/5b/10/037af2e0e94375673d4cb479d26c725bfac1bbaa25e2e9cf90fb6aa434ef/ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d", + "url": "https://files.pythonhosted.org/packages/5f/7f/a5802c527de69d012bf836ff3cc72ca70e0d799dff6034d39f68c27f2d50/ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532", @@ -4328,6 +5207,16 @@ "hash": "7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad", "url": "https://files.pythonhosted.org/packages/84/79/e8751f45fe1b9da65f48888dd1f15d9244f667d4d1d9293a4a092d0dd7bf/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5", + "url": "https://files.pythonhosted.org/packages/87/a7/0c17d59df9fb104b04d8137d1b79d089efbb27b58cec2cbbe482969304f4/ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096", + "url": "https://files.pythonhosted.org/packages/8d/7d/f91118d8408eccd54a5cc2d16dfb1f8b9701b8798d38fea5ba3c2c402827/ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c", @@ -4343,6 +5232,16 @@ "hash": "d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81", "url": "https://files.pythonhosted.org/packages/b2/2c/4500b6c1e99e01e2a902ddd8a14d0972d18c05f670c42a64ed65c6361eee/ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124", + "url": "https://files.pythonhosted.org/packages/ba/08/3fc98e5041e9799b0b7a5d842f221c060cb6854751ec894fff90f8a1d50c/ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd", + "url": "https://files.pythonhosted.org/packages/ba/ac/e0f10b6e6979064c4eb17cf6ec201b2137ac1fab787d79379b6013c69d7f/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f", @@ -4353,11 +5252,36 @@ "hash": "b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427", "url": "https://files.pythonhosted.org/packages/bd/af/d527c68c72330ef8dd99c1d42a832af306934f87e04584ef754982c46adf/ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b", + "url": "https://files.pythonhosted.org/packages/c0/ca/ae3a6ca5b4f82ce654d6ac3dde5e59520537e20939592061ba506f4e569a/ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b", + "url": "https://files.pythonhosted.org/packages/c8/c7/33822c2f1a8175e841e2bc378ffb2c1109ce9280f14cedb1b2fa0caf3145/ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf", + "url": "https://files.pythonhosted.org/packages/ca/6e/8afa69a9c5bc86864bd23c468ce3a0fd8410fffac5c77807b1a7107bebd5/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851", "url": "https://files.pythonhosted.org/packages/cd/c9/92ba90de8dd23327d895d62700d1e1c6671431296589f38acaf1454b83d2/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5", + "url": "https://files.pythonhosted.org/packages/d2/33/04447295efcdcfd8afdea8990db10827e1b54c22ff2ea97ccf147345eb2a/ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d", + "url": "https://files.pythonhosted.org/packages/d3/93/de6fff3ae06351f3b1c372f675fe69bc180f93d237c9e496c05802173dd6/ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e", @@ -4382,6 +5306,16 @@ "algorithm": "sha256", "hash": "9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378", "url": "https://files.pythonhosted.org/packages/ed/33/26abf5f1de8361e68c8e327e726586b61c3c393ba09bf682be15fbb5df1e/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e", + "url": "https://files.pythonhosted.org/packages/ef/c4/737ce0c40d94b2048fdd728c0ed0f859a2e06b3098792e31b0d24f17442a/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908", + "url": "https://files.pythonhosted.org/packages/fc/a8/6be607fa3e1fa3e1c9b53f5de5acad33b073b6cc9145803e00bcafa729a8/ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl" } ], "project_name": "ujson", @@ -4415,13 +5349,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224", - "url": "https://files.pythonhosted.org/packages/88/75/311454fd3317aefe18415f04568edc20218453b709c63c58b9292c71be17/urllib3-2.2.0-py3-none-any.whl" + "hash": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", + "url": "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20", - "url": "https://files.pythonhosted.org/packages/e2/cc/abf6746cc90bc52df4ba730f301b89b3b844d6dc133cb89a01cfe2511eb9/urllib3-2.2.0.tar.gz" + "hash": "d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19", + "url": "https://files.pythonhosted.org/packages/7a/50/7fd50a27caa0652cd4caf224aa87741ea41d3265ad13f010886167cfcc79/urllib3-2.2.1.tar.gz" } ], "project_name": "urllib3", @@ -4433,7 +5367,7 @@ "zstandard>=0.18.0; extra == \"zstd\"" ], "requires_python": ">=3.8", - "version": "2.2.0" + "version": "2.2.1" }, { "artifacts": [ @@ -4470,13 +5404,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4238949c5ffe6876362d9c0180fc6c3a824a7b12b80604eeb8085f2ed7460de3", - "url": "https://files.pythonhosted.org/packages/83/22/54b1180756d2d6194bcafb7425d437c3034c4bff92129c3e1e633079e2c4/virtualenv-20.25.0-py3-none-any.whl" + "hash": "961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a", + "url": "https://files.pythonhosted.org/packages/16/65/0d0bdfdac31e2db8c6d6c18fe1e00236f0dea279f9846f94a9aafa49cfc9/virtualenv-20.25.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b", - "url": "https://files.pythonhosted.org/packages/94/d7/adb787076e65dc99ef057e0118e25becf80dd05233ef4c86f07aa35f6492/virtualenv-20.25.0.tar.gz" + "hash": "e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197", + "url": "https://files.pythonhosted.org/packages/93/4f/a7737e177ab67c454d7e60d48a5927f16cd05623e9dd888f78183545d250/virtualenv-20.25.1.tar.gz" } ], "project_name": "virtualenv", @@ -4506,7 +5440,7 @@ "towncrier>=23.6; extra == \"docs\"" ], "requires_python": ">=3.7", - "version": "20.25.0" + "version": "20.25.1" }, { "artifacts": [ @@ -4651,13 +5585,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d", - "url": "https://files.pythonhosted.org/packages/c7/c3/55076fc728723ef927521abaa1955213d094933dc36d4a2008d5101e1af5/wheel-0.42.0-py3-none-any.whl" + "hash": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", + "url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8", - "url": "https://files.pythonhosted.org/packages/b0/b4/bc2baae3970c282fae6c2cb8e0f179923dceb7eaffb0e76170628f9af97b/wheel-0.42.0.tar.gz" + "hash": "465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85", + "url": "https://files.pythonhosted.org/packages/b8/d6/ac9cd92ea2ad502ff7c1ab683806a9deb34711a1e2bd8a59814e8fc27e69/wheel-0.43.0.tar.gz" } ], "project_name": "wheel", @@ -4665,8 +5599,8 @@ "pytest>=6.0.0; extra == \"test\"", "setuptools>=65; extra == \"test\"" ], - "requires_python": ">=3.7", - "version": "0.42.0" + "requires_python": ">=3.8", + "version": "0.43.0" }, { "artifacts": [ @@ -4675,21 +5609,61 @@ "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": "75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d", + "url": "https://files.pythonhosted.org/packages/0f/16/ea627d7817394db04518f62934a5de59874b587b792300991b3c347ff5e0/wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956", + "url": "https://files.pythonhosted.org/packages/0f/ef/0ecb1fa23145560431b970418dce575cfaec555ab08617d82eb92afc7ccf/wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3", + "url": "https://files.pythonhosted.org/packages/11/fb/18ec40265ab81c0e82a934de04596b6ce972c27ba2592c8b53d5585e6bcd/wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.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": "eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d", + "url": "https://files.pythonhosted.org/packages/25/62/cd284b2b747f175b5a96cbd8092b32e7369edab0644c45784871528eb852/wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.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", @@ -4705,6 +5679,16 @@ "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": "72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1", + "url": "https://files.pythonhosted.org/packages/6e/52/2da48b35193e39ac53cfb141467d9f259851522d0e8c87153f0ba4205fb1/wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.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", @@ -4715,6 +5699,11 @@ "hash": "44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202", "url": "https://files.pythonhosted.org/packages/72/b5/0c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9/wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389", + "url": "https://files.pythonhosted.org/packages/7f/a7/f1212ba098f3de0fd244e2de0f8791ad2539c03bef6c05a9fcb03e45b089/wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d", @@ -4730,6 +5719,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", @@ -4740,21 +5734,41 @@ "hash": "edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537", "url": "https://files.pythonhosted.org/packages/b6/ad/7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c/wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060", + "url": "https://files.pythonhosted.org/packages/b7/96/bb5e08b3d6db003c9ab219c487714c13a237ee7dcc572a555eaf1ce7dc82/wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "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", "url": "https://files.pythonhosted.org/packages/ef/c6/56e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a/wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09", + "url": "https://files.pythonhosted.org/packages/fd/03/c188ac517f402775b90d6f312955a5e53b866c964b32119f2ed76315697e/wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0", @@ -4831,13 +5845,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31", - "url": "https://files.pythonhosted.org/packages/d9/66/48866fc6b158c81cc2bfecc04c480f105c6040e8b077bc54c634b4a67926/zipp-3.17.0-py3-none-any.whl" + "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", + "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0", - "url": "https://files.pythonhosted.org/packages/58/03/dd5ccf4e06dec9537ecba8fcc67bbd4ea48a2791773e469e73f94c3ba9a6/zipp-3.17.0.tar.gz" + "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", + "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" } ], "project_name": "zipp", @@ -4849,21 +5863,19 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "more-itertools; extra == \"testing\"", - "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-ignore-flaky; 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\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.17.0" + "version": "3.18.0" }, { "artifacts": [ @@ -4882,11 +5894,46 @@ "hash": "959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb", "url": "https://files.pythonhosted.org/packages/19/16/845cd410ad0951a081b94398074daad70d4330c59f5853fb224187909f64/zstandard-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202", + "url": "https://files.pythonhosted.org/packages/28/fa/60d35409132b101694943043385ecd610c23f30148e8a15af84c46844b03/zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "589402548251056878d2e7c8859286eb91bd841af117dbe4ab000e6450987e08", + "url": "https://files.pythonhosted.org/packages/32/41/80fc08ed96e68df920d28592710f5ed96fb288fda1fbb4b6aee5fdbaa5f6/zstandard-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "a97079b955b00b732c6f280d5023e0eefe359045e8b83b08cf0333af9ec78f26", + "url": "https://files.pythonhosted.org/packages/54/fc/c1b1a1e140451f3362789f546731b3ef36c78668be19d7fc6fbd4326b535/zstandard-0.22.0-cp311-cp311-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "53866a9d8ab363271c9e80c7c2e9441814961d47f88c9bc3b248142c32141d94", + "url": "https://files.pythonhosted.org/packages/55/0b/b23b1a6e4d4525f663162344d4896f396267e7f65607f16f7a62e1862a23/zstandard-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", "url": "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz" }, + { + "algorithm": "sha256", + "hash": "445b47bc32de69d990ad0f34da0e20f535914623d1e506e74d6bc5c9dc40bb09", + "url": "https://files.pythonhosted.org/packages/68/fb/0a9389ee8ccc532ac4567562c7746bd7537d16bc5b079b2696fe3c510c37/zstandard-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356", + "url": "https://files.pythonhosted.org/packages/77/2a/910576262607524ff203f5fa849329f8fad6f67b7804a5ef00019f98c390/zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "33591d59f4956c9812f8063eff2e2c0065bc02050837f152574069f5f9f17775", + "url": "https://files.pythonhosted.org/packages/80/6a/f8a618f84aafb9c373a959e7e51ad34bda73f1d99cd856c05c8f0b78e87f/zstandard-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303", @@ -4897,16 +5944,36 @@ "hash": "48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe", "url": "https://files.pythonhosted.org/packages/85/96/61a79e9e9c9e14e5e1baf84fd71115944320bac525fcd754695ba84e2084/zstandard-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e", + "url": "https://files.pythonhosted.org/packages/8e/3b/0284ed7b2612f793d2490339c1b772232c04a6f20dbbdec050020bd730b2/zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0", "url": "https://files.pythonhosted.org/packages/90/81/0e2082b0f6e62f3ac3f5c6f12f2150db9cedf0c8cbed9d350979fd157f76/zstandard-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d", + "url": "https://files.pythonhosted.org/packages/95/6b/aea6911a0dbbd5e67dd4e3db8f6b9b594ba05a0ae62f6f3c88cb609a7878/zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4ac59d5d6910b220141c1737b79d4a5aa9e57466e7469a012ed42ce2d3995e88", + "url": "https://files.pythonhosted.org/packages/9f/da/e16b2a5613141aaa719e4b09cdadf5eb3fb099311ffc8c0b13785bdcbe1a/zstandard-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b", "url": "https://files.pythonhosted.org/packages/a3/44/846dd0d14d863c294e94ddb3bb18fc6faa5e32b553ad6b201b55e6b85b7d/zstandard-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "888196c9c8893a1e8ff5e89b8f894e7f4f0e64a5af4d8f3c410f0319128bb2f8", + "url": "https://files.pythonhosted.org/packages/a4/e1/0b29be2d3a8d86053f284add5a0b4174c820fefc96183b01d5cbcedd498d/zstandard-0.22.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "1d43501f5f31e22baf822720d82b5547f8a08f5386a883b32584a185675c8fbf", @@ -4917,6 +5984,16 @@ "hash": "a493d470183ee620a3df1e6e55b3e4de8143c0ba1b16f3ded83208ea8ddfd91d", "url": "https://files.pythonhosted.org/packages/a9/d0/fe5da22515b96eb5dc46a67d74941932bb1ec1404bf403d1513efcad62b9/zstandard-0.22.0-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019", + "url": "https://files.pythonhosted.org/packages/aa/a4/b7cc74e836ec006427d18439c12b7898697c1eae91b06ffdfa63da8cd041/zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2", + "url": "https://files.pythonhosted.org/packages/c9/79/07f6d2670fa2708ae3b79aabb82da78e9cbdb08d9bafadf8638d356775ff/zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3", @@ -4937,6 +6014,11 @@ "hash": "2612e9bb4977381184bb2463150336d0f7e014d6bb5d4a370f9a372d21916f69", "url": "https://files.pythonhosted.org/packages/ef/e7/1cce80b1abc3b2d07eeb0a41a179adb2a49aba8b3064518497664a3ba3ba/zstandard-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a", + "url": "https://files.pythonhosted.org/packages/fc/e5/a1fa6f70764777553cb8ab668690ba793ebf512b3d415e28720d2275d445/zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e", @@ -5036,7 +6118,7 @@ "zstandard" ], "requires_python": [ - "<3.10,>=3.8" + "<=3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", From 5dcc31c1e64f55e105662d13a5a69c028c158ab6 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 00:30:50 +0100 Subject: [PATCH 017/110] Bump prompt-toolkit to 3.0.43 for py3.10 support --- fixed-requirements.txt | 3 ++- requirements.txt | 2 +- st2client/requirements.txt | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index e7e841a9f9..d15e6ea6b8 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -40,7 +40,8 @@ oslo.utils==7.1.0 # paramiko 2.11.0 is needed by cryptography > 37.0.0 paramiko==2.11.0 passlib==1.7.4 -prompt-toolkit==1.0.15 +# 202403: bump to 3.0.43 for py3.10 support +prompt-toolkit==3.0.43 pyinotify==0.9.6 ; platform_system=="Linux" # pymongo 3.13 has backports of APIs from pymongo 4 to help w/ migration pymongo>=3.11.0,<3.13.0 diff --git a/requirements.txt b/requirements.txt index c744b09c29..6e0aa734d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -43,7 +43,7 @@ oslo.utils==7.1.0 paramiko==2.11.0 passlib==1.7.4 prettytable==2.1.0 -prompt-toolkit==1.0.15 +prompt-toolkit==3.0.43 psutil==5.8.0 pyOpenSSL==23.1.0 pyinotify==0.9.6 ; platform_system=="Linux" diff --git a/st2client/requirements.txt b/st2client/requirements.txt index a68c5773b5..6cba9876b7 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -14,7 +14,7 @@ jsonpath-rw==1.4.0 jsonschema==3.2.0 orjson==3.5.2 prettytable==2.1.0 -prompt-toolkit==1.0.15 +prompt-toolkit==3.0.43 pyOpenSSL==23.1.0 pysocks python-dateutil==2.8.1 From be108b3cdde65ecee408732610f8a65ebedaf62b Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 00:32:57 +0100 Subject: [PATCH 018/110] Replace 'warn' with 'warning' method --- st2client/tests/unit/test_shell.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index e3950e11f6..afecdee6c5 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -483,7 +483,7 @@ def test_non_unicode_encoding_locale_warning_is_printed(self, mock_logger): shell = Shell() shell.run(argv=["trigger", "list"]) - call_args = mock_logger.warn.call_args[0][0] + call_args = mock_logger.warning.call_args[0][0] self.assertIn( "Locale en_US with encoding iso which is not UTF-8 is used.", call_args ) @@ -502,7 +502,7 @@ def test_failed_to_get_locale_encoding_warning_is_printed(self, mock_logger): shell = Shell() shell.run(argv=["trigger", "list"]) - call_args = mock_logger.warn.call_args[0][0] + call_args = mock_logger.warning.call_args[0][0] self.assertTrue( "Locale unknown with encoding unknown which is not UTF-8 is used." in call_args @@ -542,13 +542,13 @@ def test_dont_warn_multiple_times(self): # Test without token. shell.run(["--config-file", mock_config_path, "action", "list"]) - self.assertEqual(shell.LOG.warn.call_count, 2) + self.assertEqual(shell.LOG.warning.call_count, 2) self.assertEqual( - shell.LOG.warn.call_args_list[0][0][0][:63], + shell.LOG.warning.call_args_list[0][0][0][:63], "The StackStorm configuration directory permissions are insecure", ) self.assertEqual( - shell.LOG.warn.call_args_list[1][0][0][:58], + shell.LOG.warning.call_args_list[1][0][0][:58], "The StackStorm configuration file permissions are insecure", ) @@ -637,8 +637,8 @@ def test_get_cached_auth_token_invalid_permissions(self): ) self.assertEqual(result, None) - self.assertEqual(shell.LOG.warn.call_count, 1) - log_message = shell.LOG.warn.call_args[0][0] + self.assertEqual(shell.LOG.warning.call_count, 1) + log_message = shell.LOG.warning.call_args[0][0] expected_msg = ( "Unable to retrieve cached token from .*? read access to the parent " @@ -656,8 +656,8 @@ def test_get_cached_auth_token_invalid_permissions(self): ) self.assertEqual(result, None) - self.assertEqual(shell.LOG.warn.call_count, 1) - log_message = shell.LOG.warn.call_args[0][0] + self.assertEqual(shell.LOG.warning.call_count, 1) + log_message = shell.LOG.warning.call_args[0][0] expected_msg = ( "Unable to retrieve cached token from .*? read access to this file" @@ -674,8 +674,8 @@ def test_get_cached_auth_token_invalid_permissions(self): ) self.assertEqual(result, "yayvalid") - self.assertEqual(shell.LOG.warn.call_count, 1) - log_message = shell.LOG.warn.call_args[0][0] + self.assertEqual(shell.LOG.warning.call_count, 1) + log_message = shell.LOG.warning.call_args[0][0] expected_msg = "Permissions .*? for cached token file .*? are too permissive.*" self.assertRegex(log_message, expected_msg) @@ -700,8 +700,8 @@ def test_cache_auth_token_invalid_permissions(self): shell.LOG = mock.Mock() shell._cache_auth_token(token_obj=token_db) - self.assertEqual(shell.LOG.warn.call_count, 1) - log_message = shell.LOG.warn.call_args[0][0] + self.assertEqual(shell.LOG.warning.call_count, 1) + log_message = shell.LOG.warning.call_args[0][0] expected_msg = ( "Unable to write token to .*? doesn't have write access to the parent " @@ -716,8 +716,8 @@ def test_cache_auth_token_invalid_permissions(self): shell.LOG = mock.Mock() shell._cache_auth_token(token_obj=token_db) - self.assertEqual(shell.LOG.warn.call_count, 1) - log_message = shell.LOG.warn.call_args[0][0] + self.assertEqual(shell.LOG.warning.call_count, 1) + log_message = shell.LOG.warning.call_args[0][0] expected_msg = ( "Unable to write token to .*? doesn't have write access to this file" From d8657ccded990276b7f0b33da8a49f69b4a09e73 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 00:45:19 +0100 Subject: [PATCH 019/110] Switch python-editor to editor for py3.10 support. --- fixed-requirements.txt | 3 ++- requirements.txt | 2 +- st2client/in-requirements.txt | 2 +- st2client/requirements.txt | 2 +- st2client/st2client/commands/pack.py | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index d15e6ea6b8..89217801af 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -49,7 +49,8 @@ pyparsing<3 zstandard==0.15.2 # pyOpenSSL 23.1.0 supports cryptography up to 40.0.x pyOpenSSL==23.1.0 -python-editor==1.0.4 +# 202403: switch from python-editor to editor for py3.10 support +editor==1.6.6 python-keyczar==0.716 pytz==2021.1 pywinrm==0.4.1 diff --git a/requirements.txt b/requirements.txt index 6e0aa734d5..afd375b3a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,6 +17,7 @@ ciso8601 cryptography==39.0.1 decorator==4.4.2 dnspython==2.6.1 +editor==1.6.6 eventlet==0.33.3 flex==6.14.1 gitdb==4.0.2 @@ -52,7 +53,6 @@ pyparsing<3 pyrabbit pysocks python-dateutil==2.8.1 -python-editor==1.0.4 python-json-logger python-statsd==2.1.0 pytz==2021.1 diff --git a/st2client/in-requirements.txt b/st2client/in-requirements.txt index b0057916f1..429d41e820 100644 --- a/st2client/in-requirements.txt +++ b/st2client/in-requirements.txt @@ -12,7 +12,7 @@ jsonpath-rw requests six sseclient-py -python-editor +editor prompt-toolkit # mention cffi used by cryptography so we can control version cffi diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 6cba9876b7..240b782ea8 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -9,6 +9,7 @@ argcomplete==1.12.3 cffi<1.15.0 chardet<3.1.0 cryptography==39.0.1 +editor==1.6.6 importlib-metadata>=4.8.3,<=4.10.1 jsonpath-rw==1.4.0 jsonschema==3.2.0 @@ -18,7 +19,6 @@ prompt-toolkit==3.0.43 pyOpenSSL==23.1.0 pysocks python-dateutil==2.8.1 -python-editor==1.0.4 pytz==2021.1 pyyaml==5.3.1 requests[security]==2.25.1 diff --git a/st2client/st2client/commands/pack.py b/st2client/st2client/commands/pack.py index 4fa2d06647..fe553c1437 100644 --- a/st2client/st2client/commands/pack.py +++ b/st2client/st2client/commands/pack.py @@ -542,7 +542,7 @@ def run(self, args, **kwargs): if preview_dialog.read() == "y": try: contents = yaml.safe_dump(config, indent=4, default_flow_style=False) - modified = editor.edit(contents=contents) + modified = editor.editor(text=contents) config = yaml.safe_load(modified) except editor.EditorError as e: print(six.text_type(e)) From e09c0acc2d7d984f1b11dd374dcffccf9a34f730 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 00:55:06 +0100 Subject: [PATCH 020/110] Update pants lockfiles with py3.10 support --- lockfiles/bandit.lock | 67 +++++-- lockfiles/black.lock | 54 ++++-- lockfiles/flake8.lock | 27 +-- lockfiles/pylint.lock | 52 ++++-- lockfiles/pytest.lock | 160 ++++++++++------- lockfiles/setuptools.lock | 4 +- lockfiles/twine.lock | 356 +++++++++++++++++++++++++------------- 7 files changed, 481 insertions(+), 239 deletions(-) diff --git a/lockfiles/bandit.lock b/lockfiles/bandit.lock index 001f62a22b..2827de70d5 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": "385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - "url": "https://files.pythonhosted.org/packages/55/3a/5121b58b578a598b269537e09a316ad2a94fdd561a2c6eb75cd68578cc6b/setuptools-69.0.3-py3-none-any.whl" + "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", + "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78", - "url": "https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7/setuptools-69.0.3.tar.gz" + "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", + "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" } ], "project_name": "setuptools", @@ -199,8 +229,8 @@ "build[virtualenv]>=1.0.3; extra == \"testing-integration\"", "filelock>=3.4.0; extra == \"testing\"", "filelock>=3.4.0; extra == \"testing-integration\"", - "flake8-2020; extra == \"testing\"", "furo; extra == \"docs\"", + "importlib-metadata; extra == \"testing\"", "ini2toml[lite]>=0.9; extra == \"testing\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"testing\"", "jaraco.envs>=2.2; extra == \"testing\"", @@ -209,20 +239,22 @@ "jaraco.path>=3.2.0; extra == \"testing\"", "jaraco.path>=3.2.0; extra == \"testing-integration\"", "jaraco.tidelift>=1.4; extra == \"docs\"", - "packaging>=23.1; extra == \"testing-integration\"", + "mypy==1.9; extra == \"testing\"", + "packaging>=23.2; extra == \"testing\"", + "packaging>=23.2; extra == \"testing-integration\"", "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; 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-perf; sys_platform != \"cygwin\" and extra == \"testing\"", - "pytest-ruff; 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\"", "pytest-xdist; extra == \"testing-integration\"", + "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", @@ -235,6 +267,7 @@ "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", + "tomli; extra == \"testing\"", "tomli; extra == \"testing-integration\"", "virtualenv>=13.0.0; extra == \"testing\"", "virtualenv>=13.0.0; extra == \"testing-integration\"", @@ -242,7 +275,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.0.3" + "version": "69.2.0" }, { "artifacts": [ @@ -284,13 +317,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8cc040628f3cea5d7128f2e76cf486b2251a4e543c7b938f58d9a377f6694a2d", - "url": "https://files.pythonhosted.org/packages/4b/68/e739fd061b0aba464bef8e8be48428b2aabbfb3f2f8f2f8ca257363ee6b2/stevedore-5.1.0-py3-none-any.whl" + "hash": "1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9", + "url": "https://files.pythonhosted.org/packages/eb/f1/c7c6205c367c764ee173537f7eaf070bba4dd0fa11bf081813c2f75285a3/stevedore-5.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a54534acf9b89bc7ed264807013b505bf07f74dbe4bcfa37d32bd063870b087c", - "url": "https://files.pythonhosted.org/packages/ac/d6/77387d3fc81f07bc8877e6f29507bd7943569093583b0a07b28cfa286780/stevedore-5.1.0.tar.gz" + "hash": "46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d", + "url": "https://files.pythonhosted.org/packages/e7/c1/b210bf1071c96ecfcd24c2eeb4c828a2a24bf74b38af13896d02203b1eec/stevedore-5.2.0.tar.gz" } ], "project_name": "stevedore", @@ -298,7 +331,7 @@ "pbr!=2.1.0,>=2.0.0" ], "requires_python": ">=3.8", - "version": "5.1.0" + "version": "5.2.0" } ], "platform_tag": null @@ -314,7 +347,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 f9e34f315e..dcfffe443d 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,29 +181,29 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380", - "url": "https://files.pythonhosted.org/packages/be/53/42fe5eab4a09d251a76d0043e018172db324a23fcdac70f77a551c11f618/platformdirs-4.1.0-py3-none-any.whl" + "hash": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", + "url": "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420", - "url": "https://files.pythonhosted.org/packages/62/d1/7feaaacb1a3faeba96c06e6c5091f90695cc0f94b7e8e1a3a3fe2b33ff9a/platformdirs-4.1.0.tar.gz" + "hash": "ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768", + "url": "https://files.pythonhosted.org/packages/96/dc/c1d911bf5bb0fdc58cc05010e9f3efe3b67970cef779ba7fbc3183b987a8/platformdirs-4.2.0.tar.gz" } ], "project_name": "platformdirs", "requires_dists": [ "appdirs==1.4.4; extra == \"test\"", "covdefaults>=2.3; extra == \"test\"", - "furo>=2023.7.26; extra == \"docs\"", + "furo>=2023.9.10; extra == \"docs\"", "proselint>=0.13; extra == \"docs\"", "pytest-cov>=4.1; extra == \"test\"", - "pytest-mock>=3.11.1; extra == \"test\"", - "pytest>=7.4; extra == \"test\"", - "sphinx-autodoc-typehints>=1.24; extra == \"docs\"", - "sphinx>=7.1.1; extra == \"docs\"" + "pytest-mock>=3.12; extra == \"test\"", + "pytest>=7.4.3; extra == \"test\"", + "sphinx-autodoc-typehints>=1.25.2; extra == \"docs\"", + "sphinx>=7.2.6; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.1.0" + "version": "4.2.0" }, { "artifacts": [ @@ -207,19 +227,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd", - "url": "https://files.pythonhosted.org/packages/b7/f4/6a90020cd2d93349b442bfcb657d0dc91eee65491600b2cb1d388bc98e6b/typing_extensions-4.9.0-py3-none-any.whl" + "hash": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", + "url": "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783", - "url": "https://files.pythonhosted.org/packages/0c/1d/eb26f5e75100d531d7399ae800814b069bc2ed2a7410834d57374d010d96/typing_extensions-4.9.0.tar.gz" + "hash": "b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb", + "url": "https://files.pythonhosted.org/packages/16/3a/0d26ce356c7465a19c9ea8814b960f8a36c3b0d07c323176620b7b483e44/typing_extensions-4.10.0.tar.gz" } ], "project_name": "typing-extensions", "requires_dists": [], "requires_python": ">=3.8", - "version": "4.9.0" + "version": "4.10.0" } ], "platform_tag": null @@ -234,7 +254,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 4b78fb8609..3a602ff61e 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": "385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - "url": "https://files.pythonhosted.org/packages/55/3a/5121b58b578a598b269537e09a316ad2a94fdd561a2c6eb75cd68578cc6b/setuptools-69.0.3-py3-none-any.whl" + "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", + "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78", - "url": "https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7/setuptools-69.0.3.tar.gz" + "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", + "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" } ], "project_name": "setuptools", @@ -169,8 +169,8 @@ "build[virtualenv]>=1.0.3; extra == \"testing-integration\"", "filelock>=3.4.0; extra == \"testing\"", "filelock>=3.4.0; extra == \"testing-integration\"", - "flake8-2020; extra == \"testing\"", "furo; extra == \"docs\"", + "importlib-metadata; extra == \"testing\"", "ini2toml[lite]>=0.9; extra == \"testing\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"testing\"", "jaraco.envs>=2.2; extra == \"testing\"", @@ -179,20 +179,22 @@ "jaraco.path>=3.2.0; extra == \"testing\"", "jaraco.path>=3.2.0; extra == \"testing-integration\"", "jaraco.tidelift>=1.4; extra == \"docs\"", - "packaging>=23.1; extra == \"testing-integration\"", + "mypy==1.9; extra == \"testing\"", + "packaging>=23.2; extra == \"testing\"", + "packaging>=23.2; extra == \"testing-integration\"", "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; 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-perf; sys_platform != \"cygwin\" and extra == \"testing\"", - "pytest-ruff; 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\"", "pytest-xdist; extra == \"testing-integration\"", + "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", @@ -205,6 +207,7 @@ "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", + "tomli; extra == \"testing\"", "tomli; extra == \"testing-integration\"", "virtualenv>=13.0.0; extra == \"testing\"", "virtualenv>=13.0.0; extra == \"testing-integration\"", @@ -212,7 +215,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.0.3" + "version": "69.2.0" }, { "artifacts": [ @@ -248,7 +251,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 2d9b67d3b4..8f95b43f13 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", @@ -88,11 +88,36 @@ "hash": "78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69", "url": "https://files.pythonhosted.org/packages/2c/f0/f02e2d150d581a294efded4020094a371bbab42423fe78625ac18854d89b/lazy-object-proxy-1.10.0.tar.gz" }, + { + "algorithm": "sha256", + "hash": "7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3", + "url": "https://files.pythonhosted.org/packages/4a/0d/b325461e43dde8d7644e9b9e9dd57f2a4af472b588c51ccbc92778e60ea4/lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c", "url": "https://files.pythonhosted.org/packages/77/18/b78391424f3e35147b0e4d280dda0320c29ee9930b908e42fbe7920b2492/lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83", + "url": "https://files.pythonhosted.org/packages/8b/9b/908e12e5fa265ea1579261ff80f7b2136fd2ba254bc7f4f7e3dba83fd0f2/lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05", + "url": "https://files.pythonhosted.org/packages/8b/fc/83711d743fb5aaca5747bbf225fe3b5cbe085c7f6c115856b5cce80f3224/lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977", + "url": "https://files.pythonhosted.org/packages/8d/42/a96d9d153f6ea38b925494cb9b42cf4a9f98fd30cad3124fc22e9d04ec34/lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895", + "url": "https://files.pythonhosted.org/packages/8d/b5/ea47215abd4da45791664d7bbfe2976ca0de2c37af38b5e9e6cf89e0e65e/lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658", @@ -185,13 +210,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - "url": "https://files.pythonhosted.org/packages/55/3a/5121b58b578a598b269537e09a316ad2a94fdd561a2c6eb75cd68578cc6b/setuptools-69.0.3-py3-none-any.whl" + "hash": "c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", + "url": "https://files.pythonhosted.org/packages/92/e1/1c8bb3420105e70bdf357d57dd5567202b4ef8d27f810e98bb962d950834/setuptools-69.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78", - "url": "https://files.pythonhosted.org/packages/fc/c9/b146ca195403e0182a374e0ea4dbc69136bad3cd55bc293df496d625d0f7/setuptools-69.0.3.tar.gz" + "hash": "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e", + "url": "https://files.pythonhosted.org/packages/4d/5b/dc575711b6b8f2f866131a40d053e30e962e633b332acf7cd2c24843d83d/setuptools-69.2.0.tar.gz" } ], "project_name": "setuptools", @@ -200,8 +225,8 @@ "build[virtualenv]>=1.0.3; extra == \"testing-integration\"", "filelock>=3.4.0; extra == \"testing\"", "filelock>=3.4.0; extra == \"testing-integration\"", - "flake8-2020; extra == \"testing\"", "furo; extra == \"docs\"", + "importlib-metadata; extra == \"testing\"", "ini2toml[lite]>=0.9; extra == \"testing\"", "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"testing\"", "jaraco.envs>=2.2; extra == \"testing\"", @@ -210,20 +235,22 @@ "jaraco.path>=3.2.0; extra == \"testing\"", "jaraco.path>=3.2.0; extra == \"testing-integration\"", "jaraco.tidelift>=1.4; extra == \"docs\"", - "packaging>=23.1; extra == \"testing-integration\"", + "mypy==1.9; extra == \"testing\"", + "packaging>=23.2; extra == \"testing\"", + "packaging>=23.2; extra == \"testing-integration\"", "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; 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-perf; sys_platform != \"cygwin\" and extra == \"testing\"", - "pytest-ruff; 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\"", "pytest-xdist; extra == \"testing-integration\"", + "pytest-xdist>=3; extra == \"testing\"", "pytest; extra == \"testing-integration\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", @@ -236,6 +263,7 @@ "sphinx>=3.5; extra == \"docs\"", "sphinxcontrib-towncrier; extra == \"docs\"", "tomli-w>=1.0.0; extra == \"testing\"", + "tomli; extra == \"testing\"", "tomli; extra == \"testing-integration\"", "virtualenv>=13.0.0; extra == \"testing\"", "virtualenv>=13.0.0; extra == \"testing-integration\"", @@ -243,7 +271,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.0.3" + "version": "69.2.0" }, { "artifacts": [ @@ -290,7 +318,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 7a8e44ab79..bc65952284 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": "32a8d985462e37cfdab611a6f95b09d7c091d07668fdc26e47a725ee575fe166", - "url": "https://files.pythonhosted.org/packages/65/b7/0c855c523d0e979ae43480cee806cae09ee0dbbd0b7c6fed9f9d50318b18/coverage-7.4.1-pp38.pp39.pp310-none-any.whl" + "hash": "7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51", + "url": "https://files.pythonhosted.org/packages/56/cc/7b355af846b024e845e7beb58d277088c5a27590975f96666229a4d7bb6d/coverage-7.4.3-pp38.pp39.pp310-none-any.whl" }, { "algorithm": "sha256", - "hash": "8dfc5e195bbef80aabd81596ef52a1277ee7143fe419efc3c4d8ba2754671756", - "url": "https://files.pythonhosted.org/packages/05/37/799839832bddad161a42eab64e3f42282c75ce0206b2e1c1fc4654e4a995/coverage-7.4.1-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c", + "url": "https://files.pythonhosted.org/packages/07/1a/29063d3d95535a4cf270afc52028d2fb0a83cac87b881307c0bfeb8f871a/coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "918440dea04521f499721c039863ef95433314b1db00ff826a02580c1f503e45", - "url": "https://files.pythonhosted.org/packages/13/4e/66a3821f6fc8a28d07740d9115fdacffb7e7d61431b9ae112bacde846327/coverage-7.4.1-cp38-cp38-macosx_11_0_arm64.whl" + "hash": "fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2", + "url": "https://files.pythonhosted.org/packages/0f/de/406738f5d271f4feda82b1282a21b576373707234f14934ad6207837de79/coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1a78b656a4d12b0490ca72651fe4d9f5e07e3c6461063a9b6265ee45eb2bdd35", - "url": "https://files.pythonhosted.org/packages/16/ec/f8899be71d5c0964e4f34ccfe8ecef3e9cff25daa6728a8915c72004b1d5/coverage-7.4.1-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb", + "url": "https://files.pythonhosted.org/packages/23/0a/ab5b0f6d6b24f7156624e7697ec7ab49f9d5cdac922da90d9927ae5de1cf/coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0491275c3b9971cdbd28a4595c2cb5838f08036bca31765bad5e17edf900b2c7", - "url": "https://files.pythonhosted.org/packages/18/e3/eb7689641819f6c415aa7d88593e2d0d322e3adf364a0dd4f4d1eba00eeb/coverage-7.4.1-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765", + "url": "https://files.pythonhosted.org/packages/3d/37/fa86779a6813e695b48fc696b3d12b4742cde51ecba8ffb55dd7363f9580/coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "379d4c7abad5afbe9d88cc31ea8ca262296480a86af945b08214eb1a556a3e4d", - "url": "https://files.pythonhosted.org/packages/2a/12/89d5f08eb9be53910e3b9b2d02dd932f9b50bac10281272cdbaf8dee58d9/coverage-7.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1", + "url": "https://files.pythonhosted.org/packages/4c/22/a7c0955a0c9cdfbf9cb0950f78f32a6afc7006e93162ed2cc182fbed1167/coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8bdb0285a0202888d19ec6b6d23d5990410decb932b709f2b0dfe216d031d218", - "url": "https://files.pythonhosted.org/packages/3c/75/a4abb6a0d1d4814fbcf8d9e552fd08b579236d8f5c5bb4cfd8a566c43612/coverage-7.4.1-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6", + "url": "https://files.pythonhosted.org/packages/50/5a/d727fcd2e0fc3aba61591b6f0fe1e87865ea9b6275f58f35810d6f85b05b/coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b094116f0b6155e36a304ff912f89bbb5067157aff5f94060ff20bbabdc8da06", - "url": "https://files.pythonhosted.org/packages/46/4d/9d6a7081c31d1388bff379250ab3ab0c873330c8139c07e8f4b6df61fe65/coverage-7.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d", + "url": "https://files.pythonhosted.org/packages/51/48/cbce7e8b56486e252864d68c35901d13502c1a9bceb2257f308cb9415cf3/coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "10e88e7f41e6197ea0429ae18f21ff521d4f4490aa33048f6c6f94c6045a6a75", - "url": "https://files.pythonhosted.org/packages/54/4c/e2d59855d36921e3025380f75e110e672bb8500a5e5832af59b65a218ee4/coverage-7.4.1-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c", + "url": "https://files.pythonhosted.org/packages/66/f2/57f5d3c9d2e78c088e4c8dbc933b85fa81c424f23641f10c1aa64052ee4f/coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a4a3907011d39dbc3e37bdc5df0a8c93853c369039b59efa33a7b6669de04c60", - "url": "https://files.pythonhosted.org/packages/72/31/a8d0a018aceecf8b2728f924c0a2d1c07c36be611301db1843538315dca8/coverage-7.4.1-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e", + "url": "https://files.pythonhosted.org/packages/74/19/e944886a3ef40f78110eb894d716d32aebdcf00248c6f0e7c5f63a000846/coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "9641e21670c68c7e57d2053ddf6c443e4f0a6e18e547e86af3fad0795414a628", - "url": "https://files.pythonhosted.org/packages/86/25/6b70cb21b6e62158aab40a0e930361d4397f4ef4cbd2a04d3d01b6e4c5cf/coverage-7.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e", + "url": "https://files.pythonhosted.org/packages/96/71/1c299b12e80d231e04a2bfd695e761fb779af7ab66f8bd3cb15649be82b3/coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "8e738a492b6221f8dcf281b67129510835461132b03024830ac0e554311a5c54", - "url": "https://files.pythonhosted.org/packages/9f/ae/0d439dc9adc0111ffbed38149d73ddf34f7a8768e377020181e624cf2634/coverage-7.4.1-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501", + "url": "https://files.pythonhosted.org/packages/9b/08/796cb089ce66da0453aed1b4a36be02c6e0e08207dd77d8bfd37cb1c6952/coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f2f5968608b1fe2a1d00d01ad1017ee27efd99b3437e08b83ded9b7af3f6f766", - "url": "https://files.pythonhosted.org/packages/b3/b9/49b1028a69b1e9476db7508705fc67a1218ece54af07b87339eac1b5600a/coverage-7.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524", + "url": "https://files.pythonhosted.org/packages/9e/48/5ae1ccf4601500af0ca36eba0a2c1f1796e58fb7495de6da55ed43e13e5f/coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6d224f0c4c9c98290a6990259073f496fcec1b5cc613eecbd22786d398ded3ad", - "url": "https://files.pythonhosted.org/packages/b5/e3/87ee5c1250934d42038680c41c04bac813025913c460c761859b04dcbff7/coverage-7.4.1-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45", + "url": "https://files.pythonhosted.org/packages/a1/94/5d5e02d0f94c6fc57aab0e2dc2b67f8147aa3f76c7ca80550183565d4cf7/coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1ed4b95480952b1a26d863e546fa5094564aa0065e1e5f0d4d0041f293251d04", - "url": "https://files.pythonhosted.org/packages/ca/41/e2ba20f090d0d16b73ad1f6fc542eb31b0db20662576583fb4f02554891f/coverage-7.4.1.tar.gz" + "hash": "718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4", + "url": "https://files.pythonhosted.org/packages/a3/36/b5ae380c05f58544a40ff36f87fa1d6e45f5c2f299335586aac140c341ce/coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "46342fed0fff72efcda77040b14728049200cbba1279e0bf1188f1f2078c1d70", - "url": "https://files.pythonhosted.org/packages/ce/e1/df16e7e353c2ba5a5b3e02a6bad7dbf1bc62d5b9cfe5c06ed0e31fc64122/coverage-7.4.1-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc", + "url": "https://files.pythonhosted.org/packages/a5/7b/eb4a04ac91ee6b0402a1c752fc33dfbcddfb19368ebfaf7a9bf0714f55f2/coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "aeb2c2688ed93b027eb0d26aa188ada34acb22dceea256d76390eea135083950", - "url": "https://files.pythonhosted.org/packages/fc/cc/c4da6426501cdbad3b37edbeca7b485137f74a6030d5a974060d8369f898/coverage-7.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f", + "url": "https://files.pythonhosted.org/packages/ab/d4/359f5f195a209ec7598ef3804451b76f5f75c14ce63e9684a0e0eeaa2ed9/coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "d12c923757de24e4e2110cf8832d83a886a4cf215c6e61ed506006872b43a6d1", - "url": "https://files.pythonhosted.org/packages/ff/e3/351477165426da841458f2c1b732360dd42da140920e3cd4b70676e5b77f/coverage-7.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e", + "url": "https://files.pythonhosted.org/packages/ad/3f/cde6fd2e4cc447bd24e3dc2e79abd2e0fba67ac162996253d3505f8efef4/coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee", + "url": "https://files.pythonhosted.org/packages/b5/ad/effc12b8f72321cb847c5ba7f4ea7ce3e5c19c641f6418131f8fb0ab2f61/coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2", + "url": "https://files.pythonhosted.org/packages/c7/a7/b00eaa53d904193478eae01625d784b2af8b522a98028f47c831dcc95663/coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6", + "url": "https://files.pythonhosted.org/packages/d0/3a/e882caceca2c7d65791a4a759764a1bf803bbbd10caf38ec41d73a45219e/coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52", + "url": "https://files.pythonhosted.org/packages/d2/e2/f2d313169e0ecf1b46295b3ddf28a6818d02c1b047413f38b6325823cb2b/coverage-7.4.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f", + "url": "https://files.pythonhosted.org/packages/d6/cf/4094ac6410b680c91c5e55a56f25f4b3a878e2fcbf773c1cecfbdbaaec4f/coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0", + "url": "https://files.pythonhosted.org/packages/e1/47/ca53ef810b264986aac87ba3aaa269574c8ad883ca772b0c5e945d87ae68/coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454", + "url": "https://files.pythonhosted.org/packages/e2/bc/f54b24b476db0069ac04ff2cdeb28cd890654c8619761bf818726022c76a/coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0", + "url": "https://files.pythonhosted.org/packages/f1/a4/9edd06d88f3ab17b36bbf33947618292bbbdbf72d9f3c2c6f0880fca8bba/coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl" } ], "project_name": "coverage", @@ -171,7 +211,7 @@ "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" ], "requires_python": ">=3.8", - "version": "7.4.1" + "version": "7.4.3" }, { "artifacts": [ @@ -218,13 +258,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e", - "url": "https://files.pythonhosted.org/packages/c0/8b/d8427f023c081a8303e6ac7209c16e6878f2765d5b59667f3903fbcfd365/importlib_metadata-7.0.1-py3-none-any.whl" + "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", + "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc", - "url": "https://files.pythonhosted.org/packages/90/b4/206081fca69171b4dc1939e77b378a7b87021b0f43ce07439d49d8ac5c84/importlib_metadata-7.0.1.tar.gz" + "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", + "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" } ], "project_name": "importlib-metadata", @@ -237,23 +277,21 @@ "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", - "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-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-perf>=0.9.2; extra == \"testing\"", - "pytest-ruff; extra == \"testing\"", + "pytest-ruff>=0.2.1; extra == \"testing\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"", "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.1" + "version": "7.0.2" }, { "artifacts": [ @@ -277,19 +315,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7", - "url": "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl" + "hash": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5", - "url": "https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz" + "hash": "eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9", + "url": "https://files.pythonhosted.org/packages/ee/b5/b43a27ac7472e1818c4bafd44430e69605baefe1f34440593e0332ec8b4d/packaging-24.0.tar.gz" } ], "project_name": "packaging", "requires_dists": [], "requires_python": ">=3.7", - "version": "23.2" + "version": "24.0" }, { "artifacts": [ @@ -624,13 +662,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31", - "url": "https://files.pythonhosted.org/packages/d9/66/48866fc6b158c81cc2bfecc04c480f105c6040e8b077bc54c634b4a67926/zipp-3.17.0-py3-none-any.whl" + "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", + "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0", - "url": "https://files.pythonhosted.org/packages/58/03/dd5ccf4e06dec9537ecba8fcc67bbd4ea48a2791773e469e73f94c3ba9a6/zipp-3.17.0.tar.gz" + "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", + "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" } ], "project_name": "zipp", @@ -642,21 +680,19 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "more-itertools; extra == \"testing\"", - "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-ignore-flaky; 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\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.17.0" + "version": "3.18.0" } ], "platform_tag": null @@ -675,7 +711,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 index fa9283c6bf..731c6cec3d 100644 --- a/lockfiles/setuptools.lock +++ b/lockfiles/setuptools.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "setuptools<59.0,>=50.3.0", @@ -107,7 +107,7 @@ "wheel<0.38,>=0.35.1" ], "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 e759e4524e..0ebb0c792b 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", @@ -32,19 +32,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474", - "url": "https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl" + "hash": "dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1", + "url": "https://files.pythonhosted.org/packages/ba/06/a07f096c664aeb9f01624f858c3add0a4e913d6c96257acb4fce61e7de14/certifi-2024.2.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1", - "url": "https://files.pythonhosted.org/packages/d4/91/c89518dd4fe1f3a4e3f6ab7ff23cb00ef2e8c9adf99dacc618ad5e068e28/certifi-2023.11.17.tar.gz" + "hash": "0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f", + "url": "https://files.pythonhosted.org/packages/71/da/e94e26401b62acd6d91df2b52954aceb7f561743aa5ccc32152886c76c96/certifi-2024.2.2.tar.gz" } ], "project_name": "certifi", "requires_dists": [], "requires_python": ">=3.6", - "version": "2023.11.17" + "version": "2024.2.2" }, { "artifacts": [ @@ -63,6 +63,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 +83,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 +123,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 +188,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 +213,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 +243,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 +278,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 +313,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 +328,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 +348,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", @@ -306,118 +416,133 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d3902c779a92151f134f68e555dd0b17c658e13429f270d8a847399b99235a3f", - "url": "https://files.pythonhosted.org/packages/aa/de/d0da052ab06312a42391d2d069babbac07d5b9442d939f38732f8fcfab8e/cryptography-42.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac", + "url": "https://files.pythonhosted.org/packages/50/be/92ce909d5d5b361780e21e0216502f72e5d8f9b2d73bcfde1ca5f791630b/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc", + "url": "https://files.pythonhosted.org/packages/0e/1d/62a2324882c0db89f64358dadfb95cae024ee3ba9fde3d5fd4d2f58af9f5/cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "4d84673c012aa698555d4710dcfe5f8a0ad76ea9dde8ef803128cc669640a2e0", - "url": "https://files.pythonhosted.org/packages/15/41/34c4513070982a6bfa7d33ee7b1c69d3cfcb50817f1d11601497f2f8128b/cryptography-42.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1", + "url": "https://files.pythonhosted.org/packages/13/9e/a55763a32d340d7b06d045753c186b690e7d88780cafce5f88cb931536be/cryptography-42.0.5.tar.gz" }, { "algorithm": "sha256", - "hash": "6ac8924085ed8287545cba89dc472fc224c10cc634cdf2c3e2866fe868108e77", - "url": "https://files.pythonhosted.org/packages/27/27/362c4c4b5fcfabe49dc0f4c1569101606ef9cbfc6852600a15369b2c3938/cryptography-42.0.1-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da", + "url": "https://files.pythonhosted.org/packages/2c/9c/821ef6144daf80360cf6093520bf07eec7c793103ed4b1bf3fa17d2b55d8/cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "430100abed6d3652208ae1dd410c8396213baee2e01a003a4449357db7dc9e14", - "url": "https://files.pythonhosted.org/packages/35/e6/3e5ad3b588c7f454fdb870a6580a921e62bb5ddd318edc26a8e090470c59/cryptography-42.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e", + "url": "https://files.pythonhosted.org/packages/3f/ae/61d7c256bd8285263cdb5c9ebebcf66261bd0765ed255a074dc8d5304362/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ed1b2130f5456a09a134cc505a17fc2830a1a48ed53efd37dcc904a23d7b82fa", - "url": "https://files.pythonhosted.org/packages/36/02/0dd2889e62fbb8a7dcd2effa11e35138863dd309ad9955e12029aab41b0e/cryptography-42.0.1-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a", + "url": "https://files.pythonhosted.org/packages/48/c8/c0962598c43d3cff2c9d6ac66d0c612bdfb1975be8d87b8889960cf8c81d/cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ab6b302d51fbb1dd339abc6f139a480de14d49d50f65fdc7dff782aa8631d035", - "url": "https://files.pythonhosted.org/packages/38/74/015cd4fa9c0b4d1cd8398e0331b056b122b7cb0248d46c509a7ad4eaef96/cryptography-42.0.1-cp37-abi3-musllinux_1_1_x86_64.whl" + "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": "2fe16624637d6e3e765530bc55caa786ff2cbca67371d306e5d0a72e7c3d0407", - "url": "https://files.pythonhosted.org/packages/3f/e3/ad97e93e5ad1e88cf4c7b85b736f90700dc9533c07163ca0920f5dc0f23a/cryptography-42.0.1-cp37-abi3-musllinux_1_2_aarch64.whl" + "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": "fd33f53809bb363cf126bebe7a99d97735988d9b0131a2be59fbf83e1259a5b7", - "url": "https://files.pythonhosted.org/packages/3f/ed/a233522ab5201b988a482cbb19ae3b63bef8ad2ad3e11fc5216b7053b2e4/cryptography-42.0.1.tar.gz" + "hash": "b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1", + "url": "https://files.pythonhosted.org/packages/5b/3d/c3c21e3afaf43bacccc3ebf61d1a0d47cef6e2607dbba01662f6f9d8fc40/cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "cb2861a9364fa27d24832c718150fdbf9ce6781d7dc246a516435f57cfa31fe7", - "url": "https://files.pythonhosted.org/packages/45/11/10fc8fb180663e2482d882f3dfdb61f703779857edae46d93c4601f32693/cryptography-42.0.1-cp39-abi3-musllinux_1_1_x86_64.whl" + "hash": "f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7", + "url": "https://files.pythonhosted.org/packages/64/f7/d3c83c79947cc6807e6acd3b2d9a1cbd312042777bc7eec50c869913df79/cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "727387886c9c8de927c360a396c5edcb9340d9e960cda145fca75bdafdabd24c", - "url": "https://files.pythonhosted.org/packages/65/f7/23adf59c99635fd562cc0fec0dcf192ee5094555f599fe9e804f7688d06a/cryptography-42.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7", + "url": "https://files.pythonhosted.org/packages/69/f6/630eb71f246208103ffee754b8375b6b334eeedb28620b3ae57be815eeeb/cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "160fa08dfa6dca9cb8ad9bd84e080c0db6414ba5ad9a7470bc60fb154f60111e", - "url": "https://files.pythonhosted.org/packages/69/26/c8e12473cb0915c26f6c8e7ef08084227a5d7bedba005458aa40c457e542/cryptography-42.0.1-cp37-abi3-macosx_10_12_x86_64.whl" + "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": "e6edc3a568667daf7d349d7e820783426ee4f1c0feab86c29bd1d6fe2755e009", - "url": "https://files.pythonhosted.org/packages/7c/e5/26a7bb4b3c599c3803cadb871e420d0bd013dd7c0c66fae02fd4441bdced/cryptography-42.0.1-cp37-abi3-manylinux_2_28_aarch64.whl" + "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": "2dff7a32880a51321f5de7869ac9dde6b1fca00fc1fef89d60e93f215468e824", - "url": "https://files.pythonhosted.org/packages/81/e6/c1fccf36cb1067c8805cf73ad071ef0e605ff9ee988e959d4c5d6a0f22e9/cryptography-42.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922", + "url": "https://files.pythonhosted.org/packages/7d/bc/b6c691c960b5dcd54c5444e73af7f826e62af965ba59b6d7e9928b6489a2/cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0b7cacc142260ada944de070ce810c3e2a438963ee3deb45aa26fd2cee94c9a4", - "url": "https://files.pythonhosted.org/packages/82/65/8fd4f70ec781f59eba46172daa6454cfe69bdbb3ce45c611b61fba147489/cryptography-42.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" + "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": "32ea63ceeae870f1a62e87f9727359174089f7b4b01e4999750827bf10e15d60", - "url": "https://files.pythonhosted.org/packages/83/86/7a2e09cbc9c2325264eab15cd8da2ccd3905d85e17b89c054768c9b986af/cryptography-42.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" + "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": "9544492e8024f29919eac2117edd8c950165e74eb551a22c53f6fdf6ba5f4cb8", - "url": "https://files.pythonhosted.org/packages/94/42/b47fbecc8dfb843b8d84410e71ae19923689034af7b3b5f654b83fbb50be/cryptography-42.0.1-cp37-abi3-musllinux_1_1_aarch64.whl" + "hash": "3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc", + "url": "https://files.pythonhosted.org/packages/c2/40/c7cb9d6819b90640ffc3c4028b28f46edc525feaeaa0d98ea23e843d446d/cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b512f33c6ab195852595187af5440d01bb5f8dd57cb7a91e1e009a17f1b7ebca", - "url": "https://files.pythonhosted.org/packages/be/51/9ed445aead4562a56278bdcb20069d50252c0de4ce07d7aa0d06cc38c7e4/cryptography-42.0.1-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30", + "url": "https://files.pythonhosted.org/packages/ca/2e/9f2c49bd6a18d46c05ec098b040e7d4599c61f50ced40a39adfae3f68306/cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "265bdc693570b895eb641410b8fc9e8ddbce723a669236162b9d9cfb70bd8d77", - "url": "https://files.pythonhosted.org/packages/be/73/57323763ddf5b6a153366ac57b342c58c30f99bd1148101eda87f8f083ee/cryptography-42.0.1-cp37-abi3-macosx_10_12_universal2.whl" + "hash": "a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16", + "url": "https://files.pythonhosted.org/packages/d1/f1/fd98e6e79242d9aeaf6a5d49639a7e85f05741575af14d3f4a1d477f572e/cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "351db02c1938c8e6b1fee8a78d6b15c5ccceca7a36b5ce48390479143da3b411", - "url": "https://files.pythonhosted.org/packages/bf/db/7040a3224e8d506b3e341429d1e0bae2d9db02f6cffea7786e9427f92289/cryptography-42.0.1-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e", + "url": "https://files.pythonhosted.org/packages/d4/fa/057f9d7a5364c86ccb6a4bd4e5c58920dcb66532be0cc21da3f9c7617ec3/cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "25ec6e9e81de5d39f111a4114193dbd39167cc4bbd31c30471cebedc2a92c323", - "url": "https://files.pythonhosted.org/packages/d8/41/1e2cfc14cdae6ad0b5c6677e2cb03af2a6e01c05a72d5b3fddf693b26f3d/cryptography-42.0.1-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d", + "url": "https://files.pythonhosted.org/packages/d8/b1/127ecb373d02db85a7a7de5093d7ac7b7714b8907d631f0591e8f002998d/cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9d61fcdf37647765086030d81872488e4cb3fafe1d2dda1d487875c3709c0a49", - "url": "https://files.pythonhosted.org/packages/da/2b/89d2b301e3f38324d9569be98962fc1bcb1fa2c7dd8874cdeba294ab5cc7/cryptography-42.0.1-cp39-abi3-musllinux_1_2_x86_64.whl" + "hash": "b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec", + "url": "https://files.pythonhosted.org/packages/d9/f9/27dda069a9f9bfda7c75305e222d904cc2445acf5eab5c696ade57d36f1b/cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d50718dd574a49d3ef3f7ef7ece66ef281b527951eb2267ce570425459f6a404", - "url": "https://files.pythonhosted.org/packages/f6/79/227c6f7e98657cf9387d5797d56e983165f294ed838679b2b8ca12118e18/cryptography-42.0.1-cp37-abi3-manylinux_2_28_x86_64.whl" + "hash": "2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb", + "url": "https://files.pythonhosted.org/packages/e2/59/61b2364f2a4d3668d933531bc30d012b9b2de1e534df4805678471287d57/cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "95d900d19a370ae36087cc728e6e7be9c964ffd8cbcb517fd1efb9c9284a6abc", - "url": "https://files.pythonhosted.org/packages/f8/46/2776ca9b602f79633fdf69824b5e18c94f2e0c5f09a94fc69e5b0887c14d/cryptography-42.0.1-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee", + "url": "https://files.pythonhosted.org/packages/e5/61/67e090a41c70ee526bd5121b1ccabab85c727574332d03326baaedea962d/cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6", + "url": "https://files.pythonhosted.org/packages/ea/fa/b0cd7f1cd011b52196e01195581119d5e2b802a35e21f08f342d6640aaae/cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4", + "url": "https://files.pythonhosted.org/packages/fb/0b/14509319a1b49858425553d2fb3808579cfdfe98c1d71a3f046c1b4e0108/cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "cryptography", @@ -444,7 +569,7 @@ "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"" ], "requires_python": ">=3.7", - "version": "42.0.1" + "version": "42.0.5" }, { "artifacts": [ @@ -486,13 +611,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e", - "url": "https://files.pythonhosted.org/packages/c0/8b/d8427f023c081a8303e6ac7209c16e6878f2765d5b59667f3903fbcfd365/importlib_metadata-7.0.1-py3-none-any.whl" + "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", + "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc", - "url": "https://files.pythonhosted.org/packages/90/b4/206081fca69171b4dc1939e77b378a7b87021b0f43ce07439d49d8ac5c84/importlib_metadata-7.0.1.tar.gz" + "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", + "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" } ], "project_name": "importlib-metadata", @@ -505,48 +630,46 @@ "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", - "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-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", "pytest-perf>=0.9.2; extra == \"testing\"", - "pytest-ruff; extra == \"testing\"", + "pytest-ruff>=0.2.1; extra == \"testing\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"", "typing-extensions>=3.6.4; python_version < \"3.8\"", "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.1" + "version": "7.0.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6", - "url": "https://files.pythonhosted.org/packages/93/e8/facde510585869b5ec694e8e0363ffe4eba067cb357a8398a55f6a1f8023/importlib_resources-6.1.1-py3-none-any.whl" + "hash": "783407aa1cd05550e3aa123e8f7cfaebee35ffa9cb0242919e2d1e4172222705", + "url": "https://files.pythonhosted.org/packages/de/79/7ad3b2831247db4f61e781f9164147b1ee20205c5230dcd177021caa266b/importlib_resources-6.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a", - "url": "https://files.pythonhosted.org/packages/d4/06/402fb5efbe634881341ff30220798c4c5e448ca57c068108c4582c692160/importlib_resources-6.1.1.tar.gz" + "hash": "166072a97e86917a9025876f34286f549b9caf1d10b35a1b372bffa1600c6569", + "url": "https://files.pythonhosted.org/packages/47/09/c02a7de10bd37af6752d1487b989342e4ae688a0082c59d3fc16274361c7/importlib_resources-6.3.0.tar.gz" } ], "project_name": "importlib-resources", "requires_dists": [ "furo; extra == \"docs\"", + "jaraco.collections; extra == \"testing\"", "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; 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>=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\"", @@ -556,19 +679,19 @@ "zipp>=3.17; extra == \"testing\"" ], "requires_python": ">=3.8", - "version": "6.1.1" + "version": "6.3.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "10afa92b6743f25c0cf5f37c6bb6e18e2c5bb84a16527ccfc0040ea377e7aaeb", - "url": "https://files.pythonhosted.org/packages/c7/6b/1bc8fa93ea85146e08f0e0883bc579b7c7328364ed7df90b1628dcb36e10/jaraco.classes-3.3.0-py3-none-any.whl" + "hash": "86b534de565381f6b3c1c830d13f931d7be1a75f0081c57dff615578676e2206", + "url": "https://files.pythonhosted.org/packages/eb/57/d3590a153d7c1970f466f69fa2570e1a93a34d8f88f23c11411df73729bf/jaraco.classes-3.3.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c063dd08e89217cee02c8d5e5ec560f2c8ce6cdc2fcdc2e68f7b2e5547ed3621", - "url": "https://files.pythonhosted.org/packages/8b/de/d0a466824ce8b53c474bb29344e6d6113023eb2c3793d1c58c0908588bfa/jaraco.classes-3.3.0.tar.gz" + "hash": "cb28a5ebda8bc47d8c8015307d93163464f9f2b91ab4006e09ff0ce07e8bfb30", + "url": "https://files.pythonhosted.org/packages/a5/8a/ed955184b2ef9c1eef3aa800557051c7354e5f40a9efc9a46e38c3e6d237/jaraco.classes-3.3.1.tar.gz" } ], "project_name": "jaraco-classes", @@ -577,19 +700,19 @@ "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\"", + "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.3.0" + "version": "3.3.1" }, { "artifacts": [ @@ -622,13 +745,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4446d35d636e6a10b8bce7caa66913dd9eca5fd222ca03a3d42c38608ac30836", - "url": "https://files.pythonhosted.org/packages/e3/e9/c51071308adc273ed612cd308a4b4360ffd291da40b7de2f47c9d6e3a978/keyring-24.3.0-py3-none-any.whl" + "hash": "df38a4d7419a6a60fea5cef1e45a948a3e8430dd12ad88b0f423c5c143906218", + "url": "https://files.pythonhosted.org/packages/7c/23/d557507915181687e4a613e1c8a01583fd6d7cb7590e1f039e357fe3b304/keyring-24.3.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e730ecffd309658a08ee82535a3b5ec4b4c8669a9be11efb66249d8e0aeb9a25", - "url": "https://files.pythonhosted.org/packages/69/cd/889c6569a7e5e9524bc1e423fd2badd967c4a5dcd670c04c2eff92a9d397/keyring-24.3.0.tar.gz" + "hash": "c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db", + "url": "https://files.pythonhosted.org/packages/ae/6c/bd2cfc6c708ce7009bdb48c85bb8cad225f5638095ecc8f49f15e8e1f35e/keyring-24.3.1.tar.gz" } ], "project_name": "keyring", @@ -641,12 +764,11 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "jeepney>=0.4.2; sys_platform == \"linux\"", - "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\"", "pywin32-ctypes>=0.2.0; sys_platform == \"win32\"", "rst.linker>=1.9; extra == \"docs\"", @@ -656,7 +778,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "24.3.0" + "version": "24.3.1" }, { "artifacts": [ @@ -758,22 +880,23 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546", - "url": "https://files.pythonhosted.org/packages/b3/f2/6e95c86a23a30fa205ea6303a524b20cbae27fbee69216377e3d95266406/pkginfo-1.9.6-py3-none-any.whl" + "hash": "889a6da2ed7ffc58ab5b900d888ddce90bce912f2d2de1dc1c26f4cb9fe65097", + "url": "https://files.pythonhosted.org/packages/56/09/054aea9b7534a15ad38a363a2bd974c20646ab1582a387a95b8df1bfea1c/pkginfo-1.10.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046", - "url": "https://files.pythonhosted.org/packages/b4/1c/89b38e431c20d6b2389ed8b3926c2ab72f58944733ba029354c6d9f69129/pkginfo-1.9.6.tar.gz" + "hash": "5df73835398d10db79f8eecd5cd86b1f6d29317589ea70796994d49399af6297", + "url": "https://files.pythonhosted.org/packages/2f/72/347ec5be4adc85c182ed2823d8d1c7b51e13b9a6b0c1aae59582eca652df/pkginfo-1.10.0.tar.gz" } ], "project_name": "pkginfo", "requires_dists": [ "pytest-cov; extra == \"testing\"", - "pytest; extra == \"testing\"" + "pytest; extra == \"testing\"", + "wheel; extra == \"testing\"" ], "requires_python": ">=3.6", - "version": "1.9.6" + "version": "1.10.0" }, { "artifacts": [ @@ -818,13 +941,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "13d039515c1f24de668e2c93f2e877b9dbe6c6c32328b90a40a49d8b2b85f36d", - "url": "https://files.pythonhosted.org/packages/b5/7e/992e0e21b37cadd668226f75fef0aa81bf21c2426c98bc06a55e514cb323/readme_renderer-42.0-py3-none-any.whl" + "hash": "19db308d86ecd60e5affa3b2a98f017af384678c63c88e5d4556a380e674f3f9", + "url": "https://files.pythonhosted.org/packages/45/be/3ea20dc38b9db08387cf97997a85a7d51527ea2057d71118feb0aa8afa55/readme_renderer-43.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2d55489f83be4992fe4454939d1a051c33edbab778e82761d060c9fc6b308cd1", - "url": "https://files.pythonhosted.org/packages/b5/35/1cb5a6a97514812f63c06df6c2855d82ebed3e5c02e9d536a78669854c8a/readme_renderer-42.0.tar.gz" + "hash": "1818dd28140813509eeed8d62687f7cd4f7bad90d4db586001c5dc09d4fde311", + "url": "https://files.pythonhosted.org/packages/fe/b5/536c775084d239df6345dccf9b043419c7e3308bc31be4c7882196abc62e/readme_renderer-43.0.tar.gz" } ], "project_name": "readme-renderer", @@ -835,7 +958,7 @@ "nh3>=0.2.14" ], "requires_python": ">=3.8", - "version": "42.0" + "version": "43.0" }, { "artifacts": [ @@ -927,13 +1050,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386", - "url": "https://files.pythonhosted.org/packages/00/e5/f12a80907d0884e6dff9c16d0c0114d81b8cd07dc3ae54c5e962cc83037e/tqdm-4.66.1-py3-none-any.whl" + "hash": "1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9", + "url": "https://files.pythonhosted.org/packages/2a/14/e75e52d521442e2fcc9f1df3c5e456aead034203d4797867980de558ab34/tqdm-4.66.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7", - "url": "https://files.pythonhosted.org/packages/62/06/d5604a70d160f6a6ca5fd2ba25597c24abd5c5ca5f437263d177ac242308/tqdm-4.66.1.tar.gz" + "hash": "6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531", + "url": "https://files.pythonhosted.org/packages/ea/85/3ce0f9f7d3f596e7ea57f4e5ce8c18cb44e4a9daa58ddb46ee0d13d6bff8/tqdm-4.66.2.tar.gz" } ], "project_name": "tqdm", @@ -948,7 +1071,7 @@ "slack-sdk; extra == \"slack\"" ], "requires_python": ">=3.7", - "version": "4.66.1" + "version": "4.66.2" }, { "artifacts": [ @@ -982,36 +1105,37 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3", - "url": "https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl" + "hash": "450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", + "url": "https://files.pythonhosted.org/packages/a2/73/a68704750a7679d0b6d3ad7aa8d4da8e14e151ae82e6fee774e6e0d05ec8/urllib3-2.2.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54", - "url": "https://files.pythonhosted.org/packages/36/dd/a6b232f449e1bc71802a5b7950dc3675d32c6dbc2a1bd6d71f065551adb6/urllib3-2.1.0.tar.gz" + "hash": "d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19", + "url": "https://files.pythonhosted.org/packages/7a/50/7fd50a27caa0652cd4caf224aa87741ea41d3265ad13f010886167cfcc79/urllib3-2.2.1.tar.gz" } ], "project_name": "urllib3", "requires_dists": [ "brotli>=1.0.9; platform_python_implementation == \"CPython\" and extra == \"brotli\"", "brotlicffi>=0.8.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", + "h2<5,>=4; extra == \"h2\"", "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"", "zstandard>=0.18.0; extra == \"zstd\"" ], "requires_python": ">=3.8", - "version": "2.1.0" + "version": "2.2.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31", - "url": "https://files.pythonhosted.org/packages/d9/66/48866fc6b158c81cc2bfecc04c480f105c6040e8b077bc54c634b4a67926/zipp-3.17.0-py3-none-any.whl" + "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", + "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0", - "url": "https://files.pythonhosted.org/packages/58/03/dd5ccf4e06dec9537ecba8fcc67bbd4ea48a2791773e469e73f94c3ba9a6/zipp-3.17.0.tar.gz" + "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", + "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" } ], "project_name": "zipp", @@ -1023,21 +1147,19 @@ "jaraco.packaging>=9.3; extra == \"docs\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "more-itertools; extra == \"testing\"", - "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-ignore-flaky; 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\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.17.0" + "version": "3.18.0" } ], "platform_tag": null @@ -1052,7 +1174,7 @@ "twine<3.8,>=3.7.1" ], "requires_python": [ - "<3.10,>=3.8" + "<3.11,>=3.8" ], "resolver_version": "pip-2020-resolver", "style": "universal", From a5c04839b74170645837f08bb5c78e27d412f6c9 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 01:04:24 +0100 Subject: [PATCH 021/110] Bumped prance to 23.6.21.0 for py3.10 support. --- test-requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test-requirements.txt b/test-requirements.txt index 02fdb13690..a4d1973986 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -25,7 +25,8 @@ webtest==2.0.35 rstcheck>=3.3.1,<3.4 tox==3.23.0 pyrabbit -prance==0.15.0 +# 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 5.3 needs pip<20.3 # pip-tools 5.4 needs pip>=20.1 From 6b5501833406a828f01bc0c276e73e31f198b79a Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 01:07:18 +0100 Subject: [PATCH 022/110] Black formatting --- st2api/tests/unit/test_validation_utils.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/st2api/tests/unit/test_validation_utils.py b/st2api/tests/unit/test_validation_utils.py index 07b4a28afe..e518a45e77 100644 --- a/st2api/tests/unit/test_validation_utils.py +++ b/st2api/tests/unit/test_validation_utils.py @@ -49,16 +49,14 @@ def test_validate_auth_cookie_is_correctly_configured_error(self): invalid_values = ["strictx", "laxx", "nonex", "invalid"] for value in invalid_values: - with pytest.raises(ValueError, match=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 ) - # ~ expected_msg = "Valid values are: strict, lax, none, unset" - # ~ self.assertRaisesRegex( - # ~ ValueError, expected_msg, validate_auth_cookie_is_correctly_configured - # ~ ) - # SameSite=none + Secure=false is not compatible cfg.CONF.set_override( group="api", name="auth_cookie_same_site", override="none" From 758eb65277e15f5eba08f7a8842caec1b5f60378 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 02:24:06 +0100 Subject: [PATCH 023/110] Use pygment token in place of prompt_toolkit --- st2client/st2client/utils/interactive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2client/st2client/utils/interactive.py b/st2client/st2client/utils/interactive.py index 7e6f81b29b..68b0bc35c2 100644 --- a/st2client/st2client/utils/interactive.py +++ b/st2client/st2client/utils/interactive.py @@ -21,7 +21,7 @@ import jsonschema from jsonschema import Draft3Validator from prompt_toolkit import prompt -from prompt_toolkit import token +from pygments import token from prompt_toolkit import validation from st2client.exceptions.operations import OperationFailureException From 51165899058bb6ab1a1463191fc982d7c9de62b1 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 08:06:38 +0100 Subject: [PATCH 024/110] Relax pinning for amqp, update pants requirements to align with fixed requirements and regenerate locking --- fixed-requirements.txt | 4 +- lockfiles/st2.lock | 187 +++++++++++++++++++++-------- requirements-pants.txt | 14 +-- requirements.txt | 4 +- st2actions/requirements.txt | 2 +- st2api/requirements.txt | 2 +- st2auth/requirements.txt | 2 +- st2client/tests/unit/test_shell.py | 2 + st2common/requirements.txt | 4 +- st2reactor/requirements.txt | 2 +- st2stream/requirements.txt | 2 +- 11 files changed, 154 insertions(+), 71 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 89217801af..47fdce442c 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -1,6 +1,6 @@ # Packages versions fixed for the whole st2 stack # Note: amqp is used by kombu -amqp==5.0.6 +amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 # requests 2.23 requires chardet < 3.1.0 chardet<3.1.0 @@ -8,7 +8,7 @@ cffi<1.15.0 # NOTE: 2.0 version breaks pymongo work with hosts dnspython==2.6.1 cryptography==39.0.1 -eventlet==0.33.3 +eventlet==0.35.2 flex==6.14.1 # Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 # TODO: Pin to 3.1.37 or higher after dropping python3.6 support diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 0588aedb5a..aa3f2d5d3d 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -16,7 +16,8 @@ // "beautifulsoup4", // "ciso8601", // "cryptography", -// "eventlet<0.31", +// "editor", +// "eventlet", // "flask", // "flex", // "gitdb", @@ -39,13 +40,13 @@ // "nose-timer", // "orjson", // "orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0", -// "oslo.config<1.13,>=1.12.1", +// "oslo.config", // "paramiko", // "pika", // "pip", // "prance", // "prettytable", -// "prompt-toolkit<2", +// "prompt-toolkit", // "psutil", // "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", // "pymongo<3.13.0,>=3.11.0", @@ -53,7 +54,6 @@ // "pysocks", // "pytest", // "python-dateutil", -// "python-editor", // "python-json-logger", // "python-statsd", // "pytz", @@ -1222,24 +1222,51 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c4e2c5452e54a267f5ce56092eeeed3d52d5c9319e545a796ab5ebbb5b2528ef", - "url": "https://files.pythonhosted.org/packages/ea/c6/9990551f52dcb9dd50ea87904e68ee61f20ec03de208d2bb0a0a5ab072a5/eventlet-0.30.3-py2.py3-none-any.whl" + "hash": "e818e6913f26c2a81eadef503a2741d7cca7f235d20e217274a009ecd5a74abf", + "url": "https://files.pythonhosted.org/packages/1b/c2/4bc8cd09b14e28ce3f406a8b05761bed0d785d1ca8c2a5c6684d884c66a2/editor-1.6.6-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "a802caa725d6eb2d45a763c33f6bb5206e8d0566d5abc03638225379cf32476d", - "url": "https://files.pythonhosted.org/packages/d5/93/22be27621c6b017ac630f84b94ac8ac11231f7f03a6a0aec668365f823fe/eventlet-0.30.3.tar.gz" + "hash": "bb6989e872638cd119db9a4fce284cd8e13c553886a1c044c6b8d8a160c871f8", + "url": "https://files.pythonhosted.org/packages/2a/92/734a4ab345914259cb6146fd36512608ea42be16195375c379046f33283d/editor-1.6.6.tar.gz" + } + ], + "project_name": "editor", + "requires_dists": [ + "runs", + "xmod" + ], + "requires_python": ">=3.8", + "version": "1.6.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8fc1ee60d583f1dd58d6f304bb95fd46d34865ab22f57cb99008a81d61d573db", + "url": "https://files.pythonhosted.org/packages/a6/5e/ea38bad6b685b0fde055b725e0a50613bfeecd572ec7606fa9449404f89a/eventlet-0.35.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8d1263e20b7f816a046ac60e1d272f9e5bc503f7a34d9adc789f8a85b14fa57d", + "url": "https://files.pythonhosted.org/packages/5e/a1/079895f493a7c7eef5d1fb1335aba96e05527fd22dc6cead98ff38acdd3a/eventlet-0.35.2.tar.gz" } ], "project_name": "eventlet", "requires_dists": [ - "dnspython<2.0.0,>=1.15.0", - "greenlet>=0.3", + "black; extra == \"dev\"", + "build; extra == \"dev\"", + "commitizen; extra == \"dev\"", + "dnspython>=1.15.0", + "greenlet>=1.0", + "isort; extra == \"dev\"", "monotonic>=1.4; python_version < \"3.5\"", - "six>=1.10.0" + "pip-tools; extra == \"dev\"", + "pre-commit; extra == \"dev\"", + "twine; extra == \"dev\"" ], - "requires_python": null, - "version": "0.30.3" + "requires_python": ">=3.7", + "version": "0.35.2" }, { "artifacts": [ @@ -2828,24 +2855,41 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d4501d11ce955d010208019f04ebba0ce58a5f1a9033da9193cfa33e4854d74b", - "url": "https://files.pythonhosted.org/packages/c7/82/263fa79866098034917be0def7ab4979480e6f429732cd6cd9f4e0405ec5/oslo.config-1.12.1-py2.py3-none-any.whl" + "hash": "8c2049c14cade7adeeda18638531b3b3a40d3c6bcc690535939f64a3c1ec8d63", + "url": "https://files.pythonhosted.org/packages/9c/82/792303dce5cd50951d27a405ad8251c04dc3ad5a051b6a585a939ae39f4a/oslo.config-9.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "d43880e88a55b13840dfd80495837017d4da3ad96aed288345410e0b35138477", - "url": "https://files.pythonhosted.org/packages/90/5f/c90379a91cc41ab849eb789dd75a83533cc35caabe535f3118f42b0906b2/oslo.config-1.12.1.tar.gz" + "hash": "35b11a661b608edb50305dad91e4e30819d90ef794b7d7dba5bd8b2ef2eb8c0d", + "url": "https://files.pythonhosted.org/packages/9f/79/d75e9a6234883adc93838602263d394ffaff6b8d315127c98afd596083f6/oslo.config-9.4.0.tar.gz" } ], "project_name": "oslo-config", "requires_dists": [ - "argparse", - "netaddr>=0.7.12", - "six>=1.9.0", - "stevedore>=1.3.0" + "PyYAML>=5.1", + "bandit<1.8.0,>=1.7.0; extra == \"test\"", + "coverage!=4.4,>=4.0; extra == \"test\"", + "debtcollector>=1.2.0", + "fixtures>=3.0.0; extra == \"test\"", + "hacking<6.2.0,>=6.1.0; extra == \"test\"", + "mypy>=0.720; extra == \"test\"", + "netaddr>=0.7.18", + "oslo.i18n>=3.15.3", + "oslo.log>=3.36.0; extra == \"test\"", + "oslotest>=3.2.0; extra == \"test\"", + "pre-commit>=2.6.0; extra == \"test\"", + "requests-mock>=1.5.0; extra == \"test\"", + "requests>=2.18.0", + "rfc3986>=1.2.0", + "rst2txt>=1.1.0; extra == \"rst_generator\"", + "sphinx!=2.1.0,>=1.8.0; extra == \"rst_generator\"", + "stestr>=2.1.0; extra == \"test\"", + "stevedore>=1.20.0", + "testscenarios>=0.4; extra == \"test\"", + "testtools>=2.2.0; extra == \"test\"" ], - "requires_python": null, - "version": "1.12.1" + "requires_python": ">=3.8", + "version": "9.4.0" }, { "artifacts": [ @@ -3181,22 +3225,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "37925b37a4af1f6448c76b7606e0285f79f434ad246dda007a27411cca730c6d", - "url": "https://files.pythonhosted.org/packages/64/27/5fd61a451d086ad4aa806dc72fe1383d2bc0e74323668672287f616d5d51/prompt_toolkit-1.0.18-py3-none-any.whl" + "hash": "a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6", + "url": "https://files.pythonhosted.org/packages/ee/fd/ca7bf3869e7caa7a037e23078539467b433a4e01eebd93f77180ab927766/prompt_toolkit-3.0.43-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dd4fca02c8069497ad931a2d09914c6b0d1b50151ce876bc15bde4c747090126", - "url": "https://files.pythonhosted.org/packages/c5/64/c170e5b1913b540bf0c8ab7676b21fdd1d25b65ddeb10025c6ca43cccd4c/prompt_toolkit-1.0.18.tar.gz" + "hash": "3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d", + "url": "https://files.pythonhosted.org/packages/cc/c6/25b6a3d5cd295304de1e32c9edbcf319a52e965b339629d37d42bb7126ca/prompt_toolkit-3.0.43.tar.gz" } ], "project_name": "prompt-toolkit", "requires_dists": [ - "six>=1.9.0", "wcwidth" ], - "requires_python": null, - "version": "1.0.18" + "requires_python": ">=3.7.0", + "version": "3.0.43" }, { "artifacts": [ @@ -3827,24 +3870,6 @@ "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", "version": "2.9.0.post0" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "1bf6e860a8ad52a14c3ee1252d5dc25b2030618ed80c022598f00176adc8367d", - "url": "https://files.pythonhosted.org/packages/c6/d3/201fc3abe391bbae6606e6f1d598c15d367033332bd54352b12f35513717/python_editor-1.0.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "51fda6bcc5ddbbb7063b2af7509e43bd84bfc32a4ff71349ec7847713882327b", - "url": "https://files.pythonhosted.org/packages/0a/85/78f4a216d28343a67b7397c99825cff336330893f00601443f7c7b2f2234/python-editor-1.0.4.tar.gz" - } - ], - "project_name": "python-editor", - "requires_dists": [], - "requires_python": null, - "version": "1.0.4" - }, { "artifacts": [ { @@ -4222,6 +4247,26 @@ "requires_python": null, "version": "1.3.4" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", + "url": "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", + "url": "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" + } + ], + "project_name": "rfc3986", + "requires_dists": [ + "idna; extra == \"idna2008\"" + ], + "requires_python": ">=3.7", + "version": "2.0.0" + }, { "artifacts": [ { @@ -4420,6 +4465,26 @@ "requires_python": ">=3.6", "version": "0.2.8" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "0980dcbc25aba1505f307ac4f0e9e92cbd0be2a15a1e983ee86c24c87b839dfd", + "url": "https://files.pythonhosted.org/packages/86/d6/17caf2e4af1dec288477a0cbbe4a96fbc9b8a28457dce3f1f452630ce216/runs-1.2.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "9dc1815e2895cfb3a48317b173b9f1eac9ba5549b36a847b5cc60c3bf82ecef1", + "url": "https://files.pythonhosted.org/packages/26/6d/b9aace390f62db5d7d2c77eafce3d42774f27f1829d24fa9b6f598b3ef71/runs-1.2.2.tar.gz" + } + ], + "project_name": "runs", + "requires_dists": [ + "xmod" + ], + "requires_python": ">=3.8", + "version": "1.2.2" + }, { "artifacts": [ { @@ -5798,6 +5863,24 @@ "requires_python": ">=3.4", "version": "0.13.0" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "a24e9458a4853489042522bdca9e50ee2eac5ab75c809a91150a8a7f40670d48", + "url": "https://files.pythonhosted.org/packages/33/6b/0dc75b64a764ea1cb8e4c32d1fb273c147304d4e5483cd58be482dc62e45/xmod-1.8.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377", + "url": "https://files.pythonhosted.org/packages/72/b2/e3edc608823348e628a919e1d7129e641997afadd946febdd704aecc5881/xmod-1.8.1.tar.gz" + } + ], + "project_name": "xmod", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "1.8.1" + }, { "artifacts": [ { @@ -6049,7 +6132,8 @@ "beautifulsoup4", "ciso8601", "cryptography", - "eventlet<0.31", + "editor", + "eventlet", "flask", "flex", "gitdb", @@ -6072,13 +6156,13 @@ "nose-timer", "orjson", "orquesta", - "oslo.config<1.13,>=1.12.1", + "oslo.config", "paramiko", "pika", "pip", "prance", "prettytable", - "prompt-toolkit<2", + "prompt-toolkit", "psutil", "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", "pymongo<3.13.0,>=3.11.0", @@ -6086,7 +6170,6 @@ "pysocks", "pytest", "python-dateutil", - "python-editor", "python-json-logger", "python-statsd", "pytz", diff --git a/requirements-pants.txt b/requirements-pants.txt index a418379142..1131867209 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -10,8 +10,7 @@ apscheduler argcomplete ciso8601 cryptography -# eventlet 0.31+ and gunicorn 20.1.0 are not compatible -eventlet<0.31 +eventlet # flex parses the openapi 2 spec in our router flex # gitpython & gitdb are used for pack management @@ -33,9 +32,9 @@ mongoengine>=0.21.0,<0.24.0 networkx orjson orquesta @ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -# NOTE: Recent version substantially affect the performance and add big import time overhead -# See https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 for details -oslo.config>=1.12.1,<1.13 +# 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 @@ -43,8 +42,7 @@ pip # prance needs flex, but do not use the extra as that gets an old version. prance prettytable -# For st2client: prompt-toolkit v2+ does not have prompt_toolkit.token.Token -prompt-toolkit<2 +prompt-toolkit psutil # pymongo 3.13 has backports of APIs from pymongo 4 to help w/ migration pymongo>=3.11.0,<3.13.0 @@ -52,7 +50,7 @@ pymongo>=3.11.0,<3.13.0 pyrabbit pytest python-dateutil -python-editor +editor # pythonjsonlogger referenced in st2actions/conf/logging.conf python-json-logger python-statsd diff --git a/requirements.txt b/requirements.txt index afd375b3a4..7dd6918c98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ # update the component requirements.txt MarkupSafe<2.1.0,>=0.23 RandomWords -amqp==5.0.6 +amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 argcomplete==1.12.3 bcrypt==3.2.0 @@ -18,7 +18,7 @@ cryptography==39.0.1 decorator==4.4.2 dnspython==2.6.1 editor==1.6.6 -eventlet==0.33.3 +eventlet==0.35.2 flex==6.14.1 gitdb==4.0.2 gitpython<=3.1.37 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 0508ffa917..16bd06855f 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -8,7 +8,7 @@ MarkupSafe<2.1.0,>=0.23 apscheduler==3.7.0 chardet<3.1.0 -eventlet==0.33.3 +eventlet==0.35.2 gitpython<=3.1.37 jinja2==2.11.3 kombu==5.3.5 diff --git a/st2api/requirements.txt b/st2api/requirements.txt index 5184a6155c..b4042873ca 100644 --- a/st2api/requirements.txt +++ b/st2api/requirements.txt @@ -5,7 +5,7 @@ # 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 -eventlet==0.33.3 +eventlet==0.35.2 gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.3.5 diff --git a/st2auth/requirements.txt b/st2auth/requirements.txt index 08564f329b..9c1d77ee8a 100644 --- a/st2auth/requirements.txt +++ b/st2auth/requirements.txt @@ -6,7 +6,7 @@ # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt bcrypt==3.2.0 -eventlet==0.33.3 +eventlet==0.35.2 gunicorn==21.2.0 oslo.config==9.4.0 passlib==1.7.4 diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index afecdee6c5..64a2358774 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 @@ -680,6 +681,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) + @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/requirements.txt b/st2common/requirements.txt index a1f5dc1948..5f03ca768f 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -6,7 +6,7 @@ # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt MarkupSafe<2.1.0,>=0.23 -amqp==5.0.6 +amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 cffi<1.15.0 chardet<3.1.0 @@ -14,7 +14,7 @@ ciso8601 cryptography==39.0.1 decorator==4.4.2 dnspython==2.6.1 -eventlet==0.33.3 +eventlet==0.35.2 flex==6.14.1 gitdb==4.0.2 gitpython<=3.1.37 diff --git a/st2reactor/requirements.txt b/st2reactor/requirements.txt index 66c0716ed9..36d6a43145 100644 --- a/st2reactor/requirements.txt +++ b/st2reactor/requirements.txt @@ -6,7 +6,7 @@ # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt apscheduler==3.7.0 -eventlet==0.33.3 +eventlet==0.35.2 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.5 diff --git a/st2stream/requirements.txt b/st2stream/requirements.txt index 372349c952..c67ab39b26 100644 --- a/st2stream/requirements.txt +++ b/st2stream/requirements.txt @@ -5,7 +5,7 @@ # 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 -eventlet==0.33.3 +eventlet==0.35.2 gunicorn==21.2.0 jsonschema==3.2.0 kombu==5.3.5 From 991340690f188d652511a7d48df573f5c1c00e78 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 08:53:24 +0100 Subject: [PATCH 025/110] Remove editor.EditorError since editor defaults to output redirection when binary not found. --- st2client/st2client/commands/pack.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/st2client/st2client/commands/pack.py b/st2client/st2client/commands/pack.py index fe553c1437..a090b6628c 100644 --- a/st2client/st2client/commands/pack.py +++ b/st2client/st2client/commands/pack.py @@ -540,12 +540,9 @@ def run(self, args, **kwargs): message, {"default": "y", "description": description} ) if preview_dialog.read() == "y": - try: - contents = yaml.safe_dump(config, indent=4, default_flow_style=False) - modified = editor.editor(text=contents) - config = yaml.safe_load(modified) - except editor.EditorError as e: - print(six.text_type(e)) + contents = yaml.safe_dump(config, indent=4, default_flow_style=False) + modified = editor.editor(text=contents) + config = yaml.safe_load(modified) message = "---\nDo you want me to save it?" save_dialog = interactive.Question(message, {"default": "y"}) From c5b194349650981bd0a4d2b1a034506a4187b9dc Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 09:50:58 +0100 Subject: [PATCH 026/110] Update pygment to be included in st2client and bump argcomplete to support py3.10 --- fixed-requirements.txt | 6 ++++-- requirements-pants.txt | 1 + requirements.txt | 2 +- st2client/requirements.txt | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 47fdce442c..7ca828bd1e 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -51,6 +51,8 @@ zstandard==0.15.2 pyOpenSSL==23.1.0 # 202403: switch from python-editor to editor for py3.10 support editor==1.6.6 +# editor dependency, required here for inclusion in st2client setup.py +Pygments==2.5.2 python-keyczar==0.716 pytz==2021.1 pywinrm==0.4.1 @@ -62,8 +64,8 @@ routes==2.4.1 semver==2.13.0 six==1.13.0 argparse==1.12.2 -# Note: argcomplete 1.12.3 supports importlib-metadata<5 -argcomplete==1.12.3 +# 202403: Bumped to latest for py3.10 support +argcomplete==3.2.3 prettytable==2.1.0 # Note: installs importlib-metadata==4.10.1 (security fixed) under py3.8 and importlib-metadata==4.8.3 (latest available, vulnerable) under py3.6 # TODO: Pin to 4.10.1 or higher after dropping python3.6 support diff --git a/requirements-pants.txt b/requirements-pants.txt index 1131867209..bfc8e6b6ef 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -51,6 +51,7 @@ pyrabbit pytest python-dateutil editor +Pygments # pythonjsonlogger referenced in st2actions/conf/logging.conf python-json-logger python-statsd diff --git a/requirements.txt b/requirements.txt index 7dd6918c98..e1f9057f62 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ MarkupSafe<2.1.0,>=0.23 RandomWords amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 -argcomplete==1.12.3 +argcomplete==3.2.3 bcrypt==3.2.0 cffi<1.15.0 chardet<3.1.0 diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 240b782ea8..7466d08607 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -5,7 +5,7 @@ # 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 -argcomplete==1.12.3 +argcomplete==3.2.3 cffi<1.15.0 chardet<3.1.0 cryptography==39.0.1 From 45c256ac05caa2daa0765604429dfdccc7b6065b Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 11:05:47 +0100 Subject: [PATCH 027/110] Update pants lockfile to include Pygment --- lockfiles/st2.lock | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index aa3f2d5d3d..058517ffc7 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -10,6 +10,7 @@ // ], // "generated_with_requirements": [ // "PyYAML", +// "Pygments", // "RandomWords", // "apscheduler", // "argcomplete", @@ -3336,6 +3337,27 @@ "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", "version": "2.21" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", + "url": "https://files.pythonhosted.org/packages/97/9c/372fef8377a6e340b1704768d20daaded98bf13282b5327beb2e2fe2c7ef/pygments-2.17.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367", + "url": "https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz" + } + ], + "project_name": "pygments", + "requires_dists": [ + "colorama>=0.4.6; extra == \"windows-terminal\"", + "importlib-metadata; python_version < \"3.8\" and extra == \"plugins\"" + ], + "requires_python": ">=3.7", + "version": "2.17.2" + }, { "artifacts": [ { @@ -6126,6 +6148,7 @@ "prefer_older_binary": false, "requirements": [ "PyYAML", + "Pygments", "RandomWords", "apscheduler", "argcomplete", From c574b29983885c5b1fb93c1ec9ad10406c1d53b0 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 11:54:47 +0100 Subject: [PATCH 028/110] Fix for DeprecationWarning: This method will be removed in Python 3.12. Use 'parser.read_file()' instead. --- st2client/st2client/config_parser.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/st2client/st2client/config_parser.py b/st2client/st2client/config_parser.py index 6eb1813324..da181425c2 100644 --- a/st2client/st2client/config_parser.py +++ b/st2client/st2client/config_parser.py @@ -137,8 +137,7 @@ def parse(self): config = ConfigParser() with io.open(self.config_file_path, "r", encoding="utf8") as fp: - config.readfp(fp) - + config.read_file(fp) for section, keys in six.iteritems(CONFIG_FILE_OPTIONS): for key, options in six.iteritems(keys): key_type = options["type"] From 9f7279767ad88738682d9fda953f1c125bf46086 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 11:55:26 +0100 Subject: [PATCH 029/110] Skip test_warn_on_bad_config_permissions when run as root user. --- st2client/tests/unit/test_config_parser.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/st2client/tests/unit/test_config_parser.py b/st2client/tests/unit/test_config_parser.py index 39d5a48473..2c04113128 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,6 +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) + @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) From 861af2fcb2ec819a18ee28a1657f3074840d4e0e Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 13:46:11 +0100 Subject: [PATCH 030/110] Skip test_get_cached_auth_token_invalid_permissions if run as root --- st2client/tests/unit/test_shell.py | 1 + 1 file changed, 1 insertion(+) diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index 64a2358774..d90ed5db3f 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -618,6 +618,7 @@ def _write_mock_config(self): with open(self._mock_config_path, "w") as fp: fp.write(MOCK_CONFIG) + @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() From 999aa4f7fa75255c467c9c5a3842f01ff9786787 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 14:50:46 +0100 Subject: [PATCH 031/110] Test for alternative argparse text on py3.10 for test_help_command_line_arg_works_for_supported_commands --- st2client/tests/unit/test_commands.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index 929a327e98..b5814ebf54 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -14,11 +14,13 @@ # limitations under the License. from __future__ import absolute_import + import os import mock import json import logging import argparse +import re import tempfile import unittest from collections import namedtuple @@ -490,8 +492,9 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn("usage:", stdout) self.assertIn(" ".join(command), stdout) - # self.assertIn('positional arguments:', stdout) - self.assertIn("optional arguments:", stdout) + # argparse on py3.8/py3.9 has a different output to py3.10 so the check for + # optional arguments covers both formats. + assert isinstance(re.search("(optional arguments:|options:)", stdout), re.Match) is True # Reset stdout and stderr after each iteration self._reset_output_streams() @@ -510,8 +513,10 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn("usage:", stdout) self.assertIn(" ".join(command), stdout) - # self.assertIn('positional arguments:', stdout) - self.assertIn("optional arguments:", stdout) + # argparse on py3.8/py3.9 has a different output to py3.10 so the check for + # optional arguments covers both formats. + assert isinstance(re.search("(optional arguments:|options:)", stdout), re.Match) is True + # Verify that the actual help usage string was triggered and not the invalid # "too few arguments" which would indicate command doesn't actually correctly handle From bcc74d8c87fca16a3a4059b4db48280957f7be96 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 22:38:17 +0100 Subject: [PATCH 032/110] Bump semver for py3.10 and fix DeprecationWarning: Function semver.match is deprecated and other semver warnings --- fixed-requirements.txt | 2 +- requirements.txt | 2 +- st2common/requirements.txt | 2 +- .../st2common/expressions/functions/version.py | 18 +++++++++--------- st2common/st2common/util/versioning.py | 4 ++-- .../actions/workflows/__init__.py | 0 6 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 st2tests/st2tests/fixtures/packs/dummy_pack_23/actions/workflows/__init__.py diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 7ca828bd1e..038a925614 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -61,7 +61,7 @@ redis==4.1.4 requests[security]==2.25.1 retrying==1.3.3 routes==2.4.1 -semver==2.13.0 +semver==3.0.2 six==1.13.0 argparse==1.12.2 # 202403: Bumped to latest for py3.10 support diff --git a/requirements.txt b/requirements.txt index e1f9057f62..552df25e6b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -63,7 +63,7 @@ rednose requests[security]==2.25.1 retrying==1.3.3 routes==2.4.1 -semver==2.13.0 +semver==3.0.2 simplejson six==1.13.0 sseclient-py==1.7 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 5f03ca768f..d866ad19e5 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -39,7 +39,7 @@ redis==4.1.4 requests[security]==2.25.1 retrying==1.3.3 routes==2.4.1 -semver==2.13.0 +semver==3.0.2 six==1.13.0 st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master tenacity>=3.2.1,<7.0.0 diff --git a/st2common/st2common/expressions/functions/version.py b/st2common/st2common/expressions/functions/version.py index 825d5965e3..bf61c32e80 100644 --- a/st2common/st2common/expressions/functions/version.py +++ b/st2common/st2common/expressions/functions/version.py @@ -28,36 +28,36 @@ def version_compare(value, pattern): - return semver.compare(value, pattern) + return semver.Version.parse(value).compare(pattern) def version_more_than(value, pattern): - return semver.compare(value, pattern) == 1 + return version_compare(value, pattern) == 1 def version_less_than(value, pattern): - return semver.compare(value, pattern) == -1 + return version_compare(value, pattern) == -1 def version_equal(value, pattern): - return semver.compare(value, pattern) == 0 + return version_compare(value, pattern) == 0 def version_match(value, pattern): - return semver.match(value, pattern) + return semver.Version.parse(value).match(pattern) def version_bump_major(value): - return semver.bump_major(value) + return str(semver.Version.parse(value).bump_major()) def version_bump_minor(value): - return semver.bump_minor(value) + return str(semver.Version.parse(value).bump_minor()) def version_bump_patch(value): - return semver.bump_patch(value) + return str(semver.Version.parse(value).bump_patch()) def version_strip_patch(value): - return "{major}.{minor}".format(**semver.parse(value)) + return "{major}.{minor}".format(**semver.Version.parse(value)) diff --git a/st2common/st2common/util/versioning.py b/st2common/st2common/util/versioning.py index 89da24f174..d280587a1d 100644 --- a/st2common/st2common/util/versioning.py +++ b/st2common/st2common/util/versioning.py @@ -65,7 +65,7 @@ def complex_semver_match(version, version_specifier): if len(split_version_specifier) == 1: # No comma, we can do a simple comparision - return semver.match(version, version_specifier) + return semver.Version.parse(version).match(version_specifier) else: # Compare part by part for version_specifier_part in split_version_specifier: @@ -74,7 +74,7 @@ def complex_semver_match(version, version_specifier): if not version_specifier_part: continue - if not semver.match(version, version_specifier_part): + if not semver.Version.parse(version).match(version_specifier_part): return False return True diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_23/actions/workflows/__init__.py b/st2tests/st2tests/fixtures/packs/dummy_pack_23/actions/workflows/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 From 6aaaaafdbe836811d0b6f4fa19484b1461402e6a Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 14 Mar 2024 23:19:04 +0100 Subject: [PATCH 033/110] Fix semver patch strip function and replace deprecated self.assertItemsEqual with assert. --- st2client/tests/unit/test_commands.py | 1 - st2common/st2common/expressions/functions/version.py | 3 ++- st2common/tests/unit/test_greenpooldispatch.py | 4 ++-- st2common/tests/unit/test_model_utils_profiling.py | 2 +- st2common/tests/unit/test_util_file_system.py | 12 +++++++++--- st2reactor/tests/unit/test_timer.py | 9 +++++---- 6 files changed, 19 insertions(+), 12 deletions(-) diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index b5814ebf54..cae04c2e27 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -517,7 +517,6 @@ def test_help_command_line_arg_works_for_supported_commands(self): # optional arguments covers both formats. assert isinstance(re.search("(optional arguments:|options:)", stdout), re.Match) is True - # Verify that the actual help usage string was triggered and not the invalid # "too few arguments" which would indicate command doesn't actually correctly handle # --help flag diff --git a/st2common/st2common/expressions/functions/version.py b/st2common/st2common/expressions/functions/version.py index bf61c32e80..796d9289f3 100644 --- a/st2common/st2common/expressions/functions/version.py +++ b/st2common/st2common/expressions/functions/version.py @@ -60,4 +60,5 @@ def version_bump_patch(value): def version_strip_patch(value): - return "{major}.{minor}".format(**semver.Version.parse(value)) + sv = semver.Version.parse(value) + return f"{sv.major}.{sv.minor}" diff --git a/st2common/tests/unit/test_greenpooldispatch.py b/st2common/tests/unit/test_greenpooldispatch.py index 4208c348b2..f77ae2937e 100644 --- a/st2common/tests/unit/test_greenpooldispatch.py +++ b/st2common/tests/unit/test_greenpooldispatch.py @@ -36,7 +36,7 @@ def test_dispatch_simple(self): call_args_list = [ (args[0][0], args[0][1]) for args in mock_handler.call_args_list ] - self.assertItemsEqual(expected, call_args_list) + assert expected == call_args_list def test_dispatch_starved(self): dispatcher = BufferedDispatcher( @@ -55,4 +55,4 @@ def test_dispatch_starved(self): call_args_list = [ (args[0][0], args[0][1]) for args in mock_handler.call_args_list ] - self.assertItemsEqual(expected, call_args_list) + assert expected == call_args_list diff --git a/st2common/tests/unit/test_model_utils_profiling.py b/st2common/tests/unit/test_model_utils_profiling.py index db37039c80..bbdeee8c22 100644 --- a/st2common/tests/unit/test_model_utils_profiling.py +++ b/st2common/tests/unit/test_model_utils_profiling.py @@ -37,7 +37,7 @@ def test_logging_profiling_is_disabled(self, mock_log): result = log_query_and_profile_data_for_queryset(queryset=queryset) self.assertEqual(queryset, result) call_args_list = mock_log.debug.call_args_list - self.assertItemsEqual(call_args_list, []) + assert call_args_list == [] @mock.patch("st2common.models.utils.profiling.LOG") def test_logging_profiling_is_enabled(self, mock_log): diff --git a/st2common/tests/unit/test_util_file_system.py b/st2common/tests/unit/test_util_file_system.py index 0dceb142a5..fa579329ae 100644 --- a/st2common/tests/unit/test_util_file_system.py +++ b/st2common/tests/unit/test_util_file_system.py @@ -39,8 +39,11 @@ def test_get_file_list(self): "meta/concurrency.yaml", "meta/__init__.py", ] - result = get_file_list(directory=directory, exclude_patterns=["*.pyc"]) - self.assertItemsEqual(expected, result) + result = get_file_list(directory=directory, exclude_patterns=["*.pyc", "__pycache__"]) + # directory listings are sorted because the item order must be exact for assert + # to validate equivalence. Directory item order doesn't matter in general and may + # even change on different platforms or locales. + assert sorted(expected) == sorted(result) # Custom exclude pattern expected = [ @@ -52,4 +55,7 @@ def test_get_file_list(self): result = get_file_list( directory=directory, exclude_patterns=["*.pyc", "*.yaml", "*BUILD"] ) - self.assertItemsEqual(expected, result) + # directory listings are sorted because the item order must be exact for assert + # to validate equivalence. Directory item order doesn't matter in general and may + # even change on different platforms or locales. + assert sorted(expected) == sorted(result) diff --git a/st2reactor/tests/unit/test_timer.py b/st2reactor/tests/unit/test_timer.py index f4311d18d8..9ec00be5ec 100644 --- a/st2reactor/tests/unit/test_timer.py +++ b/st2reactor/tests/unit/test_timer.py @@ -31,8 +31,9 @@ def test_trigger_types_are_registered_on_start(self): timer = St2Timer() timer._scheduler = mock.Mock() - # Verify there are no TriggerType in the db when we start - self.assertItemsEqual(TriggerType.get_all(), []) + # Verify there are no TriggerType objects in the db when we start + # and cast Mongo QuerySet iterator cast to list for evaluation. + assert list(TriggerType.get_all()) == [] timer.start() @@ -55,8 +56,8 @@ def test_existing_rules_are_loaded_on_start(self): timer._trigger_watcher.run = mock.Mock() # Verify there are no Trigger and TriggerType in the db wh:w - self.assertItemsEqual(Trigger.get_all(), []) - self.assertItemsEqual(TriggerType.get_all(), []) + assert list(Trigger.get_all()) == [] + assert list(TriggerType.get_all()) == [] # Add a dummy timer Trigger object type_ = list(TIMER_TRIGGER_TYPES.keys())[0] From 2368557c0239522ad13ed78f66a1184b49daab2f Mon Sep 17 00:00:00 2001 From: Carlos Date: Mon, 18 Mar 2024 23:12:03 +0100 Subject: [PATCH 034/110] Removed test for application_headers when no compression enabled. --- st2common/st2common/transport/publishers.py | 6 +++--- st2common/tests/unit/test_transport.py | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/st2common/st2common/transport/publishers.py b/st2common/st2common/transport/publishers.py index ddf5d2f8c9..73596ed70e 100644 --- a/st2common/st2common/transport/publishers.py +++ b/st2common/st2common/transport/publishers.py @@ -43,8 +43,8 @@ class PoolPublisher(object): def __init__(self, urls=None): """ - :param urls: Connection URLs to use. If not provided it uses a default value from th - config. + :param urls: Connection URLs to use. If not provided it uses a default value from + the config. :type urls: ``list`` """ urls = urls or transport_utils.get_messaging_urls() @@ -67,7 +67,7 @@ def publish(self, payload, exchange, routing_key="", compression=None): ) def do_publish(connection, channel): - # ProducerPool ends up creating it own ConnectionPool which ends up + # ProducerPool ends up creating its own ConnectionPool which ends up # completely invalidating this ConnectionPool. Also, a ConnectionPool for # producer does not really solve any problems for us so better to create a # Producer for each publish. 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 From 33af575aa14a4c83d00c9ca89517ba5657108f7e Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 19 Mar 2024 09:01:42 +0100 Subject: [PATCH 035/110] Fix bash syntax error in test_pause_resume_with_error --- .../actions/chains/test_pause_resume_with_error.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/st2tests/st2tests/fixtures/packs/action_chain_tests/actions/chains/test_pause_resume_with_error.yaml b/st2tests/st2tests/fixtures/packs/action_chain_tests/actions/chains/test_pause_resume_with_error.yaml index a4d46be55e..c214aa3c30 100644 --- a/st2tests/st2tests/fixtures/packs/action_chain_tests/actions/chains/test_pause_resume_with_error.yaml +++ b/st2tests/st2tests/fixtures/packs/action_chain_tests/actions/chains/test_pause_resume_with_error.yaml @@ -3,7 +3,12 @@ chain: name: task1 ref: core.local params: - cmd: "while [ -e '{{tempfile}}' ]; do sleep 0.1; exit 1" + cmd: | + while [ -e '{{tempfile}}' ]; + do + sleep 0.1 + done + exit 1 timeout: 180 on-failure: task2 - From c2d9d01b2573fdb51924db472ab07222bbff0006 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 19 Mar 2024 09:19:47 +0100 Subject: [PATCH 036/110] Bump Jinja2 + MarkupSafe to support py3.10 --- fixed-requirements.txt | 7 ++++--- requirements.txt | 2 +- st2actions/requirements.txt | 2 +- st2common/requirements.txt | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 038a925614..f9387e51da 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -24,8 +24,9 @@ jsonschema==3.2.0 kombu==5.3.5 lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode -# >=0.23 was from jinja2 -MarkupSafe<2.1.0,>=0.23 +# 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support +Jinja2==3.1.3 +MarkupSafe==2.1.5 # mongoengine 0.24.0 has breaking changes to support pymongo 4.0 mongoengine>=0.21.0,<0.24.0 # required by orquesta (networkx<2.6 for py3.6, networkx<3 for py3.8) @@ -34,7 +35,7 @@ networkx<3 # but the wheel on pypi does not say it supports python3.8, so pip gets # confused. For now, pin decorator to work around pip's confusion. decorator==4.4.2 -# Use latest (Mar 2024) oslo config for py3.10 support. +# 202403: Bump oslo.config for py3.10 support. oslo.config==9.4.0 oslo.utils==7.1.0 # paramiko 2.11.0 is needed by cryptography > 37.0.0 diff --git a/requirements.txt b/requirements.txt index 552df25e6b..5eb26d8ebc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ # 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.1.0,>=0.23 +MarkupSafe==2.1.5 RandomWords amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 16bd06855f..4495c5f4b7 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -5,7 +5,7 @@ # 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.1.0,>=0.23 +MarkupSafe==2.1.5 apscheduler==3.7.0 chardet<3.1.0 eventlet==0.35.2 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index d866ad19e5..ad1e7b1f09 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -5,7 +5,7 @@ # 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.1.0,>=0.23 +MarkupSafe==2.1.5 amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 cffi<1.15.0 From 2998a0d28a51a21d064352b53757962cce499d35 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 19 Mar 2024 10:55:54 +0100 Subject: [PATCH 037/110] Pytest compatibility - Add stub test files for local/remote runners to prevent pytest failed with error code 5. --- contrib/runners/local_runner/tests/unit/test_local_runner.py | 5 +++++ .../runners/remote_runner/tests/unit/test_remote_runner.py | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 contrib/runners/local_runner/tests/unit/test_local_runner.py create mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner.py 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..9e4f799fa7 --- /dev/null +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -0,0 +1,5 @@ +import pytest + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass 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..9e4f799fa7 --- /dev/null +++ b/contrib/runners/remote_runner/tests/unit/test_remote_runner.py @@ -0,0 +1,5 @@ +import pytest + +@pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") +def test_todo(): + pass From 02b7bebd5e6144d4b644521d0eb0f941436f0245 Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 21 Mar 2024 01:03:56 +0100 Subject: [PATCH 038/110] Port fixed-requirements constraints to pants and regenerate lockfiles. --- contrib/runners/local_runner/tests/unit/BUILD | 4 + .../tests/unit/test_local_runner.py | 15 + .../runners/remote_runner/tests/unit/BUILD | 4 + .../tests/unit/test_remote_runner.py | 15 + fixed-requirements.txt | 2 - lockfiles/pants-plugins.lock | 10 +- lockfiles/pylint.lock | 233 +- lockfiles/pytest.lock | 127 +- lockfiles/st2-constraints.txt | 10 +- lockfiles/st2.lock | 2186 ++--------------- lockfiles/twine.lock | 31 +- pants-plugins/BUILD | 2 +- pants.toml | 42 +- pylint_plugins/BUILD | 2 +- pylint_plugins/api_models.py | 7 +- pylint_plugins/api_models_test.py | 2 +- pylint_plugins/db_models.py | 3 +- pyproject.toml | 2 +- requirements-pants.txt | 29 +- st2client/tests/unit/test_commands.py | 14 +- st2common/tests/unit/test_util_file_system.py | 4 +- 21 files changed, 455 insertions(+), 2289 deletions(-) diff --git a/contrib/runners/local_runner/tests/unit/BUILD b/contrib/runners/local_runner/tests/unit/BUILD index 59df096266..f4100df4b4 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD +++ b/contrib/runners/local_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): 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 index 9e4f799fa7..cda3b83408 100644 --- a/contrib/runners/local_runner/tests/unit/test_local_runner.py +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -1,5 +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 59df096266..f4100df4b4 100644 --- a/contrib/runners/remote_runner/tests/unit/BUILD +++ b/contrib/runners/remote_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): 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 index 9e4f799fa7..cda3b83408 100644 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner.py +++ b/contrib/runners/remote_runner/tests/unit/test_remote_runner.py @@ -1,5 +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 f9387e51da..4611a330bf 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -87,8 +87,6 @@ zake==0.2.2 bcrypt==3.2.0 jinja2==2.11.3 mock==4.0.3 -nose-timer==1.0.1 -nose-parallel==0.4.0 psutil==5.8.0 python-dateutil==2.8.1 python-statsd==2.1.0 diff --git a/lockfiles/pants-plugins.lock b/lockfiles/pants-plugins.lock index 1b546af542..704fb508c9 100644 --- a/lockfiles/pants-plugins.lock +++ b/lockfiles/pants-plugins.lock @@ -420,13 +420,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb", - "url": "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl" + "hash": "f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742", + "url": "https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db", - "url": "https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b/pyparsing-3.1.1.tar.gz" + "hash": "a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad", + "url": "https://files.pythonhosted.org/packages/46/3a/31fd28064d016a2182584d579e033ec95b809d8e220e74c4af6f0f2e8842/pyparsing-3.1.2.tar.gz" } ], "project_name": "pyparsing", @@ -435,7 +435,7 @@ "railroad-diagrams; extra == \"diagrams\"" ], "requires_python": ">=3.6.8", - "version": "3.1.1" + "version": "3.1.2" }, { "artifacts": [ diff --git a/lockfiles/pylint.lock b/lockfiles/pylint.lock index 8f95b43f13..70d9eda326 100644 --- a/lockfiles/pylint.lock +++ b/lockfiles/pylint.lock @@ -10,7 +10,7 @@ // ], // "generated_with_requirements": [ // "astroid", -// "pylint~=2.8.2", +// "pylint>=2.8.2", // "setuptools" // ], // "manylinux": "manylinux2014", @@ -33,23 +33,42 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4db03ab5fc3340cf619dbc25e42c2cc3755154ce6009469766d7143d1fc2ee4e", - "url": "https://files.pythonhosted.org/packages/f8/82/a61df6c2d68f3ae3ad1afa0d2e5ba5cfb7386eb80cffb453def7c5757271/astroid-2.5.6-py3-none-any.whl" + "hash": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", + "url": "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975", - "url": "https://files.pythonhosted.org/packages/bc/72/51d6389690b30adf1ad69993923f81b71b2110b16e02fd0afd378e30c43c/astroid-2.5.6.tar.gz" + "hash": "ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4", + "url": "https://files.pythonhosted.org/packages/a9/b9/f11533eed9b65606fb02f1b0994d8ed0903358bc55a6b9759e42f1134725/astroid-3.1.0.tar.gz" } ], "project_name": "astroid", "requires_dists": [ - "lazy-object-proxy>=1.4.0", - "typed-ast<1.5,>=1.4.0; implementation_name == \"cpython\" and python_version < \"3.8\"", - "wrapt<1.13,>=1.11" + "typing-extensions>=4.0.0; python_version < \"3.11\"" ], - "requires_python": "~=3.6", - "version": "2.5.6" + "requires_python": ">=3.8.0", + "version": "3.1.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", + "url": "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", + "url": "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578692a5118e7cd1aa157e3ef73b092d15/dill-0.3.8.tar.gz" + } + ], + "project_name": "dill", + "requires_dists": [ + "gprof2dot>=2022.7.29; extra == \"profile\"", + "objgraph>=1.7.2; extra == \"graph\"" + ], + "requires_python": ">=3.8", + "version": "0.3.8" }, { "artifacts": [ @@ -75,136 +94,79 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d", - "url": "https://files.pythonhosted.org/packages/31/8b/94dc8d58704ab87b39faed6f2fc0090b9d90e2e2aa2bbec35c79f3d2a054/lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b", - "url": "https://files.pythonhosted.org/packages/20/44/7d3b51ada1ddf873b136e2fa1d68bf3ee7b406b0bd9eeb97445932e2bfe1/lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69", - "url": "https://files.pythonhosted.org/packages/2c/f0/f02e2d150d581a294efded4020094a371bbab42423fe78625ac18854d89b/lazy-object-proxy-1.10.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3", - "url": "https://files.pythonhosted.org/packages/4a/0d/b325461e43dde8d7644e9b9e9dd57f2a4af472b588c51ccbc92778e60ea4/lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c", - "url": "https://files.pythonhosted.org/packages/77/18/b78391424f3e35147b0e4d280dda0320c29ee9930b908e42fbe7920b2492/lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83", - "url": "https://files.pythonhosted.org/packages/8b/9b/908e12e5fa265ea1579261ff80f7b2136fd2ba254bc7f4f7e3dba83fd0f2/lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05", - "url": "https://files.pythonhosted.org/packages/8b/fc/83711d743fb5aaca5747bbf225fe3b5cbe085c7f6c115856b5cce80f3224/lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977", - "url": "https://files.pythonhosted.org/packages/8d/42/a96d9d153f6ea38b925494cb9b42cf4a9f98fd30cad3124fc22e9d04ec34/lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895", - "url": "https://files.pythonhosted.org/packages/8d/b5/ea47215abd4da45791664d7bbfe2976ca0de2c37af38b5e9e6cf89e0e65e/lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658", - "url": "https://files.pythonhosted.org/packages/8e/ae/3e15cffacbdb64ac49930cdbc23cb0c67e1bb9e8a8ca7765fd8a8d2510c3/lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", + "url": "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757", - "url": "https://files.pythonhosted.org/packages/ab/be/d0a76dd4404ee68c7dd611c9b48e58b5c70ac5458e4c951b2c8923c24dd9/lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255", - "url": "https://files.pythonhosted.org/packages/b8/75/4669e1a7e7150e81ac27acc602ae61a37b4cc950c1ed3bd13b8d518bc026/lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94", - "url": "https://files.pythonhosted.org/packages/bc/2f/b9230d00c2eaa629e67cc69f285bf6b5692cb1d0179a1f8764edd451da86/lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a", - "url": "https://files.pythonhosted.org/packages/be/11/23bcc3a85c9df7326d332b29172eaa088a3ebecb2674f257de2599e36aeb/lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8", - "url": "https://files.pythonhosted.org/packages/c8/a2/c99adb712e6ec8387d608c73d5b7a4a459c1c7813f38ee869f605bdc3f38/lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424", - "url": "https://files.pythonhosted.org/packages/d4/f8/d2d0d5caadf41c2d1fc9044dfc0e10d2831fb4ab6a077e68d25ea5bbff3b/lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee", - "url": "https://files.pythonhosted.org/packages/f0/84/efe5dfb7c456bd3baa134dc2a4d7c891e7ce15a14c642cbfbcf50ff038ed/lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "url": "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz" } ], - "project_name": "lazy-object-proxy", + "project_name": "mccabe", "requires_dists": [], - "requires_python": ">=3.8", - "version": "1.10.0" + "requires_python": ">=3.6", + "version": "0.7.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "url": "https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl" + "hash": "0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068", + "url": "https://files.pythonhosted.org/packages/55/72/4898c44ee9ea6f43396fbc23d9bfaf3d06e01b83698bdf2e4c919deceb7c/platformdirs-4.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f", - "url": "https://files.pythonhosted.org/packages/06/18/fa675aa501e11d6d6ca0ae73a101b2f3571a565e0f7d38e062eec18a91ee/mccabe-0.6.1.tar.gz" + "hash": "ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768", + "url": "https://files.pythonhosted.org/packages/96/dc/c1d911bf5bb0fdc58cc05010e9f3efe3b67970cef779ba7fbc3183b987a8/platformdirs-4.2.0.tar.gz" } ], - "project_name": "mccabe", - "requires_dists": [], - "requires_python": null, - "version": "0.6.1" + "project_name": "platformdirs", + "requires_dists": [ + "appdirs==1.4.4; extra == \"test\"", + "covdefaults>=2.3; extra == \"test\"", + "furo>=2023.9.10; extra == \"docs\"", + "proselint>=0.13; extra == \"docs\"", + "pytest-cov>=4.1; extra == \"test\"", + "pytest-mock>=3.12; extra == \"test\"", + "pytest>=7.4.3; extra == \"test\"", + "sphinx-autodoc-typehints>=1.25.2; extra == \"docs\"", + "sphinx>=7.2.6; extra == \"docs\"" + ], + "requires_python": ">=3.8", + "version": "4.2.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "792b38ff30903884e4a9eab814ee3523731abd3c463f3ba48d7b627e87013484", - "url": "https://files.pythonhosted.org/packages/b2/97/a584ca733493cba7baca670800e615ced77c7b22e663e2eed6f68c931b87/pylint-2.8.3-py3-none-any.whl" + "hash": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", + "url": "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0a049c5d47b629d9070c3932d13bff482b12119b6a241a93bc460b0be16953c8", - "url": "https://files.pythonhosted.org/packages/18/a7/2bf9363ec428818abd27a64ec44c84b13bf1c10df01c402f08391aa1d07c/pylint-2.8.3.tar.gz" + "hash": "6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23", + "url": "https://files.pythonhosted.org/packages/35/1c/4a8135f77a4ec8c0a6dc1d4543dd6fee55b36bb8bf629e2bcce8a94763a9/pylint-3.1.0.tar.gz" } ], "project_name": "pylint", "requires_dists": [ - "astroid==2.5.6", - "colorama; sys_platform == \"win32\"", - "isort<6,>=4.2.5", - "mccabe<0.7,>=0.6", - "toml>=0.7.1" + "astroid<=3.2.0-dev0,>=3.1.0", + "colorama>=0.4.5; sys_platform == \"win32\"", + "dill>=0.2; python_version < \"3.11\"", + "dill>=0.3.6; python_version >= \"3.11\"", + "dill>=0.3.7; python_version >= \"3.12\"", + "gitpython>3; extra == \"testutils\"", + "isort!=5.13.0,<6,>=4.2.5", + "mccabe<0.8,>=0.6", + "platformdirs>=2.2.0", + "pyenchant~=3.2; extra == \"spelling\"", + "tomli>=1.1.0; python_version < \"3.11\"", + "tomlkit>=0.10.1", + "typing-extensions>=3.10.0; python_version < \"3.10\"" ], - "requires_python": "~=3.6", - "version": "2.8.3" + "requires_python": ">=3.8.0", + "version": "3.1.0" }, { "artifacts": [ @@ -277,32 +239,55 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", - "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" + "hash": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", + "url": "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz" + } + ], + "project_name": "tomli", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "2.0.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", + "url": "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", - "url": "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" + "hash": "7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3", + "url": "https://files.pythonhosted.org/packages/7d/49/4c0764898ee67618996148bdba4534a422c5e698b4dbf4001f7c6f930797/tomlkit-0.12.4.tar.gz" } ], - "project_name": "toml", + "project_name": "tomlkit", "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.6", - "version": "0.10.2" + "requires_python": ">=3.7", + "version": "0.12.4" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7", - "url": "https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797/wrapt-1.12.1.tar.gz" + "hash": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", + "url": "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.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" } ], - "project_name": "wrapt", + "project_name": "typing-extensions", "requires_dists": [], - "requires_python": null, - "version": "1.12.1" + "requires_python": ">=3.8", + "version": "4.10.0" } ], "platform_tag": null @@ -314,7 +299,7 @@ "prefer_older_binary": false, "requirements": [ "astroid", - "pylint~=2.8.2", + "pylint>=2.8.2", "setuptools" ], "requires_python": [ diff --git a/lockfiles/pytest.lock b/lockfiles/pytest.lock index bc65952284..2f94ac631d 100644 --- a/lockfiles/pytest.lock +++ b/lockfiles/pytest.lock @@ -77,133 +77,133 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "7cbde573904625509a3f37b6fecea974e363460b556a627c60dc2f47e2fffa51", - "url": "https://files.pythonhosted.org/packages/56/cc/7b355af846b024e845e7beb58d277088c5a27590975f96666229a4d7bb6d/coverage-7.4.3-pp38.pp39.pp310-none-any.whl" + "hash": "b2c5edc4ac10a7ef6605a966c58929ec6c1bd0917fb8c15cb3363f65aa40e677", + "url": "https://files.pythonhosted.org/packages/99/15/dbcb5d0a22bf5357cf456dfd16f9ceb89c54544d6201d53bc77c75077a8e/coverage-7.4.4-pp38.pp39.pp310-none-any.whl" }, { "algorithm": "sha256", - "hash": "16bae383a9cc5abab9bb05c10a3e5a52e0a788325dc9ba8499e821885928968c", - "url": "https://files.pythonhosted.org/packages/07/1a/29063d3d95535a4cf270afc52028d2fb0a83cac87b881307c0bfeb8f871a/coverage-7.4.3-cp38-cp38-musllinux_1_1_aarch64.whl" + "hash": "09fa497a8ab37784fbb20ab699c246053ac294d13fc7eb40ec007a5043ec91f8", + "url": "https://files.pythonhosted.org/packages/07/58/0e076ea3a59dbfb3e981577c4e5572b432345cedd921e83006a0215b9afe/coverage-7.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "fd6545d97c98a192c5ac995d21c894b581f1fd14cf389be90724d21808b657e2", - "url": "https://files.pythonhosted.org/packages/0f/de/406738f5d271f4feda82b1282a21b576373707234f14934ad6207837de79/coverage-7.4.3-cp310-cp310-musllinux_1_1_x86_64.whl" + "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" }, { "algorithm": "sha256", - "hash": "ba3a8aaed13770e970b3df46980cb068d1c24af1a1968b7818b69af8c4347efb", - "url": "https://files.pythonhosted.org/packages/23/0a/ab5b0f6d6b24f7156624e7697ec7ab49f9d5cdac922da90d9927ae5de1cf/coverage-7.4.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "ccd341521be3d1b3daeb41960ae94a5e87abe2f46f17224ba5d6f2b8398016cf", + "url": "https://files.pythonhosted.org/packages/10/1e/f676e1655d10bf59a6cb8de0601b7ea3c252c764782a3c2263f6d6bbcf28/coverage-7.4.4-cp310-cp310-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "4af154d617c875b52651dd8dd17a31270c495082f3d55f6128e7629658d63765", - "url": "https://files.pythonhosted.org/packages/3d/37/fa86779a6813e695b48fc696b3d12b4742cde51ecba8ffb55dd7363f9580/coverage-7.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "3b799445b9f7ee8bf299cfaed6f5b226c0037b74886a4e11515e569b36fe310d", + "url": "https://files.pythonhosted.org/packages/1a/15/ae47f23bfd557364e731ad2ed182331ba72e8c063b806ba317cd327e73cc/coverage-7.4.4-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ce8c50520f57ec57aa21a63ea4f325c7b657386b3f02ccaedeccf9ebe27686e1", - "url": "https://files.pythonhosted.org/packages/4c/22/a7c0955a0c9cdfbf9cb0950f78f32a6afc7006e93162ed2cc182fbed1167/coverage-7.4.3-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "cc4f1358cb0c78edef3ed237ef2c86056206bb8d9140e73b6b89fbcfcbdd40e1", + "url": "https://files.pythonhosted.org/packages/23/7c/9863790fb889101c35018ecb9e241cb4f900a77ef100491bb043bfa5976c/coverage-7.4.4-cp38-cp38-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "8580b827d4746d47294c0e0b92854c85a92c2227927433998f0d3320ae8a71b6", - "url": "https://files.pythonhosted.org/packages/50/5a/d727fcd2e0fc3aba61591b6f0fe1e87865ea9b6275f58f35810d6f85b05b/coverage-7.4.3-cp310-cp310-macosx_10_9_x86_64.whl" + "hash": "8130a2aa2acb8788e0b56938786c33c7c98562697bf9f4c7d6e8e5e3a0501e4a", + "url": "https://files.pythonhosted.org/packages/32/d4/60b1071c35bd3828590483ae0f8531f07b77d737e2c81dc51887c03bf890/coverage-7.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ae7f19afe0cce50039e2c782bff379c7e347cba335429678450b8fe81c4ef96d", - "url": "https://files.pythonhosted.org/packages/51/48/cbce7e8b56486e252864d68c35901d13502c1a9bceb2257f308cb9415cf3/coverage-7.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "e0be5efd5127542ef31f165de269f77560d6cdef525fffa446de6f7e9186cfb2", + "url": "https://files.pythonhosted.org/packages/45/f4/10bf725621aeec5cc2fa1bc73021f5ba1ac01bcbf2c7278d8d34e1df6457/coverage-7.4.4-cp310-cp310-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "77fbfc5720cceac9c200054b9fab50cb2a7d79660609200ab83f5db96162d20c", - "url": "https://files.pythonhosted.org/packages/66/f2/57f5d3c9d2e78c088e4c8dbc933b85fa81c424f23641f10c1aa64052ee4f/coverage-7.4.3-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "742a76a12aa45b44d236815d282b03cfb1de3b4323f3e4ec933acfae08e54ade", + "url": "https://files.pythonhosted.org/packages/4d/39/0cfdb5a4bde5843eead02c0f8bc43f8ab3129408cbec53f9ad4f11fc27cf/coverage-7.4.4-cp39-cp39-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "9a9babb9466fe1da12417a4aed923e90124a534736de6201794a3aea9d98484e", - "url": "https://files.pythonhosted.org/packages/74/19/e944886a3ef40f78110eb894d716d32aebdcf00248c6f0e7c5f63a000846/coverage-7.4.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "8ce1415194b4a6bd0cdcc3a1dfbf58b63f910dcb7330fe15bdff542c56949f87", + "url": "https://files.pythonhosted.org/packages/50/32/829d0e709fa699dc4e498fa77a561d25fc57954ba32466279952b98f0836/coverage-7.4.4-cp310-cp310-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "280459f0a03cecbe8800786cdc23067a8fc64c0bd51dc614008d9c36e1659d7e", - "url": "https://files.pythonhosted.org/packages/96/71/1c299b12e80d231e04a2bfd695e761fb779af7ab66f8bd3cb15649be82b3/coverage-7.4.3-cp38-cp38-macosx_11_0_arm64.whl" + "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" }, { "algorithm": "sha256", - "hash": "69b9f6f66c0af29642e73a520b6fed25ff9fd69a25975ebe6acb297234eda501", - "url": "https://files.pythonhosted.org/packages/9b/08/796cb089ce66da0453aed1b4a36be02c6e0e08207dd77d8bfd37cb1c6952/coverage-7.4.3-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "aa5b1c1bfc28384f1f53b69a023d789f72b2e0ab1b3787aae16992a7ca21056c", + "url": "https://files.pythonhosted.org/packages/60/6b/7ac6da198b2c22fc6ba53e479cc800ec230bc7a40c14ed62358d7f1c809f/coverage-7.4.4-cp38-cp38-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "767b35c3a246bcb55b8044fd3a43b8cd553dd1f9f2c1eeb87a302b1f8daa0524", - "url": "https://files.pythonhosted.org/packages/9e/48/5ae1ccf4601500af0ca36eba0a2c1f1796e58fb7495de6da55ed43e13e5f/coverage-7.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "b4d33f418f46362995f1e9d4f3a35a1b6322cb959c31d88ae56b0298e1c22357", + "url": "https://files.pythonhosted.org/packages/64/09/91be1d04914deea7dd0e2f3e94d925c23e9b81ce23b0da014f1ff07dd772/coverage-7.4.4-cp39-cp39-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "a78ed23b08e8ab524551f52953a8a05d61c3a760781762aac49f8de6eede8c45", - "url": "https://files.pythonhosted.org/packages/a1/94/5d5e02d0f94c6fc57aab0e2dc2b67f8147aa3f76c7ca80550183565d4cf7/coverage-7.4.3-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "d5ae728ff3b5401cc320d792866987e7e7e880e6ebd24433b70a33b643bb0384", + "url": "https://files.pythonhosted.org/packages/6f/ab/95a048c3acda69c9e4a40b3ae57f06c45b30c5d9401e6dc7246e9de83306/coverage-7.4.4-cp38-cp38-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "718187eeb9849fc6cc23e0d9b092bc2348821c5e1a901c9f8975df0bc785bfd4", - "url": "https://files.pythonhosted.org/packages/a3/36/b5ae380c05f58544a40ff36f87fa1d6e45f5c2f299335586aac140c341ce/coverage-7.4.3-cp310-cp310-macosx_11_0_arm64.whl" + "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" }, { "algorithm": "sha256", - "hash": "506edb1dd49e13a2d4cac6a5173317b82a23c9d6e8df63efb4f0380de0fbccbc", - "url": "https://files.pythonhosted.org/packages/a5/7b/eb4a04ac91ee6b0402a1c752fc33dfbcddfb19368ebfaf7a9bf0714f55f2/coverage-7.4.3-cp310-cp310-musllinux_1_1_i686.whl" + "hash": "c74880fc64d4958159fbd537a091d2a585448a8f8508bf248d72112723974cbd", + "url": "https://files.pythonhosted.org/packages/7c/a2/9302717d181eeaac738941b2a58e6bd776ef665db24f41f82e32cc8fe814/coverage-7.4.4-cp39-cp39-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "0842571634f39016a6c03e9d4aba502be652a6e4455fadb73cd3a3a49173e38f", - "url": "https://files.pythonhosted.org/packages/ab/d4/359f5f195a209ec7598ef3804451b76f5f75c14ce63e9684a0e0eeaa2ed9/coverage-7.4.3-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "b91cbc4b195444e7e258ba27ac33769c41b94967919f10037e6355e998af255c", + "url": "https://files.pythonhosted.org/packages/7e/60/62a8c190d20bf605c89a000fd6d41e3563b5792e7275b12eeefe6803b473/coverage-7.4.4-cp310-cp310-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6679060424faa9c11808598504c3ab472de4531c571ab2befa32f4971835788e", - "url": "https://files.pythonhosted.org/packages/ad/3f/cde6fd2e4cc447bd24e3dc2e79abd2e0fba67ac162996253d3505f8efef4/coverage-7.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "aadacf9a2f407a4688d700e4ebab33a7e2e408f2ca04dbf4aef17585389eff3e", + "url": "https://files.pythonhosted.org/packages/8b/c7/54cde44ebed02848db20d67388d0f82db1b65eca09d48181df71fbd81cf5/coverage-7.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "8640f1fde5e1b8e3439fe482cdc2b0bb6c329f4bb161927c28d2e8879c6029ee", - "url": "https://files.pythonhosted.org/packages/b5/ad/effc12b8f72321cb847c5ba7f4ea7ce3e5c19c641f6418131f8fb0ab2f61/coverage-7.4.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "09c3255458533cb76ef55da8cc49ffab9e33f083739c8bd4f58e79fecfe288f7", + "url": "https://files.pythonhosted.org/packages/91/4e/feff6d115dcc239e5850570ca2ea27a243c8a69596e7f1dabe54a6102d89/coverage-7.4.4-cp310-cp310-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6c0cdedd3500e0511eac1517bf560149764b7d8e65cb800d8bf1c63ebf39edd2", - "url": "https://files.pythonhosted.org/packages/c7/a7/b00eaa53d904193478eae01625d784b2af8b522a98028f47c831dcc95663/coverage-7.4.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "690db6517f09336559dc0b5f55342df62370a48f5469fabf502db2c6d1cffcd2", + "url": "https://files.pythonhosted.org/packages/93/41/e6e9dbb322f3c93aba7bc519b9c62846d923d7b57398bdd7eda3f0acdd11/coverage-7.4.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "dec9de46a33cf2dd87a5254af095a409ea3bf952d85ad339751e7de6d962cde6", - "url": "https://files.pythonhosted.org/packages/d0/3a/e882caceca2c7d65791a4a759764a1bf803bbbd10caf38ec41d73a45219e/coverage-7.4.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "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" }, { "algorithm": "sha256", - "hash": "276f6077a5c61447a48d133ed13e759c09e62aff0dc84274a68dc18660104d52", - "url": "https://files.pythonhosted.org/packages/d2/e2/f2d313169e0ecf1b46295b3ddf28a6818d02c1b047413f38b6325823cb2b/coverage-7.4.3.tar.gz" + "hash": "5fc1de20b2d4a061b3df27ab9b7c7111e9a710f10dc2b84d33a4ab25065994ec", + "url": "https://files.pythonhosted.org/packages/ad/c6/385cf65448b5739881ba630d144e9c38464737ce68ae4fe4d6a2c7bb3809/coverage-7.4.4-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3b253094dbe1b431d3a4ac2f053b6d7ede2664ac559705a704f621742e034f1f", - "url": "https://files.pythonhosted.org/packages/d6/cf/4094ac6410b680c91c5e55a56f25f4b3a878e2fcbf773c1cecfbdbaaec4f/coverage-7.4.3-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "38dd60d7bf242c4ed5b38e094baf6401faa114fc09e9e6632374388a404f98e7", + "url": "https://files.pythonhosted.org/packages/af/9c/bd573c65cf554b9979241c575916897e27107a70205b2fbe71218eaa24c4/coverage-7.4.4-cp38-cp38-musllinux_1_1_i686.whl" }, { "algorithm": "sha256", - "hash": "ee866acc0861caebb4f2ab79f0b94dbfbdbfadc19f82e6e9c93930f74e11d7a0", - "url": "https://files.pythonhosted.org/packages/e1/47/ca53ef810b264986aac87ba3aaa269574c8ad883ca772b0c5e945d87ae68/coverage-7.4.3-cp310-cp310-musllinux_1_1_aarch64.whl" + "hash": "c901df83d097649e257e803be22592aedfd5182f07b3cc87d640bbb9afd50f49", + "url": "https://files.pythonhosted.org/packages/bf/d5/f809d8b630cf4c11fe490e20037a343d12a74ec2783c6cdb5aee725e7137/coverage-7.4.4.tar.gz" }, { "algorithm": "sha256", - "hash": "28ca2098939eabab044ad68850aac8f8db6bf0b29bc7f2887d05889b17346454", - "url": "https://files.pythonhosted.org/packages/e2/bc/f54b24b476db0069ac04ff2cdeb28cd890654c8619761bf818726022c76a/coverage-7.4.3-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "b1a93009cb80730c9bca5d6d4665494b725b6e8e157c1cb7f2db5b4b122ea562", + "url": "https://files.pythonhosted.org/packages/d3/6d/72b9f5035c50a14bc5c5fda0c28ac16c426e957a7a3debe02906b614fc4f/coverage-7.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "2c854ce44e1ee31bda4e318af1dbcfc929026d12c5ed030095ad98197eeeaed0", - "url": "https://files.pythonhosted.org/packages/f1/a4/9edd06d88f3ab17b36bbf33947618292bbbdbf72d9f3c2c6f0880fca8bba/coverage-7.4.3-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "ae71e7ddb7a413dd60052e90528f2f65270aad4b509563af6d03d53e979feafd", + "url": "https://files.pythonhosted.org/packages/dc/8e/6df9cfab2eb2c5d8e634a18ade3451b587fd75a434366982bdcbefc125e6/coverage-7.4.4-cp38-cp38-musllinux_1_1_aarch64.whl" } ], "project_name": "coverage", @@ -211,7 +211,7 @@ "tomli; python_full_version <= \"3.11.0a6\" and extra == \"toml\"" ], "requires_python": ">=3.8", - "version": "7.4.3" + "version": "7.4.4" }, { "artifacts": [ @@ -258,13 +258,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", - "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" + "hash": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", - "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" + "hash": "b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2", + "url": "https://files.pythonhosted.org/packages/a0/fc/c4e6078d21fc4fa56300a241b87eae76766aa380a23fc450fc85bb7bf547/importlib_metadata-7.1.0.tar.gz" } ], "project_name": "importlib-metadata", @@ -274,6 +274,7 @@ "importlib-resources>=1.3; python_version < \"3.9\" and extra == \"testing\"", "ipython; extra == \"perf\"", "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test>=5.4; extra == \"testing\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", @@ -291,7 +292,7 @@ "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.2" + "version": "7.1.0" }, { "artifacts": [ @@ -662,13 +663,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", - "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" + "hash": "206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", + "url": "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", - "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" + "hash": "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715", + "url": "https://files.pythonhosted.org/packages/3e/ef/65da662da6f9991e87f058bc90b91a935ae655a16ae5514660d6460d1298/zipp-3.18.1.tar.gz" } ], "project_name": "zipp", @@ -692,7 +693,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.18.0" + "version": "3.18.1" } ], "platform_tag": null diff --git a/lockfiles/st2-constraints.txt b/lockfiles/st2-constraints.txt index 168f81f6de..758dc932fe 100644 --- a/lockfiles/st2-constraints.txt +++ b/lockfiles/st2-constraints.txt @@ -22,11 +22,13 @@ # DROPS RESOLVED VERSION: unknown MarkupSafe<2.1.0,>=0.23 +Pygments==2.5.2 + # REQUIRED BY: kombu # REASON: unknown -- this looks like a lockfile-style pin # NOTE: try to remove constraint later. # DROPS RESOLVED VERSION: 5.1.1 -amqp==5.0.6 +amqp==5.2.0 # REQUIRED BY: cryptography, paramiko, passlib # REASON: unknown -- this looks like a lockfile-style pin @@ -59,14 +61,14 @@ cffi<1.15.0 # 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 # REQUIRED BY: eventlet # REASON: unknown -- this looks like a lockfile-style pin # NOTE: We are having a hard time upgrading eventlet, so this pin is commented # out to see if that will help. If any tests fail, uncomment this. # 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 @@ -81,7 +83,7 @@ dnspython>=1.16.0,<2.0.0 # REASON: unknown # NOTE: try to remove constraint later. # DROPS RESOLVED VERSION: 4.13 -oslo.utils<5.0,>=4.0.0 +oslo.utils==7.1.0 # REQUIRED BY: tooz # REASON: unknown diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 058517ffc7..07a4e374fb 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -6,42 +6,38 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<=3.11,>=3.8" +// "CPython==3.9.*" // ], // "generated_with_requirements": [ +// "Jinja2==3.1.3", // "PyYAML", // "Pygments", // "RandomWords", // "apscheduler", -// "argcomplete", +// "argcomplete==3.2.3", // "beautifulsoup4", // "ciso8601", // "cryptography", -// "editor", -// "eventlet", +// "editor==1.6.6", +// "eventlet==0.35.2", // "flask", // "flex", // "gitdb", // "gitpython", // "graphviz", -// "greenlet", -// "gunicorn", -// "jinja2", +// "gunicorn==21.2.0", // "jsonpath-rw", // "jsonschema<4,>=3", -// "kombu", +// "kombu==5.3.5", // "lockfile", // "logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system == \"Linux\"", // "mail-parser==3.15.0", // "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", -// "oslo.config", +// "oslo.config==9.4.0", // "paramiko", // "pika", // "pip", @@ -60,11 +56,10 @@ // "pytz", // "pywinrm", // "redis", -// "rednose", // "requests[security]", // "retrying", // "routes", -// "semver", +// "semver==3.0.2", // "setuptools", // "simplejson", // "six", @@ -88,11 +83,13 @@ // "manylinux": "manylinux2014", // "requirement_constraints": [ // "MarkupSafe<2.1.0,>=0.23", -// "amqp==5.0.6", +// "Pygments==2.5.2", +// "amqp==5.2.0", // "bcrypt==3.2.0", // "cffi<1.15.0", -// "dnspython<2.0.0,>=1.16.0", -// "oslo.utils<5.0,>=4.0.0", +// "dnspython==2.6.1", +// "greenlet==3.0.3", +// "oslo.utils==7.1.0", // "tenacity<7.0.0,>=3.2.1", // "typing-extensions<4.2" // ], @@ -108,11 +105,13 @@ "build_isolation": true, "constraints": [ "MarkupSafe<2.1.0,>=0.23", - "amqp==5.0.6", + "Pygments==2.5.2", + "amqp==5.2.0", "bcrypt==3.2.0", "cffi<1.15.0", - "dnspython<2.0.0,>=1.16.0", - "oslo.utils<5.0,>=4.0.0", + "dnspython==2.6.1", + "greenlet==3.0.3", + "oslo.utils==7.1.0", "tenacity<7.0.0,>=3.2.1", "typing-extensions<4.2" ], @@ -123,21 +122,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "493a2ac6788ce270a2f6a765b017299f60c1998f5a8617908ee9be082f7300fb", - "url": "https://files.pythonhosted.org/packages/80/f1/cd7626c763e58f967317023c3dd01a2fab5d6f00f8e1c672ccceb3aae5cb/amqp-5.0.6-py3-none-any.whl" + "hash": "827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637", + "url": "https://files.pythonhosted.org/packages/b3/f0/8e5be5d5e0653d9e1d02b1144efa33ff7d2963dfad07049e02c0fa9b2e8d/amqp-5.2.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "03e16e94f2b34c31f8bf1206d8ddd3ccaa4c315f7f6a1879b7b1210d229568c2", - "url": "https://files.pythonhosted.org/packages/dd/a8/b00824f9be6eb4e15f565a82731c39962d71ba6e692659d22b61991b884a/amqp-5.0.6.tar.gz" + "hash": "a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd", + "url": "https://files.pythonhosted.org/packages/32/2c/6eb09fbdeb3c060b37bd33f8873832897a83e7a428afe01aad333fc405ec/amqp-5.2.0.tar.gz" } ], "project_name": "amqp", "requires_dists": [ - "vine==5.0.0" + "vine<6.0.0,>=5.0.0" ], "requires_python": ">=3.6", - "version": "5.0.6" + "version": "5.2.0" }, { "artifacts": [ @@ -279,37 +278,6 @@ "requires_python": ">=3.7", "version": "23.2.0" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9", - "url": "https://files.pythonhosted.org/packages/1a/ab/3e941e3fcf1b7d3ab3d0233194d99d6a0ed6b24f8f956fc81e47edc8c079/backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987", - "url": "https://files.pythonhosted.org/packages/4a/6d/eca004eeadcbf8bd64cc96feb9e355536147f0577420b44d80c7cac70767/backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2", - "url": "https://files.pythonhosted.org/packages/ad/85/475e514c3140937cf435954f78dedea1861aeab7662d11de232bdaa90655/backports.zoneinfo-0.2.1.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1", - "url": "https://files.pythonhosted.org/packages/c1/8f/9b1b920a6a95652463143943fa3b8c000cb0b932ab463764a6f2a2416560/backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl" - } - ], - "project_name": "backports-zoneinfo", - "requires_dists": [ - "importlib-resources; python_version < \"3.7\"", - "tzdata; extra == \"tzdata\"" - ], - "requires_python": ">=3.6", - "version": "0.2.1" - }, { "artifacts": [ { @@ -431,21 +399,11 @@ "hash": "c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87", "url": "https://files.pythonhosted.org/packages/00/b8/a127ffae2de749e0c0e3e10fc76a4f110abae64dbeb4b89247dfb6de7cab/cffi-1.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, - { - "algorithm": "sha256", - "hash": "64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e", - "url": "https://files.pythonhosted.org/packages/1f/e3/33394dcef4264f5a20249bd9dbd9375743bc97291a264470e630fa01ddf9/cffi-1.14.6-cp38-cp38-manylinux1_i686.whl" - }, { "algorithm": "sha256", "hash": "c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd", "url": "https://files.pythonhosted.org/packages/2e/92/87bb61538d7e60da8a7ec247dc048f7671afe17016cd0008b3b710012804/cffi-1.14.6.tar.gz" }, - { - "algorithm": "sha256", - "hash": "eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd", - "url": "https://files.pythonhosted.org/packages/30/69/cb013027404d6508d53005038eacb09e707a9fec0cbbd893c79461acc35a/cffi-1.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, { "algorithm": "sha256", "hash": "06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d", @@ -461,31 +419,11 @@ "hash": "4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f", "url": "https://files.pythonhosted.org/packages/79/bb/f05a6b0129ff445286e9ad76235eb479dae16917df7388ed549d3d99d136/cffi-1.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, - { - "algorithm": "sha256", - "hash": "9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346", - "url": "https://files.pythonhosted.org/packages/80/a8/1562ce87c8cb8c736cbef40bc235f4a2ac7835822c231f717e3064dfcc93/cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc", - "url": "https://files.pythonhosted.org/packages/91/ac/e0181c9402f5897be54bbddc87ca1c6ae4d2c562cfebc19959843d9ef438/cffi-1.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc", - "url": "https://files.pythonhosted.org/packages/a5/30/d0d23e56afef51ca18de6b7099cf8b595cb5e90c50cc3fa44d1fac68e405/cffi-1.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, { "algorithm": "sha256", "hash": "f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c", "url": "https://files.pythonhosted.org/packages/be/2a/6d266eea47dbb2d872bbd1b8954a2d167668481ff34ebb70ffdd1113eeab/cffi-1.14.6-cp39-cp39-manylinux1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0", - "url": "https://files.pythonhosted.org/packages/ca/e1/015e2ae23230d9de8597e9ad8c0b81d5ac181f08f2e6e75774b7f5301677/cffi-1.14.6-cp38-cp38-macosx_10_9_x86_64.whl" - }, { "algorithm": "sha256", "hash": "3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202", @@ -524,41 +462,6 @@ "hash": "3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", "url": "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl" }, - { - "algorithm": "sha256", - "hash": "65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", - "url": "https://files.pythonhosted.org/packages/05/31/e1f51c76db7be1d4aef220d29fbfa5dbb4a99165d9833dcbf166753b6dc0/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.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": "4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", - "url": "https://files.pythonhosted.org/packages/07/07/7e554f2bbce3295e191f7e653ff15d55309a9ca40d0362fcdab36f01063c/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", - "url": "https://files.pythonhosted.org/packages/13/82/83c188028b6f38d39538442dd127dc794c602ae6d45d66c469f4063a4c30/charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", - "url": "https://files.pythonhosted.org/packages/16/ea/a9e284aa38cccea06b7056d4cbc7adf37670b1f8a668a312864abf1ff7c6/charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", - "url": "https://files.pythonhosted.org/packages/19/28/573147271fd041d351b438a5665be8223f1dd92f273713cb882ddafe214c/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", - "url": "https://files.pythonhosted.org/packages/1e/49/7ab74d4ac537ece3bc3334ee08645e231f39f7d6df6347b29a74b0537103/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl" - }, { "algorithm": "sha256", "hash": "122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", @@ -569,71 +472,16 @@ "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": "80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", - "url": "https://files.pythonhosted.org/packages/2d/dc/9dacba68c9ac0ae781d40e1a0c0058e26302ea0660e574ddf6797a0347f7/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.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", - "url": "https://files.pythonhosted.org/packages/34/2a/f392457d45e24a0c9bfc012887ed4f3c54bf5d4d05a5deb970ffec4b7fc0/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", - "url": "https://files.pythonhosted.org/packages/3d/09/d82fe4a34c5f0585f9ea1df090e2a71eb9bb1e469723053e1ee9f57c16f3/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "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": "573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", - "url": "https://files.pythonhosted.org/packages/3e/33/21a875a61057165e92227466e54ee076b73af1e21fe1b31f1e292251aa1e/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.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": "753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", - "url": "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.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", @@ -649,11 +497,6 @@ "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", @@ -664,126 +507,26 @@ "hash": "5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", "url": "https://files.pythonhosted.org/packages/66/fe/c7d3da40a66a6bf2920cce0f436fa1f62ee28aaf92f412f0bf3b84c8ad6c/charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", - "url": "https://files.pythonhosted.org/packages/68/77/02839016f6fbbf808e8b38601df6e0e66c17bbab76dff4613f7511413597/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", - "url": "https://files.pythonhosted.org/packages/74/f1/0d9fe69ac441467b737ba7f48c68241487df2f4522dd7246d9426e7c690e/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, { "algorithm": "sha256", "hash": "e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", "url": "https://files.pythonhosted.org/packages/79/66/8946baa705c588521afe10b2d7967300e49380ded089a62d38537264aece/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, - { - "algorithm": "sha256", - "hash": "eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", - "url": "https://files.pythonhosted.org/packages/81/b2/160893421adfa3c45554fb418e321ed342bb10c0a4549e855b2b2a3699cb/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", "url": "https://files.pythonhosted.org/packages/98/69/5d8751b4b670d623aa7a47bef061d69c279e9f922f6705147983aa76c3ce/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/a8/6f/4ff299b97da2ed6358154b6eb3a2db67da2ae204e53d205aacb18a7e4f34/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/bd/28/7ea29e73eea52c7e15b4b9108d0743fc9e4cc2cdb00d275af1df3d46d360/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", - "url": "https://files.pythonhosted.org/packages/be/4d/9e370f8281cec2fcc9452c4d1ac513324c32957c5f70c73dd2fa8442a21a/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, { "algorithm": "sha256", "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": "deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", - "url": "https://files.pythonhosted.org/packages/cf/7c/f3b682fa053cc21373c9a839e6beba7705857075686a05c72e0f8c4980ca/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.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": "e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", - "url": "https://files.pythonhosted.org/packages/d8/b5/eb705c313100defa57da79277d9207dc8d8e45931035862fa64b625bfead/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.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": "549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", - "url": "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.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": "f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", - "url": "https://files.pythonhosted.org/packages/e4/a6/7ee57823d46331ddc37dd00749c95b0edec2c79b15fc0d6e6efb532e89ac/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.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", @@ -807,21 +550,6 @@ "hash": "566b4a8b2f9717e54ffcdd732a7c8051a91da30a60a4f1dafb62e303a1dbac69", "url": "https://files.pythonhosted.org/packages/02/c1/64433e0e6c615d8c9e5949c4082d364890f2632064b187d4b33b1463e789/ciso8601-2.3.1-cp39-cp39-macosx_11_0_arm64.whl" }, - { - "algorithm": "sha256", - "hash": "e4ac59453664781dfddebee51f9a36e41819993823fdb09ddc0ce0e4bd3ff0c3", - "url": "https://files.pythonhosted.org/packages/06/7b/674cbdc6fba47e2bb56d3ad5307d8fa5202ab853c8f5c69c42effa0e4436/ciso8601-2.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2a64ff58904d4418d60fa9619014ae820ae21f7aef58da46df78a4c647f951ec", - "url": "https://files.pythonhosted.org/packages/07/12/975e4b102a95aa7a940793cd87439a19b3b4cf4c8b73cda1145bd72ec78e/ciso8601-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "d1f85c0b7fa742bbfd18177137ccbaa3f867dd06157f91595075bb959a733048", - "url": "https://files.pythonhosted.org/packages/09/bd/0cc7e7dbe08ad9c4913ece2abd975078fd6e91f2b78225d9dc02f1fb7793/ciso8601-2.3.1-cp38-cp38-macosx_11_0_arm64.whl" - }, { "algorithm": "sha256", "hash": "58a749d63f28c2eda71416c9d6014113b0748abf5fd14c502b01bd515502fedf", @@ -832,110 +560,25 @@ "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": "121d27c55f4455eaa27ba3bd602beca915df9a352f235e935636a4660321070e", - "url": "https://files.pythonhosted.org/packages/18/db/237d57669edb78b8262bf78d9cc9638355ec96a49216d12238babfa46861/ciso8601-2.3.1-cp311-cp311-macosx_11_0_arm64.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": "473288cd63efe6a2cf3f4b5f90394e53095358ccb13d6128f87a2da85d0f389b", - "url": "https://files.pythonhosted.org/packages/40/36/8260b1b1b63051f90facb659913c5852cd95a17cfd3e7dc243cef4e190a0/ciso8601-2.3.1-cp311-cp311-macosx_10_9_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": "364702e338212b6c1a8643d9399ada21560cf132f363853473560625cb4207f1", - "url": "https://files.pythonhosted.org/packages/57/1a/3de6285bb4b743edc2af3e19253d72076a2911e985b89fe67a730a06d9ea/ciso8601-2.3.1-cp311-cp311-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": "8acb45545e6a654310c6ef788aacb2d73686646c414ceacdd9f5f78a83165af5", - "url": "https://files.pythonhosted.org/packages/7b/52/764356d60dcd743d2352a0c24d593ce6df330a7012f8c2ade00e580031df/ciso8601-2.3.1-cp311-cp311-musllinux_1_1_x86_64.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", "url": "https://files.pythonhosted.org/packages/ac/bc/cf42c1b0042f91c90a6b00244f63b6fb137af15e43e29f07bb72cf955be8/ciso8601-2.3.1.tar.gz" }, - { - "algorithm": "sha256", - "hash": "ef44cb4dc83f37019a356c7a72692cbe17072456f4879ca6bc0339f67eee5d00", - "url": "https://files.pythonhosted.org/packages/ae/25/957d686b0b3640f7a80073f396817dc149e03e3e72665f472deefce04719/ciso8601-2.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9f25647803c9a5aaaed130c53bbec7ea06a4f95ba5c7016f59e444b4ef7ac39e", - "url": "https://files.pythonhosted.org/packages/b1/b7/b03313a9ff86a5bec68f2ceece41abd0834fd92c91c7ba4b9a95ea032f35/ciso8601-2.3.1-cp311-cp311-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "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", "url": "https://files.pythonhosted.org/packages/ef/54/863616c6f435dee386d8533d85ac59efa301324d7745bbcdd891512a67c7/ciso8601-2.3.1-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "ad8f417c45eea973a694599b96f40d841215bfee352cb9963383e8d66b309981", - "url": "https://files.pythonhosted.org/packages/fc/41/c5689bb0b1824f180f80cba5a4bd793d3d0e17b7802f7576fa1b7fd3efe9/ciso8601-2.3.1-cp38-cp38-musllinux_1_1_x86_64.whl" } ], "project_name": "ciso8601", @@ -964,24 +607,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": [ { @@ -1019,11 +644,6 @@ "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", @@ -1044,11 +664,6 @@ "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", @@ -1059,11 +674,6 @@ "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", @@ -1201,23 +811,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": [ @@ -1459,33 +1084,32 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977", - "url": "https://files.pythonhosted.org/packages/de/5e/fcbb22c68208d39edff467809d06c9d81d7d27426460ebc598e55130c1aa/graphviz-0.20.1-py3-none-any.whl" + "hash": "81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5", + "url": "https://files.pythonhosted.org/packages/00/be/d59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf/graphviz-0.20.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8", - "url": "https://files.pythonhosted.org/packages/a5/90/fb047ce95c1eadde6ae78b3fca6a598b4c307277d4f8175d12b18b8f7321/graphviz-0.20.1.zip" + "hash": "09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d", + "url": "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip" } ], "project_name": "graphviz", "requires_dists": [ "coverage; extra == \"test\"", "flake8; extra == \"dev\"", - "mock>=4; extra == \"test\"", "pep8-naming; extra == \"dev\"", "pytest-cov; extra == \"test\"", "pytest-mock>=3; extra == \"test\"", - "pytest>=7; extra == \"test\"", + "pytest<8.1,>=7; extra == \"test\"", "sphinx-autodoc-typehints; extra == \"docs\"", "sphinx-rtd-theme; extra == \"docs\"", - "sphinx>=5; extra == \"docs\"", + "sphinx<7,>=5; extra == \"docs\"", "tox>=3; extra == \"dev\"", "twine; extra == \"dev\"", "wheel; extra == \"dev\"" ], - "requires_python": ">=3.7", - "version": "0.20.1" + "requires_python": ">=3.8", + "version": "0.20.3" }, { "artifacts": [ @@ -1499,11 +1123,6 @@ "hash": "da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", "url": "https://files.pythonhosted.org/packages/0b/8a/f5140c8713f919af0e98e6aaa40cb20edaaf3739d18c4a077581e2422ac4/greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.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" - }, { "algorithm": "sha256", "hash": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", @@ -1511,148 +1130,33 @@ }, { "algorithm": "sha256", - "hash": "dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", - "url": "https://files.pythonhosted.org/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559", - "url": "https://files.pythonhosted.org/packages/21/b4/90e06e07c78513ab03855768200bdb35c8e764e805b3f14fb488e56f82dc/greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", + "url": "https://files.pythonhosted.org/packages/74/82/9737e7dee4ccb9e1be2a8f17cf760458be2c36c6ff7bbaef55cbe279e729/greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", - "url": "https://files.pythonhosted.org/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" + "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" }, { "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": "b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", + "url": "https://files.pythonhosted.org/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33", - "url": "https://files.pythonhosted.org/packages/42/11/42ad6b1104c357826bbee7d7b9e4f24dbd9fde94899a03efb004aab62963/greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "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" }, { "algorithm": "sha256", - "hash": "dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", - "url": "https://files.pythonhosted.org/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61", - "url": "https://files.pythonhosted.org/packages/6e/20/68a278a6f93fa36e21cfc3d7599399a8a831225644eb3b6b18755cd3d6fc/greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", - "url": "https://files.pythonhosted.org/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5", - "url": "https://files.pythonhosted.org/packages/74/9f/71df0154a13d77e92451891a087a4c5783375964132290fca70c7e80e5d4/greenlet-3.0.3-cp38-cp38-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" - }, - { - "algorithm": "sha256", - "hash": "894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d", - "url": "https://files.pythonhosted.org/packages/94/ed/1e5f4bca691a81700e5a88e86d6f0e538acb10188cd2cc17140e523255ef/greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", - "url": "https://files.pythonhosted.org/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", - "url": "https://files.pythonhosted.org/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379", - "url": "https://files.pythonhosted.org/packages/bb/6b/384dee7e0121cbd1757bdc1824a5ee28e43d8d4e3f99aa59521f629442fe/greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22", - "url": "https://files.pythonhosted.org/packages/c6/1f/12d5a6cc26e8b483c2e7975f9c22e088ac735c0d8dcb8a8f72d31a4e5f04/greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3", - "url": "https://files.pythonhosted.org/packages/c7/ec/85b647e59e0f137c7792a809156f413e38379cf7f3f2e1353c37f4be4026/greenlet-3.0.3-cp311-cp311-musllinux_1_1_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" - }, - { - "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": "086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", + "url": "https://files.pythonhosted.org/packages/cf/5b/2de4a398840d3b4d99c4a3476cda0d82badfa349f3f89846ada2e32e9500/greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", - "url": "https://files.pythonhosted.org/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_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" - }, - { - "algorithm": "sha256", - "hash": "3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", - "url": "https://files.pythonhosted.org/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e", - "url": "https://files.pythonhosted.org/packages/f6/a2/0ed21078039072f9dc738bbf3af12b103a84106b1385ac4723841f846ce7/greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.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" - }, - { - "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" } ], "project_name": "greenlet", @@ -1733,13 +1237,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", - "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" + "hash": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", - "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" + "hash": "b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2", + "url": "https://files.pythonhosted.org/packages/a0/fc/c4e6078d21fc4fa56300a241b87eae76766aa380a23fc450fc85bb7bf547/importlib_metadata-7.1.0.tar.gz" } ], "project_name": "importlib-metadata", @@ -1749,6 +1253,7 @@ "importlib-resources>=1.3; python_version < \"3.9\" and extra == \"testing\"", "ipython; extra == \"perf\"", "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test>=5.4; extra == \"testing\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", @@ -1766,7 +1271,7 @@ "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.2" + "version": "7.1.0" }, { "artifacts": [ @@ -1957,41 +1462,43 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d36f0cde6a18d9eb7b6b3aa62a59bfdff7f5724689850e447eca5be8efc9d501", - "url": "https://files.pythonhosted.org/packages/ce/71/3cba2d6bfc10f018654ee7c4bcbce273f2c1040323fc50ff464985327a0f/kombu-5.2.2-py3-none-any.whl" + "hash": "0eac1bbb464afe6fb0924b21bf79460416d25d8abc52546d4f16cad94f789488", + "url": "https://files.pythonhosted.org/packages/f7/88/daca086d72832c74a7e239558ad484644c8cda0b9ae8a690f247bf13c268/kombu-5.3.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "0f5d0763fb916808f617b886697b2be28e6bc35026f08e679697fc814b48a608", - "url": "https://files.pythonhosted.org/packages/8d/1f/d9c6395a2e1f38573712031187d0f46aa2d7b04afea539f540adc10b767f/kombu-5.2.2.tar.gz" + "hash": "30e470f1a6b49c70dc6f6d13c3e4cc4e178aa6c469ceb6bcd55645385fc84b93", + "url": "https://files.pythonhosted.org/packages/55/61/0b91085837d446570ea12f63f79463e5a74b449956b1ca9d1946a6f584c2/kombu-5.3.5.tar.gz" } ], "project_name": "kombu", "requires_dists": [ "PyYAML>=3.10; extra == \"yaml\"", - "amqp<6.0.0,>=5.0.6", - "azure-servicebus>=7.0.0; extra == \"azureservicebus\"", - "azure-storage-queue; extra == \"azurestoragequeues\"", - "boto3>=1.9.12; extra == \"sqs\"", - "cached-property; python_version < \"3.8\"", - "importlib-metadata>=0.18; python_version < \"3.8\"", - "kazoo>=1.3.1; extra == \"zookeeper\"", - "librabbitmq>=2.0.0; extra == \"librabbitmq\"", + "amqp<6.0.0,>=5.1.1", + "azure-identity>=1.12.0; extra == \"azurestoragequeues\"", + "azure-servicebus>=7.10.0; extra == \"azureservicebus\"", + "azure-storage-queue>=12.6.0; extra == \"azurestoragequeues\"", + "backports.zoneinfo[tzdata]>=0.2.1; python_version < \"3.9\"", + "boto3>=1.26.143; extra == \"sqs\"", + "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; extra == \"msgpack\"", - "pycurl~=7.44.1; extra == \"sqs\"", - "pymongo<3.12.1,>=3.3.0; extra == \"mongodb\"", + "pycurl>=7.43.0.5; (sys_platform != \"win32\" and platform_python_implementation == \"CPython\") and extra == \"sqs\"", + "pymongo>=4.1.1; extra == \"mongodb\"", "pyro4; extra == \"pyro\"", - "python-consul>=0.6.0; extra == \"consul\"", + "python-consul2; extra == \"consul\"", "qpid-python>=0.26; extra == \"qpid\"", "qpid-tools>=0.26; extra == \"qpid\"", - "redis<4.0.0,>=3.4.1; extra == \"redis\"", + "redis!=4.5.5,<6.0.0,>=4.5.2; extra == \"redis\"", "softlayer-messaging>=1.0.3; extra == \"slmq\"", - "sqlalchemy; extra == \"sqlalchemy\"", - "urllib3>=1.26.7; extra == \"sqs\"", + "sqlalchemy<2.1,>=1.4.48; extra == \"sqlalchemy\"", + "typing-extensions; python_version < \"3.10\"", + "urllib3>=1.26.16; extra == \"sqs\"", "vine" ], - "requires_python": ">=3.7", - "version": "5.2.2" + "requires_python": ">=3.8", + "version": "5.3.5" }, { "artifacts": [ @@ -2081,56 +1588,11 @@ "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": "cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", - "url": "https://files.pythonhosted.org/packages/04/69/c31e837e4bb5532b02d297152464b2cb8a0edeb9bef762c015e9b4e95e16/MarkupSafe-2.0.1-cp310-cp310-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" - }, - { - "algorithm": "sha256", - "hash": "7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", - "url": "https://files.pythonhosted.org/packages/1d/c5/1d1b42c65f96ee7b0c81761260878d1a1dc0afdf259e434b7d7af88a80a3/MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.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" - }, - { - "algorithm": "sha256", - "hash": "36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", - "url": "https://files.pythonhosted.org/packages/21/84/e090d999105fe0f3e1d955725ed2c9aeebc649ee83edab0e73d353d47e5d/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl" - }, { "algorithm": "sha256", "hash": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", "url": "https://files.pythonhosted.org/packages/50/99/06eccf68be0bff67ab9a0b90b5382c04769f9ad2e42cae5e5e92f99380cd/MarkupSafe-2.0.1-cp39-cp39-manylinux1_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" - }, - { - "algorithm": "sha256", - "hash": "20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", - "url": "https://files.pythonhosted.org/packages/51/c3/7154db2b7d5b24875e1f1c42bab87a46af688bd6a5c89a90c60053cb6b33/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", - "url": "https://files.pythonhosted.org/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", - "url": "https://files.pythonhosted.org/packages/5a/98/3303496a5d19aabba67c443ba1df6ee1bec94549b3f8976f90c06a6942e6/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl" - }, { "algorithm": "sha256", "hash": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", @@ -2146,51 +1608,16 @@ "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" }, - { - "algorithm": "sha256", - "hash": "47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", - "url": "https://files.pythonhosted.org/packages/68/ba/7a5ca0f9b4239e6fd846dd54c0b5928187355fa62fbdbd13e1c5942afae7/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_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" }, - { - "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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", - "url": "https://files.pythonhosted.org/packages/81/8b/f28eac2790d49dde61f89ae9e007ac65002edc90bb2dd63c3b9e653820d2/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.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" }, - { - "algorithm": "sha256", - "hash": "01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", - "url": "https://files.pythonhosted.org/packages/92/ac/94771b65ac9f77cf37e43b38516697bbc4e128ee152b68d596ae44c6c896/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_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" - }, - { - "algorithm": "sha256", - "hash": "4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", - "url": "https://files.pythonhosted.org/packages/a4/c8/9d2161b2080cb69c8834d1c34a399685347523acbfc923b203ad27bf1215/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl" - }, { "algorithm": "sha256", "hash": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", @@ -2216,11 +1643,6 @@ "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" }, - { - "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" - }, { "algorithm": "sha256", "hash": "3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", @@ -2230,26 +1652,6 @@ "algorithm": "sha256", "hash": "2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", "url": "https://files.pythonhosted.org/packages/dd/8f/d0c570c851f70377ca6f344531fab4b6b01a99a9d2a801b25d6fd75525e5/MarkupSafe-2.0.1-cp39-cp39-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" - }, - { - "algorithm": "sha256", - "hash": "2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", - "url": "https://files.pythonhosted.org/packages/e6/57/e9d243b12918f22bc3aa1392db7821dcb643a120e87b3f8c9bc7e1ad33f1/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" } ], "project_name": "markupsafe", @@ -2319,175 +1721,40 @@ "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" }, - { - "algorithm": "sha256", - "hash": "e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c", - "url": "https://files.pythonhosted.org/packages/0d/7e/93373ffbe6561e719996a90b6d112604f52da3ab46e7c395db7607458553/msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b", - "url": "https://files.pythonhosted.org/packages/17/29/7f3f30dd40bf1c2599350099645d3664b3aadb803583cbfce57a28047c4d/msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba", - "url": "https://files.pythonhosted.org/packages/1a/01/01a88f7971c68037dab4be2737b50e00557bbdaf179ab988803c736043ed/msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.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" }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2", - "url": "https://files.pythonhosted.org/packages/2b/6e/3dcd4f7d8b978277393fd5b7c0abd9d2b6ef7ba8eb12834bed59158ecf5f/msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" }, - { - "algorithm": "sha256", - "hash": "9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836", - "url": "https://files.pythonhosted.org/packages/3e/0e/96477b0448c593cc5c679e855c7bb58bb6543a065760e67cad0c3f90deb1/msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.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" }, - { - "algorithm": "sha256", - "hash": "dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a", - "url": "https://files.pythonhosted.org/packages/43/7c/82b729d105dae9f8be500228fdd8cfc1f918a18e285afcbf6d6915146037/msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad", - "url": "https://files.pythonhosted.org/packages/46/ca/96051d40050cd17bf054996662dbf8900da9995fa0a3308f2597a47bedad/msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.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" - }, - { - "algorithm": "sha256", - "hash": "d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13", - "url": "https://files.pythonhosted.org/packages/56/33/465f6feaca727ccc898e2a73e27af942febe9c8cfc726972bcf70ab059e2/msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.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" }, - { - "algorithm": "sha256", - "hash": "5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2", - "url": "https://files.pythonhosted.org/packages/60/8c/6f32030ad034212deb6b679280d908c49fc8aac3dd604c33c9ad0ccb97a7/msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.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" }, - { - "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" - }, { "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" }, - { - "algorithm": "sha256", - "hash": "e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d", - "url": "https://files.pythonhosted.org/packages/7c/40/c6f31cef899b54e3f6a759204d0b152c9205aef7219c9d2279f608c421eb/msgpack-1.0.8-cp310-cp310-musllinux_1_1_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" - }, - { - "algorithm": "sha256", - "hash": "82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa", - "url": "https://files.pythonhosted.org/packages/9b/db/8d629233bba3cbe6d7a6e0fd018ed684c5f0befea4428d4217ce066d2f20/msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_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" - }, { "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" - }, - { - "algorithm": "sha256", - "hash": "69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653", - "url": "https://files.pythonhosted.org/packages/b0/a8/29426f7af85406116e1cdbd21d8f02e30ef8f4afe3cfcbb43c498cbadadf/msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868", - "url": "https://files.pythonhosted.org/packages/b3/c2/8ecbafd6d3178ad408989c82d6d518fec76e053bae20c0fd9f47bffe7dda/msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659", - "url": "https://files.pythonhosted.org/packages/ba/13/d000e53b067aee19d57a4f26d5bffed7890e6896538ac5f97605b0f64985/msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.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" - }, - { - "algorithm": "sha256", - "hash": "00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982", - "url": "https://files.pythonhosted.org/packages/d9/96/a1868dd8997d65732476dfc70fef44d046c1b4dbe36ec1481ab744d87775/msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce", - "url": "https://files.pythonhosted.org/packages/dd/06/adb6c8cdea18f9ba09b7dc1442b50ce222858ae4a85703420349784429d0/msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b", - "url": "https://files.pythonhosted.org/packages/e0/3f/978df03be94c2198be22df5d6e31b69ef7a9759c6cc0cce4ed1d08e2b27b/msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.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" - }, - { - "algorithm": "sha256", - "hash": "9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128", - "url": "https://files.pythonhosted.org/packages/f0/75/553cc9ddfe59c62654dd398c16cd8ab1b3eeb145e56805f52115cbe9f5a0/msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950", - "url": "https://files.pythonhosted.org/packages/f5/9a/88388f7960930a7dc0bbcde3d1db1bd543c9645483f3172c64853f4cab67/msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85", - "url": "https://files.pythonhosted.org/packages/f6/f0/a7bdb48223cd21b9abed814b08fca8fe6a40931e70ec97c24d2f15d68ef3/msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "msgpack", @@ -2522,21 +1789,6 @@ "hash": "e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1", "url": "https://files.pythonhosted.org/packages/6b/07/613110af7b7856cf0bea173a866304f5476aba06f5ccf74c66acc73e36f1/netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3", - "url": "https://files.pythonhosted.org/packages/13/d3/805fbf89548882361e6900cbb7cc50ad7dec7fab486c5513be49729d9c4e/netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c", - "url": "https://files.pythonhosted.org/packages/1d/b4/0ba3c00f8bbbd3328562d9e7158235ffe21968b88a21adf5614b019e5037/netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4", - "url": "https://files.pythonhosted.org/packages/77/6c/eb2b7c9dbbf6cd0148fda0215742346dc4d45b79f680500832e8c6457936/netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, { "algorithm": "sha256", "hash": "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32", @@ -2602,57 +1854,6 @@ "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" - }, { "artifacts": [ { @@ -2660,86 +1861,21 @@ "hash": "57d5d8cf9c27f7ef6bc56a5925c7fbc76b61288ab674eb352c26ac780caa5b10", "url": "https://files.pythonhosted.org/packages/2f/d1/e983fc1c5bb732e8863208aac399881546544eeef73d92510c69b4056f5a/orjson-3.9.15-cp39-cp39-musllinux_1_2_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "b17f0f14a9c0ba55ff6279a922d1932e24b13fc218a3e968ecdbf791b3682b25", - "url": "https://files.pythonhosted.org/packages/01/af/63f80ae9016052ffa13eb8da03ecc48de23d0d9f3e960bbeb6bcd0992ebd/orjson-3.9.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, { "algorithm": "sha256", "hash": "f541587f5c558abd93cb0de491ce99a9ef8d1ae29dd6ab4dbb5a13281ae04cbd", "url": "https://files.pythonhosted.org/packages/0b/7a/8b219434bcd439dc0f0dce7380c9c6e8e7362eab364ca8256549a621ad1e/orjson-3.9.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, - { - "algorithm": "sha256", - "hash": "9cf1596680ac1f01839dba32d496136bdd5d8ffb858c280fa82bbfeb173bdd40", - "url": "https://files.pythonhosted.org/packages/16/55/23629b7857685184259f1442a14cbacee190eb5564296d41a68efc749fdb/orjson-3.9.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "6fc2fe4647927070df3d93f561d7e588a38865ea0040027662e3e541d592811e", "url": "https://files.pythonhosted.org/packages/18/f1/f6c80cf1b11a855cb0dfe8821ca0400a78e33f3f95b4e003b1dee7edd562/orjson-3.9.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, - { - "algorithm": "sha256", - "hash": "8055ec598605b0077e29652ccfe9372247474375e0e3f5775c91d9434e12d6b1", - "url": "https://files.pythonhosted.org/packages/2c/77/7fdc0057e8a41acaccf7fecb80b2c67285b3f8154aa437f818d9d4075147/orjson-3.9.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "4228aace81781cc9d05a3ec3a6d2673a1ad0d8725b4e915f1089803e9efd2b99", - "url": "https://files.pythonhosted.org/packages/32/81/6cd4181a580ab8939c24ede65bbcf1a69053368a551998cb57e3e75ec232/orjson-3.9.15-cp310-cp310-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "4feeb41882e8aa17634b589533baafdceb387e01e117b1ec65534ec724023d04", - "url": "https://files.pythonhosted.org/packages/36/cb/a09d53eafb2ec9ebb25855e577767e737ab5179cf73bc5d3d8bf5e4119b4/orjson-3.9.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "12365576039b1a5a47df01aadb353b68223da413e2e7f98c02403061aad34bde", - "url": "https://files.pythonhosted.org/packages/37/ee/22f74928f9df8d3d5a17fa61c7c5456ad854029b9390548bd28e9fcf79f2/orjson-3.9.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9fe41b6f72f52d3da4db524c8653e46243c8c92df826ab5ffaece2dba9cccd58", - "url": "https://files.pythonhosted.org/packages/3f/22/8b8eba5adfcb5be89c85d74fc8e08b0913ebca264cfa7cbb3ffb7d1840c6/orjson-3.9.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "05a1f57fb601c426635fcae9ddbe90dfc1ed42245eb4c75e4960440cac667262", "url": "https://files.pythonhosted.org/packages/40/f0/1ead77476c9f0315a7eaad57a2719d9d67bb3b6dbbb1732bd6749e968134/orjson-3.9.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, - { - "algorithm": "sha256", - "hash": "809d653c155e2cc4fd39ad69c08fdff7f4016c355ae4b88905219d3579e31eb7", - "url": "https://files.pythonhosted.org/packages/43/27/eade7c2896e6b83a1ce8bb51bed20fcf56fd5860c7ac23d66e64fe486053/orjson-3.9.15-cp38-cp38-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "fbbeb3c9b2edb5fd044b2a070f127a0ac456ffd079cb82746fc84af01ef021a4", - "url": "https://files.pythonhosted.org/packages/49/02/75cc34741dc8bc3c9e5ec45bcc6b7b47c36133a95cd6cb58351c1220181b/orjson-3.9.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "7413070a3e927e4207d00bd65f42d1b780fb0d32d7b1d951f6dc6ade318e1b5a", - "url": "https://files.pythonhosted.org/packages/4e/10/eb5b08eab634d07e1b549cd876acac1e84856742cfe1b10e48e28dec0e53/orjson-3.9.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "b66bcc5670e8a6b78f0313bcb74774c8291f6f8aeef10fe70e910b8040f3ab75", - "url": "https://files.pythonhosted.org/packages/57/eb/7ce3e9bb030893ae438a7ff93d54b55b4121d68457eece32053f8955971c/orjson-3.9.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "6f7b65bfaf69493c73423ce9db66cfe9138b2f9ef62897486417a8fcb0a92bfe", - "url": "https://files.pythonhosted.org/packages/61/e3/5c0609a1839882b12bff43a075b0ea2f6927e77176633b93d3472f907511/orjson-3.9.15-cp310-cp310-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e18668f1bd39e69b7fed19fa7cd1cd110a121ec25439328b5c89934e6d30d357", - "url": "https://files.pythonhosted.org/packages/6b/dc/15ec16eb0b50153b6a27aa598bc0c3488dfd6147070f79927c1153d3bf78/orjson-3.9.15-cp311-cp311-musllinux_1_2_x86_64.whl" - }, { "algorithm": "sha256", "hash": "95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061", @@ -2750,71 +1886,16 @@ "hash": "ede0bde16cc6e9b96633df1631fbcd66491d1063667f260a4f2386a098393790", "url": "https://files.pythonhosted.org/packages/6f/4a/38233fa85b8dc47cead4b1b9a4ed39266ed0a30cd6cda14cddb285b0c315/orjson-3.9.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "2973474811db7b35c30248d1129c64fd2bdf40d57d84beed2a9a379a6f57d0ab", - "url": "https://files.pythonhosted.org/packages/79/1f/a96100becff866f329dec20bf851cac626a2d18ada4da3fa1a16a347fbf8/orjson-3.9.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "87f1097acb569dde17f246faa268759a71a2cb8c96dd392cd25c668b104cad2f", - "url": "https://files.pythonhosted.org/packages/7c/ac/c4b0dcb62508f49f1a1d41ef9dd60a4e6124edd04a3221a29d2e876ddff6/orjson-3.9.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "7f6cbd8e6e446fb7e4ed5bac4661a29e43f38aeecbf60c4b900b825a353276a1", - "url": "https://files.pythonhosted.org/packages/7c/e1/85f88e9b9ac2c8ff6f4476774f11448a7478720d2982b830ff2bc77483b0/orjson-3.9.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "76bc6356d07c1d9f4b782813094d0caf1703b729d876ab6a676f3aaa9a47e37c", - "url": "https://files.pythonhosted.org/packages/82/c6/95be4ba4fa49a4ee1cf02d9db06129d08c2aea42cdf953a0d1e9be49b5e0/orjson-3.9.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "71c6b009d431b3839d7c14c3af86788b3cfac41e969e3e1c22f8a6ea13139404", - "url": "https://files.pythonhosted.org/packages/83/72/cf1bc409d0fbb95227c7facda421511aacafcfdd9375d82906749cef53db/orjson-3.9.15-cp311-cp311-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d61f7ce4727a9fa7680cd6f3986b0e2c732639f46a5e0156e550e35258aa313a", - "url": "https://files.pythonhosted.org/packages/8e/6e/7fa23a55afc901fa3b33210660287dc73b46d6b77d05f53781a98930a7b1/orjson-3.9.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "ff0f9913d82e1d1fadbd976424c316fbc4d9c525c81d047bbdd16bd27dd98cfc", - "url": "https://files.pythonhosted.org/packages/a2/3e/4c0c77791fe8a6dc70f0422fa1a515022c15ba86092507c2e01fa7619835/orjson-3.9.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, { "algorithm": "sha256", "hash": "92255879280ef9c3c0bcb327c5a1b8ed694c290d61a6a532458264f887f052cb", "url": "https://files.pythonhosted.org/packages/b1/74/0182e57b93bc8709cfcacc69fd8e5527c1f525f3a6efe5ab414dae81cd02/orjson-3.9.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, - { - "algorithm": "sha256", - "hash": "c8e8fe01e435005d4421f183038fc70ca85d2c1e490f51fb972db92af6e047c2", - "url": "https://files.pythonhosted.org/packages/bf/82/26a887226e5df7a592e5e6c25eff237a109dfdc123c787c543ac246ea685/orjson-3.9.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "fdfa97090e2d6f73dced247a2f2d8004ac6449df6568f30e7fa1a045767c69a6", - "url": "https://files.pythonhosted.org/packages/c3/24/4d66223961ec06ede4f91d4a833bf370d34c627cab2ea5a8a1cf496b64ce/orjson-3.9.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "920fa5a0c5175ab14b9c78f6f820b75804fb4984423ee4c4f1e6d748f8b22bc1", - "url": "https://files.pythonhosted.org/packages/c7/af/ca1b87d29bc2257ce09d8e1768818b54899b252700d31388b66ccce33b7d/orjson-3.9.15-cp38-cp38-musllinux_1_2_x86_64.whl" - }, { "algorithm": "sha256", "hash": "e88b97ef13910e5f87bcbc4dd7979a7de9ba8702b54d3204ac587e83639c0c2b", "url": "https://files.pythonhosted.org/packages/ce/e3/0e8152cd512ab2ecd69acc748dd7713e1d7ce358d5f99d52d164e7d80767/orjson-3.9.15-cp39-cp39-musllinux_1_2_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "d6768a327ea1ba44c9114dba5fdda4a214bdb70129065cd0807eb5f010bfcbb5", - "url": "https://files.pythonhosted.org/packages/df/62/02148fe70586770fd2f7f6a6d6dfa0011782c7dbcb90e46b694cf586d285/orjson-3.9.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, { "algorithm": "sha256", "hash": "34cbcd216e7af5270f2ffa63a963346845eb71e174ea530867b7443892d77180", @@ -2940,29 +2021,30 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "dab26f205980a379fe7068dd4f9010809a2ae7dddcbecde53e18cf8fa4a251d9", - "url": "https://files.pythonhosted.org/packages/f9/6e/ecbe1ced0f5fdb009bb13f95f3e5ad19ac5f2e8911156d86216327cda636/oslo.utils-4.13.0-py3-none-any.whl" + "hash": "1d6504526c33cc10ae2c72565d0446a82d2acd43eaa5e6f3fd901d78400a2da0", + "url": "https://files.pythonhosted.org/packages/f0/bb/d61363eae3418f7862a2d14f96b803d5c395237a929e7fe35e5a1a4b0e23/oslo.utils-7.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "45ba8aaa5ed056a8e8e46059ef93d5c2d7b9c99bc7480e361cf5783e47f28fba", - "url": "https://files.pythonhosted.org/packages/31/55/09032306dc483e05e1de6fda14a885e8814ca299a875287a253d367eb9b3/oslo.utils-4.13.0.tar.gz" + "hash": "5e42f3394d1f1f976e8994ac4a0918966d2f7eaf7c77380dd612c4a4148dd98e", + "url": "https://files.pythonhosted.org/packages/1d/82/a81644eea01b60fa3fa32e9d376dd2730da82161be8f68d8805c9f05ec23/oslo.utils-7.1.0.tar.gz" } ], "project_name": "oslo-utils", "requires_dists": [ + "PyYAML>=3.13", "debtcollector>=1.2.0", "iso8601>=0.1.11", "netaddr>=0.7.18", "netifaces>=0.10.4", "oslo.i18n>=3.15.3", "packaging>=20.4", - "pbr!=2.1.0,>=2.0.0", "pyparsing>=2.1.0", - "pytz>=2013.6" + "pytz>=2013.6; python_version < \"3.9\"", + "tzdata>=2022.4; python_version >= \"3.9\"" ], - "requires_python": ">=3.6", - "version": "4.13.0" + "requires_python": ">=3.8", + "version": "7.1.0" }, { "artifacts": [ @@ -3341,22 +2423,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", - "url": "https://files.pythonhosted.org/packages/97/9c/372fef8377a6e340b1704768d20daaded98bf13282b5327beb2e2fe2c7ef/pygments-2.17.2-py3-none-any.whl" + "hash": "2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b", + "url": "https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367", - "url": "https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz" + "hash": "98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe", + "url": "https://files.pythonhosted.org/packages/cb/9f/27d4844ac5bf158a33900dbad7985951e2910397998e85712da03ce125f0/Pygments-2.5.2.tar.gz" } ], "project_name": "pygments", - "requires_dists": [ - "colorama>=0.4.6; extra == \"windows-terminal\"", - "importlib-metadata; python_version < \"3.8\" and extra == \"plugins\"" - ], - "requires_python": ">=3.7", - "version": "2.17.2" + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7", + "version": "2.5.2" }, { "artifacts": [ @@ -3378,116 +2457,26 @@ "hash": "0be605bfb8461384a4cb81e80f51eb5ca1b89851f2d0e69a75458c788a7263a4", "url": "https://files.pythonhosted.org/packages/a3/6c/10b9cc7baa860ae72467344ffb6a2b6ce06181894dfdc6bc7abd34237f00/pymongo-3.12.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "e1fc4d3985868860b6585376e511bb32403c5ffb58b0ed913496c27fd791deea", - "url": "https://files.pythonhosted.org/packages/18/04/47c3546228ee303ad28306b1f53b1cbfaac537d4e514c715cb6877827edb/pymongo-3.12.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "89d7baa847383b9814de640c6f1a8553d125ec65e2761ad146ea2e75a7ad197c", - "url": "https://files.pythonhosted.org/packages/1a/03/8105130d1b1d3d3dd2c5915b712a096fadaeb3d472e59a84f1127e982d6e/pymongo-3.12.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, { "algorithm": "sha256", "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", - "url": "https://files.pythonhosted.org/packages/24/83/0f16452e3f8a8b4fa016b065899eb48683cc792b510a231a1981c251b480/pymongo-3.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/2e/fe/a44602e61ee23ef6ae64150bb2bf86cac9241c4d668791c8e6255b598aa1/pymongo-3.12.3-cp38-cp38-manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "a1ba93be779a9b8e5e44f5c133dc1db4313661cead8a2fd27661e6cb8d942ee9", - "url": "https://files.pythonhosted.org/packages/3b/33/0852648d70775d288608346887f77f96b5121faa45ebd67d6ad8c717a20c/pymongo-3.12.3-cp38-cp38-macosx_10_9_x86_64.whl" - }, { "algorithm": "sha256", "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", - "url": "https://files.pythonhosted.org/packages/52/80/934ed944cda7414405ffd7dc47d2b2767be5032a1eb61c2282e709358771/pymongo-3.12.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/65/1f/b0df4f763ba6aa56aa12d63b08b2f87391adf85e84e55772f9721bdbb8f1/pymongo-3.12.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, { "algorithm": "sha256", "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", - "url": "https://files.pythonhosted.org/packages/72/35/9c79295df4efb913eb921bd706806404a3fbaadec69cba05bde47f474f3f/pymongo-3.12.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, { "algorithm": "sha256", "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", @@ -3498,46 +2487,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", "url": "https://files.pythonhosted.org/packages/9e/6d/059656d398305f5dd16bce0465f89602c0ed75489b3db87ded90dfa055d7/pymongo-3.12.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" }, - { - "algorithm": "sha256", - "hash": "4294f2c1cd069b793e31c2e6d7ac44b121cf7cedccd03ebcc30f3fc3417b314a", - "url": "https://files.pythonhosted.org/packages/9e/9d/75b82308fa1f7759f79758102f911ff4171708a4f24000ad47ffd224519d/pymongo-3.12.3-cp38-cp38-manylinux1_i686.whl" - }, { "algorithm": "sha256", "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", - "url": "https://files.pythonhosted.org/packages/b3/16/fb0a9bd6d1b5a9158924b7b998f4aa8afbc063825716a23472daed05626d/pymongo-3.12.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, { "algorithm": "sha256", "hash": "8455176fd1b86de97d859fed4ae0ef867bf998581f584c7a1a591246dfec330f", @@ -3558,40 +2522,15 @@ "hash": "bf254a1a95e95fdf4eaa25faa1ea450a6533ed7a997f9f8e49ab971b61ea514d", "url": "https://files.pythonhosted.org/packages/c3/9a/101b17a28da73b170a21b24e11d05365c4a98e8fc8ab8ba0e51f1440607c/pymongo-3.12.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "f38b35ecd2628bf0267761ed659e48af7e620a7fcccfccf5774e7308fb18325c", - "url": "https://files.pythonhosted.org/packages/d8/50/e6b9f16ec031cdf6a11d31347ada3be4a581337ebd9d3ad644e2cb9e12d8/pymongo-3.12.3-cp38-cp38-manylinux2014_ppc64le.whl" - }, { "algorithm": "sha256", "hash": "71c5c200fd37a5322706080b09c3ec8907cf01c377a7187f354fc9e9e13abc73", - "url": "https://files.pythonhosted.org/packages/e9/87/11ccaf5cd991f7a7406ed947f6c8f1f85a356f074a439bce48d303206baf/pymongo-3.12.3-cp39-cp39-manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "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" + "url": "https://files.pythonhosted.org/packages/e9/87/11ccaf5cd991f7a7406ed947f6c8f1f85a356f074a439bce48d303206baf/pymongo-3.12.3-cp39-cp39-manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "845b178bd127bb074835d2eac635b980c58ec5e700ebadc8355062df708d5a71", - "url": "https://files.pythonhosted.org/packages/f7/0e/8185c5b8968cc3db6176d5a2f79f245da1bf963a629fda88640441cea90f/pymongo-3.12.3-cp38-cp38-manylinux1_x86_64.whl" + "hash": "f340a2a908644ea6cccd399be0fb308c66e05d2800107345f9f0f0d59e1731c4", + "url": "https://files.pythonhosted.org/packages/ea/84/c558b19e8e8d3442e8394f313d74ffad4919dca963f1923567629f7dba09/pymongo-3.12.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" } ], "project_name": "pymongo", @@ -3716,80 +2655,20 @@ "hash": "2e14c95c16211d166f59c6611533d0dacce2e25de0f76e4c140fde250997b3ca", "url": "https://files.pythonhosted.org/packages/19/3c/ab06510f86bc0934b77ade41948924ff1f33dcd3433f32feca2028218837/pyrsistent-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, - { - "algorithm": "sha256", - "hash": "6288b3fa6622ad8a91e6eb759cfc48ff3089e7c17fb1d4c59a919769314af224", - "url": "https://files.pythonhosted.org/packages/3f/f6/9ecfb78b2fc8e2540546db0fe19df1fae0f56664a5958c21ff8861b0f8da/pyrsistent-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "b318ca24db0f0518630e8b6f3831e9cba78f099ed5c1d65ffe3e023003043ba0", "url": "https://files.pythonhosted.org/packages/4e/45/62639d53ac09eaafc00f2e5845565e70d3eddb2d296337a77637186ca03e/pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "f920385a11207dc372a028b3f1e1038bb244b3ec38d448e6d8e43c6b3ba20e98", - "url": "https://files.pythonhosted.org/packages/5d/ea/5438a78ba00f2a9cdc6836dcdcd8631b9d802b2bd57d5a61ed9d9ad6f24d/pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "cae40a9e3ce178415040a0383f00e8d68b569e97f31928a3a8ad37e3fde6df6a", - "url": "https://files.pythonhosted.org/packages/a1/94/9808e8c9271424120289b9028a657da336ad7e43da0647f62e4f6011d19b/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "79ed12ba79935adaac1664fd7e0e585a22caa539dfc9b7c7c6d5ebf91fb89054", - "url": "https://files.pythonhosted.org/packages/a5/24/3293a2b2bc4b4d645f2f6743e97b329c18dd9d8177f80e52d2b7911bac0f/pyrsistent-0.20.0-cp38-cp38-macosx_10_9_universal2.whl" - }, { "algorithm": "sha256", "hash": "fed2c3216a605dc9a6ea50c7e84c82906e3684c4e80d2908208f662a6cbf9022", "url": "https://files.pythonhosted.org/packages/ab/12/24b9a6ef7b991b6722756e0aa169a39463af2b8ed0fb526f0a00aae34ea4/pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "5cdd7ef1ea7a491ae70d826b6cc64868de09a1d5ff9ef8d574250d0940e275b8", - "url": "https://files.pythonhosted.org/packages/ae/a0/49249bc14d71b1bf2ffe89703acfa86f2017c25cfdabcaea532b8c8a5810/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "0f3b1bcaa1f0629c978b355a7c37acd58907390149b7311b5db1b37648eb6958", - "url": "https://files.pythonhosted.org/packages/df/63/7544dc7d0953294882a5c587fb1b10a26e0c23d9b92281a14c2514bac1f7/pyrsistent-0.20.0-cp311-cp311-macosx_10_9_universal2.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", @@ -4001,41 +2880,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": "e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b", - "url": "https://files.pythonhosted.org/packages/03/5c/c4671451b2f1d76ebe352c0945d4cd13500adb5d05f5a51ee296d80152f7/PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc", - "url": "https://files.pythonhosted.org/packages/06/92/e0224aa6ebf9dc54a06a4609da37da40bb08d126f5535d81bff6b417b2ae/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.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", - "url": "https://files.pythonhosted.org/packages/0d/46/62ae77677e532c0af6c81ddd6f3dbc16bdcc1208b077457354442d220bfb/PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" - }, { "algorithm": "sha256", "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": "f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", - "url": "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-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", @@ -4046,75 +2895,20 @@ "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": "42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d", - "url": "https://files.pythonhosted.org/packages/5e/94/7d5ee059dfb92ca9e62f4057dcdec9ac08a9e42679644854dc01177f8145/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", - "url": "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c", "url": "https://files.pythonhosted.org/packages/7d/39/472f2554a0f1e825bd7c5afc11c817cd7a2f3657460f7159f691fbb37c51/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/c1/39/47ed4d65beec9ce07267b014be85ed9c204fa373515355d3efa62d19d892/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735", - "url": "https://files.pythonhosted.org/packages/c8/6b/6600ac24725c7388255b2f5add93f91e58a5d7efaf4af244fdbcc11a541b/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", "url": "https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz" - }, - { - "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": "6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007", - "url": "https://files.pythonhosted.org/packages/ec/0d/26fb23e8863e0aeaac0c64e03fd27367ad2ae3f3cccf3798ee98ce160368/PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.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", @@ -4163,23 +2957,6 @@ "requires_python": ">=3.7", "version": "5.0.3" }, - { - "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": [ { @@ -4361,26 +3138,6 @@ "hash": "a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880", "url": "https://files.pythonhosted.org/packages/54/61/c18d378caadac66fa97da5d28758c751730dac7510b6a8b8b096da3fff9a/ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248", - "url": "https://files.pythonhosted.org/packages/01/b0/4ddef56e9f703d7909febc3a421d709a3482cda25826816ec595b73e3847/ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337", - "url": "https://files.pythonhosted.org/packages/08/4c/5770b8f318fe404a455141a7a33a5568c27a1f944724e82354c8f3554db2/ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615", - "url": "https://files.pythonhosted.org/packages/18/52/8dc27bbd9ef1d4695975b8dc132c27c431d0186037ad3c731a6dd1c154b9/ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91", - "url": "https://files.pythonhosted.org/packages/22/fa/b2a8fd49c92693e9b9b6b11eef4c2a8aedaca2b521ab3e020aa4778efc23/ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, { "algorithm": "sha256", "hash": "beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512", @@ -4396,90 +3153,20 @@ "hash": "a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c", "url": "https://files.pythonhosted.org/packages/57/e4/f572d7e2502854f15291dfa94eebdc687e04db387559f026995c7697af34/ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1", - "url": "https://files.pythonhosted.org/packages/5a/45/644d839c09c0717c2d7f26b705560ad74b3056085b3bc7f9c2ac2081317b/ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", "url": "https://files.pythonhosted.org/packages/7c/b2/389b345a60131593028b0263fddaa580edb4081697a3f3aa1f168f67519f/ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe", - "url": "https://files.pythonhosted.org/packages/7c/e4/0d19d65e340f93df1c47f323d95fa4b256bb28320290f5fddef90837853a/ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b", - "url": "https://files.pythonhosted.org/packages/a4/f7/22d6b620ed895a05d40802d8281eff924dc6190f682d933d4efff60db3b5/ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.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": "bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069", - "url": "https://files.pythonhosted.org/packages/b1/15/971b385c098e8d0d170893f5ba558452bb7b776a0c90658b8f4dd0e3382b/ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.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": "46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899", - "url": "https://files.pythonhosted.org/packages/c9/ff/f781eb5e2ae011e586d5426e2086a011cf1e0f59704a6cad1387975c5a62/ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.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" - }, - { - "algorithm": "sha256", - "hash": "09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9", - "url": "https://files.pythonhosted.org/packages/e3/41/f62e67ac651358b8f0d60cfb12ab2daf99b1b69eeaa188d0cec809d943a6/ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl" } ], "project_name": "ruamel-yaml-clib", @@ -4599,11 +3286,6 @@ "hash": "bcedf4cae0d47839fee7de344f96b5694ca53c786f28b5f773d4f0b265a159eb", "url": "https://files.pythonhosted.org/packages/56/0e/456e89ef42b82586a4c3b2bc8374142e1ed7bf37f86048fefd134e90fa68/simplejson-3.19.2-py3-none-any.whl" }, - { - "algorithm": "sha256", - "hash": "ff836cd4041e16003549449cc0a5e372f6b6f871eb89007ab0ee18fb2800fded", - "url": "https://files.pythonhosted.org/packages/01/bf/afbd25fd0379ba755962131c8fa035f2176c406047ddd61fac2c7427633c/simplejson-3.19.2-cp38-cp38-musllinux_1_1_ppc64le.whl" - }, { "algorithm": "sha256", "hash": "16ca9c90da4b1f50f089e14485db8c20cbfff2d55424062791a7392b5a9b3ff9", @@ -4634,106 +3316,21 @@ "hash": "9e038c615b3906df4c3be8db16b3e24821d26c55177638ea47b3f8f73615111c", "url": "https://files.pythonhosted.org/packages/2a/b7/a993c7e8d7c61c49e949a9d1a7acefa2edc421786b3537121f086d9379a5/simplejson-3.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, - { - "algorithm": "sha256", - "hash": "60848ab779195b72382841fc3fa4f71698a98d9589b0a081a9399904487b5832", - "url": "https://files.pythonhosted.org/packages/33/5f/b9506e323ea89737b34c97a6eda9d22ad6b771190df93f6eb72657a3b996/simplejson-3.19.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "11cc3afd8160d44582543838b7e4f9aa5e97865322844b75d51bf4e0e413bb3e", - "url": "https://files.pythonhosted.org/packages/42/4f/eaa30edadca1271a97697a7c1630b9db9471997e56156ee974b45f6d0a09/simplejson-3.19.2-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0a48679310e1dd5c9f03481799311a65d343748fe86850b7fb41df4e2c00c087", - "url": "https://files.pythonhosted.org/packages/42/b5/33169643f5cd76fd26a2ba5a034f934cdd20ad4884fbd719dabf82a0aef5/simplejson-3.19.2-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "7f2398361508c560d0bf1773af19e9fe644e218f2a814a02210ac2c97ad70db0", - "url": "https://files.pythonhosted.org/packages/49/7d/94ba3f8c2b83a7536f9f62f23246e071eae15c83b5e4d9bd8a165b7f70a6/simplejson-3.19.2-cp310-cp310-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "554313db34d63eac3b3f42986aa9efddd1a481169c12b7be1e7512edebff8eaf", - "url": "https://files.pythonhosted.org/packages/52/46/dce3e431d3590f56f9bd2c47a61d54046cec32774b860d3b92761c0ae299/simplejson-3.19.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "08889f2f597ae965284d7b52a5c3928653a9406d88c93e3161180f0abc2433ba", - "url": "https://files.pythonhosted.org/packages/53/a0/4430915cac272de9af75287f566cd1f06dffb69b3e9fa24b3c16b066470b/simplejson-3.19.2-cp311-cp311-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "3848427b65e31bea2c11f521b6fc7a3145d6e501a1038529da2391aff5970f2f", - "url": "https://files.pythonhosted.org/packages/69/79/92c253e6990421cc38d232875231d27a886592922096b79efb53a96feaa3/simplejson-3.19.2-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "972a7833d4a1fcf7a711c939e315721a88b988553fc770a5b6a5a64bd6ebeba3", - "url": "https://files.pythonhosted.org/packages/6d/04/ab8fdb3b21845cbc533c84ab71512c1b09fac5c49a57a7176051897236e5/simplejson-3.19.2-cp311-cp311-musllinux_1_1_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "4d36081c0b1c12ea0ed62c202046dca11438bee48dd5240b7c8de8da62c620e9", - "url": "https://files.pythonhosted.org/packages/70/c1/816573ae91aebf06a0fefd8ea30ca43127aa58e68684d2ddfe17c8457afb/simplejson-3.19.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "e8dd53a8706b15bc0e34f00e6150fbefb35d2fd9235d095b4f83b3c5ed4fa11d", "url": "https://files.pythonhosted.org/packages/77/4b/9634b2e32af8e14dfc453869ff5b30386871bdcac9081ed847bf90af880f/simplejson-3.19.2-cp39-cp39-musllinux_1_1_i686.whl" }, - { - "algorithm": "sha256", - "hash": "9eb117db8d7ed733a7317c4215c35993b815bf6aeab67523f1f11e108c040672", - "url": "https://files.pythonhosted.org/packages/79/35/11247b37cc344519847db672c2deb1d237edc44306a879da7882c3d5b7db/simplejson-3.19.2-cp310-cp310-musllinux_1_1_x86_64.whl" - }, { "algorithm": "sha256", "hash": "9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c", "url": "https://files.pythonhosted.org/packages/79/79/3ccb95bb4154952532f280f7a41979fbfb0fbbaee4d609810ecb01650afa/simplejson-3.19.2.tar.gz" }, - { - "algorithm": "sha256", - "hash": "332c848f02d71a649272b3f1feccacb7e4f7e6de4a2e6dc70a32645326f3d428", - "url": "https://files.pythonhosted.org/packages/7e/f6/886fd5cd90fa8d74950a9bfc6763b5481c2063eea2eaaa95d494a0eece12/simplejson-3.19.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "0436a70d8eb42bea4fe1a1c32d371d9bb3b62c637969cb33970ad624d5a3336a", - "url": "https://files.pythonhosted.org/packages/84/78/448093d7e6c5b07073b5af7e72b72fbe5d5e00774a60f20a77f34b7477a9/simplejson-3.19.2-cp38-cp38-musllinux_1_1_aarch64.whl" - }, { "algorithm": "sha256", "hash": "febffa5b1eda6622d44b245b0685aff6fb555ce0ed734e2d7b1c3acd018a2cff", "url": "https://files.pythonhosted.org/packages/8b/9e/0a8003e4235d7c1140334738da4ec82f41696eff8c6e0ff05e6fbb560c0c/simplejson-3.19.2-cp39-cp39-musllinux_1_1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "9e4c166f743bb42c5fcc60760fb1c3623e8fda94f6619534217b083e08644b46", - "url": "https://files.pythonhosted.org/packages/8c/8d/97ffae81325d29176b718b1a15ba1581069652c707a457f29bc05a44a946/simplejson-3.19.2-cp38-cp38-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "66e5dc13bfb17cd6ee764fc96ccafd6e405daa846a42baab81f4c60e15650414", - "url": "https://files.pythonhosted.org/packages/8c/b9/e11a9de884f9f044d3121e2ced0aacef40c1452d266ff0e1298c29d41918/simplejson-3.19.2-cp311-cp311-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "3e74355cb47e0cd399ead3477e29e2f50e1540952c22fb3504dda0184fc9819f", - "url": "https://files.pythonhosted.org/packages/8e/75/79d7d95730716bfaf62249a60cf886a38b970178b34ca0f33f574c16f941/simplejson-3.19.2-cp311-cp311-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "49e0e3faf3070abdf71a5c80a97c1afc059b4f45a5aa62de0c2ca0444b51669b", - "url": "https://files.pythonhosted.org/packages/90/da/54fc4292b320c17030cbddebd0b85cafb7bd0d990e24260979c012a85935/simplejson-3.19.2-cp38-cp38-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "25785d038281cd106c0d91a68b9930049b6464288cea59ba95b35ee37c2d23a5", - "url": "https://files.pythonhosted.org/packages/94/f9/2671ed450a2586262ea2cfffd04bc0b93f0a00963c44356667ad5a0ff940/simplejson-3.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "1018bd0d70ce85f165185d2227c71e3b1e446186f9fa9f971b69eee223e1e3cd", @@ -4741,83 +3338,8 @@ }, { "algorithm": "sha256", - "hash": "2c1467d939932901a97ba4f979e8f2642415fcf02ea12f53a4e3206c9c03bc17", - "url": "https://files.pythonhosted.org/packages/99/48/dd888ee60e1e690694c5a6c923ccb059a5a879c9b078da3e33d7e80ef100/simplejson-3.19.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "ef7938a78447174e2616be223f496ddccdbf7854f7bf2ce716dbccd958cc7d13", - "url": "https://files.pythonhosted.org/packages/a0/d8/f9e822563d5ccf9e199719a64db221f942c9a04cce17140c4b4fe51a25fc/simplejson-3.19.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "2f98d918f7f3aaf4b91f2b08c0c92b1774aea113334f7cde4fe40e777114dbe6", - "url": "https://files.pythonhosted.org/packages/a2/72/1dc530055a85eae444b2bbbd37b07ed2edebe14cbb889750795e78c4d894/simplejson-3.19.2-cp310-cp310-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "6ad331349b0b9ca6da86064a3599c425c7a21cd41616e175ddba0866da32df48", - "url": "https://files.pythonhosted.org/packages/b7/75/d097167ad63b1b0b2075259e57a384be85853f268bc715d10c14174f5425/simplejson-3.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "ed628c1431100b0b65387419551e822987396bee3c088a15d68446d92f554e0c", - "url": "https://files.pythonhosted.org/packages/b7/92/eaa2674296726f458220755f558e0c1cd8ef86287fcfff0d251ca5638fbf/simplejson-3.19.2-cp311-cp311-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "b01fda3e95d07a6148702a641e5e293b6da7863f8bc9b967f62db9461330562c", - "url": "https://files.pythonhosted.org/packages/b9/b8/a1d2fc3fb179d2eb3dd42682c308816991e708dfd4e4dee47291f380e2c5/simplejson-3.19.2-cp310-cp310-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "c0521e0f07cb56415fdb3aae0bbd8701eb31a9dfef47bb57206075a0584ab2a2", - "url": "https://files.pythonhosted.org/packages/bc/9e/5fa8d18275201220f0989d58a2b9567f5f91e8f6c3fdcb900a067d396e30/simplejson-3.19.2-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "adcb3332979cbc941b8fff07181f06d2b608625edc0a4d8bc3ffc0be414ad0c4", - "url": "https://files.pythonhosted.org/packages/bc/eb/2bd4a6ec98329158f6855520596e9f2e521e2239e292d43fe1c58cf83a9b/simplejson-3.19.2-cp311-cp311-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "0d2d5119b1d7a1ed286b8af37357116072fc96700bce3bec5bb81b2e7057ab41", - "url": "https://files.pythonhosted.org/packages/be/9b/555fb8a5548b7eb465acf2c83fea55fdf72aa445db124e8911f95c702e09/simplejson-3.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "49aaf4546f6023c44d7e7136be84a03a4237f0b2b5fb2b17c3e3770a758fc1a0", - "url": "https://files.pythonhosted.org/packages/c1/9c/e96d1b7bd748a9b39af75d899c7d8ac07e15bb2cef1b4c68ded1da4157ff/simplejson-3.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a", - "url": "https://files.pythonhosted.org/packages/c4/da/cf5366b140bfda07494fe4de4cfd2dbadc934d31494c4e45c6b7780d2281/simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "a3cd18e03b0ee54ea4319cdcce48357719ea487b53f92a469ba8ca8e39df285e", - "url": "https://files.pythonhosted.org/packages/c7/4c/7142f3c926fb8a3db0aaf6d1c465063e356d8fdb11718e62d6b8ea5ee358/simplejson-3.19.2-cp311-cp311-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "7d74beca677623481810c7052926365d5f07393c72cbf62d6cce29991b676402", - "url": "https://files.pythonhosted.org/packages/ca/c7/a530c9aba6a47823df3d46f20ce09be730d04aeb67aaef057a7c515654bd/simplejson-3.19.2-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "18955c1da6fc39d957adfa346f75226246b6569e096ac9e40f67d102278c3bcb", - "url": "https://files.pythonhosted.org/packages/cb/b6/ed513a0adc3e2c9654864ffb68266dcab5720d5653428d690e7e4fb32a6c/simplejson-3.19.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a970a2e6d5281d56cacf3dc82081c95c1f4da5a559e52469287457811db6a79b", - "url": "https://files.pythonhosted.org/packages/d6/03/32cc6114c9c6928e9fd866c378c7e39297ca77f461ab0cd13cce38bd9d78/simplejson-3.19.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "778331444917108fa8441f59af45886270d33ce8a23bfc4f9b192c0b2ecef1b3", - "url": "https://files.pythonhosted.org/packages/ea/18/79519b59bf5c752c48c60152c6eda0b98a26b80a47eb6002e9f6ba0f9ed9/simplejson-3.19.2-cp310-cp310-musllinux_1_1_ppc64le.whl" + "hash": "064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a", + "url": "https://files.pythonhosted.org/packages/c4/da/cf5366b140bfda07494fe4de4cfd2dbadc934d31494c4e45c6b7780d2281/simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", @@ -5025,21 +3547,6 @@ "requires_python": null, "version": "6.3.1" }, - { - "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": [ { @@ -5062,13 +3569,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ba382f4672e604ae9f7201cb20c2153ecb6fcb238b90899af84bb544b8028939", - "url": "https://files.pythonhosted.org/packages/34/f4/d4211544403ab469047d584321ef79112b203d93a831134dcf75d1aa4e46/tooz-6.0.1-py3-none-any.whl" + "hash": "59f31661f2bbf6fcc92f943afd4a02e25e619dae4318134bab59aa3469fc7739", + "url": "https://files.pythonhosted.org/packages/77/56/dd86d35247602420ef6363d34f0250c7b6a020d66551a7ae2fdfa53d0d5d/tooz-6.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e69bdfa71f9220d7090ab8ca61cc6f69ceadf205c96e3ef75a06ff12327d3cfa", - "url": "https://files.pythonhosted.org/packages/dc/f5/83e4909910c106c955749d092f63ee69f3551903a043a7d7b2056a0318ed/tooz-6.0.1.tar.gz" + "hash": "f00b6067f84c4d2af4ad9de116ec8bc094c482b1c881add59449d62c9ec78650", + "url": "https://files.pythonhosted.org/packages/de/64/5b46cbade6d26404bcd3abc76917271ce10e90a2c277fce5dc8e71a9a2a7/tooz-6.1.0.tar.gz" } ], "project_name": "tooz", @@ -5103,7 +3610,7 @@ "zake>=0.1.6; extra == \"zake\"" ], "requires_python": ">=3.8", - "version": "6.0.1" + "version": "6.1.0" }, { "artifacts": [ @@ -5125,6 +3632,24 @@ "requires_python": null, "version": "1.4.0" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2", + "url": "https://files.pythonhosted.org/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", + "url": "https://files.pythonhosted.org/packages/b1/5a/8b5fbb891ef3f81fc923bf3cb4a578c0abf9471eb50ce0f51c74212182ab/typing_extensions-4.1.1.tar.gz" + } + ], + "project_name": "typing-extensions", + "requires_dists": [], + "requires_python": ">=3.6", + "version": "4.1.1" + }, { "artifacts": [ { @@ -5194,46 +3719,16 @@ "hash": "bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36", "url": "https://files.pythonhosted.org/packages/02/2d/4d4956140a1c92f06ef8aa1a62a8eb7e99dd2f7f32aa5d2e4a963a4bcf7c/ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl" }, - { - "algorithm": "sha256", - "hash": "ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1", - "url": "https://files.pythonhosted.org/packages/08/1b/10a58f775ee908a5c32b2e8fd7d6595d23d5272994d81de934764079352f/ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" - }, { "algorithm": "sha256", "hash": "32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562", "url": "https://files.pythonhosted.org/packages/0b/28/ddbd1f3e7b81be954961bc9c54d5b7594367a6fcd3362ffbd3822514d3b3/ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa", - "url": "https://files.pythonhosted.org/packages/0d/f0/c5083a3562f8422bc4c26b4bbb3a06bc3a62907ad02adcddb8dc7582c487/ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae", - "url": "https://files.pythonhosted.org/packages/19/f3/1431713de9e5992e5e33ba459b4de28f83904233958855d27da820a101f9/ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc", - "url": "https://files.pythonhosted.org/packages/20/05/908ffe907b698811a32a60560c71d968f441a41a55af1608f0b5129d390e/ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, { "algorithm": "sha256", "hash": "e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f", "url": "https://files.pythonhosted.org/packages/22/fb/e5531dd0d0de2d5d1aff2e6a0b78299f2f9b611d2cd67954c1dfe064aae6/ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, - { - "algorithm": "sha256", - "hash": "6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e", - "url": "https://files.pythonhosted.org/packages/26/73/db509fe1d7da62a15c0769c398cec66bdfc61a8bdffaf7dfa9d973e3d65c/ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0", - "url": "https://files.pythonhosted.org/packages/34/5f/c27fa9a1562c96d978c39852b48063c3ca480758f3088dcfc0f3b09f8e93/ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl" - }, { "algorithm": "sha256", "hash": "f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e", @@ -5249,41 +3744,16 @@ "hash": "473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4", "url": "https://files.pythonhosted.org/packages/3c/30/950218fb10fb6c9dd3b50ac6f922805827885fdf358748c2f0aa4a76df1d/ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106", - "url": "https://files.pythonhosted.org/packages/44/4a/11a91a9e2e5f6153d8042821f21ea488a91e8017162212362445118f6660/ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl" - }, { "algorithm": "sha256", "hash": "63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617", "url": "https://files.pythonhosted.org/packages/49/64/c563bc163154714a128a7e7403bc3df5e826e8936bf1f5ef602c19626eed/ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, - { - "algorithm": "sha256", - "hash": "0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e", - "url": "https://files.pythonhosted.org/packages/4a/7d/7f5642e81374dbbf9fc9b099a71b62fbb8b565a24cfcd84c13172167bca9/ujson-5.9.0-cp38-cp38-musllinux_1_1_aarch64.whl" - }, { "algorithm": "sha256", "hash": "37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60", "url": "https://files.pythonhosted.org/packages/50/4f/9541c36bc1342dbea0853d6e75b91094f44f1e5709bca3c16e1a35f6bf84/ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl" }, - { - "algorithm": "sha256", - "hash": "8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d", - "url": "https://files.pythonhosted.org/packages/51/b8/5309fbb299d5fcac12bbf3db20896db5178392904abe6b992da233dc69d6/ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95", - "url": "https://files.pythonhosted.org/packages/5b/10/037af2e0e94375673d4cb479d26c725bfac1bbaa25e2e9cf90fb6aa434ef/ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d", - "url": "https://files.pythonhosted.org/packages/5f/7f/a5802c527de69d012bf836ff3cc72ca70e0d799dff6034d39f68c27f2d50/ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532", @@ -5294,115 +3764,15 @@ "hash": "7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad", "url": "https://files.pythonhosted.org/packages/84/79/e8751f45fe1b9da65f48888dd1f15d9244f667d4d1d9293a4a092d0dd7bf/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5", - "url": "https://files.pythonhosted.org/packages/87/a7/0c17d59df9fb104b04d8137d1b79d089efbb27b58cec2cbbe482969304f4/ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096", - "url": "https://files.pythonhosted.org/packages/8d/7d/f91118d8408eccd54a5cc2d16dfb1f8b9701b8798d38fea5ba3c2c402827/ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c", - "url": "https://files.pythonhosted.org/packages/94/78/343948809148b04e5d0af609520da8a83ad07d4690a25cd41b7270a7c7d5/ujson-5.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402", - "url": "https://files.pythonhosted.org/packages/97/78/39bd02b54497d9295eaba5d597a5490cb2233f506df7db454da4e1d4e670/ujson-5.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81", "url": "https://files.pythonhosted.org/packages/b2/2c/4500b6c1e99e01e2a902ddd8a14d0972d18c05f670c42a64ed65c6361eee/ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124", - "url": "https://files.pythonhosted.org/packages/ba/08/3fc98e5041e9799b0b7a5d842f221c060cb6854751ec894fff90f8a1d50c/ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd", - "url": "https://files.pythonhosted.org/packages/ba/ac/e0f10b6e6979064c4eb17cf6ec201b2137ac1fab787d79379b6013c69d7f/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, { "algorithm": "sha256", "hash": "bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f", "url": "https://files.pythonhosted.org/packages/bd/39/bacd7004191d2d9bc8aaf0af102cbc761ab2af7dca649df67888041f84cd/ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427", - "url": "https://files.pythonhosted.org/packages/bd/af/d527c68c72330ef8dd99c1d42a832af306934f87e04584ef754982c46adf/ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b", - "url": "https://files.pythonhosted.org/packages/c0/ca/ae3a6ca5b4f82ce654d6ac3dde5e59520537e20939592061ba506f4e569a/ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b", - "url": "https://files.pythonhosted.org/packages/c8/c7/33822c2f1a8175e841e2bc378ffb2c1109ce9280f14cedb1b2fa0caf3145/ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf", - "url": "https://files.pythonhosted.org/packages/ca/6e/8afa69a9c5bc86864bd23c468ce3a0fd8410fffac5c77807b1a7107bebd5/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851", - "url": "https://files.pythonhosted.org/packages/cd/c9/92ba90de8dd23327d895d62700d1e1c6671431296589f38acaf1454b83d2/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5", - "url": "https://files.pythonhosted.org/packages/d2/33/04447295efcdcfd8afdea8990db10827e1b54c22ff2ea97ccf147345eb2a/ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d", - "url": "https://files.pythonhosted.org/packages/d3/93/de6fff3ae06351f3b1c372f675fe69bc180f93d237c9e496c05802173dd6/ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e", - "url": "https://files.pythonhosted.org/packages/dc/81/a08e0dd66e2b150d328c2bf8091b2be356e9da4abd525eb2a5df12314398/ujson-5.9.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c", - "url": "https://files.pythonhosted.org/packages/e1/e0/d2d06bd2ed1e84833eaad3777cd4ac4dcea22365a28184c2bc87dfe1f017/ujson-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd", - "url": "https://files.pythonhosted.org/packages/e2/17/f55eaeae6c769ac1abd05cb1002c5e12565f37e6be78a6326139ea2b4e20/ujson-5.9.0-cp38-cp38-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b", - "url": "https://files.pythonhosted.org/packages/e3/16/40e5647a9ad05adbb3ffeed272e2c9d887abd103eb66699968d6cf79d932/ujson-5.9.0-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378", - "url": "https://files.pythonhosted.org/packages/ed/33/26abf5f1de8361e68c8e327e726586b61c3c393ba09bf682be15fbb5df1e/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e", - "url": "https://files.pythonhosted.org/packages/ef/c4/737ce0c40d94b2048fdd728c0ed0f859a2e06b3098792e31b0d24f17442a/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908", - "url": "https://files.pythonhosted.org/packages/fc/a8/6be607fa3e1fa3e1c9b53f5de5acad33b073b6cc9145803e00bcafa729a8/ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl" } ], "project_name": "ujson", @@ -5473,19 +3843,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30", - "url": "https://files.pythonhosted.org/packages/8d/61/a7badb48186919a9fd7cf0ef427cab6d16e0ed474035c36fa64ddd72bfa2/vine-5.0.0-py2.py3-none-any.whl" + "hash": "40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc", + "url": "https://files.pythonhosted.org/packages/03/ff/7c0c86c43b3cbb927e0ccc0255cb4057ceba4799cd44ae95174ce8e8b5b2/vine-5.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e", - "url": "https://files.pythonhosted.org/packages/66/b2/8954108816865edf2b1e0d24f3c2c11dfd7232f795bcf1e4164fb8ee5e15/vine-5.0.0.tar.gz" + "hash": "8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0", + "url": "https://files.pythonhosted.org/packages/bd/e4/d07b5f29d283596b9727dd5275ccbceb63c44a1a82aa9e4bfd20426762ac/vine-5.1.0.tar.gz" } ], "project_name": "vine", "requires_dists": [], "requires_python": ">=3.6", - "version": "5.0.0" + "version": "5.1.0" }, { "artifacts": [ @@ -5696,101 +4066,21 @@ "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": "75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d", - "url": "https://files.pythonhosted.org/packages/0f/16/ea627d7817394db04518f62934a5de59874b587b792300991b3c347ff5e0/wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956", - "url": "https://files.pythonhosted.org/packages/0f/ef/0ecb1fa23145560431b970418dce575cfaec555ab08617d82eb92afc7ccf/wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3", - "url": "https://files.pythonhosted.org/packages/11/fb/18ec40265ab81c0e82a934de04596b6ce972c27ba2592c8b53d5585e6bcd/wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.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": "eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d", - "url": "https://files.pythonhosted.org/packages/25/62/cd284b2b747f175b5a96cbd8092b32e7369edab0644c45784871528eb852/wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.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", "url": "https://files.pythonhosted.org/packages/4a/cc/3402bcc897978be00fef608cd9e3e39ec8869c973feeb5e1e277670e5ad2/wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl" }, - { - "algorithm": "sha256", - "hash": "dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e", - "url": "https://files.pythonhosted.org/packages/58/43/d72e625edb5926483c9868214d25b5e7d5858ace6a80c9dfddfbadf4d8f9/wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "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": "72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1", - "url": "https://files.pythonhosted.org/packages/6e/52/2da48b35193e39ac53cfb141467d9f259851522d0e8c87153f0ba4205fb1/wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.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", "url": "https://files.pythonhosted.org/packages/70/cc/b92e1da2cad6a9f8ee481000ece07a35e3b24e041e60ff8b850c079f0ebf/wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202", - "url": "https://files.pythonhosted.org/packages/72/b5/0c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9/wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389", - "url": "https://files.pythonhosted.org/packages/7f/a7/f1212ba098f3de0fd244e2de0f8791ad2539c03bef6c05a9fcb03e45b089/wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, { "algorithm": "sha256", "hash": "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d", @@ -5806,11 +4096,6 @@ "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", @@ -5821,45 +4106,10 @@ "hash": "edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537", "url": "https://files.pythonhosted.org/packages/b6/ad/7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c/wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060", - "url": "https://files.pythonhosted.org/packages/b7/96/bb5e08b3d6db003c9ab219c487714c13a237ee7dcc572a555eaf1ce7dc82/wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/ef/c6/56e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a/wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09", - "url": "https://files.pythonhosted.org/packages/fd/03/c188ac517f402775b90d6f312955a5e53b866c964b32119f2ed76315697e/wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0", - "url": "https://files.pythonhosted.org/packages/fe/9e/d3bc95e75670ba15c5b25ecf07fc49941843e2678d777ca59339348d1c96/wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl" } ], "project_name": "wrapt", @@ -5907,13 +4157,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b32daaf0617476a2ddb7636545f69fe263ded112e6360a7faa1f4b4b0ced98f4", - "url": "https://files.pythonhosted.org/packages/a6/1d/001adc16247b0cafd7687f4ff2f8eb9365c17690d9b179d13404271b0e50/yaql-2.0.1-py3-none-any.whl" + "hash": "20f7c16485b31721e2c0ef75e990d613b72a2912d001dcc8e9a85d4934499122", + "url": "https://files.pythonhosted.org/packages/d1/4c/55a6629d077ae297472312c0a4bcfbea42f99bb11be3c64eb38c77857701/yaql-3.0.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "797526366aed91765c988c074107d6d9937be832ca0b1687d3512116b58d75c5", - "url": "https://files.pythonhosted.org/packages/02/7a/dfbd795346c950f0bcbb20e615875c01458f81e679d2425eb761600154fd/yaql-2.0.1.tar.gz" + "hash": "869149491b91d1b9cfd48ad183a808a4774272b73d285444fa374ed25962c233", + "url": "https://files.pythonhosted.org/packages/b5/f7/5c7c582fc5d11078391e227afc04e8463c88bfcdaad205e728a0a2741448/yaql-3.0.0.tar.gz" } ], "project_name": "yaql", @@ -5923,7 +4173,7 @@ "python-dateutil>=2.4.2" ], "requires_python": ">=3.6", - "version": "2.0.1" + "version": "3.0.0" }, { "artifacts": [ @@ -5950,13 +4200,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", - "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" + "hash": "206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", + "url": "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", - "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" + "hash": "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715", + "url": "https://files.pythonhosted.org/packages/3e/ef/65da662da6f9991e87f058bc90b91a935ae655a16ae5514660d6460d1298/zipp-3.18.1.tar.gz" } ], "project_name": "zipp", @@ -5980,7 +4230,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.18.0" + "version": "3.18.1" }, { "artifacts": [ @@ -5989,56 +4239,16 @@ "hash": "a7ccf5825fd71d4542c8ab28d4d482aace885f5ebe4b40faaa290eed8e095a4c", "url": "https://files.pythonhosted.org/packages/ea/76/6878c4e54ed1fc2ed2f541ce3cbccacc5dc61fd2e7ae3dfcd2789b6fd6d5/zstandard-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "d75f693bb4e92c335e0645e8845e553cd09dc91616412d1d4650da835b5449df", - "url": "https://files.pythonhosted.org/packages/09/6c/d8eec6fb8da1cccdd11e01698ff513815d1a5cdb6bba71fba519161e1f25/zstandard-0.22.0-cp38-cp38-macosx_10_9_x86_64.whl" - }, { "algorithm": "sha256", "hash": "959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb", "url": "https://files.pythonhosted.org/packages/19/16/845cd410ad0951a081b94398074daad70d4330c59f5853fb224187909f64/zstandard-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, - { - "algorithm": "sha256", - "hash": "93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202", - "url": "https://files.pythonhosted.org/packages/28/fa/60d35409132b101694943043385ecd610c23f30148e8a15af84c46844b03/zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "589402548251056878d2e7c8859286eb91bd841af117dbe4ab000e6450987e08", - "url": "https://files.pythonhosted.org/packages/32/41/80fc08ed96e68df920d28592710f5ed96fb288fda1fbb4b6aee5fdbaa5f6/zstandard-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a97079b955b00b732c6f280d5023e0eefe359045e8b83b08cf0333af9ec78f26", - "url": "https://files.pythonhosted.org/packages/54/fc/c1b1a1e140451f3362789f546731b3ef36c78668be19d7fc6fbd4326b535/zstandard-0.22.0-cp311-cp311-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "53866a9d8ab363271c9e80c7c2e9441814961d47f88c9bc3b248142c32141d94", - "url": "https://files.pythonhosted.org/packages/55/0b/b23b1a6e4d4525f663162344d4896f396267e7f65607f16f7a62e1862a23/zstandard-0.22.0-cp311-cp311-musllinux_1_1_aarch64.whl" - }, { "algorithm": "sha256", "hash": "8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", "url": "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz" }, - { - "algorithm": "sha256", - "hash": "445b47bc32de69d990ad0f34da0e20f535914623d1e506e74d6bc5c9dc40bb09", - "url": "https://files.pythonhosted.org/packages/68/fb/0a9389ee8ccc532ac4567562c7746bd7537d16bc5b079b2696fe3c510c37/zstandard-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356", - "url": "https://files.pythonhosted.org/packages/77/2a/910576262607524ff203f5fa849329f8fad6f67b7804a5ef00019f98c390/zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "33591d59f4956c9812f8063eff2e2c0065bc02050837f152574069f5f9f17775", - "url": "https://files.pythonhosted.org/packages/80/6a/f8a618f84aafb9c373a959e7e51ad34bda73f1d99cd856c05c8f0b78e87f/zstandard-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303", @@ -6049,56 +4259,11 @@ "hash": "48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe", "url": "https://files.pythonhosted.org/packages/85/96/61a79e9e9c9e14e5e1baf84fd71115944320bac525fcd754695ba84e2084/zstandard-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e", - "url": "https://files.pythonhosted.org/packages/8e/3b/0284ed7b2612f793d2490339c1b772232c04a6f20dbbdec050020bd730b2/zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0", - "url": "https://files.pythonhosted.org/packages/90/81/0e2082b0f6e62f3ac3f5c6f12f2150db9cedf0c8cbed9d350979fd157f76/zstandard-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d", - "url": "https://files.pythonhosted.org/packages/95/6b/aea6911a0dbbd5e67dd4e3db8f6b9b594ba05a0ae62f6f3c88cb609a7878/zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "4ac59d5d6910b220141c1737b79d4a5aa9e57466e7469a012ed42ce2d3995e88", - "url": "https://files.pythonhosted.org/packages/9f/da/e16b2a5613141aaa719e4b09cdadf5eb3fb099311ffc8c0b13785bdcbe1a/zstandard-0.22.0-cp311-cp311-musllinux_1_1_x86_64.whl" - }, { "algorithm": "sha256", "hash": "2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b", "url": "https://files.pythonhosted.org/packages/a3/44/846dd0d14d863c294e94ddb3bb18fc6faa5e32b553ad6b201b55e6b85b7d/zstandard-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl" }, - { - "algorithm": "sha256", - "hash": "888196c9c8893a1e8ff5e89b8f894e7f4f0e64a5af4d8f3c410f0319128bb2f8", - "url": "https://files.pythonhosted.org/packages/a4/e1/0b29be2d3a8d86053f284add5a0b4174c820fefc96183b01d5cbcedd498d/zstandard-0.22.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "1d43501f5f31e22baf822720d82b5547f8a08f5386a883b32584a185675c8fbf", - "url": "https://files.pythonhosted.org/packages/a6/a0/8f9f8c5d8f32b7c627934f620f6a67c271861992781927e6ca76b4cdc0a9/zstandard-0.22.0-cp38-cp38-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "a493d470183ee620a3df1e6e55b3e4de8143c0ba1b16f3ded83208ea8ddfd91d", - "url": "https://files.pythonhosted.org/packages/a9/d0/fe5da22515b96eb5dc46a67d74941932bb1ec1404bf403d1513efcad62b9/zstandard-0.22.0-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019", - "url": "https://files.pythonhosted.org/packages/aa/a4/b7cc74e836ec006427d18439c12b7898697c1eae91b06ffdfa63da8cd041/zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2", - "url": "https://files.pythonhosted.org/packages/c9/79/07f6d2670fa2708ae3b79aabb82da78e9cbdb08d9bafadf8638d356775ff/zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, { "algorithm": "sha256", "hash": "9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3", @@ -6108,26 +4273,6 @@ "algorithm": "sha256", "hash": "73a1d6bd01961e9fd447162e137ed949c01bdb830dfca487c4a14e9742dccc93", "url": "https://files.pythonhosted.org/packages/d9/15/7d40ac656fec0710394278e91649bdeea5bec0230fb18dd655f67e7b02e3/zstandard-0.22.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "23d2b3c2b8e7e5a6cb7922f7c27d73a9a615f0a5ab5d0e03dd533c477de23004", - "url": "https://files.pythonhosted.org/packages/ef/60/2474dc2811948c357d10844724d02eb0a59d5721a8118a07741368877de8/zstandard-0.22.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2612e9bb4977381184bb2463150336d0f7e014d6bb5d4a370f9a372d21916f69", - "url": "https://files.pythonhosted.org/packages/ef/e7/1cce80b1abc3b2d07eeb0a41a179adb2a49aba8b3064518497664a3ba3ba/zstandard-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a", - "url": "https://files.pythonhosted.org/packages/fc/e5/a1fa6f70764777553cb8ab668690ba793ebf512b3d415e28720d2275d445/zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e", - "url": "https://files.pythonhosted.org/packages/fd/d5/ab90d6c148ecf239ad0a318c9db213235f052de2a33fdee8dcbd088e5d1a/zstandard-0.22.0-cp38-cp38-macosx_11_0_arm64.whl" } ], "project_name": "zstandard", @@ -6147,39 +4292,35 @@ "pip_version": "23.1.2", "prefer_older_binary": false, "requirements": [ + "Jinja2==3.1.3", "PyYAML", "Pygments", "RandomWords", "apscheduler", - "argcomplete", + "argcomplete==3.2.3", "beautifulsoup4", "ciso8601", "cryptography", - "editor", - "eventlet", + "editor==1.6.6", + "eventlet==0.35.2", "flask", "flex", "gitdb", "gitpython", "graphviz", - "greenlet", - "gunicorn", - "jinja2", + "gunicorn==21.2.0", "jsonpath-rw", "jsonschema<4,>=3", - "kombu", + "kombu==5.3.5", "lockfile", "logshipper", "mail-parser==3.15.0", "mock", "mongoengine<0.24.0,>=0.21.0", "networkx", - "nose", - "nose-parallel", - "nose-timer", "orjson", "orquesta", - "oslo.config", + "oslo.config==9.4.0", "paramiko", "pika", "pip", @@ -6198,11 +4339,10 @@ "pytz", "pywinrm", "redis", - "rednose", "requests[security]", "retrying", "routes", - "semver", + "semver==3.0.2", "setuptools", "simplejson", "six", @@ -6224,7 +4364,7 @@ "zstandard" ], "requires_python": [ - "<=3.11,>=3.8" + "==3.9.*" ], "resolver_version": "pip-2020-resolver", "style": "universal", diff --git a/lockfiles/twine.lock b/lockfiles/twine.lock index 0ebb0c792b..1f7e40c9a5 100644 --- a/lockfiles/twine.lock +++ b/lockfiles/twine.lock @@ -611,13 +611,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f4bc4c0c070c490abf4ce96d715f68e95923320370efb66143df00199bb6c100", - "url": "https://files.pythonhosted.org/packages/db/62/6879ab53ad4997b627fc67241a41eabf7163299c59580c6ca4aa5ae6b677/importlib_metadata-7.0.2-py3-none-any.whl" + "hash": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "198f568f3230878cb1b44fbd7975f87906c22336dba2e4a7f05278c281fbd792", - "url": "https://files.pythonhosted.org/packages/64/dd/7467b3be0e863401438a407411f78c33376748aff39ec0b8f45f6739c86c/importlib_metadata-7.0.2.tar.gz" + "hash": "b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2", + "url": "https://files.pythonhosted.org/packages/a0/fc/c4e6078d21fc4fa56300a241b87eae76766aa380a23fc450fc85bb7bf547/importlib_metadata-7.1.0.tar.gz" } ], "project_name": "importlib-metadata", @@ -627,6 +627,7 @@ "importlib-resources>=1.3; python_version < \"3.9\" and extra == \"testing\"", "ipython; extra == \"perf\"", "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test>=5.4; extra == \"testing\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "packaging; extra == \"testing\"", "pyfakefs; extra == \"testing\"", @@ -644,19 +645,19 @@ "zipp>=0.5" ], "requires_python": ">=3.8", - "version": "7.0.2" + "version": "7.1.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "783407aa1cd05550e3aa123e8f7cfaebee35ffa9cb0242919e2d1e4172222705", - "url": "https://files.pythonhosted.org/packages/de/79/7ad3b2831247db4f61e781f9164147b1ee20205c5230dcd177021caa266b/importlib_resources-6.3.0-py3-none-any.whl" + "hash": "f41f4098b16cd140a97d256137cfd943d958219007990b2afb00439fc623f580", + "url": "https://files.pythonhosted.org/packages/6e/f0/0632f7ae2d23aa34f1c5b09caf775376b9372e685c3841947dceef39919f/importlib_resources-6.3.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "166072a97e86917a9025876f34286f549b9caf1d10b35a1b372bffa1600c6569", - "url": "https://files.pythonhosted.org/packages/47/09/c02a7de10bd37af6752d1487b989342e4ae688a0082c59d3fc16274361c7/importlib_resources-6.3.0.tar.gz" + "hash": "963eb79649252b0160c1afcfe5a1d3fe3ad66edd0a8b114beacffb70c0674223", + "url": "https://files.pythonhosted.org/packages/cc/d8/9024d77b996e94c115d6b4fb7580742a012f15ecbca2e7f626445a408179/importlib_resources-6.3.2.tar.gz" } ], "project_name": "importlib-resources", @@ -679,7 +680,7 @@ "zipp>=3.17; extra == \"testing\"" ], "requires_python": ">=3.8", - "version": "6.3.0" + "version": "6.3.2" }, { "artifacts": [ @@ -1129,13 +1130,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c1bb803ed69d2cce2373152797064f7e79bc43f0a3748eb494096a867e0ebf79", - "url": "https://files.pythonhosted.org/packages/39/ab/b6f4d44df331bf15f1bdae6a839563eeaad6c006a6c4e289acdd7db1ebe3/zipp-3.18.0-py3-none-any.whl" + "hash": "206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", + "url": "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "df8d042b02765029a09b157efd8e820451045890acc30f8e37dd2f94a060221f", - "url": "https://files.pythonhosted.org/packages/58/4a/caf3ac13aeada77b78ade7b74ec9cd9367e93eadcdefd8a1b4e8c4d05aed/zipp-3.18.0.tar.gz" + "hash": "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715", + "url": "https://files.pythonhosted.org/packages/3e/ef/65da662da6f9991e87f058bc90b91a935ae655a16ae5514660d6460d1298/zipp-3.18.1.tar.gz" } ], "project_name": "zipp", @@ -1159,7 +1160,7 @@ "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.18.0" + "version": "3.18.1" } ], "platform_tag": null diff --git a/pants-plugins/BUILD b/pants-plugins/BUILD index ba467168ac..ee490ff005 100644 --- a/pants-plugins/BUILD +++ b/pants-plugins/BUILD @@ -2,7 +2,7 @@ __defaults__( all=dict( resolve="pants-plugins", skip_pylint=True, - interpreter_constraints=["CPython==3.9.*"], + interpreter_constraints=["CPython<=3.11,>=3.8"], ) ) diff --git a/pants.toml b/pants.toml index 62546f776f..9531e86edd 100644 --- a/pants.toml +++ b/pants.toml @@ -111,38 +111,36 @@ enable_resolves = true default_resolve = "st2" interpreter_constraints = [ # python_distributions needs a single constraint (vs one line per python version). - "CPython>=3.8,<=3.11", + "CPython==3.9.*", # 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" -setuptools = "lockfiles/setuptools.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] # 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"] +bandit = ["CPython>=3.8,<3.11"] +black = ["CPython>=3.8,<3.11"] +flake8 = ["CPython>=3.8,<3.11"] +# 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 +pants-plugins = ["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/pylint_plugins/BUILD b/pylint_plugins/BUILD index 6c6bf87c31..0750ed6905 100644 --- a/pylint_plugins/BUILD +++ b/pylint_plugins/BUILD @@ -17,7 +17,7 @@ python_tests( python_requirement( name="pylint", requirements=[ - "pylint~=2.8.2", + "pylint>=2.8.2", "setuptools", # includes pkg_resources ], ) diff --git a/pylint_plugins/api_models.py b/pylint_plugins/api_models.py index d2b7d7e9b3..7fd3ee78e7 100644 --- a/pylint_plugins/api_models.py +++ b/pylint_plugins/api_models.py @@ -51,6 +51,7 @@ Now, we return because Pylint can finally understand our API model objects without importing them. """ +# pylint: disable=E1120,E1125 import astroid @@ -290,12 +291,14 @@ def transform(cls: nodes.ClassDef): node = scoped_nodes.builtin_lookup("None")[1][0] else: # Unknown type - node = astroid.ClassDef(property_name, None) + node = astroid.ClassDef(property_name) # Create a "property = node" assign node assign_node = nodes.Assign(parent=cls) assign_name_node = nodes.AssignName(property_name, parent=assign_node) - assign_node.postinit(targets=[assign_name_node], value=node) + assign_node.postinit( + targets=[assign_name_node], value=node, type_annotation=None + ) # Finally, add the property node as an attribute on the class. cls.locals[property_name] = [assign_name_node] diff --git a/pylint_plugins/api_models_test.py b/pylint_plugins/api_models_test.py index 2b446f8f70..7ff7c3eba1 100644 --- a/pylint_plugins/api_models_test.py +++ b/pylint_plugins/api_models_test.py @@ -301,7 +301,7 @@ def test(): # accessing a property NOT defined in the schema with self.assertAddsMessages( - pylint.testutils.Message( + pylint.testutils.MessageTest( msg_id="no-member", # E1101 args=("Instance of", "TestAPI", "missing", ""), node=assign_node_missing.value, diff --git a/pylint_plugins/db_models.py b/pylint_plugins/db_models.py index da9251462e..abb1c5be9f 100644 --- a/pylint_plugins/db_models.py +++ b/pylint_plugins/db_models.py @@ -16,6 +16,7 @@ """ Plugin which tells Pylint how to handle mongoengine document classes. """ +# pylint: disable=E1120,E1125 import astroid @@ -42,7 +43,7 @@ def transform(cls): if cls.name.endswith("DB"): # mongoengine explicitly declared "id" field on each class so we teach pylint about that property_name = "id" - node = astroid.ClassDef(property_name, None) + node = astroid.ClassDef(property_name) cls.locals[property_name] = [node] diff --git a/pyproject.toml b/pyproject.toml index 0747dbabfc..4afc22331c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.black] max-line-length = 100 -target_version = ['py36'] +target_version = ['py38'] include = '\.pyi?$' exclude = ''' ( diff --git a/requirements-pants.txt b/requirements-pants.txt index bfc8e6b6ef..ca56e6d278 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -7,22 +7,21 @@ # Please keep this list alphabetical, with tooz backends in a separate list. apscheduler -argcomplete +argcomplete==3.2.3 ciso8601 cryptography -eventlet +eventlet==0.35.2 # flex parses the openapi 2 spec in our router flex # gitpython & gitdb are used for pack management gitdb gitpython # st2common/tests/integration/test_util_green.py requires greenlet (as does eventlet) -greenlet -gunicorn -jinja2 +gunicorn==21.2.0 +Jinja2==3.1.3 jsonpath-rw jsonschema>=3,<4 -kombu +kombu==5.3.5 lockfile mock # mongoengine 0.24.0 has breaking changes to support pymongo 4.0 @@ -34,7 +33,7 @@ orjson orquesta @ git+https://github.com/StackStorm/orquesta.git@v1.6.0 # Historical reference: https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 # Relaxed pinning for py3.10 support. -oslo.config +oslo.config==9.4.0 paramiko # we use pip at runtime pip @@ -50,7 +49,7 @@ pymongo>=3.11.0,<3.13.0 pyrabbit pytest python-dateutil -editor +editor==1.6.6 Pygments # pythonjsonlogger referenced in st2actions/conf/logging.conf python-json-logger @@ -62,7 +61,7 @@ RandomWords requests[security] retrying routes -semver +semver==3.0.2 # setuptools provides pkg_resources (and we need it with pip at runtime) setuptools simplejson @@ -93,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/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index cae04c2e27..e8fa417cb9 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -494,7 +494,12 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn(" ".join(command), stdout) # argparse on py3.8/py3.9 has a different output to py3.10 so the check for # optional arguments covers both formats. - assert isinstance(re.search("(optional arguments:|options:)", stdout), re.Match) is True + assert ( + isinstance( + re.search("(optional arguments:|options:)", stdout), re.Match + ) + is True + ) # Reset stdout and stderr after each iteration self._reset_output_streams() @@ -515,7 +520,12 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn(" ".join(command), stdout) # argparse on py3.8/py3.9 has a different output to py3.10 so the check for # optional arguments covers both formats. - assert isinstance(re.search("(optional arguments:|options:)", stdout), re.Match) is True + assert ( + isinstance( + re.search("(optional arguments:|options:)", stdout), re.Match + ) + is True + ) # Verify that the actual help usage string was triggered and not the invalid # "too few arguments" which would indicate command doesn't actually correctly handle diff --git a/st2common/tests/unit/test_util_file_system.py b/st2common/tests/unit/test_util_file_system.py index fa579329ae..f45498702b 100644 --- a/st2common/tests/unit/test_util_file_system.py +++ b/st2common/tests/unit/test_util_file_system.py @@ -39,7 +39,9 @@ def test_get_file_list(self): "meta/concurrency.yaml", "meta/__init__.py", ] - result = get_file_list(directory=directory, exclude_patterns=["*.pyc", "__pycache__"]) + result = get_file_list( + directory=directory, exclude_patterns=["*.pyc", "__pycache__"] + ) # directory listings are sorted because the item order must be exact for assert # to validate equivalence. Directory item order doesn't matter in general and may # even change on different platforms or locales. From 0b0d677f554ab4e06f7e27f9f6be758afbc4c53c Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 26 Mar 2024 08:02:36 +0100 Subject: [PATCH 039/110] Bump jinja2 to support py3.10 and remove nose from test requirements. --- fixed-requirements.txt | 3 +-- requirements.txt | 8 ++------ st2actions/in-requirements.txt | 2 +- st2actions/requirements.txt | 2 +- st2api/in-requirements.txt | 2 +- st2auth/in-requirements.txt | 2 +- st2client/in-requirements.txt | 2 +- st2common/in-requirements.txt | 2 +- st2common/requirements.txt | 2 +- st2reactor/in-requirements.txt | 2 +- st2stream/in-requirements.txt | 2 +- st2tests/in-requirements.txt | 8 ++------ st2tests/requirements.txt | 6 +----- test-requirements.txt | 1 - 14 files changed, 15 insertions(+), 29 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 4611a330bf..e6edbf6acf 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -25,7 +25,7 @@ kombu==5.3.5 lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode # 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support -Jinja2==3.1.3 +jinja2==3.1.3 MarkupSafe==2.1.5 # mongoengine 0.24.0 has breaking changes to support pymongo 4.0 mongoengine>=0.21.0,<0.24.0 @@ -85,7 +85,6 @@ webob==1.8.7 zake==0.2.2 # test requirements below bcrypt==3.2.0 -jinja2==2.11.3 mock==4.0.3 psutil==5.8.0 python-dateutil==2.8.1 diff --git a/requirements.txt b/requirements.txt index 5eb26d8ebc..2d27ba99e9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -25,7 +25,7 @@ gitpython<=3.1.37 greenlet==3.0.3 gunicorn==21.2.0 importlib-metadata>=4.8.3,<=4.10.1 -jinja2==2.11.3 +jinja2==3.1.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.5 @@ -34,9 +34,6 @@ logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched mock==4.0.3 mongoengine>=0.21.0,<0.24.0 networkx<3 -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 orjson==3.5.2 orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 oslo.config==9.4.0 @@ -52,6 +49,7 @@ pymongo>=3.11.0,<3.13.0 pyparsing<3 pyrabbit pysocks +pytest python-dateutil==2.8.1 python-json-logger python-statsd==2.1.0 @@ -59,7 +57,6 @@ pytz==2021.1 pywinrm==0.4.1 pyyaml==5.3.1 redis==4.1.4 -rednose requests[security]==2.25.1 retrying==1.3.3 routes==2.4.1 @@ -74,7 +71,6 @@ stevedore==1.30.1 tenacity>=3.2.1,<7.0.0 tooz==2.8.0 typing-extensions<4.2 -unittest2 webob==1.8.7 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 4495c5f4b7..fca5bb579f 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -10,7 +10,7 @@ apscheduler==3.7.0 chardet<3.1.0 eventlet==0.35.2 gitpython<=3.1.37 -jinja2==2.11.3 +jinja2==3.1.3 kombu==5.3.5 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" 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/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/st2client/in-requirements.txt b/st2client/in-requirements.txt index 429d41e820..d1d309465e 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/st2common/in-requirements.txt b/st2common/in-requirements.txt index 1daa52fb8e..c21e130cf2 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 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index ad1e7b1f09..b49f55293d 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -19,7 +19,7 @@ flex==6.14.1 gitdb==4.0.2 gitpython<=3.1.37 greenlet==3.0.3 -jinja2==2.11.3 +jinja2==3.1.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.5 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/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/requirements.txt b/st2tests/requirements.txt index 4cc6d89e75..dd5e4fe4f0 100644 --- a/st2tests/requirements.txt +++ b/st2tests/requirements.txt @@ -7,11 +7,7 @@ # update the component requirements.txt RandomWords mock==4.0.3 -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 psutil==5.8.0 pyrabbit -rednose -unittest2 +pytest webtest diff --git a/test-requirements.txt b/test-requirements.txt index a4d1973986..37366c4347 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10,7 +10,6 @@ bandit==1.7.0 ipython<6.0.0 isort>=4.2.5 mock==4.0.3 -nose>=1.3.7 tabulate sphinx==1.7.9 sphinx-autobuild From ddf4fbb75d73a3382ceb4a25750847df03d9b0ca Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 27 Mar 2024 07:33:49 +0100 Subject: [PATCH 040/110] Test: Bump pylint and astroid to latest 2.x --- pylint_plugins/api_models_test.py | 8 ++++++++ test-requirements.txt | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pylint_plugins/api_models_test.py b/pylint_plugins/api_models_test.py index 7ff7c3eba1..95a2a0781d 100644 --- a/pylint_plugins/api_models_test.py +++ b/pylint_plugins/api_models_test.py @@ -19,6 +19,7 @@ import pylint.checkers.typecheck import pylint.testutils +from pylint.interfaces import Confidence # merely importing this registers it in astroid # so parse() will use our predicate and transform functions. @@ -305,6 +306,13 @@ def test(): msg_id="no-member", # E1101 args=("Instance of", "TestAPI", "missing", ""), node=assign_node_missing.value, + line=assign_node_missing.lineno, + # fixme: +10 is a workaround, need understand why coloffset + # is 4 but visit_attribute is coloffset 14. + col_offset=assign_node_missing.col_offset+10, + end_line=assign_node_missing.end_lineno, + end_col_offset=assign_node_missing.end_col_offset, + confidence=Confidence(name='INFERENCE', description='Warning based on inference result.'), ) ): self.checker.visit_attribute(assign_node_missing.value) diff --git a/test-requirements.txt b/test-requirements.txt index 37366c4347..903dad34ea 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,8 +1,8 @@ coverage pep8==1.7.1 st2flake8==0.1.0 -astroid==2.5.6 -pylint==2.8.2 +astroid==2.15.8 +pylint==2.17.7 pylint-plugin-utils>=0.4 black==22.3.0 pre-commit==2.1.0 From de424bd3e3df980b2c7fab8dca476f58eb74b7e2 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 29 Mar 2024 13:55:11 +0100 Subject: [PATCH 041/110] Remove options to fix pylint Unknown option value warning. --- lint-configs/python/.pylintrc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lint-configs/python/.pylintrc b/lint-configs/python/.pylintrc index d19e02e3cc..e5933b774b 100644 --- a/lint-configs/python/.pylintrc +++ b/lint-configs/python/.pylintrc @@ -1,8 +1,6 @@ [MESSAGES CONTROL] # C0111 Missing docstring # I0011 Warning locally suppressed using disable-msg -# I0012 Warning locally suppressed using disable-msg -# W0704 Except doesn't do anything Used when an except clause does nothing but "pass" and there is no "else" clause # W0142 Used * or * magic* Used when a function or method is called using *args or **kwargs to dispatch arguments. # W0212 Access to a protected member %s of a client class # W0232 Class has no __init__ method Used when a class has no __init__ method, neither its parent classes. @@ -18,7 +16,7 @@ # E0211: Method has no argument # E1128: Assigning to function call which only returns None Used when an assignment is done on a function call but the inferred function returns nothing but None. # E1129: Context manager ‘%s’ doesn’t implement __enter__ and __exit__. Used when an instance in a with statement doesn’t implement the context manager protocol(__enter__/__exit__). -disable=C0103,C0111,I0011,I0012,W0704,W0142,W0212,W0232,W0613,W0702,R0201,W0614,R0914,R0912,R0915,R0913,R0904,R0801,not-context-manager,assignment-from-none +disable=C0103,C0111,I0011,W0142,W0212,W0232,W0613,W0702,R0201,W0614,R0914,R0912,R0915,R0913,R0904,R0801,not-context-manager,assignment-from-none [BASIC] property-classes=abc.abstractproperty From 2c158861eb8b0c8e361b124d8dd458384713aa05 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 29 Mar 2024 13:59:14 +0100 Subject: [PATCH 042/110] Fix Useless option value for W0142, W0232 and R0201 --- lint-configs/python/.pylintrc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lint-configs/python/.pylintrc b/lint-configs/python/.pylintrc index e5933b774b..4e848acd7a 100644 --- a/lint-configs/python/.pylintrc +++ b/lint-configs/python/.pylintrc @@ -1,12 +1,9 @@ [MESSAGES CONTROL] # C0111 Missing docstring # I0011 Warning locally suppressed using disable-msg -# W0142 Used * or * magic* Used when a function or method is called using *args or **kwargs to dispatch arguments. # W0212 Access to a protected member %s of a client class -# W0232 Class has no __init__ method Used when a class has no __init__ method, neither its parent classes. # W0613 Unused argument %r Used when a function or method argument is not used. # W0702 No exception's type specified Used when an except clause doesn't specify exceptions type to catch. -# R0201 Method could be a function # W0614 Unused import XYZ from wildcard import # R0914 Too many local variables # R0912 Too many branches @@ -16,14 +13,13 @@ # E0211: Method has no argument # E1128: Assigning to function call which only returns None Used when an assignment is done on a function call but the inferred function returns nothing but None. # E1129: Context manager ‘%s’ doesn’t implement __enter__ and __exit__. Used when an instance in a with statement doesn’t implement the context manager protocol(__enter__/__exit__). -disable=C0103,C0111,I0011,W0142,W0212,W0232,W0613,W0702,R0201,W0614,R0914,R0912,R0915,R0913,R0904,R0801,not-context-manager,assignment-from-none +disable=C0103,C0111,I0011,W0212,W0613,W0702,W0614,R0914,R0912,R0915,R0913,R0904,R0801,not-context-manager,assignment-from-none [BASIC] property-classes=abc.abstractproperty [TYPECHECK] -# Note: This modules are manipulated during the runtime so we can't detect all the properties during -# static analysis +# Note: These modules are manipulated during the runtime so we can't detect all the properties during static analysis # orjson has type stubs, but pylint doesn't support __init__.pyi yet: https://github.com/PyCQA/pylint/issues/2873 ignored-modules=distutils,eventlet.green.subprocess,six,six.moves,orjson From 12b9eda023174187374212d6895d65afc0622836 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 29 Mar 2024 14:34:32 +0100 Subject: [PATCH 043/110] Fix E0601: Using variable 'result' before assignment (used-before-assignment) --- .../actions/pack_mgmt/get_pack_dependencies.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py b/contrib/packs/actions/pack_mgmt/get_pack_dependencies.py index b9168526a2..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"); @@ -125,9 +125,9 @@ def get_pack_version(pack=None): pack_metadata = get_pack_metadata(pack_dir=pack_path) result = pack_metadata.get("version", None) except Exception: - result = None - finally: - return result + return None + + return result def get_dependency_list(pack=None): @@ -138,6 +138,6 @@ def get_dependency_list(pack=None): result = pack_metadata.get("dependencies", None) except Exception: print("Could not open pack.yaml at location %s" % pack_path) - result = None - finally: - return result + return None + + return result From d18fb02feeab1fb457e23ced4a648fc6a75a8f46 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 29 Mar 2024 14:36:42 +0100 Subject: [PATCH 044/110] Bump linting tools and update pylint code for compatibility. --- pylint_plugins/api_models_test.py | 6 ++++-- requirements-pants.txt | 4 +++- test-requirements.txt | 6 ++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/pylint_plugins/api_models_test.py b/pylint_plugins/api_models_test.py index 95a2a0781d..6d201a55ef 100644 --- a/pylint_plugins/api_models_test.py +++ b/pylint_plugins/api_models_test.py @@ -309,10 +309,12 @@ def test(): line=assign_node_missing.lineno, # fixme: +10 is a workaround, need understand why coloffset # is 4 but visit_attribute is coloffset 14. - col_offset=assign_node_missing.col_offset+10, + col_offset=assign_node_missing.col_offset + 10, end_line=assign_node_missing.end_lineno, end_col_offset=assign_node_missing.end_col_offset, - confidence=Confidence(name='INFERENCE', description='Warning based on inference result.'), + confidence=Confidence( + name="INFERENCE", description="Warning based on inference result." + ), ) ): self.checker.visit_attribute(assign_node_missing.value) diff --git a/requirements-pants.txt b/requirements-pants.txt index ca56e6d278..e9aa8ab982 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -47,7 +47,9 @@ psutil pymongo>=3.11.0,<3.13.0 # pyrabbit used in an integration test pyrabbit -pytest +astroid==2.15.8 +pylint==2.17.7 +pytest==6.2.5 python-dateutil editor==1.6.6 Pygments diff --git a/test-requirements.txt b/test-requirements.txt index 903dad34ea..d15578473f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,6 +1,7 @@ coverage pep8==1.7.1 -st2flake8==0.1.0 +flake8==7.0.0 +st2-flake8 @ git+https://github.com/nzlosh/st2-flake8@master astroid==2.15.8 pylint==2.17.7 pylint-plugin-utils>=0.4 @@ -11,7 +12,8 @@ ipython<6.0.0 isort>=4.2.5 mock==4.0.3 tabulate -sphinx==1.7.9 +# 4.5.0 required for Jinja-3.1.3 support. +sphinx==4.5.0 sphinx-autobuild # pin alabaster (sphinx dependency) or pip installs one that is not compatible alabaster<0.7.14 From a6a0bfde58a0a270c2c37e9a01350a2da96ce1a7 Mon Sep 17 00:00:00 2001 From: Carlos Date: Fri, 29 Mar 2024 15:20:24 +0100 Subject: [PATCH 045/110] Fix E721 do not compare types --- st2common/st2common/services/action.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2common/st2common/services/action.py b/st2common/st2common/services/action.py index 9c026f5507..e32fb39061 100644 --- a/st2common/st2common/services/action.py +++ b/st2common/st2common/services/action.py @@ -631,6 +631,6 @@ def is_action_execution_under_action_chain_context(liveaction): def get_requester(requester): - if type(requester) == UserDB: + if isinstance(requester, UserDB): return requester["name"] return requester From a8046946ac6b92648ab2eccedadf19075385e070 Mon Sep 17 00:00:00 2001 From: Carlos Date: Sat, 30 Mar 2024 00:20:43 +0100 Subject: [PATCH 046/110] Initialise variables to avoid E0601: Use before assignment. --- st2actions/st2actions/container/base.py | 4 ++++ st2common/st2common/services/action.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/st2actions/st2actions/container/base.py b/st2actions/st2actions/container/base.py index 71fe218292..67f3bf6fc8 100644 --- a/st2actions/st2actions/container/base.py +++ b/st2actions/st2actions/container/base.py @@ -210,6 +210,8 @@ def _do_cancel(self, runner): return runner.liveaction def _do_pause(self, runner): + # Initialise to avoid E0601: Use before assignment. + status = result = context = None try: extra = {"runner": runner} LOG.debug( @@ -240,6 +242,8 @@ def _do_pause(self, runner): return runner.liveaction def _do_resume(self, runner): + # Initialise to avoid E0601: Use before assignment. + status = result = context = None try: extra = {"runner": runner} LOG.debug( 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"); From bdfbd77ea89012025d2be7e157b3f3ddea82ff99 Mon Sep 17 00:00:00 2001 From: Carlos Date: Sun, 31 Mar 2024 10:29:44 +0200 Subject: [PATCH 047/110] Bump pylint and astroid to support latest dnspython. --- test-requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test-requirements.txt b/test-requirements.txt index d15578473f..9a18972da6 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,8 +2,8 @@ coverage pep8==1.7.1 flake8==7.0.0 st2-flake8 @ git+https://github.com/nzlosh/st2-flake8@master -astroid==2.15.8 -pylint==2.17.7 +astroid==3.1.0 +pylint==3.1.0 pylint-plugin-utils>=0.4 black==22.3.0 pre-commit==2.1.0 From 15a2b6e454cabeb89c1cbe4352d2698622a73219 Mon Sep 17 00:00:00 2001 From: Carlos Date: Sun, 31 Mar 2024 11:00:30 +0200 Subject: [PATCH 048/110] Update pylint calls for support 3.1 --- pylint_plugins/api_models.py | 38 +++++++++++++++++++++++++++++++----- pylint_plugins/db_models.py | 19 ++++++++++++++++-- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/pylint_plugins/api_models.py b/pylint_plugins/api_models.py index 7fd3ee78e7..823368ed56 100644 --- a/pylint_plugins/api_models.py +++ b/pylint_plugins/api_models.py @@ -276,9 +276,21 @@ def transform(cls: nodes.ClassDef): # Now, we can construct the AST node that we'll add to the API model class. if property_type == "object": - node = nodes.Dict() + node = nodes.Dict( + property_data_node.lineno, + property_data_node.col_offset, + parent=property_data_node, + end_lineno=property_data_node.end_lineno, + end_col_offset=property_data_node.end_col_offset, + ) elif property_type == "array": - node = nodes.List() + node = nodes.List( + property_data_node.lineno, + property_data_node.col_offset, + parent=property_data_node, + end_lineno=property_data_node.end_lineno, + end_col_offset=property_data_node.end_col_offset, + ) elif property_type == "integer": node = scoped_nodes.builtin_lookup("int")[1][0] elif property_type == "number": @@ -291,11 +303,27 @@ def transform(cls: nodes.ClassDef): node = scoped_nodes.builtin_lookup("None")[1][0] else: # Unknown type - node = astroid.ClassDef(property_name) + node = astroid.ClassDef( + property_name, + property_data_node.lineno, + property_data_node.col_offset, + parent=property_data_node, + end_lineno=property_data_node.end_lineno, + end_col_offset=property_data_node.end_col_offset, + ) # Create a "property = node" assign node - assign_node = nodes.Assign(parent=cls) - assign_name_node = nodes.AssignName(property_name, parent=assign_node) + assign_node = nodes.Assign( + cls.lineno, + cls.col_offset, + parent=cls, + end_lineno=cls.end_lineno, + end_col_offset=cls.end_col_offset, + ) + # todo: determine what line/offsets should be. + assign_name_node = nodes.AssignName( + property_name, 0, 0, parent=assign_node, end_lineno=0, end_col_offset=0 + ) assign_node.postinit( targets=[assign_name_node], value=node, type_annotation=None ) diff --git a/pylint_plugins/db_models.py b/pylint_plugins/db_models.py index abb1c5be9f..6d37d3546a 100644 --- a/pylint_plugins/db_models.py +++ b/pylint_plugins/db_models.py @@ -38,12 +38,27 @@ def transform(cls): if cls.name == "StormFoundationDB": # _fields get added automagically by mongoengine if "_fields" not in cls.locals: - cls.locals["_fields"] = [nodes.Dict()] + cls.locals["_fields"] = [ + nodes.Dict( + cls.lineno, + cls.col_offset, + parent=cls, + end_lineno=cls.end_lineno, + end_col_offset=cls.end_col_offset, + ) + ] if cls.name.endswith("DB"): # mongoengine explicitly declared "id" field on each class so we teach pylint about that property_name = "id" - node = astroid.ClassDef(property_name) + node = astroid.ClassDef( + property_name, + cls.lineno, + cls.col_offset, + parent=cls, + end_lineno=cls.end_lineno, + end_col_offset=cls.end_col_offset, + ) cls.locals[property_name] = [node] From 48b1ced198f94d191947cb8b04206db096f50837 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 3 Apr 2024 00:31:05 +0200 Subject: [PATCH 049/110] Update requirements and pants lockfiles with module pinning for py3.8, py3.9 and py3.10 --- CHANGELOG.rst | 3 +- Makefile | 2 +- fixed-requirements.txt | 34 +- lockfiles/st2-constraints.txt | 30 +- lockfiles/st2.lock | 1389 ++++++++++++++++----------------- lockfiles/twine.lock | 178 +++-- pylint_plugins/api_models.py | 2 +- requirements-pants.txt | 96 +-- requirements.txt | 19 +- st2actions/requirements.txt | 6 +- st2api/requirements.txt | 2 +- st2auth/requirements.txt | 2 +- st2client/in-requirements.txt | 1 + st2client/requirements.txt | 15 +- st2common/in-requirements.txt | 3 +- st2common/requirements.txt | 14 +- st2reactor/requirements.txt | 2 +- st2stream/requirements.txt | 2 +- test-requirements.txt | 22 +- 19 files changed, 917 insertions(+), 905 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 20769601be..b831099b91 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,7 +14,8 @@ Changed ~~~~~~~ * Bumped `jsonschema` 2.6.0 -> 3.2.0 now that python3.6 is not supported. #6118 -* Upgrade `pymongo` and `mongoengine` for MongoDB v5/6/7 support. #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 a18b137c78..dac0394e26 100644 --- a/Makefile +++ b/Makefile @@ -1146,7 +1146,7 @@ ci-checks: .generated-files-check .shellcheck .black-check .pre-commit-checks .f @echo @echo "==================== rst-check ====================" @echo - . $(VIRTUALENV_DIR)/bin/activate; rstcheck --report warning CHANGELOG.rst + . $(VIRTUALENV_DIR)/bin/activate; rstcheck --report-level WARNING CHANGELOG.rst .PHONY: .generated-files-check .generated-files-check: diff --git a/fixed-requirements.txt b/fixed-requirements.txt index e6edbf6acf..cd399e8de5 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -1,13 +1,18 @@ -# 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<6.0.0,>=5.1.1 apscheduler==3.7.0 -# requests 2.23 requires chardet < 3.1.0 -chardet<3.1.0 cffi<1.15.0 # NOTE: 2.0 version breaks pymongo work with hosts dnspython==2.6.1 -cryptography==39.0.1 +# 202404: Bumped to latest because py3.6 support dropped but lower than v42 for current paramiko/pyopenssl compatibility. +cryptography<42 eventlet==0.35.2 flex==6.14.1 # Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 @@ -29,8 +34,8 @@ jinja2==3.1.3 MarkupSafe==2.1.5 # mongoengine 0.24.0 has breaking changes to support pymongo 4.0 mongoengine>=0.21.0,<0.24.0 -# required by orquesta (networkx<2.6 for py3.6, networkx<3 for py3.8) -networkx<3 +# 202404: networkx >3.2 doesn't support py3.8 +networkx<3.2 # networkx requires decorator>=4.3,<5 which should resolve to version 4.4.2 # but the wheel on pypi does not say it supports python3.8, so pip gets # confused. For now, pin decorator to work around pip's confusion. @@ -49,30 +54,31 @@ pymongo>=3.11.0,<3.13.0 pyparsing<3 zstandard==0.15.2 # pyOpenSSL 23.1.0 supports cryptography up to 40.0.x -pyOpenSSL==23.1.0 +pyOpenSSL==24.1.0 # 202403: switch from python-editor to editor for py3.10 support editor==1.6.6 # editor dependency, required here for inclusion in st2client setup.py Pygments==2.5.2 +# 202404: Use latest chardet for tox / and cross project dependency Orquesta. +chardet==5.2.0 python-keyczar==0.716 pytz==2021.1 pywinrm==0.4.1 pyyaml==5.3.1 redis==4.1.4 -requests[security]==2.25.1 +# 202404: Bumped to latest since py3.6 support has been dropped. +requests==2.31.0 retrying==1.3.3 routes==2.4.1 semver==3.0.2 -six==1.13.0 +# 202404: Bumped for compatibility prance 23.6.21.0 requires six~=1.15. +six~=1.15 argparse==1.12.2 # 202403: Bumped to latest for py3.10 support argcomplete==3.2.3 prettytable==2.1.0 -# Note: installs importlib-metadata==4.10.1 (security fixed) under py3.8 and importlib-metadata==4.8.3 (latest available, vulnerable) under py3.6 -# TODO: Pin to 4.10.1 or higher after dropping python3.6 support -importlib-metadata>=4.8.3,<=4.10.1 -# importlib-metadata requires typing-extensions but v4.2.0 requires py3.7+ -typing-extensions<4.2 +# 202404: Relaxed pinning since py3.6 support is dropped. +importlib-metadata>=4.10.1 # NOTE: sseclient has various issues which sometimes hang the connection for a long time, etc. sseclient-py==1.7 stevedore==1.30.1 diff --git a/lockfiles/st2-constraints.txt b/lockfiles/st2-constraints.txt index 758dc932fe..70cbc64845 100644 --- a/lockfiles/st2-constraints.txt +++ b/lockfiles/st2-constraints.txt @@ -20,15 +20,13 @@ # 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 - -Pygments==2.5.2 +MarkupSafe==2.1.5 # REQUIRED BY: kombu -# REASON: unknown -- this looks like a lockfile-style pin +# REASON: Known working version for py3.8 to py3.10 # NOTE: try to remove constraint later. -# DROPS RESOLVED VERSION: 5.1.1 -amqp==5.2.0 +# DROPS RESOLVED VERSION: unknown +amqp<6.0.0,>=5.1.1 # REQUIRED BY: cryptography, paramiko, passlib # REASON: unknown -- this looks like a lockfile-style pin @@ -43,10 +41,10 @@ bcrypt==3.2.0 cffi<1.15.0 # REQUIRED BY: orquesta, prance, requests -# REASON: requests 2.23 requires chardet < 3.1.0 +# REASON: Known working version for py3.8 to py3.10 # NOTE: orquesta already constrains this, so this is just documentation. -# DROPS RESOLVED VERSION: 3.0.4 -#chardet<3.1.0 +# DROPS RESOLVED VERSION: unknown +chardet==5.2.0 # REQUIRED BY: jsonpath-rw, networkx # REASON: @@ -72,12 +70,10 @@ 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 @@ -109,8 +105,8 @@ tenacity>=3.2.1,<7.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 07a4e374fb..8c69faee00 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -9,89 +9,91 @@ // "CPython==3.9.*" // ], // "generated_with_requirements": [ -// "Jinja2==3.1.3", -// "PyYAML", -// "Pygments", +// "Pygments==2.5.2", // "RandomWords", -// "apscheduler", +// "apscheduler==3.7.0", // "argcomplete==3.2.3", +// "astroid==3.1.0", // "beautifulsoup4", // "ciso8601", -// "cryptography", +// "cryptography<42", // "editor==1.6.6", // "eventlet==0.35.2", // "flask", -// "flex", -// "gitdb", -// "gitpython", +// "flex==6.14.1", +// "gitdb==4.0.2", +// "gitpython<=3.1.37", // "graphviz", // "gunicorn==21.2.0", -// "jsonpath-rw", -// "jsonschema<4,>=3", +// "jinja2==3.1.3", +// "jsonpath-rw==1.4.0", +// "jsonschema==3.2.0", // "kombu==5.3.5", -// "lockfile", +// "lockfile==0.12.2", // "logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system == \"Linux\"", // "mail-parser==3.15.0", -// "mock", +// "mock==4.0.3", // "mongoengine<0.24.0,>=0.21.0", -// "networkx", -// "orjson", -// "orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0", +// "networkx<3.2", +// "orjson==3.5.2", +// "orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat", // "oslo.config==9.4.0", -// "paramiko", +// "paramiko==2.11.0", // "pika", -// "pip", +// "pip==24.0", // "prance", -// "prettytable", -// "prompt-toolkit", -// "psutil", +// "prettytable==2.1.0", +// "prompt-toolkit==3.0.43", +// "psutil==5.8.0", // "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", +// "pylint==3.1.0", // "pymongo<3.13.0,>=3.11.0", // "pyrabbit", // "pysocks", -// "pytest", -// "python-dateutil", +// "pytest==6.2.5", +// "python-dateutil==2.8.1", // "python-json-logger", -// "python-statsd", -// "pytz", +// "python-statsd==2.1.0", +// "pytz==2021.1", // "pywinrm", -// "redis", -// "requests[security]", -// "retrying", -// "routes", +// "pyyaml==5.3.1", +// "redis==4.1.4", +// "requests==2.31.0", +// "retrying==1.3.3", +// "routes==2.4.1", // "semver==3.0.2", // "setuptools", // "simplejson", -// "six", -// "sseclient-py", +// "six~=1.15", +// "sseclient-py==1.7", // "st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master", // "st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master", // "st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master", -// "stevedore<3", +// "stevedore==1.30.1", // "tabulate", -// "tooz", +// "tooz==2.8.0", // "udatetime", -// "ujson", -// "unittest2", -// "virtualenv", -// "webob", -// "webtest", +// "ujson==4.0.2", +// "virtualenv==20.4.0", +// "webob==1.8.7", +// "webtest==2.0.35", // "wheel", -// "zake", -// "zstandard" +// "zake==0.2.2", +// "zstandard==0.15.2" // ], // "manylinux": "manylinux2014", // "requirement_constraints": [ -// "MarkupSafe<2.1.0,>=0.23", -// "Pygments==2.5.2", -// "amqp==5.2.0", +// "MarkupSafe==2.1.5", +// "amqp<6.0.0,>=5.1.1", // "bcrypt==3.2.0", // "cffi<1.15.0", +// "chardet==5.2.0", // "dnspython==2.6.1", // "greenlet==3.0.3", +// "importlib-metadata>=4.10.1", // "oslo.utils==7.1.0", // "tenacity<7.0.0,>=3.2.1", -// "typing-extensions<4.2" +// "typing_extensions==4.10.0" // ], // "only_binary": [], // "no_binary": [] @@ -104,16 +106,17 @@ "allow_wheels": true, "build_isolation": true, "constraints": [ - "MarkupSafe<2.1.0,>=0.23", - "Pygments==2.5.2", - "amqp==5.2.0", + "MarkupSafe==2.1.5", + "amqp<6.0.0,>=5.1.1", "bcrypt==3.2.0", "cffi<1.15.0", + "chardet==5.2.0", "dnspython==2.6.1", "greenlet==3.0.3", + "importlib-metadata>=4.10.1", "oslo.utils==7.1.0", "tenacity<7.0.0,>=3.2.1", - "typing-extensions<4.2" + "typing_extensions==4.10.0" ], "locked_resolves": [ { @@ -142,38 +145,61 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661", - "url": "https://files.pythonhosted.org/packages/13/b5/7af0cb920a476dccd612fbc9a21a3745fb29b1fcd74636078db8f7ba294c/APScheduler-3.10.4-py3-none-any.whl" + "hash": "a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", + "url": "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", + "url": "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz" + } + ], + "project_name": "appdirs", + "requires_dists": [], + "requires_python": null, + "version": "1.4.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c06cc796d5bb9eb3c4f77727f6223476eb67749e7eea074d1587550702a7fbe3", + "url": "https://files.pythonhosted.org/packages/5d/e9/b5e4f7aaea076bbfb241b04824c63cd42fe8029358103c27375e690bddc0/APScheduler-3.7.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a", - "url": "https://files.pythonhosted.org/packages/5e/34/5dcb368cf89f93132d9a31bd3747962a9dc874480e54333b0c09fa7d56ac/APScheduler-3.10.4.tar.gz" + "hash": "1cab7f2521e107d07127b042155b632b7a1cd5e02c34be5a28ff62f77c900c6a", + "url": "https://files.pythonhosted.org/packages/01/24/5ec33616b0ad830d18641b7c58eef66a1fb25f3202df01682c87bc2fd0d9/APScheduler-3.7.0.tar.gz" } ], "project_name": "apscheduler", "requires_dists": [ + "funcsigs; python_version < \"3.5\"", + "futures; python_version == \"2.7\"", "gevent; extra == \"gevent\"", - "importlib-metadata>=3.6.0; python_version < \"3.8\"", "kazoo; extra == \"zookeeper\"", + "mock; python_version == \"2.7\" and extra == \"testing\"", "pymongo>=3.0; extra == \"mongodb\"", - "pytest-asyncio; extra == \"testing\"", + "pytest-asyncio; python_version >= \"3.5\" and extra == \"testing\"", + "pytest-asyncio<0.6; python_version == \"3.4\" and extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-tornado5; extra == \"testing\"", - "pytest; extra == \"testing\"", + "pytest<6; extra == \"testing\"", "pytz", "redis>=3.0; extra == \"redis\"", "rethinkdb>=2.4.0; extra == \"rethinkdb\"", + "setuptools>=0.7", "six>=1.4.0", "sphinx-rtd-theme; extra == \"doc\"", "sphinx; extra == \"doc\"", - "sqlalchemy>=1.4; extra == \"sqlalchemy\"", + "sqlalchemy>=0.8; extra == \"sqlalchemy\"", "tornado>=4.3; extra == \"tornado\"", + "trollius; python_version == \"2.7\" and extra == \"asyncio\"", "twisted; extra == \"twisted\"", - "tzlocal!=3.*,>=2.0" + "tzlocal~=2.0" ], - "requires_python": ">=3.6", - "version": "3.10.4" + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,<4,>=2.7", + "version": "3.7.0" }, { "artifacts": [ @@ -203,39 +229,21 @@ "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": [ - { - "algorithm": "sha256", - "hash": "7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", - "url": "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl" + "hash": "951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819", + "url": "https://files.pythonhosted.org/packages/ed/1c/ee18acf9070f77253954b7d71b4c0cf8f5969fb23067d8f1a8793573ba00/astroid-3.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", - "url": "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz" + "hash": "ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4", + "url": "https://files.pythonhosted.org/packages/a9/b9/f11533eed9b65606fb02f1b0994d8ed0903358bc55a6b9759e42f1134725/astroid-3.1.0.tar.gz" } ], - "project_name": "async-timeout", + "project_name": "astroid", "requires_dists": [ - "typing-extensions>=3.6.5; python_version < \"3.8\"" + "typing-extensions>=4.0.0; python_version < \"3.11\"" ], - "requires_python": ">=3.7", - "version": "4.0.3" + "requires_python": ">=3.8.0", + "version": "3.1.0" }, { "artifacts": [ @@ -356,6 +364,24 @@ "requires_python": ">=3.6.0", "version": "4.12.3" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9", + "url": "https://files.pythonhosted.org/packages/fa/2a/7f3714cbc6356a0efec525ce7a0613d581072ed6eb53eb7b9754f33db807/blinker-1.7.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182", + "url": "https://files.pythonhosted.org/packages/a1/13/6df5fc090ff4e5d246baf1f45fe9e5623aa8565757dfa5bd243f6a545f9e/blinker-1.7.0.tar.gz" + } + ], + "project_name": "blinker", + "requires_dists": [], + "requires_python": ">=3.8", + "version": "1.7.0" + }, { "artifacts": [ { @@ -441,19 +467,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": [ @@ -611,128 +637,72 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac", - "url": "https://files.pythonhosted.org/packages/50/be/92ce909d5d5b361780e21e0216502f72e5d8f9b2d73bcfde1ca5f791630b/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "c5ca78485a255e03c32b513f8c2bc39fedb7f5c5f8535545bdc223a03b24f248", + "url": "https://files.pythonhosted.org/packages/79/68/9767a3fb985515d3c34221c3671043cda57b1f691046ad8aae355fb2a8a5/cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc", - "url": "https://files.pythonhosted.org/packages/0e/1d/62a2324882c0db89f64358dadfb95cae024ee3ba9fde3d5fd4d2f58af9f5/cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "c7f3201ec47d5207841402594f1d7950879ef890c0c495052fa62f58283fde1a", + "url": "https://files.pythonhosted.org/packages/0d/bf/e7a1382034c4feaa77b35147138ff2bc8ae47a2fa7e2838fcdd41d2d0f2e/cryptography-41.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1", - "url": "https://files.pythonhosted.org/packages/13/9e/a55763a32d340d7b06d045753c186b690e7d88780cafce5f88cb931536be/cryptography-42.0.5.tar.gz" + "hash": "841df4caa01008bad253bce2a6f7b47f86dc9f08df4b433c404def869f590a15", + "url": "https://files.pythonhosted.org/packages/14/fd/dd5bd6ab0d12476ebca579cbfd48d31bd90fa28fa257b209df585dcf62a0/cryptography-41.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da", - "url": "https://files.pythonhosted.org/packages/2c/9c/821ef6144daf80360cf6093520bf07eec7c793103ed4b1bf3fa17d2b55d8/cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "5429ec739a29df2e29e15d082f1d9ad683701f0ec7709ca479b3ff2708dae65a", + "url": "https://files.pythonhosted.org/packages/3e/81/ae2c51ea2b80d57d5756a12df67816230124faea0a762a7a6304fe3c819c/cryptography-41.0.7-cp37-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e", - "url": "https://files.pythonhosted.org/packages/3f/ae/61d7c256bd8285263cdb5c9ebebcf66261bd0765ed255a074dc8d5304362/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" + "hash": "43f2552a2378b44869fe8827aa19e69512e3245a219104438692385b0ee119d1", + "url": "https://files.pythonhosted.org/packages/62/bd/69628ab50368b1beb900eb1de5c46f8137169b75b2458affe95f2f470501/cryptography-41.0.7-cp37-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a", - "url": "https://files.pythonhosted.org/packages/48/c8/c0962598c43d3cff2c9d6ac66d0c612bdfb1975be8d87b8889960cf8c81d/cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "5a1b41bc97f1ad230a41657d9155113c7521953869ae57ac39ac7f1bb471469a", + "url": "https://files.pythonhosted.org/packages/68/bb/475658ea92653a894589e657d6cea9ae01354db73405d62126ac5e74e2f8/cryptography-41.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1", - "url": "https://files.pythonhosted.org/packages/50/26/248cd8b6809635ed412159791c0d3869d8ec9dfdc57d428d500a14d425b7/cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "928258ba5d6f8ae644e764d0f996d61a8777559f72dfeb2eea7e2fe0ad6e782d", + "url": "https://files.pythonhosted.org/packages/a9/76/d705397d076fcbf5671544eb72a70b5a5ac83462d23dbd2a365a3bf3692a/cryptography-41.0.7-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1", - "url": "https://files.pythonhosted.org/packages/5b/3d/c3c21e3afaf43bacccc3ebf61d1a0d47cef6e2607dbba01662f6f9d8fc40/cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl" + "hash": "af03b32695b24d85a75d40e1ba39ffe7db7ffcb099fe507b39fd41a565f1b157", + "url": "https://files.pythonhosted.org/packages/b6/4a/1808333c5ea79cb6d51102036cbcf698704b1fc7a5ccd139957aeadd2311/cryptography-41.0.7-cp37-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7", - "url": "https://files.pythonhosted.org/packages/64/f7/d3c83c79947cc6807e6acd3b2d9a1cbd312042777bc7eec50c869913df79/cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl" + "hash": "48a0476626da912a44cc078f9893f292f0b3e4c739caf289268168d8f4702a39", + "url": "https://files.pythonhosted.org/packages/b9/19/75d3e8b9b814c09eef76899fea542473273311ab9bfaa1ca4e22c112e660/cryptography-41.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7", - "url": "https://files.pythonhosted.org/packages/69/f6/630eb71f246208103ffee754b8375b6b334eeedb28620b3ae57be815eeeb/cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "49f0805fc0b2ac8d4882dd52f4a3b935b210935d500b6b805f321addc8177406", + "url": "https://files.pythonhosted.org/packages/c5/07/826d66b6b03c5bfde8b451bea22c41e68d60aafff0ffa02c5f0819844319/cryptography-41.0.7-cp37-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8", - "url": "https://files.pythonhosted.org/packages/6d/4d/f7c14c7a49e35df829e04d451a57b843208be7442c8e087250c195775be1/cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "13f93ce9bea8016c253b34afc6bd6a75993e5c40672ed5405a9c832f0d4a00bc", + "url": "https://files.pythonhosted.org/packages/ce/b3/13a12ea7edb068de0f62bac88a8ffd92cc2901881b391839851846b84a81/cryptography-41.0.7.tar.gz" }, { "algorithm": "sha256", - "hash": "c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922", - "url": "https://files.pythonhosted.org/packages/7d/bc/b6c691c960b5dcd54c5444e73af7f826e62af965ba59b6d7e9928b6489a2/cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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": "3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc", - "url": "https://files.pythonhosted.org/packages/c2/40/c7cb9d6819b90640ffc3c4028b28f46edc525feaeaa0d98ea23e843d446d/cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30", - "url": "https://files.pythonhosted.org/packages/ca/2e/9f2c49bd6a18d46c05ec098b040e7d4599c61f50ced40a39adfae3f68306/cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16", - "url": "https://files.pythonhosted.org/packages/d1/f1/fd98e6e79242d9aeaf6a5d49639a7e85f05741575af14d3f4a1d477f572e/cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e", - "url": "https://files.pythonhosted.org/packages/d4/fa/057f9d7a5364c86ccb6a4bd4e5c58920dcb66532be0cc21da3f9c7617ec3/cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d", - "url": "https://files.pythonhosted.org/packages/d8/b1/127ecb373d02db85a7a7de5093d7ac7b7714b8907d631f0591e8f002998d/cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec", - "url": "https://files.pythonhosted.org/packages/d9/f9/27dda069a9f9bfda7c75305e222d904cc2445acf5eab5c696ade57d36f1b/cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb", - "url": "https://files.pythonhosted.org/packages/e2/59/61b2364f2a4d3668d933531bc30d012b9b2de1e534df4805678471287d57/cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee", - "url": "https://files.pythonhosted.org/packages/e5/61/67e090a41c70ee526bd5121b1ccabab85c727574332d03326baaedea962d/cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6", - "url": "https://files.pythonhosted.org/packages/ea/fa/b0cd7f1cd011b52196e01195581119d5e2b802a35e21f08f342d6640aaae/cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4", - "url": "https://files.pythonhosted.org/packages/fb/0b/14509319a1b49858425553d2fb3808579cfdfe98c1d71a3f046c1b4e0108/cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "3c78451b78313fa81607fa1b3f1ae0a5ddd8014c38a02d9db0616133987b9cdf", + "url": "https://files.pythonhosted.org/packages/e4/73/5461318abd2fe426855a2f66775c063bbefd377729ece3c3ee048ddf19a5/cryptography-41.0.7-cp37-abi3-macosx_10_12_universal2.whl" } ], "project_name": "cryptography", "requires_dists": [ "bcrypt>=3.1.5; extra == \"ssh\"", + "black; extra == \"pep8test\"", "build; extra == \"sdist\"", - "certifi; extra == \"test\"", - "cffi>=1.12; platform_python_implementation != \"PyPy\"", + "cffi>=1.12", "check-sdist; extra == \"pep8test\"", - "click; extra == \"pep8test\"", "mypy; extra == \"pep8test\"", "nox; extra == \"nox\"", "pretend; extra == \"test\"", @@ -742,14 +712,14 @@ "pytest-randomly; extra == \"test-randomorder\"", "pytest-xdist; extra == \"test\"", "pytest>=6.2.0; extra == \"test\"", - "readme-renderer; extra == \"docstest\"", "ruff; extra == \"pep8test\"", "sphinx-rtd-theme>=1.1.1; extra == \"docs\"", "sphinx>=5.3.0; extra == \"docs\"", - "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"" + "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"", + "twine>=1.12.0; extra == \"docstest\"" ], "requires_python": ">=3.7", - "version": "42.0.5" + "version": "41.0.7" }, { "artifacts": [ @@ -789,6 +759,52 @@ "requires_python": ">=3.5", "version": "5.1.1" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c", + "url": "https://files.pythonhosted.org/packages/20/8d/778b7d51b981a96554f29136cd59ca7880bf58094338085bcf2a979a0e6a/Deprecated-1.2.14-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3", + "url": "https://files.pythonhosted.org/packages/92/14/1e41f504a246fc224d2ac264c227975427a85caf37c3979979edb9b1b232/Deprecated-1.2.14.tar.gz" + } + ], + "project_name": "deprecated", + "requires_dists": [ + "PyTest-Cov; extra == \"dev\"", + "PyTest; extra == \"dev\"", + "bump2version<1; extra == \"dev\"", + "sphinx<2; extra == \"dev\"", + "tox; extra == \"dev\"", + "wrapt<2,>=1.10" + ], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", + "version": "1.2.14" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", + "url": "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", + "url": "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578692a5118e7cd1aa157e3ef73b092d15/dill-0.3.8.tar.gz" + } + ], + "project_name": "dill", + "requires_dists": [ + "gprof2dot>=2022.7.29; extra == \"profile\"", + "objgraph>=1.7.2; extra == \"graph\"" + ], + "requires_python": ">=3.8", + "version": "0.3.8" + }, { "artifacts": [ { @@ -894,26 +910,6 @@ "requires_python": ">=3.7", "version": "0.35.2" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14", - "url": "https://files.pythonhosted.org/packages/b8/9a/5028fd52db10e600f1c4674441b968cf2ea4959085bfb5b99fb1250e5f68/exceptiongroup-1.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68", - "url": "https://files.pythonhosted.org/packages/8e/1c/beef724eaf5b01bb44b6338c8c3494eff7cab376fab4904cfbbc3585dc79/exceptiongroup-1.2.0.tar.gz" - } - ], - "project_name": "exceptiongroup", - "requires_dists": [ - "pytest>=6; extra == \"test\"" - ], - "requires_python": ">=3.7", - "version": "1.2.0" - }, { "artifacts": [ { @@ -936,57 +932,58 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c", - "url": "https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl" + "hash": "5ffa845303983e7a0b7ae17636509bc97997d58afeafa72fb141a17b152284cb", + "url": "https://files.pythonhosted.org/packages/8b/69/acdf492db27dea7be5c63053230130e0574fd8a376de3555d5f8bbc3d3ad/filelock-3.13.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e", - "url": "https://files.pythonhosted.org/packages/70/70/41905c80dcfe71b22fb06827b8eae65781783d4a14194bce79d16a013263/filelock-3.13.1.tar.gz" + "hash": "a79895a25bbefdf55d1a2a0a80968f7dbb28edcd6d4234a0afb3f37ecde4b546", + "url": "https://files.pythonhosted.org/packages/db/97/3f028f216da17ab0500550a6bb0f26bf39b07848348f63cce44b89829af9/filelock-3.13.3.tar.gz" } ], "project_name": "filelock", "requires_dists": [ "covdefaults>=2.3; extra == \"testing\"", "coverage>=7.3.2; extra == \"testing\"", - "diff-cover>=8; extra == \"testing\"", + "diff-cover>=8.0.1; extra == \"testing\"", "furo>=2023.9.10; extra == \"docs\"", "pytest-cov>=4.1; extra == \"testing\"", "pytest-mock>=3.12; extra == \"testing\"", "pytest-timeout>=2.2; extra == \"testing\"", "pytest>=7.4.3; extra == \"testing\"", - "sphinx-autodoc-typehints!=1.23.4,>=1.24; extra == \"docs\"", + "sphinx-autodoc-typehints!=1.23.4,>=1.25.2; extra == \"docs\"", "sphinx>=7.2.6; extra == \"docs\"", "typing-extensions>=4.8; python_version < \"3.11\" and extra == \"typing\"" ], "requires_python": ">=3.8", - "version": "3.13.1" + "version": "3.13.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "9013281a7402ad527f8fd56375164f3aa021ecfaff89bfe3825346c24f87e04c", - "url": "https://files.pythonhosted.org/packages/af/6a/00d144ac1626fbb44c4ff36519712e258128985a5d0ae43344778ae5cbb9/Flask-2.1.3-py3-none-any.whl" + "hash": "3232e0e9c850d781933cf0207523d1ece087eb8d87b23777ae38456e2fbe7c6e", + "url": "https://files.pythonhosted.org/packages/93/a6/aa98bfe0eb9b8b15d36cdfd03c8ca86a03968a87f27ce224fb4f766acb23/flask-3.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "15972e5017df0575c3d6c090ba168b6db90259e620ac8d7ea813a396bad5b6cb", - "url": "https://files.pythonhosted.org/packages/5b/77/3accd62b8771954e9584beb03f080385b32ddcad30009d2a4fe4068a05d9/Flask-2.1.3.tar.gz" + "hash": "822c03f4b799204250a7ee84b1eddc40665395333973dfb9deebfe425fefcb7d", + "url": "https://files.pythonhosted.org/packages/3f/e0/a89e8120faea1edbfca1a9b171cff7f2bf62ec860bbafcb2c2387c0317be/flask-3.0.2.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.2" }, { "artifacts": [ @@ -1032,33 +1029,33 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4", - "url": "https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl" + "hash": "284a6a4554f954d6e737cddcff946404393e030b76a282c6640df8efd6b3da5e", + "url": "https://files.pythonhosted.org/packages/1e/f5/8f84b3bf9d94bdf2454a302f2fa375832b53660ea532586b8a55ff16ae9a/gitdb-4.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b", - "url": "https://files.pythonhosted.org/packages/19/0d/bbb5b5ee188dec84647a4664f3e11b06ade2bde568dbd489d9d64adef8ed/gitdb-4.0.11.tar.gz" + "hash": "598e0096bb3175a0aab3a0b5aedaa18a9a25c6707e0eca0695ba1a0baf1b2150", + "url": "https://files.pythonhosted.org/packages/53/e5/893d1f727a00d598466192360c0313c68e5aec7629c7647210b50e285f2b/gitdb-4.0.2.tar.gz" } ], "project_name": "gitdb", "requires_dists": [ - "smmap<6,>=3.0.1" + "smmap<4,>=3.0.1" ], - "requires_python": ">=3.7", - "version": "4.0.11" + "requires_python": ">=3.4", + "version": "4.0.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "1bf9cd7c9e7255f77778ea54359e54ac22a72a5b51288c457c881057b7bb9ecd", - "url": "https://files.pythonhosted.org/packages/67/c7/995360c87dd74e27539ccbfecddfb58e08f140d849fcd7f35d2ed1a5f80f/GitPython-3.1.42-py3-none-any.whl" + "hash": "5f4c4187de49616d710a77e98ddf17b4782060a1788df441846bddefbb89ab33", + "url": "https://files.pythonhosted.org/packages/8a/7e/20f7e45878b5aed34320fbeeae8f78acc806e7bd708d00b1c6e64b016f5b/GitPython-3.1.37-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2d99869e0fef71a73cbd242528105af1d6c1b108c60dfabd994bf292f76c3ceb", - "url": "https://files.pythonhosted.org/packages/8f/12/71a40ffce4aae431c69c45a191e5f03aca2304639264faf5666c2767acc4/GitPython-3.1.42.tar.gz" + "hash": "f9b9ddc0761c125d5780eab2d64be4873fc6817c2899cbcb34b02344bdc7bc54", + "url": "https://files.pythonhosted.org/packages/c6/33/5e633d3a8b3dbec3696415960ed30f6718ed04ef423ce0fbc6512a92fa9a/GitPython-3.1.37.tar.gz" } ], "project_name": "gitpython", @@ -1067,18 +1064,15 @@ "coverage[toml]; extra == \"test\"", "ddt!=1.4.3,>=1.1.1; extra == \"test\"", "gitdb<5,>=4.0.1", - "mock; python_version < \"3.8\" and extra == \"test\"", "mypy; extra == \"test\"", "pre-commit; extra == \"test\"", "pytest-cov; extra == \"test\"", - "pytest-instafail; extra == \"test\"", - "pytest-mock; extra == \"test\"", "pytest-sugar; extra == \"test\"", - "pytest>=7.3.1; extra == \"test\"", + "pytest; extra == \"test\"", "typing-extensions>=3.7.4.3; python_version < \"3.8\"" ], "requires_python": ">=3.7", - "version": "3.1.42" + "version": "3.1.37" }, { "artifacts": [ @@ -1309,6 +1303,26 @@ "requires_python": "<4.0,>=3.7", "version": "2.1.0" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", + "url": "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", + "url": "https://files.pythonhosted.org/packages/87/f9/c1eb8635a24e87ade2efce21e3ce8cd6b8630bb685ddc9cdaca1349b2eb5/isort-5.13.2.tar.gz" + } + ], + "project_name": "isort", + "requires_dists": [ + "colorama>=0.4.6; extra == \"colors\"" + ], + "requires_python": ">=3.8.0", + "version": "5.13.2" + }, { "artifacts": [ { @@ -1500,24 +1514,6 @@ "requires_python": ">=3.8", "version": "5.3.5" }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e78be9c0a0dfcbac712fe04fbf92b96cddae80b1b842f24248214c8496f006ef", - "url": "https://files.pythonhosted.org/packages/c7/a3/c5da2a44c85bfbb6eebcfc1dde24933f8704441b98fdde6528f4831757a6/linecache2-1.0.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "4b26ff4e7110db76eeb6f5a7b64a82623839d595c2038eeda662f2a2db78e97c", - "url": "https://files.pythonhosted.org/packages/44/b0/963c352372c242f9e40db02bbc6a39ae51bde15dddee8523fe4aca94a97e/linecache2-1.0.0.tar.gz" - } - ], - "project_name": "linecache2", - "requires_dists": [], - "requires_python": null, - "version": "1.0.0" - }, { "artifacts": [ { @@ -1585,104 +1581,97 @@ "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": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", - "url": "https://files.pythonhosted.org/packages/50/99/06eccf68be0bff67ab9a0b90b5382c04769f9ad2e42cae5e5e92f99380cd/MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", - "url": "https://files.pythonhosted.org/packages/5a/ff/34bdcd8cc794f692588de0b3f4c1aa7ec0d17716fda9d874836ed68775c1/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_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": "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": "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": "bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", + "url": "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.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": "7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", + "url": "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.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": "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": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", - "url": "https://files.pythonhosted.org/packages/a6/d1/a7b97d0e000336c4e06bfce7e08dcb2b47fc5091146ee883dfac6cb4842e/MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e", - "url": "https://files.pythonhosted.org/packages/a7/55/a576835b6b95af21d15f69eaf14c4fb1358fd48475f2b9813abd9654132e/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.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": "f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", - "url": "https://files.pythonhosted.org/packages/ae/70/8dd5f2c0aab82431c9c619a2c4fbd1742fc0fb769d8d7b275ae1d03eb3a5/MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl" + "hash": "d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", + "url": "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz" }, { "algorithm": "sha256", - "hash": "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", - "url": "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz" + "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": "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": "3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", + "url": "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + } + ], + "project_name": "markupsafe", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "2.1.5" + }, + { + "artifacts": [ { "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": "6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", + "url": "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.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": "348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "url": "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz" } ], - "project_name": "markupsafe", + "project_name": "mccabe", "requires_dists": [], "requires_python": ">=3.6", - "version": "2.0.1" + "version": "0.7.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "18c694e5ae8a208cdb3d2c20a993ca1a7b0efa258c247a1e565150f477f83744", - "url": "https://files.pythonhosted.org/packages/6b/20/471f41173930550f279ccb65596a5ac19b9ac974a8d93679bcd3e0c31498/mock-5.1.0-py3-none-any.whl" + "hash": "122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62", + "url": "https://files.pythonhosted.org/packages/5c/03/b7e605db4a57c0f6fba744b11ef3ddf4ddebcada35022927a2b5fc623fdf/mock-4.0.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d", - "url": "https://files.pythonhosted.org/packages/66/ab/41d09a46985ead5839d8be987acda54b5bb93f713b3969cc0be4f81c455b/mock-5.1.0.tar.gz" + "hash": "7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc", + "url": "https://files.pythonhosted.org/packages/e2/be/3ea39a8fd4ed3f9a25aae18a1bff2df7a610bca93c8ede7475e32d8b73a0/mock-4.0.3.tar.gz" } ], "project_name": "mock", "requires_dists": [ "blurb; extra == \"build\"", "pytest-cov; extra == \"test\"", - "pytest; extra == \"test\"", + "pytest<5.4; extra == \"test\"", "sphinx; extra == \"docs\"", "twine; extra == \"build\"", "wheel; extra == \"build\"" ], "requires_python": ">=3.6", - "version": "5.1.0" + "version": "4.0.3" }, { "artifacts": [ @@ -1819,13 +1808,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", @@ -1833,99 +1822,78 @@ "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" + "version": "3.1" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "57d5d8cf9c27f7ef6bc56a5925c7fbc76b61288ab674eb352c26ac780caa5b10", - "url": "https://files.pythonhosted.org/packages/2f/d1/e983fc1c5bb732e8863208aac399881546544eeef73d92510c69b4056f5a/orjson-3.9.15-cp39-cp39-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f541587f5c558abd93cb0de491ce99a9ef8d1ae29dd6ab4dbb5a13281ae04cbd", - "url": "https://files.pythonhosted.org/packages/0b/7a/8b219434bcd439dc0f0dce7380c9c6e8e7362eab364ca8256549a621ad1e/orjson-3.9.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "7e3434010e3f0680e92bb0a6094e4d5c939d0c4258c76397c6bd5263c7d62e86", + "url": "https://files.pythonhosted.org/packages/46/e6/cfa88f02027fd9b37bf803afaedd213e7dd856ac72d611e1d9ddfa1ad638/orjson-3.5.2-cp39-cp39-manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6fc2fe4647927070df3d93f561d7e588a38865ea0040027662e3e541d592811e", - "url": "https://files.pythonhosted.org/packages/18/f1/f6c80cf1b11a855cb0dfe8821ca0400a78e33f3f95b4e003b1dee7edd562/orjson-3.9.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "8bf1145a06e1245f0c8a8c32df6ffe52d214eb4eb88c3fb32e4ed14e3dc38e0e", + "url": "https://files.pythonhosted.org/packages/02/b0/3a2eac2d9c561b8904790c61ff1eef9f880b0d7226d9f31e5e3dedb2d991/orjson-3.5.2-cp39-cp39-manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "05a1f57fb601c426635fcae9ddbe90dfc1ed42245eb4c75e4960440cac667262", - "url": "https://files.pythonhosted.org/packages/40/f0/1ead77476c9f0315a7eaad57a2719d9d67bb3b6dbbb1732bd6749e968134/orjson-3.9.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "13fd458110fbe019c2a67ee539678189444f73bc09b27983c9b42663c63e0445", + "url": "https://files.pythonhosted.org/packages/32/fe/58daf730615d7f9e9601e58307e1d540e91900cca15ca084fbb53b0a8342/orjson-3.5.2-cp39-cp39-macosx_10_9_universal2.whl" }, { "algorithm": "sha256", - "hash": "95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061", - "url": "https://files.pythonhosted.org/packages/6d/22/9709a4cb8606c04a9d70e9372b8d404a6b4c46668986ec76a6ecf184be62/orjson-3.9.15.tar.gz" + "hash": "8b429471398ea37d848fb53bca6a8c42fb776c278f4fcb6a1d651b8f1fb64947", + "url": "https://files.pythonhosted.org/packages/49/02/7f19699b6a86160f66e48436dd2a9dc82bf6ff32172a7e9a04d09c6dd034/orjson-3.5.2-cp39-cp39-macosx_10_7_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ede0bde16cc6e9b96633df1631fbcd66491d1063667f260a4f2386a098393790", - "url": "https://files.pythonhosted.org/packages/6f/4a/38233fa85b8dc47cead4b1b9a4ed39266ed0a30cd6cda14cddb285b0c315/orjson-3.9.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "92255879280ef9c3c0bcb327c5a1b8ed694c290d61a6a532458264f887f052cb", - "url": "https://files.pythonhosted.org/packages/b1/74/0182e57b93bc8709cfcacc69fd8e5527c1f525f3a6efe5ab414dae81cd02/orjson-3.9.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "e88b97ef13910e5f87bcbc4dd7979a7de9ba8702b54d3204ac587e83639c0c2b", - "url": "https://files.pythonhosted.org/packages/ce/e3/0e8152cd512ab2ecd69acc748dd7713e1d7ce358d5f99d52d164e7d80767/orjson-3.9.15-cp39-cp39-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "34cbcd216e7af5270f2ffa63a963346845eb71e174ea530867b7443892d77180", - "url": "https://files.pythonhosted.org/packages/fe/e9/4f0ecca6d5c8656d43eb01b10358bf6953fda8ea3735b59ccc145238ba28/orjson-3.9.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "f385253a6ddac37ea422ec2c0d35772b4f5bf0dc0803ce44543bf7e530423ef8", + "url": "https://files.pythonhosted.org/packages/50/3d/31803e13b4ddd271047b6a62366bd4abd2cb08dc55a0b47a8b3b2dc2dbc7/orjson-3.5.2.tar.gz" } ], "project_name": "orjson", "requires_dists": [], - "requires_python": ">=3.8", - "version": "3.9.15" + "requires_python": ">=3.6", + "version": "3.5.2" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4857472090b6a48dcc8ff3f8f3d0ec5145270ecb253d84aec3f98e2fd14bc9dc", - "url": "git+https://github.com/StackStorm/orquesta.git@v1.6.0" + "hash": "2b63282ed1447b3dd0e8a64854aef1e105d23d8550ebf95ffa4941bba05c64fc", + "url": "git+https://github.com/nzlosh/orquesta.git@st2v39_compat" } ], "project_name": "orquesta", "requires_dists": [ - "Jinja2>=2.11", - "PyYAML>=3.1.0", - "chardet<4.0.0,>=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\"", - "python-dateutil", - "six>=1.9.0", + "chardet==5.2.0", + "eventlet==0.35.2", + "jinja2==3.1.3", + "jsonschema==3.2.0", + "networkx<3.2", + "python-dateutil==2.8.1", + "pyyaml==5.3.1", + "six~=1.15", "stevedore>=1.3.0", "ujson>=1.35", "yaql>=1.1.0" @@ -2068,31 +2036,36 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "43f0b51115a896f9c00f59618023484cb3a14b98bbceab43394a39c6739b7ee7", - "url": "https://files.pythonhosted.org/packages/ad/50/8792484502c8141c20c996b802fefa8435a9c018a2bb440a06b172782118/paramiko-3.4.0-py3-none-any.whl" + "hash": "655f25dc8baf763277b933dfcea101d636581df8d6b9774d1fb653426b72c270", + "url": "https://files.pythonhosted.org/packages/04/e5/39ec73dd4a8769d6759b8d6c60a1b2c9337f585407c2ae8bfb8ccb734278/paramiko-2.11.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3", - "url": "https://files.pythonhosted.org/packages/cc/af/11996c4df4f9caff87997ad2d3fd8825078c277d6a928446d2b6cf249889/paramiko-3.4.0.tar.gz" + "hash": "003e6bee7c034c21fbb051bf83dc0a9ee4106204dd3c53054c71452cc4ec3938", + "url": "https://files.pythonhosted.org/packages/1d/08/3b8d8f1b4ec212c17429c2f3ff55b7f2237a1ad0c954972e39c8f0ac394c/paramiko-2.11.0.tar.gz" } ], "project_name": "paramiko", "requires_dists": [ - "bcrypt>=3.2", - "cryptography>=3.3", + "bcrypt>=3.1.3", + "bcrypt>=3.1.3; extra == \"all\"", + "bcrypt>=3.1.3; extra == \"ed25519\"", + "cryptography>=2.5", "gssapi>=1.4.1; platform_system != \"Windows\" and extra == \"all\"", "gssapi>=1.4.1; platform_system != \"Windows\" and extra == \"gssapi\"", - "invoke>=2.0; extra == \"all\"", - "invoke>=2.0; extra == \"invoke\"", + "invoke>=1.3; extra == \"all\"", + "invoke>=1.3; extra == \"invoke\"", "pyasn1>=0.1.7; extra == \"all\"", "pyasn1>=0.1.7; extra == \"gssapi\"", - "pynacl>=1.5", + "pynacl>=1.0.1", + "pynacl>=1.0.1; extra == \"all\"", + "pynacl>=1.0.1; extra == \"ed25519\"", "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"all\"", - "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"gssapi\"" + "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"gssapi\"", + "six" ], - "requires_python": ">=3.6", - "version": "3.4.0" + "requires_python": null, + "version": "2.11.0" }, { "artifacts": [ @@ -2285,24 +2258,24 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92", - "url": "https://files.pythonhosted.org/packages/3d/c4/a32f4bf44faf95accbbd5d7864ddef9e289749a8efbc3adaad4a4671779a/prettytable-3.10.0-py3-none-any.whl" + "hash": "bb5abc72bdfae6f3cdadb04fb7726f6915af0ddb7c897a41d4ad7736d9bfd8fd", + "url": "https://files.pythonhosted.org/packages/26/1b/42b59a4038bc0442e3a0085bc0de385658131eef8a88946333f870559b09/prettytable-2.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568", - "url": "https://files.pythonhosted.org/packages/19/d3/7cb826e085a254888d8afb4ae3f8d43859b13149ac8450b221120d4964c9/prettytable-3.10.0.tar.gz" + "hash": "5882ed9092b391bb8f6e91f59bcdbd748924ff556bb7c634089d5519be87baa0", + "url": "https://files.pythonhosted.org/packages/d4/c6/d388b3d4992acf413d1b67101107b7f4651cc2835abd0bbd6661678eb2c1/prettytable-2.1.0.tar.gz" } ], "project_name": "prettytable", "requires_dists": [ + "importlib-metadata; python_version < \"3.8\"", "pytest-cov; extra == \"tests\"", - "pytest-lazy-fixtures; extra == \"tests\"", "pytest; extra == \"tests\"", "wcwidth" ], - "requires_python": ">=3.8", - "version": "3.10.0" + "requires_python": ">=3.6", + "version": "2.1.0" }, { "artifacts": [ @@ -2328,28 +2301,23 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8", - "url": "https://files.pythonhosted.org/packages/05/33/2d74d588408caedd065c2497bdb5ef83ce6082db01289a1e1147f6639802/psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c", - "url": "https://files.pythonhosted.org/packages/90/c7/6dc0a455d111f68ee43f27793971cf03fe29b6ef972042549db29eec39a2/psutil-5.9.8.tar.gz" + "hash": "90d4091c2d30ddd0a03e0b97e6a33a48628469b99585e2ad6bf21f17423b112b", + "url": "https://files.pythonhosted.org/packages/91/4d/033cc02ae3a47197d0ced818814e4bb8d9d29ebed4f1eb55badedec160f7/psutil-5.8.0-cp39-cp39-manylinux2010_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421", - "url": "https://files.pythonhosted.org/packages/b3/bd/28c5f553667116b2598b9cc55908ec435cb7f77a34f2bff3e3ca765b0f78/psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "6323d5d845c2785efb20aded4726636546b26d3b577aded22492908f7c1bdda7", + "url": "https://files.pythonhosted.org/packages/12/80/8d09c345f19af2b29a309f8f9284e3ba1ae1ebd9438419080c14630f743a/psutil-5.8.0-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4", - "url": "https://files.pythonhosted.org/packages/c5/4f/0e22aaa246f96d6ac87fe5ebb9c5a693fbe8877f537a1022527c47ca43c5/psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "245b5509968ac0bd179287d91210cd3f37add77dad385ef238b275bad35fa1c4", + "url": "https://files.pythonhosted.org/packages/b6/2f/118e23a8f4e59d2c4ffe03a921cc72f364966e25548dc6c5a3011a334dc5/psutil-5.8.0-cp39-cp39-manylinux2010_i686.whl" }, { "algorithm": "sha256", - "hash": "aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81", - "url": "https://files.pythonhosted.org/packages/e7/e3/07ae864a636d70a8a6f58da27cb1179192f1140d5d1da10886ade9405797/psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl" + "hash": "0c9ccb99ab76025f2f0bbecf341d4656e9c1351db8cc8a03ccd62e318ab4b5c6", + "url": "https://files.pythonhosted.org/packages/e1/b0/7276de53321c12981717490516b7e612364f2cb372ee8901bd4a66a000d7/psutil-5.8.0.tar.gz" } ], "project_name": "psutil", @@ -2358,66 +2326,85 @@ "ipaddress; python_version < \"3.0\" and extra == \"test\"", "mock; python_version < \"3.0\" and extra == \"test\"", "pywin32; sys_platform == \"win32\" and extra == \"test\"", + "unittest2; python_version < \"3.0\" and extra == \"test\"", "wmi; sys_platform == \"win32\" and extra == \"test\"" ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7", - "version": "5.9.8" + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.6", + "version": "5.8.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378", + "url": "https://files.pythonhosted.org/packages/f6/f0/10642828a8dfb741e5f3fbaac830550a518a775c7fff6f04a007259b0548/py-1.11.0-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", + "url": "https://files.pythonhosted.org/packages/98/ff/fec109ceb715d2a6b4c4a85a61af3b40c723a961e8828319fbcb15b868dc/py-1.11.0.tar.gz" + } + ], + "project_name": "py", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7", + "version": "1.11.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4439847c58d40b1d0a573d07e3856e95333f1976294494c325775aeca506eb58", - "url": "https://files.pythonhosted.org/packages/d1/75/4686d2872bf2fc0b37917cbc8bbf0dd3a5cdb0990799be1b9cbf1e1eb733/pyasn1-0.5.1-py2.py3-none-any.whl" + "hash": "cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473", + "url": "https://files.pythonhosted.org/packages/23/7e/5f50d07d5e70a2addbccd90ac2950f81d1edd0783630651d9268d7f1db49/pyasn1-0.6.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c", - "url": "https://files.pythonhosted.org/packages/ce/dc/996e5446a94627fe8192735c20300ca51535397e31e7097a3cc80ccf78b7/pyasn1-0.5.1.tar.gz" + "hash": "3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c", + "url": "https://files.pythonhosted.org/packages/4a/a3/d2157f333900747f20984553aca98008b6dc843eb62f3a36030140ccec0d/pyasn1-0.6.0.tar.gz" } ], "project_name": "pyasn1", "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7", - "version": "0.5.1" + "requires_python": ">=3.8", + "version": "0.6.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "d3ccd6ed470d9ffbc716be08bd90efbd44d0734bc9303818f7336070984a162d", - "url": "https://files.pythonhosted.org/packages/cd/8e/bea464350e1b8c6ed0da3a312659cb648804a08af6cacc6435867f74f8bd/pyasn1_modules-0.3.0-py2.py3-none-any.whl" + "hash": "be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b", + "url": "https://files.pythonhosted.org/packages/13/68/8906226b15ef38e71dc926c321d2fe99de8048e9098b5dfd38343011c886/pyasn1_modules-0.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "5bd01446b736eb9d31512a30d46c1ac3395d676c6f3cafa4c03eb54b9925631c", - "url": "https://files.pythonhosted.org/packages/3b/e4/7dec823b1b5603c5b3c51e942d5d9e65efd6ff946e713a325ed4146d070f/pyasn1_modules-0.3.0.tar.gz" + "hash": "831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6", + "url": "https://files.pythonhosted.org/packages/f7/00/e7bd1dec10667e3f2be602686537969a7ac92b0a7c5165be2e5875dc3971/pyasn1_modules-0.4.0.tar.gz" } ], "project_name": "pyasn1-modules", "requires_dists": [ - "pyasn1<0.6.0,>=0.4.6" + "pyasn1<0.7.0,>=0.4.6" ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7", - "version": "0.3.0" + "requires_python": ">=3.8", + "version": "0.4.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl" + "hash": "c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", + "url": "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206", - "url": "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz" + "hash": "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "url": "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz" } ], "project_name": "pycparser", "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "2.21" + "requires_python": ">=3.8", + "version": "2.22" }, { "artifacts": [ @@ -2450,6 +2437,38 @@ "requires_python": null, "version": "0.9.6" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74", + "url": "https://files.pythonhosted.org/packages/4d/2b/dfcf298607c73c3af47d5a699c3bd84ba580f1b8642a53ba2a53eead7c49/pylint-3.1.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23", + "url": "https://files.pythonhosted.org/packages/35/1c/4a8135f77a4ec8c0a6dc1d4543dd6fee55b36bb8bf629e2bcce8a94763a9/pylint-3.1.0.tar.gz" + } + ], + "project_name": "pylint", + "requires_dists": [ + "astroid<=3.2.0-dev0,>=3.1.0", + "colorama>=0.4.5; sys_platform == \"win32\"", + "dill>=0.2; python_version < \"3.11\"", + "dill>=0.3.6; python_version >= \"3.11\"", + "dill>=0.3.7; python_version >= \"3.12\"", + "gitpython>3; extra == \"testutils\"", + "isort!=5.13.0,<6,>=4.2.5", + "mccabe<0.8,>=0.6", + "platformdirs>=2.2.0", + "pyenchant~=3.2; extra == \"spelling\"", + "tomli>=1.1.0; python_version < \"3.11\"", + "tomlkit>=0.10.1", + "typing-extensions>=3.10.0; python_version < \"3.10\"" + ], + "requires_python": ">=3.8.0", + "version": "3.1.0" + }, { "artifacts": [ { @@ -2722,46 +2741,47 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2a8386cfc11fa9d2c50ee7b2a57e7d898ef90470a7a34c4b949ff59662bb78b7", - "url": "https://files.pythonhosted.org/packages/4d/7e/c79cecfdb6aa85c6c2e3cf63afc56d0f165f24f5c66c03c695c4d9b84756/pytest-8.1.1-py3-none-any.whl" + "hash": "7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134", + "url": "https://files.pythonhosted.org/packages/40/76/86f886e750b81a4357b6ed606b2bcf0ce6d6c27ad3c09ebf63ed674fc86e/pytest-6.2.5-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044", - "url": "https://files.pythonhosted.org/packages/30/b7/7d44bbc04c531dcc753056920e0988032e5871ac674b5a84cb979de6e7af/pytest-8.1.1.tar.gz" + "hash": "131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89", + "url": "https://files.pythonhosted.org/packages/4b/24/7d1f2d2537de114bdf1e6875115113ca80091520948d370c964b88070af2/pytest-6.2.5.tar.gz" } ], "project_name": "pytest", "requires_dists": [ "argcomplete; extra == \"testing\"", - "attrs>=19.2; extra == \"testing\"", + "atomicwrites>=1.0; sys_platform == \"win32\"", + "attrs>=19.2.0", "colorama; sys_platform == \"win32\"", - "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", "hypothesis>=3.56; extra == \"testing\"", + "importlib-metadata>=0.12; python_version < \"3.8\"", "iniconfig", "mock; extra == \"testing\"", + "nose; extra == \"testing\"", "packaging", - "pluggy<2.0,>=1.4", - "pygments>=2.7.2; extra == \"testing\"", + "pluggy<2.0,>=0.12", + "py>=1.8.2", "requests; extra == \"testing\"", - "setuptools; extra == \"testing\"", - "tomli>=1; python_version < \"3.11\"", + "toml", "xmlschema; extra == \"testing\"" ], - "requires_python": ">=3.8", - "version": "8.1.1" + "requires_python": ">=3.6", + "version": "6.2.5" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", - "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl" + "hash": "75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a", + "url": "https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", - "url": "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" + "hash": "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", + "url": "https://files.pythonhosted.org/packages/be/ed/5bbc91f03fa4c839c4c7360375da77f9659af5f7086b7a7bdda65771c8e0/python-dateutil-2.8.1.tar.gz" } ], "project_name": "python-dateutil", @@ -2769,7 +2789,7 @@ "six>=1.5" ], "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", - "version": "2.9.0.post0" + "version": "2.8.1" }, { "artifacts": [ @@ -2833,19 +2853,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319", - "url": "https://files.pythonhosted.org/packages/9c/3d/a121f284241f08268b21359bd425f7d4825cffc5ac5cd0e1b3d82ffd2b10/pytz-2024.1-py2.py3-none-any.whl" + "hash": "eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798", + "url": "https://files.pythonhosted.org/packages/70/94/784178ca5dd892a98f113cdd923372024dc04b8d40abe77ca76b5fb90ca6/pytz-2021.1-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812", - "url": "https://files.pythonhosted.org/packages/90/26/9f1f00a5d021fff16dee3de13d43e5e978f3d58928e129c3a62cf7eb9738/pytz-2024.1.tar.gz" + "hash": "83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", + "url": "https://files.pythonhosted.org/packages/b0/61/eddc6eb2c682ea6fd97a7e1018a6294be80dba08fa28e7a3570148b4612d/pytz-2021.1.tar.gz" } ], "project_name": "pytz", "requires_dists": [], "requires_python": null, - "version": "2024.1" + "version": "2021.1" }, { "artifacts": [ @@ -2877,44 +2897,14 @@ "artifacts": [ { "algorithm": "sha256", - "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": "c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859", - "url": "https://files.pythonhosted.org/packages/0e/88/21b2f16cb2123c1e9375f2c93486e35fdc86e63f02e274f0e99c589ef153/PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0", - "url": "https://files.pythonhosted.org/packages/4a/4b/c71ef18ef83c82f99e6da8332910692af78ea32bd1d1d76c9787dfa36aea/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "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": "bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c", - "url": "https://files.pythonhosted.org/packages/7d/39/472f2554a0f1e825bd7c5afc11c817cd7a2f3657460f7159f691fbb37c51/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_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": "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", - "url": "https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz" + "hash": "b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d", + "url": "https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz" } ], "project_name": "pyyaml", "requires_dists": [], - "requires_python": ">=3.6", - "version": "6.0.1" + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7", + "version": "5.3.1" }, { "artifacts": [ @@ -2935,27 +2925,27 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5da9b8fe9e1254293756c16c008e8620b3d15fcc6dde6babde9541850e72a32d", - "url": "https://files.pythonhosted.org/packages/bb/f1/a384c5582d9a28e4a02eb1a2c279668053dd09aafeb08d2bd4dd323fc466/redis-5.0.3-py3-none-any.whl" + "hash": "04629f8e42be942c4f7d1812f2094568f04c612865ad19ad3ace3005da70631a", + "url": "https://files.pythonhosted.org/packages/c5/fa/730caa74a6d6d88c289176161b2f56cac27f108cf3102165343dbaf1bc84/redis-4.1.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "4973bae7444c0fbed64a06b87446f79361cb7e4ec1538c022d696ed7a5015580", - "url": "https://files.pythonhosted.org/packages/eb/fc/8e822fd1e0a023c5ff80ca8c469b1d854c905ebb526ba38a90e7487c9897/redis-5.0.3.tar.gz" + "hash": "1d9a0cdf89fdd93f84261733e24f55a7bbd413a9b219fdaf56e3e728ca9a2306", + "url": "https://files.pythonhosted.org/packages/6e/ac/f2b72c20e106b610f943da052ea179e8c90453a1341ce5beabd75a59eeda/redis-4.1.4.tar.gz" } ], "project_name": "redis", "requires_dists": [ - "async-timeout>=4.0.3; python_full_version < \"3.11.3\"", "cryptography>=36.0.1; extra == \"ocsp\"", + "deprecated>=1.2.3", "hiredis>=1.0.0; extra == \"hiredis\"", "importlib-metadata>=1.0; python_version < \"3.8\"", + "packaging>=20.4", "pyopenssl==20.0.1; extra == \"ocsp\"", - "requests>=2.26.0; extra == \"ocsp\"", - "typing-extensions; python_version < \"3.8\"" + "requests>=2.26.0; extra == \"ocsp\"" ], - "requires_python": ">=3.7", - "version": "5.0.3" + "requires_python": ">=3.6", + "version": "4.1.4" }, { "artifacts": [ @@ -3030,13 +3020,8 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8cc4d43cb8e1125e0ff3344e9de678fefd85db3b750b81b2240dc0183af37b35", - "url": "https://files.pythonhosted.org/packages/8f/04/9e36f28be4c0532c0e9207ff9dc01fb13a2b0eb036476a213b0000837d0e/retrying-1.3.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "345da8c5765bd982b1d1915deb9102fd3d1f7ad16bd84a9700b85f64d24e8f3e", - "url": "https://files.pythonhosted.org/packages/ce/70/15ce8551d65b324e18c5aa6ef6998880f21ead51ebe5ed743c0950d7d9dd/retrying-1.3.4.tar.gz" + "hash": "08c039560a6da2fe4f2c426d0766e284d3b736e355f8dd24b37367b0bb41973b", + "url": "https://files.pythonhosted.org/packages/44/ef/beae4b4ef80902f22e3af073397f079c96969c69b2c7d52a57ea9ae61c9d/retrying-1.3.3.tar.gz" } ], "project_name": "retrying", @@ -3044,7 +3029,7 @@ "six>=1.7.0" ], "requires_python": null, - "version": "1.3.4" + "version": "1.3.3" }, { "artifacts": [ @@ -3088,25 +3073,23 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "fab5a042a3a87778eb271d053ca2723cadf43c95b471532a191a48539cb606ea", - "url": "https://files.pythonhosted.org/packages/9b/d4/d3c7d029de6287ff7bd048e628920d4336b4f8d82cfc00ff078bdbb212a3/Routes-2.5.1-py2.py3-none-any.whl" + "hash": "d64b8ae22bef127d856afd9266a3e4cfc9e0dda0e120195e38268a95d20de135", + "url": "https://files.pythonhosted.org/packages/50/50/c1c0666778c7986368896b0e0f640e41160a43cd3ffc7ff008f61f0f6cfd/Routes-2.4.1-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "b6346459a15f0cbab01a45a90c3d25caf980d4733d628b4cc1952b865125d053", - "url": "https://files.pythonhosted.org/packages/62/01/1504b710f68840f4152d460a4ffbc6b8265485b636235ddd72a8dfe686ae/Routes-2.5.1.tar.gz" + "hash": "26ee43340fca5a32769ffe0c58edcb396ccce6bc1dfa689ddf844d50877355fd", + "url": "https://files.pythonhosted.org/packages/33/38/ea827837e68d9c7dde4cff7ec122a93c319f0effc08ce92a17095576603f/Routes-2.4.1.tar.gz" } ], "project_name": "routes", "requires_dists": [ - "Sphinx; extra == \"docs\"", "repoze.lru>=0.3", "six", - "webob; extra == \"docs\"", "webob; extra == \"middleware\"" ], "requires_python": null, - "version": "2.5.1" + "version": "2.4.1" }, { "artifacts": [ @@ -3374,19 +3357,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da", - "url": "https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl" + "hash": "7bfcf367828031dc893530a29cb35eb8c8f2d7c8f2d0989354d75d24c8573714", + "url": "https://files.pythonhosted.org/packages/d5/1e/6130925131f639b2acde0f7f18b73e33ce082ff2d90783c436b52040af5a/smmap-3.0.5-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62", - "url": "https://files.pythonhosted.org/packages/88/04/b5bf6d21dc4041000ccba7eb17dd3055feb237e7ffc2c20d3fae3af62baa/smmap-5.0.1.tar.gz" + "hash": "84c2751ef3072d4f6b2785ec7ee40244c6f45eb934d9e543e2c51f1bd3d54c50", + "url": "https://files.pythonhosted.org/packages/2b/6f/d48bbed5aa971943759f4ede3f12dca40aa7faa44f22bad483de86780508/smmap-3.0.5.tar.gz" } ], "project_name": "smmap", "requires_dists": [], - "requires_python": ">=3.7", - "version": "5.0.1" + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", + "version": "3.0.5" }, { "artifacts": [ @@ -3410,19 +3393,14 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "4ecca6dc0b9f963f8384e9d7fd529bf93dd7d708144c4fb5da0e0a1a926fee83", - "url": "https://files.pythonhosted.org/packages/49/58/97655efdfeb5b4eeab85b1fc5d3fa1023661246c2ab2a26ea8e47402d4f2/sseclient_py-1.8.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "c547c5c1a7633230a38dc599a21a2dc638f9b5c297286b48b46b935c71fac3e8", - "url": "https://files.pythonhosted.org/packages/e8/ed/3df5ab8bb0c12f86c28d0cadb11ed1de44a92ed35ce7ff4fd5518a809325/sseclient-py-1.8.0.tar.gz" + "hash": "db9a95a1f8cac6e71276599a604881ef6ca6c116208a81fd19d4cfbc70b7c918", + "url": "https://files.pythonhosted.org/packages/6a/89/200c59842a7ce06c47d6cf2ab7598110c39909f5dc30c633b9a049acc262/sseclient_py-1.7-py2.py3-none-any.whl" } ], "project_name": "sseclient-py", "requires_dists": [], "requires_python": null, - "version": "1.8.0" + "version": "1.7" }, { "artifacts": [ @@ -3472,21 +3450,22 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "c4724f8d7b8f6be42130663855d01a9c2414d6046055b5a65ab58a0e38637688", - "url": "https://files.pythonhosted.org/packages/45/62/aa4c77e0f0899b7697445d8126fd099473452488d70f877426812c2ce982/stevedore-2.0.1-py3-none-any.whl" + "hash": "7d1ce610a87d26f53c087da61f06f9b7f7e552efad2a7f6d2322632b5f932ea2", + "url": "https://files.pythonhosted.org/packages/c6/dc/6ee92bccfe3c0448786b30b693e6060d62ec8c4a3ec9a287bac1c1a8d8c9/stevedore-1.30.1-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "609912b87df5ad338ff8e44d13eaad4f4170a65b79ae9cb0aa5632598994a1b7", - "url": "https://files.pythonhosted.org/packages/90/da/543bcd36658264100b58f0b6a9600c29dfe0c335a8efcc41678465b3fb4d/stevedore-2.0.1.tar.gz" + "hash": "7be098ff53d87f23d798a7ce7ae5c31f094f3deb92ba18059b1aeb1ca9fec0a0", + "url": "https://files.pythonhosted.org/packages/dc/22/a8fec083ae5214d5eb847537b1f28169136e989b56561f472dd2cbe465cd/stevedore-1.30.1.tar.gz" } ], "project_name": "stevedore", "requires_dists": [ - "pbr!=2.1.0,>=2.0.0" + "pbr!=2.1.0,>=2.0.0", + "six>=1.10.0" ], - "requires_python": ">=3.6", - "version": "2.0.1" + "requires_python": null, + "version": "1.30.1" }, { "artifacts": [ @@ -3547,6 +3526,24 @@ "requires_python": null, "version": "6.3.1" }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", + "url": "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" + } + ], + "project_name": "toml", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.6", + "version": "0.10.2" + }, { "artifacts": [ { @@ -3569,13 +3566,31 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "59f31661f2bbf6fcc92f943afd4a02e25e619dae4318134bab59aa3469fc7739", - "url": "https://files.pythonhosted.org/packages/77/56/dd86d35247602420ef6363d34f0250c7b6a020d66551a7ae2fdfa53d0d5d/tooz-6.1.0-py3-none-any.whl" + "hash": "5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b", + "url": "https://files.pythonhosted.org/packages/07/fa/c96545d741f2fd47f565e4e06bfef0962add790cb9c2289d900102b55eca/tomlkit-0.12.4-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3", + "url": "https://files.pythonhosted.org/packages/7d/49/4c0764898ee67618996148bdba4534a422c5e698b4dbf4001f7c6f930797/tomlkit-0.12.4.tar.gz" + } + ], + "project_name": "tomlkit", + "requires_dists": [], + "requires_python": ">=3.7", + "version": "0.12.4" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d6e06c42ef836cf65112d56ab21ef83c4cf5eca7f8ae20ae57d38e50f93a8c35", + "url": "https://files.pythonhosted.org/packages/b4/40/3a2ef82943e509d3abea32ddfb0a84b4d1c472fde39f31ff710d2e9932e2/tooz-2.8.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "f00b6067f84c4d2af4ad9de116ec8bc094c482b1c881add59449d62c9ec78650", - "url": "https://files.pythonhosted.org/packages/de/64/5b46cbade6d26404bcd3abc76917271ce10e90a2c277fce5dc8e71a9a2a7/tooz-6.1.0.tar.gz" + "hash": "3567a42097c6292c52634ae3888501756d81a6031eac2cc136a95a6a09a4681e", + "url": "https://files.pythonhosted.org/packages/e7/43/989e7a77be0b25dad744cb9712ef458bfe27b1c3dd58de298e88993e41d0/tooz-2.8.0.tar.gz" } ], "project_name": "tooz", @@ -3583,11 +3598,13 @@ "PyMySQL>=0.6.2; extra == \"mysql\"", "coverage>=3.6; extra == \"test\"", "ddt>=1.2.1; extra == \"test\"", - "etcd3gw!=0.2.6,>=2.3.0; extra == \"etcd3gw\"", + "etcd3>=0.12.0; extra == \"etcd3\"", + "etcd3gw!=0.2.6,>=0.1.0; extra == \"etcd3gw\"", "fasteners>=0.7", "fixtures>=3.0.0; extra == \"test\"", "futurist>=1.2.0", - "kazoo>=2.6; extra == \"zookeeper\"", + "grpcio>=1.18.0; extra == \"etcd3\"", + "kazoo>=2.2; extra == \"zookeeper\"", "msgpack>=0.4.0", "nose>=1.3.7; extra == \"test\"", "oslo.serialization>=1.10.0", @@ -3599,56 +3616,36 @@ "pymemcache!=1.3.0,>=1.2.9; extra == \"memcached\"", "python-consul2>=0.0.16; extra == \"consul\"", "python-subunit>=0.0.18; extra == \"test\"", - "redis>=4.0.0; extra == \"redis\"", + "redis>=3.1.0; extra == \"redis\"", "requests>=2.10.0; extra == \"etcd\"", "stestr>=2.0.0; extra == \"test\"", "stevedore>=1.16.0", "sysv-ipc>=0.6.8; extra == \"ipc\"", - "tenacity>=5.0.0", + "tenacity>=3.2.1", "testtools>=1.4.0; extra == \"test\"", "voluptuous>=0.8.9", "zake>=0.1.6; extra == \"zake\"" ], - "requires_python": ">=3.8", - "version": "6.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8253cebec4b19094d67cc5ed5af99bf1dba1285292226e98a31929f87a5d6b23", - "url": "https://files.pythonhosted.org/packages/17/0a/6ac05a3723017a967193456a2efa0aa9ac4b51456891af1e2353bb9de21e/traceback2-1.4.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "05acc67a09980c2ecfedd3423f7ae0104839eccb55fc645773e1caa0951c3030", - "url": "https://files.pythonhosted.org/packages/eb/7f/e20ba11390bdfc55117c8c6070838ec914e6f0053a602390a598057884eb/traceback2-1.4.0.tar.gz" - } - ], - "project_name": "traceback2", - "requires_dists": [ - "linecache2" - ], - "requires_python": null, - "version": "1.4.0" + "requires_python": ">=3.6", + "version": "2.8.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2", - "url": "https://files.pythonhosted.org/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl" + "hash": "69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475", + "url": "https://files.pythonhosted.org/packages/f9/de/dc04a3ea60b22624b51c703a84bbe0184abcd1d0b9bc8074b5d6b7ab90bb/typing_extensions-4.10.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", - "url": "https://files.pythonhosted.org/packages/b1/5a/8b5fbb891ef3f81fc923bf3cb4a578c0abf9471eb50ce0f51c74212182ab/typing_extensions-4.1.1.tar.gz" + "hash": "b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb", + "url": "https://files.pythonhosted.org/packages/16/3a/0d26ce356c7465a19c9ea8814b960f8a36c3b0d07c323176620b7b483e44/typing_extensions-4.10.0.tar.gz" } ], "project_name": "typing-extensions", "requires_dists": [], - "requires_python": ">=3.6", - "version": "4.1.1" + "requires_python": ">=3.8", + "version": "4.10.0" }, { "artifacts": [ @@ -3672,27 +3669,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8", - "url": "https://files.pythonhosted.org/packages/97/3f/c4c51c55ff8487f2e6d0e618dba917e3c3ee2caae6cf0fbb59c9b1876f2e/tzlocal-5.2-py3-none-any.whl" + "hash": "e2cb6c6b5b604af38597403e9852872d7f534962ae2954c7f35efcb1ccacf4a4", + "url": "https://files.pythonhosted.org/packages/5d/94/d47b0fd5988e6b7059de05720a646a2930920fff247a826f61674d436ba4/tzlocal-2.1-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e", - "url": "https://files.pythonhosted.org/packages/04/d3/c19d65ae67636fe63953b20c2e4a8ced4497ea232c43ff8d01db16de8dc0/tzlocal-5.2.tar.gz" + "hash": "643c97c5294aedc737780a49d9df30889321cbe1204eac2c2ec6134035a92e44", + "url": "https://files.pythonhosted.org/packages/ce/73/99e4cc30db6b21cba6c3b3b80cffc472cc5a0feaf79c290f01f1ac460710/tzlocal-2.1.tar.gz" } ], "project_name": "tzlocal", "requires_dists": [ - "backports.zoneinfo; python_version < \"3.9\"", - "check-manifest; extra == \"devenv\"", - "pytest-cov; extra == \"devenv\"", - "pytest-mock>=3.3; extra == \"devenv\"", - "pytest>=4.3; extra == \"devenv\"", - "tzdata; platform_system == \"Windows\"", - "zest.releaser; extra == \"devenv\"" + "pytz" ], - "requires_python": ">=3.8", - "version": "5.2" + "requires_python": null, + "version": "2.1" }, { "artifacts": [ @@ -3711,96 +3702,34 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21", - "url": "https://files.pythonhosted.org/packages/40/da/4eeda413bad5a5d3222076210283b1f2bb0fbf91c751702ad8361498c4ef/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36", - "url": "https://files.pythonhosted.org/packages/02/2d/4d4956140a1c92f06ef8aa1a62a8eb7e99dd2f7f32aa5d2e4a963a4bcf7c/ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562", - "url": "https://files.pythonhosted.org/packages/0b/28/ddbd1f3e7b81be954961bc9c54d5b7594367a6fcd3362ffbd3822514d3b3/ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f", - "url": "https://files.pythonhosted.org/packages/22/fb/e5531dd0d0de2d5d1aff2e6a0b78299f2f9b611d2cd67954c1dfe064aae6/ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e", - "url": "https://files.pythonhosted.org/packages/35/84/e8ef8d94e18182ecf75949d04406b5ba1433b2fe9cd9b83cc6fae4d30182/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844", - "url": "https://files.pythonhosted.org/packages/37/70/f7a455225de729763c4cd34b06828bbb08478b39bb1409be0b5ec416d8a5/ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4", - "url": "https://files.pythonhosted.org/packages/3c/30/950218fb10fb6c9dd3b50ac6f922805827885fdf358748c2f0aa4a76df1d/ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617", - "url": "https://files.pythonhosted.org/packages/49/64/c563bc163154714a128a7e7403bc3df5e826e8936bf1f5ef602c19626eed/ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60", - "url": "https://files.pythonhosted.org/packages/50/4f/9541c36bc1342dbea0853d6e75b91094f44f1e5709bca3c16e1a35f6bf84/ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl" + "hash": "b5c70704962cf93ec6ea3271a47d952b75ae1980d6c56b8496cec2a722075939", + "url": "https://files.pythonhosted.org/packages/7e/0e/c20c66b0c8fbdcb2c2e2a48b146fea02e3fd081e6713d8a1b120be7572da/ujson-4.0.2-cp39-cp39-manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532", - "url": "https://files.pythonhosted.org/packages/6e/54/6f2bdac7117e89a47de4511c9f01732a283457ab1bf856e1e51aa861619e/ujson-5.9.0.tar.gz" + "hash": "b3a6dcc660220539aa718bcc9dbd6dedf2a01d19c875d1033f028f212e36d6bb", + "url": "https://files.pythonhosted.org/packages/35/de/7c91593d3e409ff075aa8522c4395e5b22b879ff27564d787bec4461e0d7/ujson-4.0.2-cp39-cp39-macosx_10_14_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad", - "url": "https://files.pythonhosted.org/packages/84/79/e8751f45fe1b9da65f48888dd1f15d9244f667d4d1d9293a4a092d0dd7bf/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "4d6d061563470cac889c0a9fd367013a5dbd8efc36ad01ab3e67a57e56cad720", + "url": "https://files.pythonhosted.org/packages/4d/16/5478eb05b5b5d452f22e844421dad3784eeb6fb408846040fa095e2b83e8/ujson-4.0.2-cp39-cp39-manylinux1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81", - "url": "https://files.pythonhosted.org/packages/b2/2c/4500b6c1e99e01e2a902ddd8a14d0972d18c05f670c42a64ed65c6361eee/ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "c615a9e9e378a7383b756b7e7a73c38b22aeb8967a8bfbffd4741f7ffd043c4d", + "url": "https://files.pythonhosted.org/packages/86/0a/80d87aa4ee79980bddabef13cb7d95de330f85355cf08dfdaf874889b02b/ujson-4.0.2.tar.gz" }, { "algorithm": "sha256", - "hash": "bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f", - "url": "https://files.pythonhosted.org/packages/bd/39/bacd7004191d2d9bc8aaf0af102cbc761ab2af7dca649df67888041f84cd/ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "0ea07fe57f9157118ca689e7f6db72759395b99121c0ff038d2e38649c626fb1", + "url": "https://files.pythonhosted.org/packages/ec/01/1ed3f15fe82fb458b5e25e993d6ba46404a84810a5e066d4cc30219583d8/ujson-4.0.2-cp39-cp39-manylinux1_i686.whl" } ], "project_name": "ujson", "requires_dists": [], - "requires_python": ">=3.8", - "version": "5.9.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "13f77d0875db6d9b435e1d4f41e74ad4cc2eb6e1d5c824996092b3430f088bb8", - "url": "https://files.pythonhosted.org/packages/72/20/7f0f433060a962200b7272b8c12ba90ef5b903e218174301d0abfd523813/unittest2-1.1.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "22882a0e418c284e1f718a822b3b022944d53d2d908e1690b319a9d3eb2c0579", - "url": "https://files.pythonhosted.org/packages/7f/c4/2b0e2d185d9d60772c10350d9853646832609d2f299a8300ab730f199db4/unittest2-1.1.0.tar.gz" - } - ], - "project_name": "unittest2", - "requires_dists": [ - "argparse", - "six>=1.4", - "traceback2" - ], - "requires_python": null, - "version": "1.1.0" + "requires_python": ">=3.6", + "version": "4.0.2" }, { "artifacts": [ @@ -3861,43 +3790,43 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "961c026ac520bac5f69acb8ea063e8a4f071bcc9457b9c1f28f6b085c511583a", - "url": "https://files.pythonhosted.org/packages/16/65/0d0bdfdac31e2db8c6d6c18fe1e00236f0dea279f9846f94a9aafa49cfc9/virtualenv-20.25.1-py3-none-any.whl" + "hash": "227a8fed626f2f20a6cdb0870054989f82dd27b2560a911935ba905a2a5e0034", + "url": "https://files.pythonhosted.org/packages/23/5e/12fd05915bd86af400c075fbe2bf57058c02dafe377623ab0a73961428ce/virtualenv-20.4.0-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e08e13ecdca7a0bd53798f356d5831434afa5b07b93f0abdf0797b7a06ffe197", - "url": "https://files.pythonhosted.org/packages/93/4f/a7737e177ab67c454d7e60d48a5927f16cd05623e9dd888f78183545d250/virtualenv-20.25.1.tar.gz" + "hash": "219ee956e38b08e32d5639289aaa5bd190cfbe7dafcb8fa65407fca08e808f9c", + "url": "https://files.pythonhosted.org/packages/46/3d/81513f1aeab4c11c50d8c01ee041223350ddfad3d75eb05d0fce4a1d82dc/virtualenv-20.4.0.tar.gz" } ], "project_name": "virtualenv", "requires_dists": [ - "covdefaults>=2.3; extra == \"test\"", - "coverage-enable-subprocess>=1; extra == \"test\"", - "coverage>=7.2.7; extra == \"test\"", - "distlib<1,>=0.3.7", - "filelock<4,>=3.12.2", - "flaky>=3.7; extra == \"test\"", - "furo>=2023.7.26; extra == \"docs\"", - "importlib-metadata>=6.6; python_version < \"3.8\"", - "packaging>=23.1; extra == \"test\"", - "platformdirs<5,>=3.9.1", - "proselint>=0.13; extra == \"docs\"", - "pytest-env>=0.8.2; extra == \"test\"", - "pytest-freezer>=0.4.8; platform_python_implementation == \"PyPy\" and extra == \"test\"", - "pytest-mock>=3.11.1; extra == \"test\"", - "pytest-randomly>=3.12; extra == \"test\"", - "pytest-timeout>=2.1; extra == \"test\"", - "pytest>=7.4; extra == \"test\"", - "setuptools>=68; extra == \"test\"", - "sphinx-argparse>=0.4; extra == \"docs\"", - "sphinx>=7.1.2; extra == \"docs\"", - "sphinxcontrib-towncrier>=0.2.1a0; extra == \"docs\"", - "time-machine>=2.10; platform_python_implementation == \"CPython\" and extra == \"test\"", - "towncrier>=23.6; extra == \"docs\"" + "appdirs<2,>=1.4.3", + "coverage-enable-subprocess>=1; extra == \"testing\"", + "coverage>=4; extra == \"testing\"", + "distlib<1,>=0.3.1", + "filelock<4,>=3.0.0", + "flaky>=3; extra == \"testing\"", + "importlib-metadata>=0.12; python_version < \"3.8\"", + "importlib-resources>=1.0; python_version < \"3.7\"", + "packaging>=20.0; python_version > \"3.4\" and extra == \"testing\"", + "pathlib2<3,>=2.3.3; python_version < \"3.4\" and sys_platform != \"win32\"", + "proselint>=0.10.2; extra == \"docs\"", + "pytest-env>=0.6.2; extra == \"testing\"", + "pytest-freezegun>=0.4.1; extra == \"testing\"", + "pytest-mock>=2; extra == \"testing\"", + "pytest-randomly>=1; extra == \"testing\"", + "pytest-timeout>=1; extra == \"testing\"", + "pytest>=4; extra == \"testing\"", + "six<2,>=1.9.0", + "sphinx-argparse>=0.2.5; extra == \"docs\"", + "sphinx-rtd-theme>=0.4.3; extra == \"docs\"", + "sphinx>=3; extra == \"docs\"", + "towncrier>=19.9.0rc1; extra == \"docs\"", + "xonsh>=0.9.16; (python_version > \"3.4\" and python_version != \"3.9\") and extra == \"testing\"" ], - "requires_python": ">=3.7", - "version": "20.25.1" + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", + "version": "20.4.0" }, { "artifacts": [ @@ -3991,13 +3920,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2a001a9efa40d2a7e5d9cd8d1527c75f41814eb6afce2c3d207402547b1e5ead", - "url": "https://files.pythonhosted.org/packages/41/c7/3897bd62366cb4a50bfb411d37efca9fa33bf07a7c1c22fce8f6ad2664ff/WebTest-3.0.0-py3-none-any.whl" + "hash": "44ddfe99b5eca4cf07675e7222c81dd624d22f9a26035d2b93dc8862dc1153c6", + "url": "https://files.pythonhosted.org/packages/fd/8c/3d36c39f458d986ee3aaea7683f186613df1225818dc076e75c5002eca81/WebTest-2.0.35-py2.py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "54bd969725838d9861a9fa27f8d971f79d275d94ae255f5c501f53bb6d9929eb", - "url": "https://files.pythonhosted.org/packages/26/c8/8ffba1782700eb06e9b9169156698c6ba95c05b66cda3fc9e025b6b3b649/WebTest-3.0.0.tar.gz" + "hash": "aac168b5b2b4f200af4e35867cf316712210e3d5db81c1cbdff38722647bb087", + "url": "https://files.pythonhosted.org/packages/97/87/73f7db7be3a33c5a7aa3772a4cdb309995dba28bddf7a41a56229f3b1507/WebTest-2.0.35.tar.gz" } ], "project_name": "webtest", @@ -4009,34 +3938,36 @@ "beautifulsoup4", "coverage; extra == \"tests\"", "docutils; extra == \"docs\"", + "mock; extra == \"tests\"", + "nose<1.3.0; extra == \"tests\"", "pylons-sphinx-themes>=1.0.8; extra == \"docs\"", "pyquery; extra == \"tests\"", - "pytest-cov; extra == \"tests\"", - "pytest; extra == \"tests\"", + "six", "waitress>=0.8.5" ], - "requires_python": "<4,>=3.6", - "version": "3.0.0" + "requires_python": null, + "version": "2.0.35" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255", - "url": "https://files.pythonhosted.org/packages/c4/44/f50f2d22cdfb6d56c03d1b4cc3cfa03ebee2f21b59a7768f151e43415ba5/Werkzeug-2.1.2-py3-none-any.whl" + "hash": "3aac3f5da756f93030740bc235d3e09449efcf65f2f55e3602e1d851b8f48795", + "url": "https://files.pythonhosted.org/packages/e3/23/c9843d7550092ae7ad380611c238f44afef66f58f76c1dab7dcf313e4339/werkzeug-3.0.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6", - "url": "https://files.pythonhosted.org/packages/10/cf/97eb1a3847c01ae53e8376bc21145555ac95279523a935963dc8ff96c50b/Werkzeug-2.1.2.tar.gz" + "hash": "e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d", + "url": "https://files.pythonhosted.org/packages/0f/84/00f7193d7bd88ced26cd5f868903e431054424610dc7c041bbe87d2a4d66/werkzeug-3.0.2.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.2" }, { "artifacts": [ @@ -4236,43 +4167,48 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a7ccf5825fd71d4542c8ab28d4d482aace885f5ebe4b40faaa290eed8e095a4c", - "url": "https://files.pythonhosted.org/packages/ea/76/6878c4e54ed1fc2ed2f541ce3cbccacc5dc61fd2e7ae3dfcd2789b6fd6d5/zstandard-0.22.0-cp39-cp39-musllinux_1_1_x86_64.whl" + "hash": "f36722144bc0a5068934e51dca5a38a5b4daac1be84f4423244277e4baf24e7a", + "url": "https://files.pythonhosted.org/packages/77/69/63ed3dd4f2dfb682eca5256f58d4618e09d91d01211603978cfd8703df3c/zstandard-0.15.2-cp39-cp39-manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb", - "url": "https://files.pythonhosted.org/packages/19/16/845cd410ad0951a081b94398074daad70d4330c59f5853fb224187909f64/zstandard-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "24cdcc6f297f7c978a40fb7706877ad33d8e28acc1786992a52199502d6da2a4", + "url": "https://files.pythonhosted.org/packages/15/1f/b1d49340cf30a3fa1a80f6d93344d28f06fa4da645280e7cd2595bbaa9dc/zstandard-0.15.2-cp39-cp39-manylinux1_i686.whl" }, { "algorithm": "sha256", - "hash": "8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", - "url": "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz" + "hash": "eda0719b29792f0fea04a853377cfff934660cb6cd72a0a0eeba7a1f0df4a16e", + "url": "https://files.pythonhosted.org/packages/41/4e/bba31b58c5ada0d9124f0912d9429efff794a5f3f1ff92efd84eb40dec48/zstandard-0.15.2-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303", - "url": "https://files.pythonhosted.org/packages/80/76/23caa1fa9de6f59826d0f45085f5d02c84bb98e0073977a5f90ec2b0b2f3/zstandard-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl" + "hash": "69b7a5720b8dfab9005a43c7ddb2e3ccacbb9a2442908ae4ed49dd51ab19698a", + "url": "https://files.pythonhosted.org/packages/5b/53/15bacdd8728cc9050dc3cff5e0e07da3a1d27a24cb5d7a9ccd5ec3f710b1/zstandard-0.15.2-cp39-cp39-manylinux1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe", - "url": "https://files.pythonhosted.org/packages/85/96/61a79e9e9c9e14e5e1baf84fd71115944320bac525fcd754695ba84e2084/zstandard-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "dc8c03d0c5c10c200441ffb4cce46d869d9e5c4ef007f55856751dc288a2dffd", + "url": "https://files.pythonhosted.org/packages/9d/03/f677201f7ef8de2efc335377a26e1e44aa90f6c540389350640aaa6f79a2/zstandard-0.15.2-cp39-cp39-manylinux2010_i686.whl" }, { "algorithm": "sha256", - "hash": "2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b", - "url": "https://files.pythonhosted.org/packages/a3/44/846dd0d14d863c294e94ddb3bb18fc6faa5e32b553ad6b201b55e6b85b7d/zstandard-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "52de08355fd5cfb3ef4533891092bb96229d43c2069703d4aff04fdbedf9c92f", + "url": "https://files.pythonhosted.org/packages/b4/79/7b192e51a2952dee3a3c9dbd9208a9838d8d497745a18a5528e2dbfb465e/zstandard-0.15.2.tar.gz" }, { "algorithm": "sha256", - "hash": "9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3", - "url": "https://files.pythonhosted.org/packages/d4/f9/2b76671d8fbee77ba18b96f5da3b187bf7bbbce1bdcad59f1bb94a54a2b4/zstandard-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "3e1cd2db25117c5b7c7e86a17cde6104a93719a9df7cb099d7498e4c1d13ee5c", + "url": "https://files.pythonhosted.org/packages/d7/58/0c8cc77f054afa3371c8357d03c90eb65eecf880a755df41fafbee522076/zstandard-0.15.2-cp39-cp39-manylinux2010_x86_64.whl" }, { "algorithm": "sha256", - "hash": "73a1d6bd01961e9fd447162e137ed949c01bdb830dfca487c4a14e9742dccc93", - "url": "https://files.pythonhosted.org/packages/d9/15/7d40ac656fec0710394278e91649bdeea5bec0230fb18dd655f67e7b02e3/zstandard-0.22.0-cp39-cp39-macosx_11_0_arm64.whl" + "hash": "8fb77dd152054c6685639d855693579a92f276b38b8003be5942de31d241ebfb", + "url": "https://files.pythonhosted.org/packages/e5/2f/98dd1868ff05281a99b82d0e9d298801eb48632d7c9c39cf608b3fe69d28/zstandard-0.15.2-cp39-cp39-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "ab9f19460dfa4c5dd25431b75bee28b5f018bf43476858d64b1aa1046196a2a0", + "url": "https://files.pythonhosted.org/packages/ee/4d/3e1ba6a84ce5644e15322e0877eadbbf5f39e1bf75e961a2553cd0e11a57/zstandard-0.15.2-cp39-cp39-manylinux2014_i686.whl" } ], "project_name": "zstandard", @@ -4280,8 +4216,8 @@ "cffi>=1.11; extra == \"cffi\"", "cffi>=1.11; platform_python_implementation == \"PyPy\"" ], - "requires_python": ">=3.8", - "version": "0.22.0" + "requires_python": ">=3.5", + "version": "0.15.2" } ], "platform_tag": null @@ -4292,76 +4228,77 @@ "pip_version": "23.1.2", "prefer_older_binary": false, "requirements": [ - "Jinja2==3.1.3", - "PyYAML", - "Pygments", + "Pygments==2.5.2", "RandomWords", - "apscheduler", + "apscheduler==3.7.0", "argcomplete==3.2.3", + "astroid==3.1.0", "beautifulsoup4", "ciso8601", - "cryptography", + "cryptography<42", "editor==1.6.6", "eventlet==0.35.2", "flask", - "flex", - "gitdb", - "gitpython", + "flex==6.14.1", + "gitdb==4.0.2", + "gitpython<=3.1.37", "graphviz", "gunicorn==21.2.0", - "jsonpath-rw", - "jsonschema<4,>=3", + "jinja2==3.1.3", + "jsonpath-rw==1.4.0", + "jsonschema==3.2.0", "kombu==5.3.5", - "lockfile", + "lockfile==0.12.2", "logshipper", "mail-parser==3.15.0", - "mock", + "mock==4.0.3", "mongoengine<0.24.0,>=0.21.0", - "networkx", - "orjson", + "networkx<3.2", + "orjson==3.5.2", "orquesta", "oslo.config==9.4.0", - "paramiko", + "paramiko==2.11.0", "pika", - "pip", + "pip==24.0", "prance", - "prettytable", - "prompt-toolkit", - "psutil", + "prettytable==2.1.0", + "prompt-toolkit==3.0.43", + "psutil==5.8.0", "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", + "pylint==3.1.0", "pymongo<3.13.0,>=3.11.0", "pyrabbit", "pysocks", - "pytest", - "python-dateutil", + "pytest==6.2.5", + "python-dateutil==2.8.1", "python-json-logger", - "python-statsd", - "pytz", + "python-statsd==2.1.0", + "pytz==2021.1", "pywinrm", - "redis", - "requests[security]", - "retrying", - "routes", + "pyyaml==5.3.1", + "redis==4.1.4", + "requests==2.31.0", + "retrying==1.3.3", + "routes==2.4.1", "semver==3.0.2", "setuptools", "simplejson", - "six", - "sseclient-py", + "six~=1.15", + "sseclient-py==1.7", "st2-auth-backend-flat-file", "st2-auth-ldap", "st2-rbac-backend", - "stevedore<3", + "stevedore==1.30.1", "tabulate", - "tooz", + "tooz==2.8.0", "udatetime", - "ujson", - "unittest2", - "virtualenv", - "webob", - "webtest", + "ujson==4.0.2", + "virtualenv==20.4.0", + "webob==1.8.7", + "webtest==2.0.35", "wheel", - "zake", - "zstandard" + "zake==0.2.2", + "zstandard==0.15.2" ], "requires_python": [ "==3.9.*" diff --git a/lockfiles/twine.lock b/lockfiles/twine.lock index 1f7e40c9a5..968fc40ee7 100644 --- a/lockfiles/twine.lock +++ b/lockfiles/twine.lock @@ -651,20 +651,20 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "f41f4098b16cd140a97d256137cfd943d958219007990b2afb00439fc623f580", - "url": "https://files.pythonhosted.org/packages/6e/f0/0632f7ae2d23aa34f1c5b09caf775376b9372e685c3841947dceef39919f/importlib_resources-6.3.2-py3-none-any.whl" + "hash": "50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c", + "url": "https://files.pythonhosted.org/packages/75/06/4df55e1b7b112d183f65db9503bff189e97179b256e1ea450a3c365241e0/importlib_resources-6.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "963eb79649252b0160c1afcfe5a1d3fe3ad66edd0a8b114beacffb70c0674223", - "url": "https://files.pythonhosted.org/packages/cc/d8/9024d77b996e94c115d6b4fb7580742a012f15ecbca2e7f626445a408179/importlib_resources-6.3.2.tar.gz" + "hash": "cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145", + "url": "https://files.pythonhosted.org/packages/c8/9d/6ee73859d6be81c6ea7ebac89655e92740296419bd37e5c8abdb5b62fd55/importlib_resources-6.4.0.tar.gz" } ], "project_name": "importlib-resources", "requires_dists": [ "furo; extra == \"docs\"", - "jaraco.collections; extra == \"testing\"", "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test>=5.4; extra == \"testing\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", @@ -680,19 +680,19 @@ "zipp>=3.17; extra == \"testing\"" ], "requires_python": ">=3.8", - "version": "6.3.2" + "version": "6.4.0" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "86b534de565381f6b3c1c830d13f931d7be1a75f0081c57dff615578676e2206", - "url": "https://files.pythonhosted.org/packages/eb/57/d3590a153d7c1970f466f69fa2570e1a93a34d8f88f23c11411df73729bf/jaraco.classes-3.3.1-py3-none-any.whl" + "hash": "f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790", + "url": "https://files.pythonhosted.org/packages/7f/66/b15ce62552d84bbfcec9a4873ab79d993a1dd4edb922cbfccae192bd5b5f/jaraco.classes-3.4.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "cb28a5ebda8bc47d8c8015307d93163464f9f2b91ab4006e09ff0ce07e8bfb30", - "url": "https://files.pythonhosted.org/packages/a5/8a/ed955184b2ef9c1eef3aa800557051c7354e5f40a9efc9a46e38c3e6d237/jaraco.classes-3.3.1.tar.gz" + "hash": "47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd", + "url": "https://files.pythonhosted.org/packages/06/c0/ed4a27bc5571b99e3cff68f8a9fa5b56ff7df1c2251cc715a652ddd26402/jaraco.classes-3.4.0.tar.gz" } ], "project_name": "jaraco-classes", @@ -704,16 +704,83 @@ "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-enabler>=2.2; extra == \"testing\"", - "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", "pytest-ruff>=0.2.1; extra == \"testing\"", "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", + "sphinx>=3.5; extra == \"docs\"" + ], + "requires_python": ">=3.8", + "version": "3.4.0" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "5d9e95ca0faa78943ed66f6bc658dd637430f16125d86988e77844c741ff2f11", + "url": "https://files.pythonhosted.org/packages/0a/de/3f889cd55e69f0a91b396f6799ca31ea0d6869cde338e7c79335699090cb/jaraco.context-4.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" + } + ], + "project_name": "jaraco-context", + "requires_dists": [ + "flake8<5; extra == \"testing\"", + "furo; extra == \"docs\"", + "jaraco.packaging>=9; extra == \"docs\"", + "jaraco.tidelift>=1.4; 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.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\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-lint; extra == \"docs\"", + "sphinx>=3.5; extra == \"docs\"" + ], + "requires_python": ">=3.7", + "version": "4.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" + }, + { + "algorithm": "sha256", + "hash": "c279cb24c93d694ef7270f970d499cab4d3813f4e08273f95398651a634f0925", + "url": "https://files.pythonhosted.org/packages/57/7c/fe770e264913f9a49ddb9387cca2757b8d7d26f06735c1bfbb018912afce/jaraco.functools-4.0.0.tar.gz" + } + ], + "project_name": "jaraco-functools", + "requires_dists": [ + "furo; extra == \"docs\"", + "jaraco.classes; extra == \"testing\"", + "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>=6; extra == \"testing\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-lint; extra == \"docs\"", "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.3.1" + "version": "4.0.0" }, { "artifacts": [ @@ -746,13 +813,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "df38a4d7419a6a60fea5cef1e45a948a3e8430dd12ad88b0f423c5c143906218", - "url": "https://files.pythonhosted.org/packages/7c/23/d557507915181687e4a613e1c8a01583fd6d7cb7590e1f039e357fe3b304/keyring-24.3.1-py3-none-any.whl" + "hash": "26fc12e6a329d61d24aa47b22a7c5c3f35753df7d8f2860973cf94f4e1fb3427", + "url": "https://files.pythonhosted.org/packages/51/8b/0728346fb9d69c2be2c67a315fc1a53c1a58959fcbdbebdb852d01b156a9/keyring-25.1.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db", - "url": "https://files.pythonhosted.org/packages/ae/6c/bd2cfc6c708ce7009bdb48c85bb8cad225f5638095ecc8f49f15e8e1f35e/keyring-24.3.1.tar.gz" + "hash": "7230ea690525133f6ad536a9b5def74a4bd52642abe594761028fc044d7c7893", + "url": "https://files.pythonhosted.org/packages/18/ec/cc0afdcd7538d4942a6b78f858139120a8c7999e554004080ed312e43886/keyring-25.1.0.tar.gz" } ], "project_name": "keyring", @@ -762,24 +829,25 @@ "importlib-metadata>=4.11.4; python_version < \"3.12\"", "importlib-resources; python_version < \"3.9\"", "jaraco.classes", + "jaraco.context", + "jaraco.functools", "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-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-enabler>=2.2; extra == \"testing\"", - "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", "pytest-ruff>=0.2.1; extra == \"testing\"", - "pytest>=6; extra == \"testing\"", "pywin32-ctypes>=0.2.0; sys_platform == \"win32\"", "rst.linker>=1.9; extra == \"docs\"", "shtab>=1.1.0; extra == \"completion\"", "sphinx-lint; extra == \"docs\"", - "sphinx<7.2.5; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "24.3.1" + "version": "25.1.0" }, { "artifacts": [ @@ -803,79 +871,79 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "a5167a6403d19c515217b6bcaaa9be420974a6ac30e0da9e84d4fc67a5d474c5", - "url": "https://files.pythonhosted.org/packages/f9/68/0ba3dba816712566961c40dfcc8194424483d1a2039f8c2321f66cd013ec/nh3-0.2.15-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "a3f55fabe29164ba6026b5ad5c3151c314d136fd67415a17660b4aaddacf1b10", + "url": "https://files.pythonhosted.org/packages/62/2d/c9ed7cb1f3ddd0ec03dcfc1d0cb2f8d985db5c612f2150108d8aeb3a11c3/nh3-0.2.17-cp37-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d1e30ff2d8d58fb2a14961f7aac1bbb1c51f9bdd7da727be35c63826060b0bf3", - "url": "https://files.pythonhosted.org/packages/08/03/506eb477d723da0db7c46d6259ee06bc68243ef40f5626eb66ab72ae4d69/nh3-0.2.15.tar.gz" + "hash": "66f17d78826096291bd264f260213d2b3905e3c7fae6dfc5337d49429f1dc9f3", + "url": "https://files.pythonhosted.org/packages/04/c8/5000b81bfa6311c04d8900ae0bc27f2fc0b1c59bd34d807788f22011eda0/nh3-0.2.17-cp37-abi3-manylinux_2_12_i686.manylinux2010_i686.whl" }, { "algorithm": "sha256", - "hash": "3b803a5875e7234907f7d64777dfde2b93db992376f3d6d7af7f3bc347deb305", - "url": "https://files.pythonhosted.org/packages/13/a8/195de328bcb1dbc8050702addc26149aea7d8d791806041a06077d683ac4/nh3-0.2.15-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl" + "hash": "c551eb2a3876e8ff2ac63dff1585236ed5dfec5ffd82216a7a174f7c5082a78a", + "url": "https://files.pythonhosted.org/packages/07/a1/9c73f4228cb4587ac95fee1652939f420a390e6bd74af61032c871e8d757/nh3-0.2.17-cp37-abi3-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ac19c0d68cd42ecd7ead91a3a032fdfff23d29302dbb1311e641a130dfefba97", - "url": "https://files.pythonhosted.org/packages/2c/2c/033432bde3d44577774ffac881e3935ce7b30787e1a15c5238dbb682d737/nh3-0.2.15-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "551672fd71d06cd828e282abdb810d1be24e1abb7ae2543a8fa36a71c1006fe9", + "url": "https://files.pythonhosted.org/packages/0f/4e/180c017c9fba59094478068d3743d764ead3132bc910d4619b7e58bccc3c/nh3-0.2.17-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "0d02d0ff79dfd8208ed25a39c12cbda092388fff7f1662466e27d97ad011b770", - "url": "https://files.pythonhosted.org/packages/3d/b8/ebeb739ef1b03584a7ec462013cdb86d32c371595fc29a5f40cfab338d98/nh3-0.2.15-cp37-abi3-musllinux_1_2_aarch64.whl" + "hash": "ba73a2f8d3a1b966e9cdba7b211779ad8a2561d2dba9674b8a19ed817923f65f", + "url": "https://files.pythonhosted.org/packages/25/4d/74b3aaaa15e0ecef58f3f3337e8b681d42e20e67483aebf48cb779ead6bb/nh3-0.2.17-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "6f42f99f0cf6312e470b6c09e04da31f9abaadcd3eb591d7d1a88ea931dca7f3", - "url": "https://files.pythonhosted.org/packages/57/65/5b29934fc0f292526574768c9e9c36fa2b6e760a66ff22bb733d342c37ad/nh3-0.2.15-cp37-abi3-macosx_10_12_x86_64.whl" + "hash": "0316c25b76289cf23be6b66c77d3608a4fdf537b35426280032f432f14291b9a", + "url": "https://files.pythonhosted.org/packages/26/85/b6b09ba7eefe55505bf668bafff2d578fdaff5a1c8a4613d218391b8d761/nh3-0.2.17-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3277481293b868b2715907310c7be0f1b9d10491d5adf9fce11756a97e97eddf", - "url": "https://files.pythonhosted.org/packages/68/25/e750f42ffdf718f1bb3e60a567c1fe9f45b20e10374afb5edfe781b17b71/nh3-0.2.15-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "d7a25fd8c86657f5d9d576268e3b3767c5cd4f42867c9383618be8517f0f022a", + "url": "https://files.pythonhosted.org/packages/40/b3/14326a0229ae14375a22bc011e8753372d5eeed2fe415a3c120d49452ec7/nh3-0.2.17-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b1e97221cedaf15a54f5243f2c5894bb12ca951ae4ddfd02a9d4ea9df9e1a29d", - "url": "https://files.pythonhosted.org/packages/68/b3/394a2512c92610b817307ce9e212156bdc97d0c743df391e2db99545b855/nh3-0.2.15-cp37-abi3-musllinux_1_2_i686.whl" + "hash": "40d0741a19c3d645e54efba71cb0d8c475b59135c1e3c580f879ad5514cbf028", + "url": "https://files.pythonhosted.org/packages/4b/d2/b14d619582459d2790e0c3338ec6d1611be87fdd5d1dcaca85e6c20eaed3/nh3-0.2.17.tar.gz" }, { "algorithm": "sha256", - "hash": "60684857cfa8fdbb74daa867e5cad3f0c9789415aba660614fe16cd66cbb9ec7", - "url": "https://files.pythonhosted.org/packages/77/67/e5d91360d1414016326ed0c3e9cf74e38fa60245e0194ba9fe2644648a51/nh3-0.2.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "22c26e20acbb253a5bdd33d432a326d18508a910e4dcf9a3316179860d53345a", + "url": "https://files.pythonhosted.org/packages/51/ae/a3bbe3e237245630bc2a54a87db2be6efb42e80215f4083a9361845115d7/nh3-0.2.17-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" }, { "algorithm": "sha256", - "hash": "5f0d77272ce6d34db6c87b4f894f037d55183d9518f948bba236fe81e2bb4e28", - "url": "https://files.pythonhosted.org/packages/97/ef/cd5efc5ddef683ffd5aab015a60bf873677fc61ae049e73c58c6774cf6d3/nh3-0.2.15-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "b4427ef0d2dfdec10b641ed0bdaf17957eb625b2ec0ea9329b3d28806c153d71", + "url": "https://files.pythonhosted.org/packages/54/3f/27445553120573a827a72d80acee85c7a0d2094f523469317df5c44470f8/nh3-0.2.17-cp37-abi3-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "9c0d415f6b7f2338f93035bba5c0d8c1b464e538bfbb1d598acd47d7969284f0", - "url": "https://files.pythonhosted.org/packages/9e/ea/6e5b37be087f62ab8341dac0287536a98d2062e57bb80cfd684af94b7a56/nh3-0.2.15-cp37-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl" + "hash": "c790769152308421283679a142dbdb3d1c46c79c823008ecea8e8141db1a2062", + "url": "https://files.pythonhosted.org/packages/9b/39/76f24bc520eb6243589c1f2ecc089ea9ee7de0ce83e5b40342522dc0c8f0/nh3-0.2.17-cp37-abi3-musllinux_1_2_armv7l.whl" }, { "algorithm": "sha256", - "hash": "86e447a63ca0b16318deb62498db4f76fc60699ce0a1231262880b38b6cff911", - "url": "https://files.pythonhosted.org/packages/e4/15/65dccfb18a1164d17b0dd849b6914b2f8a8e363b1d2d6593d36e4167215c/nh3-0.2.15-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "40015514022af31975c0b3bca4014634fa13cb5dc4dbcbc00570acc781316dcc", + "url": "https://files.pythonhosted.org/packages/c5/fb/49273f7b161aeeffb5b4f796a53ee50852f37bd7549843e2ed76052227ef/nh3-0.2.17-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "f3b53ba93bb7725acab1e030bc2ecd012a817040fd7851b332f86e2f9bb98dc6", - "url": "https://files.pythonhosted.org/packages/f3/0c/209fe880a9eda679fd2b97dcb702bc5c994c4fdee19bc3f3ef41f0d2b4d3/nh3-0.2.15-cp37-abi3-musllinux_1_2_armv7l.whl" + "hash": "c21bac1a7245cbd88c0b0e4a420221b7bfa838a2814ee5bb924e9c2f10a1120b", + "url": "https://files.pythonhosted.org/packages/da/19/d52d9a0247007835df949f17abd904615248dc1b94d67cb8c99100330f08/nh3-0.2.17-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "8d595df02413aa38586c24811237e95937ef18304e108b7e92c890a06793e3bf", - "url": "https://files.pythonhosted.org/packages/f3/f3/196fa8da09be72ec8473bdaa5218be7a5a654922e2afff1f6fecccfa8ade/nh3-0.2.15-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl" + "hash": "85cdbcca8ef10733bd31f931956f7fbb85145a4d11ab9e6742bbf44d88b7e351", + "url": "https://files.pythonhosted.org/packages/f0/f6/d21910c15d6e5beccdf12d6854d996e158a74785ec1d8c8dd053507ac771/nh3-0.2.17-cp37-abi3-manylinux_2_17_ppc64.manylinux2014_ppc64.whl" } ], "project_name": "nh3", "requires_dists": [], "requires_python": null, - "version": "0.2.15" + "version": "0.2.17" }, { "artifacts": [ @@ -903,19 +971,19 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", - "url": "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl" + "hash": "c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", + "url": "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206", - "url": "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz" + "hash": "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", + "url": "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz" } ], "project_name": "pycparser", "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "2.21" + "requires_python": ">=3.8", + "version": "2.22" }, { "artifacts": [ diff --git a/pylint_plugins/api_models.py b/pylint_plugins/api_models.py index 823368ed56..76e342155d 100644 --- a/pylint_plugins/api_models.py +++ b/pylint_plugins/api_models.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/requirements-pants.txt b/requirements-pants.txt index e9aa8ab982..b4aa208aff 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -6,91 +6,81 @@ # # Please keep this list alphabetical, with tooz backends in a separate list. -apscheduler +apscheduler==3.7.0 argcomplete==3.2.3 ciso8601 -cryptography +cryptography<42 eventlet==0.35.2 # flex parses the openapi 2 spec in our router -flex -# gitpython & gitdb are used for pack management -gitdb -gitpython +flex==6.14.1 +# gitdb and gitpython are used for pack management +gitdb==4.0.2 +gitpython<=3.1.37 # st2common/tests/integration/test_util_green.py requires greenlet (as does eventlet) gunicorn==21.2.0 -Jinja2==3.1.3 -jsonpath-rw -jsonschema>=3,<4 +jinja2==3.1.3 +jsonpath-rw==1.4.0 +jsonschema==3.2.0 kombu==5.3.5 -lockfile -mock +lockfile==0.12.2 +mock==4.0.3 # mongoengine 0.24.0 has breaking changes to support pymongo 4.0 mongoengine>=0.21.0,<0.24.0 -# Note: networkx v2.6 dropped support for Python3.6 -# networkx version is constrained in orquesta. -networkx -orjson -orquesta @ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +# networkx version is constrained in orquesta. py3.8 dropped in v3.2 +networkx<3.2 +orjson==3.5.2 +# Temporarily use fork until PR #266 is merged. +orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat # Historical reference: https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 # Relaxed pinning for py3.10 support. oslo.config==9.4.0 -paramiko -# we use pip at runtime -pip +paramiko==2.11.0 +# pip is used at runtime (24.0 is available for py3.8 to py3.10) +pip==24.0 # 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. prance -prettytable -prompt-toolkit -psutil +prettytable==2.1.0 +prompt-toolkit==3.0.43 +psutil==5.8.0 # pymongo 3.13 has backports of APIs from pymongo 4 to help w/ migration pymongo>=3.11.0,<3.13.0 -# pyrabbit used in an integration test pyrabbit -astroid==2.15.8 -pylint==2.17.7 +astroid==3.1.0 +pylint==3.1.0 pytest==6.2.5 -python-dateutil +python-dateutil==2.8.1 editor==1.6.6 -Pygments +Pygments==2.5.2 # pythonjsonlogger referenced in st2actions/conf/logging.conf python-json-logger -python-statsd -pytz -PyYAML -# RandomWords used in some tests +python-statsd==2.1.0 +pytz==2021.1 +pyyaml==5.3.1 RandomWords -requests[security] -retrying -routes +requests==2.31.0 +retrying==1.3.3 +routes==2.4.1 semver==3.0.2 -# setuptools provides pkg_resources (and we need it with pip at runtime) setuptools simplejson -six -# NOTE: we use sseclient-py instead of sseclient because sseclient -# has various issues which sometimes hang the connection for a long time, etc. -sseclient-py -# bandit doesn't work w/ stevedore 3+ -stevedore<3 -# For backward compatibility reasons, flat file backend is installed by default +six~=1.15 +sseclient-py==1.7 +stevedore==1.30.1 st2-auth-backend-flat-file @ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master st2-auth-ldap @ git+https://github.com/StackStorm/st2-auth-ldap.git@master st2-rbac-backend @ git+https://github.com/StackStorm/st2-rbac-backend.git@master -# tabulate used by tools/log_watcher.py tabulate -tooz +tooz==2.8.0 udatetime -ujson -unittest2 -virtualenv -webob -webtest -# we use pip+wheel at runtime +ujson==4.0.2 +virtualenv==20.4.0 +webob==1.8.7 +webtest==2.0.35 wheel # zstandard is used for micro benchmarks -zstandard +zstandard==0.15.2 # tooz backends -redis -zake +redis==4.1.4 +zake==0.2.2 diff --git a/requirements.txt b/requirements.txt index 2d27ba99e9..fd92e2cf79 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,15 +6,16 @@ # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt MarkupSafe==2.1.5 +Pygments==2.5.2 RandomWords amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 argcomplete==3.2.3 bcrypt==3.2.0 cffi<1.15.0 -chardet<3.1.0 +chardet==5.2.0 ciso8601 -cryptography==39.0.1 +cryptography<42 decorator==4.4.2 dnspython==2.6.1 editor==1.6.6 @@ -24,7 +25,7 @@ gitdb==4.0.2 gitpython<=3.1.37 greenlet==3.0.3 gunicorn==21.2.0 -importlib-metadata>=4.8.3,<=4.10.1 +importlib-metadata>=4.10.1 jinja2==3.1.3 jsonpath-rw==1.4.0 jsonschema==3.2.0 @@ -33,9 +34,9 @@ lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" mock==4.0.3 mongoengine>=0.21.0,<0.24.0 -networkx<3 +networkx<3.2 orjson==3.5.2 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat oslo.config==9.4.0 oslo.utils==7.1.0 paramiko==2.11.0 @@ -43,7 +44,7 @@ passlib==1.7.4 prettytable==2.1.0 prompt-toolkit==3.0.43 psutil==5.8.0 -pyOpenSSL==23.1.0 +pyOpenSSL==24.1.0 pyinotify==0.9.6 ; platform_system=="Linux" pymongo>=3.11.0,<3.13.0 pyparsing<3 @@ -57,12 +58,12 @@ pytz==2021.1 pywinrm==0.4.1 pyyaml==5.3.1 redis==4.1.4 -requests[security]==2.25.1 +requests==2.31.0 retrying==1.3.3 routes==2.4.1 semver==3.0.2 simplejson -six==1.13.0 +six~=1.15 sseclient-py==1.7 st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master @@ -70,7 +71,7 @@ st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master stevedore==1.30.1 tenacity>=3.2.1,<7.0.0 tooz==2.8.0 -typing-extensions<4.2 +typing-extensions webob==1.8.7 webtest zake==0.2.2 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index fca5bb579f..8356c9bf67 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -7,7 +7,7 @@ # update the component requirements.txt MarkupSafe==2.1.5 apscheduler==3.7.0 -chardet<3.1.0 +chardet==5.2.0 eventlet==0.35.2 gitpython<=3.1.37 jinja2==3.1.3 @@ -21,5 +21,5 @@ pyparsing<3 python-dateutil==2.8.1 python-json-logger pyyaml==5.3.1 -requests[security]==2.25.1 -six==1.13.0 +requests==2.31.0 +six~=1.15 diff --git a/st2api/requirements.txt b/st2api/requirements.txt index b4042873ca..fad7616e6a 100644 --- a/st2api/requirements.txt +++ b/st2api/requirements.txt @@ -15,4 +15,4 @@ oslo.utils==7.1.0 pymongo>=3.11.0,<3.13.0 pyparsing<3 simplejson -six==1.13.0 +six~=1.15 diff --git a/st2auth/requirements.txt b/st2auth/requirements.txt index 9c1d77ee8a..e4ce895c03 100644 --- a/st2auth/requirements.txt +++ b/st2auth/requirements.txt @@ -11,7 +11,7 @@ gunicorn==21.2.0 oslo.config==9.4.0 passlib==1.7.4 pymongo>=3.11.0,<3.13.0 -six==1.13.0 +six~=1.15 st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master stevedore==1.30.1 diff --git a/st2client/in-requirements.txt b/st2client/in-requirements.txt index d1d309465e..228ff49286 100644 --- a/st2client/in-requirements.txt +++ b/st2client/in-requirements.txt @@ -13,6 +13,7 @@ requests six sseclient-py editor +Pygments prompt-toolkit # mention cffi used by cryptography so we can control version cffi diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 7466d08607..8147af073b 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -5,24 +5,25 @@ # 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 +Pygments==2.5.2 argcomplete==3.2.3 cffi<1.15.0 -chardet<3.1.0 -cryptography==39.0.1 +chardet==5.2.0 +cryptography<42 editor==1.6.6 -importlib-metadata>=4.8.3,<=4.10.1 +importlib-metadata>=4.10.1 jsonpath-rw==1.4.0 jsonschema==3.2.0 orjson==3.5.2 prettytable==2.1.0 prompt-toolkit==3.0.43 -pyOpenSSL==23.1.0 +pyOpenSSL==24.1.0 pysocks python-dateutil==2.8.1 pytz==2021.1 pyyaml==5.3.1 -requests[security]==2.25.1 -six==1.13.0 +requests==2.31.0 +six~=1.15 sseclient-py==1.7 -typing-extensions<4.2 +typing-extensions zipp<3.16.0 diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index c21e130cf2..30db39d386 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -14,7 +14,8 @@ 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@v1.6.0 +orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat 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 b49f55293d..54dba99cf8 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -9,9 +9,9 @@ MarkupSafe==2.1.5 amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 cffi<1.15.0 -chardet<3.1.0 +chardet==5.2.0 ciso8601 -cryptography==39.0.1 +cryptography<42 decorator==4.4.2 dnspython==2.6.1 eventlet==0.35.2 @@ -25,22 +25,22 @@ jsonschema==3.2.0 kombu==5.3.5 lockfile==0.12.2 mongoengine>=0.21.0,<0.24.0 -networkx<3 +networkx<3.2 orjson==3.5.2 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 +orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat oslo.config==9.4.0 paramiko==2.11.0 -pyOpenSSL==23.1.0 +pyOpenSSL==24.1.0 pymongo>=3.11.0,<3.13.0 python-dateutil==2.8.1 python-statsd==2.1.0 pyyaml==5.3.1 redis==4.1.4 -requests[security]==2.25.1 +requests==2.31.0 retrying==1.3.3 routes==2.4.1 semver==3.0.2 -six==1.13.0 +six~=1.15 st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master tenacity>=3.2.1,<7.0.0 tooz==2.8.0 diff --git a/st2reactor/requirements.txt b/st2reactor/requirements.txt index 36d6a43145..3544efbadb 100644 --- a/st2reactor/requirements.txt +++ b/st2reactor/requirements.txt @@ -12,4 +12,4 @@ jsonschema==3.2.0 kombu==5.3.5 oslo.config==9.4.0 python-dateutil==2.8.1 -six==1.13.0 +six~=1.15 diff --git a/st2stream/requirements.txt b/st2stream/requirements.txt index c67ab39b26..6c8e5783da 100644 --- a/st2stream/requirements.txt +++ b/st2stream/requirements.txt @@ -14,4 +14,4 @@ oslo.config==9.4.0 oslo.utils==7.1.0 pymongo>=3.11.0,<3.13.0 pyparsing<3 -six==1.13.0 +six~=1.15 diff --git a/test-requirements.txt b/test-requirements.txt index 9a18972da6..d55f5a1a50 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1,10 @@ -coverage +# 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 +# ---------------------------------------------------------------------- +coverage==7.2.7 pep8==1.7.1 flake8==7.0.0 st2-flake8 @ git+https://github.com/nzlosh/st2-flake8@master @@ -8,12 +14,11 @@ 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==4.0.3 tabulate -# 4.5.0 required for Jinja-3.1.3 support. -sphinx==4.5.0 +# 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 @@ -23,8 +28,13 @@ RandomWords gunicorn==21.2.0 psutil==5.8.0 webtest==2.0.35 -rstcheck>=3.3.1,<3.4 -tox==3.23.0 +# Bump to latest to meet sphinx requirements. +rstcheck==6.2.1 +# 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 +tox==4.14.2 pyrabbit # 202403: Bumped to 23.6.21.0 for py3.10 support prance==23.6.21.0 From 4668ed50191833af55e755ede509bf710654701a Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 3 Apr 2024 07:56:41 +0200 Subject: [PATCH 050/110] Fix E0601: used-before-assign lint errors. --- st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values | 2 ++ 1 file changed, 2 insertions(+) diff --git a/st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values b/st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values index 0f82738809..c4f3e13766 100755 --- a/st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values +++ b/st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values @@ -154,6 +154,7 @@ def migrate_executions(start_dt: datetime.datetime, end_dt: datetime.datetime) - if not liveaction_id: continue + liveaction_db = None try: liveaction_db = LiveAction.get_by_id(liveaction_id) except StackStormDBObjectNotFoundError: @@ -262,6 +263,7 @@ def migrate_workflow_objects( print("Will migrate %s TaskExecutionDB objects" % (objects_count)) print("") + task_execution_db = None for index, task_execution_id in enumerate(task_execution_ids, 1): try: task_execution_db = TaskExecution.get_by_id(task_execution_id) From 02d2c3db073d7d990ba961ba91247b9649842d60 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 3 Apr 2024 10:00:05 +0200 Subject: [PATCH 051/110] Disable linting on pants-plugins due to unresolvable conflicting constraints --- pants.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pants.toml b/pants.toml index 9531e86edd..ab11796aae 100644 --- a/pants.toml +++ b/pants.toml @@ -96,8 +96,8 @@ root_patterns = [ "/contrib/examples/actions/ubuntu_pkg_info", # python script runs via shell expecting cwd in PYTHONPATH # lint plugins "/pylint_plugins", - # pants plugins - "/pants-plugins", + # pants plugins - 202404 disabled because pants doesn't support >py3.9 and conflicts with other targets using >py3.9 +# "/pants-plugins", # misc "/scripts", "/tools", From 647fca8d58458c1d803686971f275c4e84aee4a5 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 3 Apr 2024 10:25:13 +0200 Subject: [PATCH 052/110] Disable false alert on import error. --- contrib/examples/actions/ubuntu_pkg_info/ubuntu_pkg_info.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 dcf28dea2e..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"); @@ -19,7 +19,7 @@ import subprocess import six -import lib.datatransformer as transformer +import lib.datatransformer as transformer # pylint:disable=import-error,no-name-in-module def main(args): From 1659e96c644500c44f257fbeae7087a995623e95 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 3 Apr 2024 15:24:39 +0200 Subject: [PATCH 053/110] More dependency tweaks and update commandline for pip-compile --- Makefile | 4 ++-- contrib/runners/orquesta_runner/in-requirements.txt | 3 ++- contrib/runners/orquesta_runner/requirements.txt | 2 +- fixed-requirements.txt | 4 ++-- lockfiles/st2.lock | 4 ++-- requirements-pants.txt | 2 +- requirements.txt | 2 +- st2client/in-requirements.txt | 2 +- st2client/requirements.txt | 2 +- test-requirements.txt | 5 +---- 10 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index dac0394e26..d90a7b4827 100644 --- a/Makefile +++ b/Makefile @@ -739,8 +739,8 @@ check-dependency-conflicts: @echo # Verify there are no conflicting dependencies cat st2*/requirements.txt contrib/runners/*/requirements.txt | sort -u > req.txt && \ - $(VIRTUALENV_DIR)/bin/pip-compile req.txt || exit 1; \ - if [[ -e req.txt ]]; then rm req.txt; fi + $(VIRTUALENV_DIR)/bin/pip-compile --strip-extras --output-file req.out req.txt || exit 1; \ + rm -f req.txt req.out .PHONY: virtualenv # Note: We always want to update virtualenv/bin/activate file to make sure diff --git a/contrib/runners/orquesta_runner/in-requirements.txt b/contrib/runners/orquesta_runner/in-requirements.txt index 8bf195dae4..d777ebc9e5 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/nzlosh/orquesta.git@st2v39_compat diff --git a/contrib/runners/orquesta_runner/requirements.txt b/contrib/runners/orquesta_runner/requirements.txt index cf26d58430..e3240691da 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/nzlosh/orquesta.git@st2v39_compat diff --git a/fixed-requirements.txt b/fixed-requirements.txt index cd399e8de5..ca82bc0536 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -58,7 +58,7 @@ pyOpenSSL==24.1.0 # 202403: switch from python-editor to editor for py3.10 support editor==1.6.6 # editor dependency, required here for inclusion in st2client setup.py -Pygments==2.5.2 +pygments==2.5.2 # 202404: Use latest chardet for tox / and cross project dependency Orquesta. chardet==5.2.0 python-keyczar==0.716 @@ -86,7 +86,7 @@ tenacity>=3.2.1,<7.0.0 tooz==2.8.0 # Note: virtualenv embeds wheels for pip, wheel, and setuptools. So pinning virtualenv pins those as well. # virtualenv==20.4.0 (<21) has pip==20.3.3 wheel==0.36.2 setuptools==51.3.3 -virtualenv==20.4.0 +virtualenv==20.25.1 webob==1.8.7 zake==0.2.2 # test requirements below diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 8c69faee00..b9a6c1ab80 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -9,7 +9,6 @@ // "CPython==3.9.*" // ], // "generated_with_requirements": [ -// "Pygments==2.5.2", // "RandomWords", // "apscheduler==3.7.0", // "argcomplete==3.2.3", @@ -45,6 +44,7 @@ // "prettytable==2.1.0", // "prompt-toolkit==3.0.43", // "psutil==5.8.0", +// "pygments==2.5.2", // "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", // "pylint==3.1.0", // "pymongo<3.13.0,>=3.11.0", @@ -4228,7 +4228,6 @@ "pip_version": "23.1.2", "prefer_older_binary": false, "requirements": [ - "Pygments==2.5.2", "RandomWords", "apscheduler==3.7.0", "argcomplete==3.2.3", @@ -4264,6 +4263,7 @@ "prettytable==2.1.0", "prompt-toolkit==3.0.43", "psutil==5.8.0", + "pygments==2.5.2", "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", "pylint==3.1.0", "pymongo<3.13.0,>=3.11.0", diff --git a/requirements-pants.txt b/requirements-pants.txt index b4aa208aff..8fc032de45 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -51,7 +51,7 @@ pylint==3.1.0 pytest==6.2.5 python-dateutil==2.8.1 editor==1.6.6 -Pygments==2.5.2 +pygments==2.5.2 # pythonjsonlogger referenced in st2actions/conf/logging.conf python-json-logger python-statsd==2.1.0 diff --git a/requirements.txt b/requirements.txt index fd92e2cf79..6ce436c402 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,6 @@ # in-requirements.txt for that component and then run 'make requirements' to # update the component requirements.txt MarkupSafe==2.1.5 -Pygments==2.5.2 RandomWords amqp<6.0.0,>=5.1.1 apscheduler==3.7.0 @@ -45,6 +44,7 @@ prettytable==2.1.0 prompt-toolkit==3.0.43 psutil==5.8.0 pyOpenSSL==24.1.0 +pygments==2.5.2 pyinotify==0.9.6 ; platform_system=="Linux" pymongo>=3.11.0,<3.13.0 pyparsing<3 diff --git a/st2client/in-requirements.txt b/st2client/in-requirements.txt index 228ff49286..e291be76aa 100644 --- a/st2client/in-requirements.txt +++ b/st2client/in-requirements.txt @@ -13,7 +13,7 @@ requests six sseclient-py editor -Pygments +pygments prompt-toolkit # mention cffi used by cryptography so we can control version cffi diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 8147af073b..fe8dc40a8d 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -5,7 +5,6 @@ # 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 -Pygments==2.5.2 argcomplete==3.2.3 cffi<1.15.0 chardet==5.2.0 @@ -18,6 +17,7 @@ orjson==3.5.2 prettytable==2.1.0 prompt-toolkit==3.0.43 pyOpenSSL==24.1.0 +pygments==2.5.2 pysocks python-dateutil==2.8.1 pytz==2021.1 diff --git a/test-requirements.txt b/test-requirements.txt index d55f5a1a50..cad8ab7b33 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -39,10 +39,7 @@ 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 5.3 needs pip<20.3 -# pip-tools 5.4 needs pip>=20.1 -# pip-tools 6.0 needs pip>=20.3 -pip-tools>=5.4,<6.1 +pip_tools==7.4.1 # 202403: Use 6.2.5 for py3.10 support pytest==6.2.5 pytest-cov==4.1.0 From 91746036b24abe2723aae8d2ad89331f6ba929ad Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 4 Apr 2024 08:42:05 +0200 Subject: [PATCH 054/110] Update pygment and redis pinning to avoid version conflicts in st2client. --- fixed-requirements.txt | 2 +- requirements-pants.txt | 3 +-- requirements.txt | 2 +- st2client/requirements.txt | 2 +- test-requirements.txt | 6 ++++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index ca82bc0536..1a48391068 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -58,7 +58,7 @@ pyOpenSSL==24.1.0 # 202403: switch from python-editor to editor for py3.10 support editor==1.6.6 # editor dependency, required here for inclusion in st2client setup.py -pygments==2.5.2 +pygments==2.17.2 # 202404: Use latest chardet for tox / and cross project dependency Orquesta. chardet==5.2.0 python-keyczar==0.716 diff --git a/requirements-pants.txt b/requirements-pants.txt index 8fc032de45..8cf5131a38 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -31,8 +31,7 @@ networkx<3.2 orjson==3.5.2 # Temporarily use fork until PR #266 is merged. orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -# Historical reference: https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 -# Relaxed pinning for py3.10 support. +# Bumped version for py3.10 support. Historical ref: https://github.com/StackStorm/st2/issues/4160#issuecomment-394386433 oslo.config==9.4.0 paramiko==2.11.0 # pip is used at runtime (24.0 is available for py3.8 to py3.10) diff --git a/requirements.txt b/requirements.txt index 6ce436c402..3856a3b6a0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -44,7 +44,7 @@ prettytable==2.1.0 prompt-toolkit==3.0.43 psutil==5.8.0 pyOpenSSL==24.1.0 -pygments==2.5.2 +pygments==2.17.2 pyinotify==0.9.6 ; platform_system=="Linux" pymongo>=3.11.0,<3.13.0 pyparsing<3 diff --git a/st2client/requirements.txt b/st2client/requirements.txt index fe8dc40a8d..7a78e8cce3 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -17,7 +17,7 @@ orjson==3.5.2 prettytable==2.1.0 prompt-toolkit==3.0.43 pyOpenSSL==24.1.0 -pygments==2.5.2 +pygments==2.17.2 pysocks python-dateutil==2.8.1 pytz==2021.1 diff --git a/test-requirements.txt b/test-requirements.txt index cad8ab7b33..19328b6120 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -24,13 +24,15 @@ sphinx-autobuild alabaster<0.7.14 # Required by st2client tests (202403: downgrade pyyaml to 5.3.1 to avoid pyyaml AttributeError: cython_sources error.) pyyaml==5.3.1 +# Constrain pygments required by editor to align with st2 core version +pygments==2.17.2 RandomWords gunicorn==21.2.0 psutil==5.8.0 webtest==2.0.35 # Bump to latest to meet sphinx requirements. rstcheck==6.2.1 -# Needed by rstcheck +# 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 @@ -51,4 +53,4 @@ zstandard==0.15.2 # ujson is used for micro benchmarks ujson==4.0.2 # needed by integration tests for coordination -redis==3.5.3 +redis==4.1.4 From e04e25ea4f245f3675602d414fc4cf9a4772f256 Mon Sep 17 00:00:00 2001 From: Carlos Date: Tue, 9 Apr 2024 00:27:45 +0200 Subject: [PATCH 055/110] Update launchdev.sh to use tmux instead of screen which is deprecated on rocky9 --- Makefile | 2 +- scripts/github/prepare-integration.sh | 14 +- tools/launchdev.sh | 309 ++++++++++++++------------ 3 files changed, 173 insertions(+), 152 deletions(-) diff --git a/Makefile b/Makefile index d90a7b4827..def20b838b 100644 --- a/Makefile +++ b/Makefile @@ -490,7 +490,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 ====================" diff --git a/scripts/github/prepare-integration.sh b/scripts/github/prepare-integration.sh index 9e13ade526..a9011bc080 100755 --- a/scripts/github/prepare-integration.sh +++ b/scripts/github/prepare-integration.sh @@ -30,23 +30,23 @@ echo "" python ./st2client/setup.py develop st2 --version -# Clean up old screen log files -rm -f logs/screen-*.log +# Clean up old st2 log files +rm -f logs/st2*.log # ::group::/::endgroup:: is helpful github actions syntax to fold this section. echo ::group::launchdev.sh start -x -# start dev environment in screens +# start dev environment in tmux ./tools/launchdev.sh start -x # Give processes some time to start and check logs to see if all the services # started or if there was any error / failure -echo "Giving screen processes some time to start..." +echo "Giving st2 processes some time to start..." sleep 10 -echo " === START: Catting screen process log files. ===" -cat logs/screen-*.log -echo " === END: Catting screen process log files. ===" +echo " === START: Catting st2 process log files. ===" +cat logs/st2-*.log +echo " === END: Catting st2 process log files. ===" # github actions: fold for launchdev.sh start -x echo ::endgroup:: diff --git a/tools/launchdev.sh b/tools/launchdev.sh index d0c777f996..2cb352f1a8 100755 --- a/tools/launchdev.sh +++ b/tools/launchdev.sh @@ -1,7 +1,18 @@ #!/usr/bin/env bash +set +x + function usage() { - echo "Usage: $0 [start|stop|restart|startclean] [-r runner_count] [-s scheduler_count] [-w workflow_engine_count] [-g] [-x] [-c] [-6] [-m]" >&2 + cat<&2 + Usage: $0 [start|stop|restart|startclean] [-r runner_count] [-s scheduler_count] [-w workflow_engine_count] [-g] [-x] [-c] [-6] + -r : the number of st2runner instances start + -s : the numer of st2scheduler instances to start + -w : the numer of st2workflow-engine instances to start + -g : disable gunicorn + -x : enable copy test packs + -c : disable load content + -6 : enable use of ipv6 +EOF } subcommand=$1; shift @@ -49,13 +60,49 @@ while getopts ":r:s:w:gxcu6" o; do esac done -function init(){ +# Colour echo +function cecho() +{ + if [[ "$1" == "-n" ]]; then + # No carrage return + NCR="$1"; shift + else + NCR="" + fi + C="$1"; shift + MSG="$1" + echo $NCR -e "\e[${C}m${MSG}\e[0m" +} + +function heading() +{ + MSG="$1" + cecho "34;7" "$MSG" +} +function iecho() +{ + MSG="$1" + cecho "37;1" "$MSG" +} +function wecho() +{ + MSG="$1" + cecho "33;1" "$MSG" +} +function eecho() +{ + MSG="$1" + cecho "31;1" "$MSG" +} +function init() +{ + heading "Initialising system variables ..." ST2_BASE_DIR="/opt/stackstorm" COMMAND_PATH=${0%/*} - CURRENT_DIR=`pwd` - CURRENT_USER=`whoami` - CURRENT_USER_GROUP=`id -gn` - echo "Current user:group = ${CURRENT_USER}:${CURRENT_USER_GROUP}" + CURRENT_DIR=$(pwd) + CURRENT_USER=$(whoami) + CURRENT_USER_GROUP=$(id -gn) + echo -n "Current user:group = "; iecho "${CURRENT_USER}:${CURRENT_USER_GROUP}" if [[ (${COMMAND_PATH} == /*) ]] ; then @@ -63,70 +110,71 @@ function init(){ else ST2_REPO=${CURRENT_DIR}/${COMMAND_PATH}/.. fi - + ST2_LOGS="${ST2_REPO}/logs" VIRTUALENV=${VIRTUALENV_DIR:-${ST2_REPO}/virtualenv} VIRTUALENV=$(readlink -f ${VIRTUALENV}) PY=${VIRTUALENV}/bin/python PYTHON_VERSION=$(${PY} --version 2>&1) - echo "Using virtualenv: ${VIRTUALENV}" - echo "Using python: ${PY} (${PYTHON_VERSION})" + echo -n "Using virtualenv: "; iecho "${VIRTUALENV}" + echo -n "Using python: "; iecho "${PY} (${PYTHON_VERSION})" + echo -n "Log file location: "; iecho "${ST2_LOGS}" if [ -z "$ST2_CONF" ]; then ST2_CONF=${ST2_REPO}/conf/st2.dev.conf fi ST2_CONF=$(readlink -f ${ST2_CONF}) - echo "Using st2 config file: $ST2_CONF" + echo -n "Using st2 config file: "; iecho "$ST2_CONF" if [ ! -f "$ST2_CONF" ]; then - echo "Config file $ST2_CONF does not exist." + eecho "Config file $ST2_CONF does not exist." exit 1 fi } -function exportsdir(){ +function exportsdir() +{ local EXPORTS_DIR=$(grep 'dump_dir' ${ST2_CONF} | sed -e "s~^dump_dir[ ]*=[ ]*\(.*\)~\1~g") if [ -z $EXPORTS_DIR ]; then EXPORTS_DIR="/opt/stackstorm/exports" fi - echo "$EXPORTS_DIR" + echo -n "Export directories: "; iecho "$EXPORTS_DIR" } -function st2start(){ - echo "Starting all st2 servers..." +function st2start() +{ + heading "Starting all st2 servers ..." # Determine where the st2 repo is located. Some assumption is made here # that this script is located under st2/tools. # Change working directory to the root of the repo. - echo "Changing working directory to ${ST2_REPO}" + echo -n "Changing working directory to "; iecho "${ST2_REPO}" cd ${ST2_REPO} - BASE_DIR=$(grep 'base_path' ${ST2_CONF} \ - | awk 'BEGIN {FS=" = "}; {print $2}') + BASE_DIR=$(grep 'base_path' ${ST2_CONF} | awk 'BEGIN {FS=" = "}; {print $2}') if [ -z BASE_DIR ]; then BASE_DIR="/opt/stackstorm" fi CONFIG_BASE_DIR="${BASE_DIR}/configs" - echo "Using config base dir: $CONFIG_BASE_DIR" + echo -n "Using config base dir: "; iecho "$CONFIG_BASE_DIR" if [ ! -d "$CONFIG_BASE_DIR" ]; then - echo "$CONFIG_BASE_DIR doesn't exist. Creating..." + wecho "$CONFIG_BASE_DIR doesn't exist. Creating..." sudo mkdir -p $CONFIG_BASE_DIR fi - PACKS_BASE_DIR=$(grep 'packs_base_path' ${ST2_CONF} \ - | awk 'BEGIN {FS=" = "}; {print $2}') + PACKS_BASE_DIR=$(grep 'packs_base_path' ${ST2_CONF} | awk 'BEGIN {FS=" = "}; {print $2}') if [ -z $PACKS_BASE_DIR ]; then PACKS_BASE_DIR="/opt/stackstorm/packs" fi - echo "Using content packs base dir: $PACKS_BASE_DIR" + echo -n "Using content packs base dir: "; iecho "$PACKS_BASE_DIR" # Copy and overwrite the action contents if [ ! -d "$ST2_BASE_DIR" ]; then - echo "$ST2_BASE_DIR doesn't exist. Creating..." + wecho "$ST2_BASE_DIR doesn't exist. Creating..." sudo mkdir -p $PACKS_BASE_DIR fi @@ -150,7 +198,7 @@ function st2start(){ cp -Rp ./contrib/packs/ $PACKS_BASE_DIR if [ "$copy_test_packs" = true ]; then - echo "Copying test packs examples and fixtures to $PACKS_BASE_DIR" + echo -n "Copying test packs examples and fixtures to "; iecho "$PACKS_BASE_DIR" cp -Rp ./contrib/examples $PACKS_BASE_DIR # Clone st2tests in /tmp directory. pushd /tmp @@ -162,138 +210,112 @@ function st2start(){ cp -Rp ./st2tests/packs/fixtures $PACKS_BASE_DIR rm -R st2tests/ else - echo "Failed to clone st2tests repo" + eecho "Failed to clone st2tests repo" fi popd fi # activate virtualenv to set PYTHONPATH source ${VIRTUALENV}/bin/activate + # set configuration file location. + export ST2_CONFIG_PATH=${ST2_CONF}; - # Kill existing st2 screens - screen -wipe - screen -ls | grep st2 &> /dev/null - if [ $? == 0 ]; then - echo 'Killing existing st2 screen sessions...' - screen -ls | grep st2 | cut -d. -f1 | awk '{print $1}' | xargs kill - fi - - # NOTE: We can't rely on latest version of screen with "-Logfile path" - # option so we need to use screen config file per screen window + # Kill existing st2 terminal multiplexor sessions + for tmux_session in $(tmux ls | awk -F: '/^st2-/ {print $1}') + do + echo "Kill existing session $tmux_session" + tmux kill-session -t $tmux_session + done # Run the st2 API server - echo 'Starting screen session st2-api...' if [ "${use_gunicorn}" = true ]; then - echo ' using gunicorn to run st2-api...' - export ST2_CONFIG_PATH=${ST2_CONF} - screen -L -c tools/screen-configs/st2api.conf -d -m -S st2-api ${VIRTUALENV}/bin/gunicorn \ - st2api.wsgi:application -k eventlet -b "$BINDING_ADDRESS:9101" --workers 1 + echo 'Starting st2-api using gunicorn ...' + # Log standard out, start in daemon mode, load config st2api.conf, session name "st2-api" + tmux new-session -d -s st2-api "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/gunicorn st2api.wsgi:application -k eventlet -b $BINDING_ADDRESS:9100 --workers 1 2>&1 | tee -a ${ST2_LOGS}/st2-api.log" else - screen -L -c tools/screen-configs/st2api.conf -d -m -S st2-api ${VIRTUALENV}/bin/python \ - ./st2api/bin/st2api \ - --config-file $ST2_CONF + echo 'Starting st2-api ...' + tmux new-session -d -s st2-api "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2api/bin/st2api --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-api.log" fi # Run st2stream API server if [ "${use_gunicorn}" = true ]; then - echo ' using gunicorn to run st2-stream' - export ST2_CONFIG_PATH=${ST2_CONF} - screen -L -c tools/screen-configs/st2stream.conf -d -m -S st2-stream ${VIRTUALENV}/bin/gunicorn \ - st2stream.wsgi:application -k eventlet -b "$BINDING_ADDRESS:9102" --workers 1 + echo 'Starting st2-stream using gunicorn ...' + + tmux new-session -d -s st2-stream "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/gunicorn st2stream.wsgi:application -k eventlet -b $BINDING_ADDRESS:9102 --workers 1 2>&1 | tee -a ${ST2_LOGS}/st2-stream.log" else - screen -L -c tools/screen-configs/st2stream.conf -d -m -S st2-stream ${VIRTUALENV}/bin/python \ - ./st2stream/bin/st2stream \ - --config-file $ST2_CONF + echo 'Starting st2-stream ...' + tmux new-session -d -s st2-stream "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2stream/bin/st2stream --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-stream.log" fi # Run the workflow engine server - echo 'Starting screen session st2-workflow(s)' - WORKFLOW_ENGINE_SCREENS=() + echo 'Starting st2-workflow engine(s)' + WORKFLOW_ENGINE_SESSIONS=() for i in $(seq 1 $workflow_engine_count) do WORKFLOW_ENGINE_NAME=st2-workflow-$i - WORKFLOW_ENGINE_SCREENS+=($WORKFLOW_ENGINE_NAME) - echo ' starting '$WORKFLOW_ENGINE_NAME'...' - screen -L -c tools/screen-configs/st2workflowengine.conf -d -m -S $WORKFLOW_ENGINE_NAME ${VIRTUALENV}/bin/python \ - ./st2actions/bin/st2workflowengine \ - --config-file $ST2_CONF + WORKFLOW_ENGINE_SESSIONS+=($WORKFLOW_ENGINE_NAME) + echo " $WORKFLOW_ENGINE_NAME ..." + tmux new-session -d -s $WORKFLOW_ENGINE_NAME "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2actions/bin/st2workflowengine --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/${WORKFLOW_ENGINE_NAME}.log" done # Start a screen for every runner - echo 'Starting screen sessions for st2-actionrunner(s)' - RUNNER_SCREENS=() + echo 'Starting st2-actionrunner(s)' + RUNNER_SESSIONS=() for i in $(seq 1 $runner_count) do RUNNER_NAME=st2-actionrunner-$i - RUNNER_SCREENS+=($RUNNER_NAME) - echo ' starting '$RUNNER_NAME'...' - screen -L -c tools/screen-configs/st2actionrunner.conf -d -m -S $RUNNER_NAME ${VIRTUALENV}/bin/python \ - ./st2actions/bin/st2actionrunner \ - --config-file $ST2_CONF + RUNNER_SESSIONS+=($RUNNER_NAME) + echo " $RUNNER_NAME ..." + tmux new-session -d -s $RUNNER_NAME "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2actions/bin/st2actionrunner --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/${RUNNER_NAME}.log" done # Run the garbage collector service - echo 'Starting screen session st2-garbagecollector' - screen -L -c tools/screen-configs/st2garbagecollector.conf -d -m -S st2-garbagecollector ${VIRTUALENV}/bin/python \ - ./st2reactor/bin/st2garbagecollector \ - --config-file $ST2_CONF + echo 'Starting st2-garbagecollector' + tmux new-session -d -s st2-garbagecollector "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2reactor/bin/st2garbagecollector --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-garbagecollector.log" # Run the scheduler server - echo 'Starting screen session st2-scheduler(s)' - SCHEDULER_SCREENS=() + echo 'Starting st2-scheduler(s)' + SCHEDULER_SESSIONS=() for i in $(seq 1 $scheduler_count) do SCHEDULER_NAME=st2-scheduler-$i - SCHEDULER_SCREENS+=($SCHEDULER_NAME) - echo ' starting '$SCHEDULER_NAME'...' - screen -L -c tools/screen-configs/st2scheduler.conf -d -m -S $SCHEDULER_NAME ${VIRTUALENV}/bin/python \ - ./st2actions/bin/st2scheduler \ - --config-file $ST2_CONF + SCHEDULER_SESSIONS+=($SCHEDULER_NAME) + echo " $SCHEDULER_NAME ..." + tmux new-session -d -s $SCHEDULER_NAME "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2actions/bin/st2scheduler --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/${SCHEDULER_NAME}.log" done # Run the sensor container server - echo 'Starting screen session st2-sensorcontainer' - screen -L -c tools/screen-configs/st2sensorcontainer.conf -d -m -S st2-sensorcontainer ${VIRTUALENV}/bin/python \ - ./st2reactor/bin/st2sensorcontainer \ - --config-file $ST2_CONF + echo 'Starting st2-sensorcontainer' + tmux new-session -d -s st2-sensorcontainer "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2reactor/bin/st2sensorcontainer --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-sensorcontainer.log" # Run the rules engine server - echo 'Starting screen session st2-rulesengine...' - screen -L -c tools/screen-configs/st2rulesengine.conf -d -m -S st2-rulesengine ${VIRTUALENV}/bin/python \ - ./st2reactor/bin/st2rulesengine \ - --config-file $ST2_CONF + echo 'Starting st2-rulesengine...' + tmux new-session -d -s st2-rulesengine "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2reactor/bin/st2rulesengine --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-rulesengine.log" # Run the timer engine server - echo 'Starting screen session st2-timersengine...' - screen -L -c tools/screen-configs/st2timersengine.conf -d -m -S st2-timersengine ${VIRTUALENV}/bin/python \ - ./st2reactor/bin/st2timersengine \ - --config-file $ST2_CONF + echo 'Starting st2-timersengine...' + tmux new-session -d -s st2-timersengine "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2reactor/bin/st2timersengine --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-timersengine.log" # Run the actions notifier - echo 'Starting screen session st2-notifier...' - screen -L -c tools/screen-configs/st2notifier.conf -d -m -S st2-notifier ${VIRTUALENV}/bin/python \ - ./st2actions/bin/st2notifier \ - --config-file $ST2_CONF + echo 'Starting st2-notifier...' + tmux new-session -d -s st2-notifier "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2actions/bin/st2notifier --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-notifier.log" # Run the auth API server - echo 'Starting screen session st2-auth...' if [ "${use_gunicorn}" = true ]; then - echo ' using gunicorn to run st2-auth...' + echo 'Starting st2-auth using gunicorn ...' export ST2_CONFIG_PATH=${ST2_CONF} - screen -L -c tools/screen-configs/st2auth.conf -d -m -S st2-auth ${VIRTUALENV}/bin/gunicorn \ - st2auth.wsgi:application -k eventlet -b "$BINDING_ADDRESS:9100" --workers 1 + tmux new-session -d -s st2-auth "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/gunicorn st2auth.wsgi:application -k eventlet -b $BINDING_ADDRESS:9100 --workers 1 2>&1 | tee -a ${ST2_LOGS}/st2-auth.log" else - screen -L -c tools/screen-configs/st2auth.conf -d -m -S st2-auth ${VIRTUALENV}/bin/python \ - ./st2auth/bin/st2auth \ - --config-file $ST2_CONF + echo 'Starting st2-auth ...' + tmux new-session -d -s st2-auth "export ST2_CONFIG_PATH=${ST2_CONF}; source ${VIRTUALENV}/bin/activate; ${VIRTUALENV}/bin/python ./st2auth/bin/st2auth --config-file $ST2_CONF 2>&1 | tee -a ${ST2_LOGS}/st2-auth.log" fi - # Check whether screen sessions are started - SCREENS=( + # Check whether tmux sessions are started + SESSIONS=( "st2-api" - "${WORKFLOW_ENGINE_SCREENS[@]}" - "${SCHEDULER_SCREENS[@]}" - "${RUNNER_SCREENS[@]}" + "${WORKFLOW_ENGINE_SESSIONS[@]}" + "${SCHEDULER_SESSIONS[@]}" + "${RUNNER_SESSIONS[@]}" "st2-sensorcontainer" "st2-rulesengine" "st2-notifier" @@ -303,45 +325,44 @@ function st2start(){ ) echo - for s in "${SCREENS[@]}" + for s in "${SESSIONS[@]}" do - screen -ls | grep "${s}[[:space:]]" &> /dev/null + tmux ls | grep "^${s}[[:space:]]" &> /dev/null if [ $? != 0 ]; then - echo "ERROR: Unable to start screen session for $s." + echo "ERROR: terminal multiplex session for $s failed to start." fi done if [ "$load_content" = true ]; then # Register contents echo 'Registering sensors, runners, actions, rules, aliases, and policies...' - ${VIRTUALENV}/bin/python \ - ./st2common/bin/st2-register-content \ - --config-file $ST2_CONF --register-all + ${VIRTUALENV}/bin/python ./st2common/bin/st2-register-content --config-file $ST2_CONF --register-all fi if [ "$copy_test_packs" = true ]; then st2 run packs.setup_virtualenv packs=fixtures if [ $? != 0 ]; then - echo "Warning: Unable to setup virtualenv for the \"tests\" pack. Please setup virtualenv for the \"tests\" pack before running integration tests" + echo "wecho: Unable to setup virtualenv for the \"tests\" pack. Please setup virtualenv for the \"tests\" pack before running integration tests" fi fi - # Print default creds to the screen - echo "The default creds are testu:testp" + # Display default credentials to the multiplexor session + echo "The default credentials are testu:testp" # List screen sessions - screen -ls || exit 0 + tmux ls || exit 0 } -function st2stop(){ - screen -ls | grep st2 &> /dev/null - if [ $? == 0 ]; then - echo 'Killing existing st2 screen sessions...' - screen -ls | grep st2 | cut -d. -f1 | awk '{print $1}' | xargs -L 1 pkill -P - fi +function st2stop() +{ + for tmux_session in $(tmux ls | awk -F: '/^st2-/ {print $1}') + do + echo "Kill existing session $tmux_session" + tmux kill-session -t $tmux_session + done if [ "${use_gunicorn}" = true ]; then - pids=`ps -ef | grep "wsgi:application" | grep -v "grep" | awk '{print $2}'` + pids=$(ps -ef | grep "wsgi:application" | grep -v "grep" | awk '{print $2}') if [ -n "$pids" ]; then echo "Killing gunicorn processes" # true ensures that any failure to kill a process which does not exist will not lead @@ -354,7 +375,8 @@ function st2stop(){ fi } -function st2clean(){ +function st2clean() +{ # clean mongo . ${VIRTUALENV}/bin/activate python ${ST2_REPO}/st2common/bin/st2-cleanup-db --config-file $ST2_CONF @@ -370,30 +392,29 @@ function st2clean(){ echo "Removing $EXPORTS_DIR..." rm -rf ${EXPORTS_DIR} fi - } case ${subcommand} in -start) - init - st2start - ;; -startclean) - init - st2clean - st2start - ;; -stop) - st2stop - ;; -restart) - st2stop - sleep 1 - init - st2start - ;; -*) - usage - ;; + start) + init + st2start + ;; + startclean) + init + st2clean + st2start + ;; + stop) + st2stop + ;; + restart) + st2stop + sleep 1 + init + st2start + ;; + *) + usage + ;; esac From b92829018439f31a6f3bd0a290e779b02ff79e26 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Wed, 1 May 2024 23:46:13 -0500 Subject: [PATCH 056/110] include py3.10 in pants lockfiles Note that this only adjusts interpreter constraints. python 3.10 is not officially supported yet. Lockfile diff: lockfiles/st2.lock [st2] == Upgraded dependencies == orjson 3.10.1 --> 3.10.2 Lockfile diff: lockfiles/bandit.lock [bandit] == Upgraded dependencies == setuptools 69.2.0 --> 69.5.1 Lockfile diff: lockfiles/flake8.lock [flake8] == Upgraded dependencies == setuptools 69.2.0 --> 69.5.1 Lockfile diff: lockfiles/black.lock [black] == Upgraded dependencies == platformdirs 4.2.0 --> 4.2.1 typing-extensions 4.10.0 --> 4.11.0 Lockfile diff: lockfiles/pytest.lock [pytest] == Upgraded dependencies == coverage 7.4.4 --> 7.5.0 execnet 2.0.2 --> 2.1.1 pluggy 1.4.0 --> 1.5.0 Lockfile diff: lockfiles/twine.lock [twine] == Upgraded dependencies == idna 3.6 --> 3.7 jaraco-context 4.3.0 --> 5.3.0 jaraco-functools 4.0.0 --> 4.0.1 keyring 25.1.0 --> 25.2.0 == Added dependencies == backports-tarfile 1.1.1 Lockfile diff: lockfiles/pants-plugins.lock [pants-plugins] == Upgraded dependencies == pluggy 1.4.0 --> 1.5.0 --- lockfiles/bandit.lock | 15 +- lockfiles/black.lock | 21 +- lockfiles/flake8.lock | 15 +- lockfiles/pants-plugins.lock | 10 +- lockfiles/pylint.lock | 4 +- lockfiles/pytest.lock | 140 ++++--- lockfiles/st2.lock | 729 +++++++++++++++++++++++++++++++++-- lockfiles/twine.lock | 221 +++++++++-- pants.toml | 13 +- 9 files changed, 1009 insertions(+), 159 deletions(-) diff --git a/lockfiles/bandit.lock b/lockfiles/bandit.lock index 2827de70d5..13c420c659 100644 --- a/lockfiles/bandit.lock +++ b/lockfiles/bandit.lock @@ -214,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", @@ -244,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\"", @@ -275,7 +274,7 @@ "wheel; extra == \"testing-integration\"" ], "requires_python": ">=3.8", - "version": "69.2.0" + "version": "69.5.1" }, { "artifacts": [ diff --git a/lockfiles/black.lock b/lockfiles/black.lock index dcfffe443d..018271202b 100644 --- a/lockfiles/black.lock +++ b/lockfiles/black.lock @@ -181,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", @@ -195,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\"", @@ -203,7 +204,7 @@ "sphinx>=7.2.6; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.2.0" + "version": "4.2.1" }, { "artifacts": [ @@ -227,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 diff --git a/lockfiles/flake8.lock b/lockfiles/flake8.lock index 3a602ff61e..7fa44324e7 100644 --- a/lockfiles/flake8.lock +++ b/lockfiles/flake8.lock @@ -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": [ diff --git a/lockfiles/pants-plugins.lock b/lockfiles/pants-plugins.lock index dfa7bf0b58..7e0c0a8966 100644 --- a/lockfiles/pants-plugins.lock +++ b/lockfiles/pants-plugins.lock @@ -313,13 +313,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", @@ -330,7 +330,7 @@ "tox; extra == \"dev\"" ], "requires_python": ">=3.8", - "version": "1.4.0" + "version": "1.5.0" }, { "artifacts": [ 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/st2.lock b/lockfiles/st2.lock index 1b5f297579..429c46bac9 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -6,7 +6,7 @@ // { // "version": 3, // "valid_for_interpreter_constraints": [ -// "CPython<3.10,>=3.8" +// "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ // "PyYAML", @@ -325,6 +325,11 @@ "hash": "ea505c97a5c465ab8c3ba75c0805a102ce526695cd6818c6de3b1a38f6f60da1", "url": "https://files.pythonhosted.org/packages/22/2e/32c1810b8470aca98c33892fc8c559c1be95eba711cb1bb82fbbf2a4752a/bcrypt-4.1.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "a97e07e83e3262599434816f631cc4c7ca2aa8e9c072c1b1a7fec2ae809a1d2d", + "url": "https://files.pythonhosted.org/packages/2c/1a/c2f1874578b3a79e3213745bad8a3bc4e20440eb15fa388e247e5e23a7c4/bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" + }, { "algorithm": "sha256", "hash": "57fa9442758da926ed33a91644649d3e340a71e2d0a5a8de064fb621fd5a3326", @@ -340,6 +345,11 @@ "hash": "68e3c6642077b0c8092580c819c1684161262b2e30c4f45deb000c38947bf483", "url": "https://files.pythonhosted.org/packages/42/c4/13c4bba7e25633b2e94724c642aa93ce376c476d80ecd50d73f0fe2eb38f/bcrypt-4.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "d75fc8cd0ba23f97bae88a6ec04e9e5351ff3c6ad06f38fe32ba50cbd0d11946", + "url": "https://files.pythonhosted.org/packages/54/a8/db407b90ccecb5a78386b360f9471ee733882f513ee364f2fba99a35eb1e/bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" + }, { "algorithm": "sha256", "hash": "44290ccc827d3a24604f2c8bcd00d0da349e336e6503656cb8192133e27335e2", @@ -492,6 +502,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", @@ -507,6 +522,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", @@ -537,16 +562,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", @@ -590,6 +645,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", @@ -610,11 +670,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", @@ -630,11 +700,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", @@ -650,6 +735,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", @@ -680,6 +770,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", @@ -690,6 +785,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", @@ -705,21 +805,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", @@ -768,16 +888,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", @@ -788,16 +928,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", @@ -890,6 +1045,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", @@ -910,6 +1070,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", @@ -920,6 +1085,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", @@ -1372,11 +1542,31 @@ "hash": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", "url": "https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz" }, + { + "algorithm": "sha256", + "hash": "dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", + "url": "https://files.pythonhosted.org/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", + "url": "https://files.pythonhosted.org/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.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" }, + { + "algorithm": "sha256", + "hash": "dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", + "url": "https://files.pythonhosted.org/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", + "url": "https://files.pythonhosted.org/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", @@ -1402,6 +1592,16 @@ "hash": "b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", "url": "https://files.pythonhosted.org/packages/a2/92/f11dbbcf33809421447b24d2eefee0575c59c8569d6d03f7ca4d2b34d56f/greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, + { + "algorithm": "sha256", + "hash": "9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", + "url": "https://files.pythonhosted.org/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", + "url": "https://files.pythonhosted.org/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b", @@ -1422,11 +1622,21 @@ "hash": "d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", "url": "https://files.pythonhosted.org/packages/dc/c3/06ca5f34b01af6d6e2fd2f97c0ad3673123a442bf4a3add548d374b1cc7c/greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", + "url": "https://files.pythonhosted.org/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_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" }, + { + "algorithm": "sha256", + "hash": "3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", + "url": "https://files.pythonhosted.org/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + }, { "algorithm": "sha256", "hash": "7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506", @@ -1854,6 +2064,11 @@ "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": "cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", + "url": "https://files.pythonhosted.org/packages/04/69/c31e837e4bb5532b02d297152464b2cb8a0edeb9bef762c015e9b4e95e16/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194", @@ -1869,6 +2084,11 @@ "hash": "6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee", "url": "https://files.pythonhosted.org/packages/1f/44/ada8e01854175525e8e139278c3a52fec0ef720307cbd670bca86b473b56/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", + "url": "https://files.pythonhosted.org/packages/21/84/e090d999105fe0f3e1d955725ed2c9aeebc649ee83edab0e73d353d47e5d/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", @@ -1879,6 +2099,21 @@ "hash": "5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", "url": "https://files.pythonhosted.org/packages/51/1e/45e25cd867fb79339c49086dad9794e11923dd6325251ae48c341b0a4271/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl" }, + { + "algorithm": "sha256", + "hash": "20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", + "url": "https://files.pythonhosted.org/packages/51/c3/7154db2b7d5b24875e1f1c42bab87a46af688bd6a5c89a90c60053cb6b33/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", + "url": "https://files.pythonhosted.org/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", + "url": "https://files.pythonhosted.org/packages/5a/98/3303496a5d19aabba67c443ba1df6ee1bec94549b3f8976f90c06a6942e6/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl" + }, { "algorithm": "sha256", "hash": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", @@ -1914,6 +2149,11 @@ "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" }, + { + "algorithm": "sha256", + "hash": "d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", + "url": "https://files.pythonhosted.org/packages/81/8b/f28eac2790d49dde61f89ae9e007ac65002edc90bb2dd63c3b9e653820d2/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl" + }, { "algorithm": "sha256", "hash": "4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", @@ -1929,6 +2169,11 @@ "hash": "aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", "url": "https://files.pythonhosted.org/packages/95/18/b7a45c16635acafdf6837a6fd4c71acfe5bad202884c6fcbae4ea0763dde/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", + "url": "https://files.pythonhosted.org/packages/a4/c8/9d2161b2080cb69c8834d1c34a399685347523acbfc923b203ad27bf1215/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", @@ -1974,6 +2219,11 @@ "hash": "6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", "url": "https://files.pythonhosted.org/packages/e4/9b/c7b55a2f587368d69eb6dc36e285010ab0bbb74323833d501921e08e2728/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", + "url": "https://files.pythonhosted.org/packages/e6/57/e9d243b12918f22bc3aa1392db7821dcb643a120e87b3f8c9bc7e1ad33f1/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", @@ -2052,6 +2302,11 @@ "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" }, + { + "algorithm": "sha256", + "hash": "e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c", + "url": "https://files.pythonhosted.org/packages/0d/7e/93373ffbe6561e719996a90b6d112604f52da3ab46e7c395db7607458553/msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18", @@ -2062,6 +2317,11 @@ "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" }, + { + "algorithm": "sha256", + "hash": "5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2", + "url": "https://files.pythonhosted.org/packages/2b/6e/3dcd4f7d8b978277393fd5b7c0abd9d2b6ef7ba8eb12834bed59158ecf5f/msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8", @@ -2107,11 +2367,21 @@ "hash": "73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596", "url": "https://files.pythonhosted.org/packages/7a/c7/c95fe31dd0d7bf49fd3590df8e0089a8b9b18222909439d68dcc7973fd13/msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d", + "url": "https://files.pythonhosted.org/packages/7c/40/c6f31cef899b54e3f6a759204d0b152c9205aef7219c9d2279f608c421eb/msgpack-1.0.8-cp310-cp310-musllinux_1_1_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" }, + { + "algorithm": "sha256", + "hash": "82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa", + "url": "https://files.pythonhosted.org/packages/9b/db/8d629233bba3cbe6d7a6e0fd018ed684c5f0befea4428d4217ce066d2f20/msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40", @@ -2122,15 +2392,40 @@ "hash": "e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f", "url": "https://files.pythonhosted.org/packages/ad/61/225d64e983e51f960cac41fd1084188764fcc7430e75f609ad9d86e47839/msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653", + "url": "https://files.pythonhosted.org/packages/b0/a8/29426f7af85406116e1cdbd21d8f02e30ef8f4afe3cfcbb43c498cbadadf/msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868", + "url": "https://files.pythonhosted.org/packages/b3/c2/8ecbafd6d3178ad408989c82d6d518fec76e053bae20c0fd9f47bffe7dda/msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659", + "url": "https://files.pythonhosted.org/packages/ba/13/d000e53b067aee19d57a4f26d5bffed7890e6896538ac5f97605b0f64985/msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.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" }, + { + "algorithm": "sha256", + "hash": "00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982", + "url": "https://files.pythonhosted.org/packages/d9/96/a1868dd8997d65732476dfc70fef44d046c1b4dbe36ec1481ab744d87775/msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.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" + }, + { + "algorithm": "sha256", + "hash": "9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128", + "url": "https://files.pythonhosted.org/packages/f0/75/553cc9ddfe59c62654dd398c16cd8ab1b3eeb145e56805f52115cbe9f5a0/msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl" } ], "project_name": "msgpack", @@ -2300,94 +2595,119 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "5be608c3972ed902e0143a5b8776d81ac1059436915d42defe5c6ae97b3137a4", - "url": "https://files.pythonhosted.org/packages/0d/93/f5af5d0b5fcc7a1e1f11d5154e3593e845feaab1bac1a04cebd2c64eb02b/orjson-3.10.1-cp39-cp39-musllinux_1_2_x86_64.whl" + "hash": "99e270b6a13027ed4c26c2b75b06c2cfb950934c8eb0400d70f4e6919bfe24f4", + "url": "https://files.pythonhosted.org/packages/44/97/ee936f18cf0696c2c3dafa646e2e396e54f34486728af9e000ad8797f817/orjson-3.10.2-cp39-cp39-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "712cb3aa976311ae53de116a64949392aa5e7dcceda6769d5d7169d303d5ed09", + "url": "https://files.pythonhosted.org/packages/10/83/4b1c92fe69c681871e0c8170b3745a3edf25f286ea438b09103bdded2b63/orjson-3.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, + { + "algorithm": "sha256", + "hash": "e33ac7a6b081688a2167b501c9813aa6ec1f2cc097c47ab5f33cca3e875da9dc", + "url": "https://files.pythonhosted.org/packages/14/fb/9ab746c91e7013828ee1fca5ce45e61b09200b810221f9474469872c6ee5/orjson-3.10.2-cp38-cp38-musllinux_1_2_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "47affe9f704c23e49a0fbb9d441af41f602474721e8639e8814640198f9ae32f", + "url": "https://files.pythonhosted.org/packages/18/25/6ced806f4d96a386f535f1ef85d49b4e043e11bb7fa27bd87eea506a82df/orjson-3.10.2.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "f4e67821e3c1f0ec5dbef9dbd0bc9cd0fe4f0d8ba5d76a07038ee3843c9ac98a", + "url": "https://files.pythonhosted.org/packages/39/7e/0ab5ef70a1c8b2a86b58b3a8e629bfb06b33563233a9b57336bb03b16167/orjson-3.10.2-cp310-cp310-musllinux_1_2_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "2f3e05f70ab6225ba38504a2be61935d6ebc09de2b1bc484c30cb96ca4fa24b8", + "url": "https://files.pythonhosted.org/packages/3b/a1/c7900d5d3ca58bc0a7fb0a25ae34458fe039ecf2d5a3eac640b4f1bb5680/orjson-3.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "5252146b3172d75c8a6d27ebca59c9ee066ffc5a277050ccec24821e68742fdf", - "url": "https://files.pythonhosted.org/packages/13/75/a06d2aa52a0aab2932ac71e4a509951b0698b4ca51f750ec641f0bb4c30a/orjson-3.10.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "09b51caf8720b6df448acf764312d4678aeed6852ebfa6f3aa28b6061155ffef", + "url": "https://files.pythonhosted.org/packages/40/18/8f452c04e0d0855c8669f855a8b57a42204d7a435bae9b4251f6c05f408e/orjson-3.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "53521542a6db1411b3bfa1b24ddce18605a3abdc95a28a67b33f9145f26aa8f2", - "url": "https://files.pythonhosted.org/packages/1c/f9/bea73fb2573537ab9c29e264f544bd6bd7765c8f2152f5c5c75722c531b9/orjson-3.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "51a7b67c8cddf1a9de72d534244590103b1f17b2105d3bdcb221981bd97ab427", + "url": "https://files.pythonhosted.org/packages/40/5b/3d7af01dfa2ab5ee497d9b136400f7e6fd5857d13a1215a4da590ce96da8/orjson-3.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "01234249ba19c6ab1eb0b8be89f13ea21218b2d72d496ef085cfd37e1bae9dd8", - "url": "https://files.pythonhosted.org/packages/3f/81/c907281043ac1847adfe711de2a03f3aa466ecc5014d8a5b760281ef0198/orjson-3.10.1-cp38-cp38-musllinux_1_2_x86_64.whl" + "hash": "c1b79526bd039e775ad0f558800c3cd9f3bde878a1268845f63984d37bcbb5d1", + "url": "https://files.pythonhosted.org/packages/4a/8f/10d3ca275a1c67586ec9b5bed4ce5ffc20b4ff98aa7fa7f1f315f5a601ba/orjson-3.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "7dfed3c3e9b9199fb9c3355b9c7e4649b65f639e50ddf50efdf86b45c6de04b5", - "url": "https://files.pythonhosted.org/packages/3f/f7/54cb27fa43ef7940172b5d2a72cfaa14acdfaa8ec97d9fdda09fb6f5fb81/orjson-3.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "c44787769d93d1ef9f25a80644ef020e0f30f37045d6336133e421a414c8fe51", + "url": "https://files.pythonhosted.org/packages/4f/f0/82ee6056c08ac2a76fee52377377d4fcf7ce288ab707efa5d04ca58c74d9/orjson-3.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "27ff69c620a4fff33267df70cfd21e0097c2a14216e72943bd5414943e376d77", - "url": "https://files.pythonhosted.org/packages/58/6a/676601cff14d5a8d8cbe7396927f743c5be53d0803f7c0693a9a59d9dcee/orjson-3.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "24877561fe96a3736224243d6e2e026a674a4ddeff2b02fdeac41801bd261c87", + "url": "https://files.pythonhosted.org/packages/5a/ed/bdd2d6c4863a34b1a925236a045220fd9a4de9f70eac3255d78d5b95271e/orjson-3.10.2-cp310-cp310-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2b230ec35f188f003f5b543644ae486b2998f6afa74ee3a98fc8ed2e45960afc", - "url": "https://files.pythonhosted.org/packages/6e/33/13899b1cc2c87a1a3c39b7945cf5b11669314f66b57b2046cd5fe3936a95/orjson-3.10.1-cp38-cp38-musllinux_1_2_aarch64.whl" + "hash": "53a43b18d280c8d18cb18437921a05ec478b908809f9e89ad60eb2fdf0ba96ac", + "url": "https://files.pythonhosted.org/packages/6d/8e/8a6b837db7867b80b137c11831182d1bb954972b4b468f242a13089e716a/orjson-3.10.2-cp39-cp39-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a2c6a85c92d0e494c1ae117befc93cf8e7bca2075f7fe52e32698da650b2c6d1", - "url": "https://files.pythonhosted.org/packages/7c/55/54660562f8191def9d98935553c20f35f5d2e8f7ec431d1887a00b6dcf56/orjson-3.10.1-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "d26302b13e3f542b3e1ad1723e3543caf28e2f372391d21e1642de29c06e6209", + "url": "https://files.pythonhosted.org/packages/78/e2/f0cc37fa472e06eaa803a6e8a6fe15bbbc727b436a8937a26b018a273e97/orjson-3.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "79244b1456e5846d44e9846534bd9e3206712936d026ea8e6a55a7374d2c0694", - "url": "https://files.pythonhosted.org/packages/7d/a4/ff12594858f747b782ef0921eed97e578ec7abc9cd9ebb036543419c9ac8/orjson-3.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "9db3e6f23a6c9ce6c883a8e10e0eae0e2895327fb6e2286019b13153e59c672f", + "url": "https://files.pythonhosted.org/packages/84/93/5bcab9788c8fbe4fe010804f2724bb4b46142761ff5bfeb903741d75f9da/orjson-3.10.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "27d610df96ac18ace4931411d489637d20ab3b8f63562b0531bba16011998db0", - "url": "https://files.pythonhosted.org/packages/b0/9d/5920c8e2d52708729f0f9a2b1877d5097f61a5957c039c1c446a49a3a5c0/orjson-3.10.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "cde123c227e28ef9bba7092dc88abbd1933a0d7c17c58970c8ed8ec804e7add5", + "url": "https://files.pythonhosted.org/packages/98/05/436590bb81757da69480107817c264bb026e085679553f17bd5ecf93ae9b/orjson-3.10.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "a51fd55d4486bc5293b7a400f9acd55a2dc3b5fc8420d5ffe9b1d6bb1a056a5e", - "url": "https://files.pythonhosted.org/packages/b9/43/bd83ff49df7c7d29012bf8af76c0d563e8848a3382a9413dfbedbefad132/orjson-3.10.1-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "201bf2b96ba39941254ef6b02e080660861e1444ec50be55778e1c38446c2d39", + "url": "https://files.pythonhosted.org/packages/aa/ad/f5e74b33954882314e96453cb949791f1549dab38dc4237c5a9812827a4b/orjson-3.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "d751efaa8a49ae15cbebdda747a62a9ae521126e396fda8143858419f3b03610", - "url": "https://files.pythonhosted.org/packages/c0/2f/4ccf806acd32a6f9c68d5e1b797915e4b097f11f5cab62f16a4b5bbd2fa7/orjson-3.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "9ceb283b8c048fb20bd1c703b10e710783a4f1ba7d5654358a25db99e9df94d5", + "url": "https://files.pythonhosted.org/packages/c2/0f/bb15f52a99d5db2e4a663d56716f158d091212ee3e3633c5474062aa77ed/orjson-3.10.2-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "9813f43da955197d36a7365eb99bed42b83680801729ab2487fef305b9ced866", - "url": "https://files.pythonhosted.org/packages/c2/5e/a4de7c063e74cd5f29091ff4e99c5a8823f82d6a15bbb5e0523ca4f519d7/orjson-3.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "4e427ce004fe15e13dcfdbd6c9dc936abf83d85d2164ec415a8bd90954f6f781", + "url": "https://files.pythonhosted.org/packages/cb/94/59b97cf6fe1ebfd950ed35f7738355d21d508d98ca15dccb599ed68d5765/orjson-3.10.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "536429bb02791a199d976118b95014ad66f74c58b7644d21061c54ad284e00f4", - "url": "https://files.pythonhosted.org/packages/d6/21/bea62f2d47950324848393f2bc56b60865817f67739e93b7e62430fc9146/orjson-3.10.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "87124c1b3471a072fda422e156dd7ef086d854937d68adc266f17f32a1043c95", + "url": "https://files.pythonhosted.org/packages/db/42/8782c75f8045fc39a6d8fb0800e4ba9c6250a2bb6448b01028dffa4bc651/orjson-3.10.2-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "ec917b768e2b34b7084cb6c68941f6de5812cc26c6f1a9fecb728e36a3deb9e8", - "url": "https://files.pythonhosted.org/packages/d8/d1/44a15a0e0eb9954a1de0e243822aad0d0a16f2a1e9a61ca51dbc92830315/orjson-3.10.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" + "hash": "f124d7e813e7b3d56bb7841d3d0884fec633f5f889a27a158d004b6b37e5ca98", + "url": "https://files.pythonhosted.org/packages/db/cf/fed86b1265ef334dbb577f6ebdf9f0f2ece5132d606516cabb1a57fd76b5/orjson-3.10.2-cp38-cp38-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ebc58693464146506fde0c4eb1216ff6d4e40213e61f7d40e2f0dde9b2f21650", - "url": "https://files.pythonhosted.org/packages/dc/cd/007d07c9fa40c0a0883109ede751b9c2236a7b5bece18b42c387214c2d69/orjson-3.10.1-cp39-cp39-musllinux_1_2_aarch64.whl" + "hash": "97f6dc97a6b2833a0d77598e7d016b6d964e4b0bc9576c89aa9a16fcf8ac902d", + "url": "https://files.pythonhosted.org/packages/e0/2c/e9f9e90bae2f8b8a41b452aef428a38c6bbba654673f0aa3df92e57ccc33/orjson-3.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "a883b28d73370df23ed995c466b4f6c708c1f7a9bdc400fe89165c96c7603204", - "url": "https://files.pythonhosted.org/packages/f5/af/0daa12a907215a5af6d97db8adf301ef14a1b1c651f7e176ee04e0998433/orjson-3.10.1.tar.gz" + "hash": "27158a75e7239145cf385d2318fdb27fbcd1fc494a470ee68287147c8b214cb1", + "url": "https://files.pythonhosted.org/packages/ef/ee/b4a87db55138417364e7289f0e53fc8eb6c623a433cdf18086b089e49a88/orjson-3.10.2-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" } ], "project_name": "orjson", "requires_dists": [], "requires_python": ">=3.8", - "version": "3.10.1" + "version": "3.10.2" }, { "artifacts": [ @@ -2958,6 +3278,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", @@ -2968,6 +3293,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", @@ -2983,6 +3313,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", @@ -2993,6 +3328,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", @@ -3003,6 +3343,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", @@ -3013,6 +3363,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", @@ -3023,11 +3383,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", @@ -3043,6 +3413,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", @@ -3083,11 +3458,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", @@ -3231,6 +3616,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", @@ -3246,10 +3636,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", @@ -3461,6 +3866,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", @@ -3471,6 +3881,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", @@ -3481,6 +3896,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", @@ -3491,11 +3911,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", @@ -3515,6 +3945,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", @@ -3801,6 +4236,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", @@ -3811,15 +4251,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", @@ -3978,11 +4443,21 @@ "hash": "60848ab779195b72382841fc3fa4f71698a98d9589b0a081a9399904487b5832", "url": "https://files.pythonhosted.org/packages/33/5f/b9506e323ea89737b34c97a6eda9d22ad6b771190df93f6eb72657a3b996/simplejson-3.19.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "11cc3afd8160d44582543838b7e4f9aa5e97865322844b75d51bf4e0e413bb3e", + "url": "https://files.pythonhosted.org/packages/42/4f/eaa30edadca1271a97697a7c1630b9db9471997e56156ee974b45f6d0a09/simplejson-3.19.2-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "0a48679310e1dd5c9f03481799311a65d343748fe86850b7fb41df4e2c00c087", "url": "https://files.pythonhosted.org/packages/42/b5/33169643f5cd76fd26a2ba5a034f934cdd20ad4884fbd719dabf82a0aef5/simplejson-3.19.2-cp38-cp38-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "7f2398361508c560d0bf1773af19e9fe644e218f2a814a02210ac2c97ad70db0", + "url": "https://files.pythonhosted.org/packages/49/7d/94ba3f8c2b83a7536f9f62f23246e071eae15c83b5e4d9bd8a165b7f70a6/simplejson-3.19.2-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "3848427b65e31bea2c11f521b6fc7a3145d6e501a1038529da2391aff5970f2f", @@ -3993,11 +4468,21 @@ "hash": "e8dd53a8706b15bc0e34f00e6150fbefb35d2fd9235d095b4f83b3c5ed4fa11d", "url": "https://files.pythonhosted.org/packages/77/4b/9634b2e32af8e14dfc453869ff5b30386871bdcac9081ed847bf90af880f/simplejson-3.19.2-cp39-cp39-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "9eb117db8d7ed733a7317c4215c35993b815bf6aeab67523f1f11e108c040672", + "url": "https://files.pythonhosted.org/packages/79/35/11247b37cc344519847db672c2deb1d237edc44306a879da7882c3d5b7db/simplejson-3.19.2-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c", "url": "https://files.pythonhosted.org/packages/79/79/3ccb95bb4154952532f280f7a41979fbfb0fbbaee4d609810ecb01650afa/simplejson-3.19.2.tar.gz" }, + { + "algorithm": "sha256", + "hash": "332c848f02d71a649272b3f1feccacb7e4f7e6de4a2e6dc70a32645326f3d428", + "url": "https://files.pythonhosted.org/packages/7e/f6/886fd5cd90fa8d74950a9bfc6763b5481c2063eea2eaaa95d494a0eece12/simplejson-3.19.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "0436a70d8eb42bea4fe1a1c32d371d9bb3b62c637969cb33970ad624d5a3336a", @@ -4018,6 +4503,11 @@ "hash": "49e0e3faf3070abdf71a5c80a97c1afc059b4f45a5aa62de0c2ca0444b51669b", "url": "https://files.pythonhosted.org/packages/90/da/54fc4292b320c17030cbddebd0b85cafb7bd0d990e24260979c012a85935/simplejson-3.19.2-cp38-cp38-musllinux_1_1_i686.whl" }, + { + "algorithm": "sha256", + "hash": "25785d038281cd106c0d91a68b9930049b6464288cea59ba95b35ee37c2d23a5", + "url": "https://files.pythonhosted.org/packages/94/f9/2671ed450a2586262ea2cfffd04bc0b93f0a00963c44356667ad5a0ff940/simplejson-3.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "1018bd0d70ce85f165185d2227c71e3b1e446186f9fa9f971b69eee223e1e3cd", @@ -4028,6 +4518,21 @@ "hash": "2c1467d939932901a97ba4f979e8f2642415fcf02ea12f53a4e3206c9c03bc17", "url": "https://files.pythonhosted.org/packages/99/48/dd888ee60e1e690694c5a6c923ccb059a5a879c9b078da3e33d7e80ef100/simplejson-3.19.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, + { + "algorithm": "sha256", + "hash": "2f98d918f7f3aaf4b91f2b08c0c92b1774aea113334f7cde4fe40e777114dbe6", + "url": "https://files.pythonhosted.org/packages/a2/72/1dc530055a85eae444b2bbbd37b07ed2edebe14cbb889750795e78c4d894/simplejson-3.19.2-cp310-cp310-macosx_10_9_universal2.whl" + }, + { + "algorithm": "sha256", + "hash": "6ad331349b0b9ca6da86064a3599c425c7a21cd41616e175ddba0866da32df48", + "url": "https://files.pythonhosted.org/packages/b7/75/d097167ad63b1b0b2075259e57a384be85853f268bc715d10c14174f5425/simplejson-3.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b01fda3e95d07a6148702a641e5e293b6da7863f8bc9b967f62db9461330562c", + "url": "https://files.pythonhosted.org/packages/b9/b8/a1d2fc3fb179d2eb3dd42682c308816991e708dfd4e4dee47291f380e2c5/simplejson-3.19.2-cp310-cp310-musllinux_1_1_i686.whl" + }, { "algorithm": "sha256", "hash": "c0521e0f07cb56415fdb3aae0bbd8701eb31a9dfef47bb57206075a0584ab2a2", @@ -4048,6 +4553,21 @@ "hash": "064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a", "url": "https://files.pythonhosted.org/packages/c4/da/cf5366b140bfda07494fe4de4cfd2dbadc934d31494c4e45c6b7780d2281/simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "7d74beca677623481810c7052926365d5f07393c72cbf62d6cce29991b676402", + "url": "https://files.pythonhosted.org/packages/ca/c7/a530c9aba6a47823df3d46f20ce09be730d04aeb67aaef057a7c515654bd/simplejson-3.19.2-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "18955c1da6fc39d957adfa346f75226246b6569e096ac9e40f67d102278c3bcb", + "url": "https://files.pythonhosted.org/packages/cb/b6/ed513a0adc3e2c9654864ffb68266dcab5720d5653428d690e7e4fb32a6c/simplejson-3.19.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "778331444917108fa8441f59af45886270d33ce8a23bfc4f9b192c0b2ecef1b3", + "url": "https://files.pythonhosted.org/packages/ea/18/79519b59bf5c752c48c60152c6eda0b98a26b80a47eb6002e9f6ba0f9ed9/simplejson-3.19.2-cp310-cp310-musllinux_1_1_ppc64le.whl" + }, { "algorithm": "sha256", "hash": "4a8c3cc4f9dfc33220246760358c8265dad6e1104f25f0077bbca692d616d358", @@ -4417,11 +4937,26 @@ "hash": "bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36", "url": "https://files.pythonhosted.org/packages/02/2d/4d4956140a1c92f06ef8aa1a62a8eb7e99dd2f7f32aa5d2e4a963a4bcf7c/ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl" }, + { + "algorithm": "sha256", + "hash": "ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1", + "url": "https://files.pythonhosted.org/packages/08/1b/10a58f775ee908a5c32b2e8fd7d6595d23d5272994d81de934764079352f/ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" + }, { "algorithm": "sha256", "hash": "32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562", "url": "https://files.pythonhosted.org/packages/0b/28/ddbd1f3e7b81be954961bc9c54d5b7594367a6fcd3362ffbd3822514d3b3/ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa", + "url": "https://files.pythonhosted.org/packages/0d/f0/c5083a3562f8422bc4c26b4bbb3a06bc3a62907ad02adcddb8dc7582c487/ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc", + "url": "https://files.pythonhosted.org/packages/20/05/908ffe907b698811a32a60560c71d968f441a41a55af1608f0b5129d390e/ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f", @@ -4442,6 +4977,11 @@ "hash": "473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4", "url": "https://files.pythonhosted.org/packages/3c/30/950218fb10fb6c9dd3b50ac6f922805827885fdf358748c2f0aa4a76df1d/ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106", + "url": "https://files.pythonhosted.org/packages/44/4a/11a91a9e2e5f6153d8042821f21ea488a91e8017162212362445118f6660/ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617", @@ -4462,6 +5002,11 @@ "hash": "f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95", "url": "https://files.pythonhosted.org/packages/5b/10/037af2e0e94375673d4cb479d26c725bfac1bbaa25e2e9cf90fb6aa434ef/ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d", + "url": "https://files.pythonhosted.org/packages/5f/7f/a5802c527de69d012bf836ff3cc72ca70e0d799dff6034d39f68c27f2d50/ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532", @@ -4472,6 +5017,16 @@ "hash": "7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad", "url": "https://files.pythonhosted.org/packages/84/79/e8751f45fe1b9da65f48888dd1f15d9244f667d4d1d9293a4a092d0dd7bf/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5", + "url": "https://files.pythonhosted.org/packages/87/a7/0c17d59df9fb104b04d8137d1b79d089efbb27b58cec2cbbe482969304f4/ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl" + }, + { + "algorithm": "sha256", + "hash": "4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096", + "url": "https://files.pythonhosted.org/packages/8d/7d/f91118d8408eccd54a5cc2d16dfb1f8b9701b8798d38fea5ba3c2c402827/ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c", @@ -4487,6 +5042,16 @@ "hash": "d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81", "url": "https://files.pythonhosted.org/packages/b2/2c/4500b6c1e99e01e2a902ddd8a14d0972d18c05f670c42a64ed65c6361eee/ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124", + "url": "https://files.pythonhosted.org/packages/ba/08/3fc98e5041e9799b0b7a5d842f221c060cb6854751ec894fff90f8a1d50c/ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd", + "url": "https://files.pythonhosted.org/packages/ba/ac/e0f10b6e6979064c4eb17cf6ec201b2137ac1fab787d79379b6013c69d7f/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f", @@ -4497,11 +5062,21 @@ "hash": "b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427", "url": "https://files.pythonhosted.org/packages/bd/af/d527c68c72330ef8dd99c1d42a832af306934f87e04584ef754982c46adf/ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf", + "url": "https://files.pythonhosted.org/packages/ca/6e/8afa69a9c5bc86864bd23c468ce3a0fd8410fffac5c77807b1a7107bebd5/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851", "url": "https://files.pythonhosted.org/packages/cd/c9/92ba90de8dd23327d895d62700d1e1c6671431296589f38acaf1454b83d2/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5", + "url": "https://files.pythonhosted.org/packages/d2/33/04447295efcdcfd8afdea8990db10827e1b54c22ff2ea97ccf147345eb2a/ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e", @@ -4526,6 +5101,11 @@ "algorithm": "sha256", "hash": "9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378", "url": "https://files.pythonhosted.org/packages/ed/33/26abf5f1de8361e68c8e327e726586b61c3c393ba09bf682be15fbb5df1e/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e", + "url": "https://files.pythonhosted.org/packages/ef/c4/737ce0c40d94b2048fdd728c0ed0f859a2e06b3098792e31b0d24f17442a/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" } ], "project_name": "ujson", @@ -4797,21 +5377,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", @@ -4827,6 +5427,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", @@ -4852,6 +5457,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", @@ -4867,11 +5477,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", @@ -5020,11 +5640,21 @@ "hash": "959665072bd60f45c5b6b5d711f15bdefc9849dd5da9fb6c873e35f5d34d8cfb", "url": "https://files.pythonhosted.org/packages/19/16/845cd410ad0951a081b94398074daad70d4330c59f5853fb224187909f64/zstandard-0.22.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, + { + "algorithm": "sha256", + "hash": "93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202", + "url": "https://files.pythonhosted.org/packages/28/fa/60d35409132b101694943043385ecd610c23f30148e8a15af84c46844b03/zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, { "algorithm": "sha256", "hash": "8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", "url": "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz" }, + { + "algorithm": "sha256", + "hash": "1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356", + "url": "https://files.pythonhosted.org/packages/77/2a/910576262607524ff203f5fa849329f8fad6f67b7804a5ef00019f98c390/zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl" + }, { "algorithm": "sha256", "hash": "d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303", @@ -5035,11 +5665,21 @@ "hash": "48f260e4c7294ef275744210a4010f116048e0c95857befb7462e033f09442fe", "url": "https://files.pythonhosted.org/packages/85/96/61a79e9e9c9e14e5e1baf84fd71115944320bac525fcd754695ba84e2084/zstandard-0.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e", + "url": "https://files.pythonhosted.org/packages/8e/3b/0284ed7b2612f793d2490339c1b772232c04a6f20dbbdec050020bd730b2/zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, { "algorithm": "sha256", "hash": "68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0", "url": "https://files.pythonhosted.org/packages/90/81/0e2082b0f6e62f3ac3f5c6f12f2150db9cedf0c8cbed9d350979fd157f76/zstandard-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, + { + "algorithm": "sha256", + "hash": "3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d", + "url": "https://files.pythonhosted.org/packages/95/6b/aea6911a0dbbd5e67dd4e3db8f6b9b594ba05a0ae62f6f3c88cb609a7878/zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl" + }, { "algorithm": "sha256", "hash": "2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b", @@ -5055,6 +5695,16 @@ "hash": "a493d470183ee620a3df1e6e55b3e4de8143c0ba1b16f3ded83208ea8ddfd91d", "url": "https://files.pythonhosted.org/packages/a9/d0/fe5da22515b96eb5dc46a67d74941932bb1ec1404bf403d1513efcad62b9/zstandard-0.22.0-cp38-cp38-musllinux_1_1_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019", + "url": "https://files.pythonhosted.org/packages/aa/a4/b7cc74e836ec006427d18439c12b7898697c1eae91b06ffdfa63da8cd041/zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2", + "url": "https://files.pythonhosted.org/packages/c9/79/07f6d2670fa2708ae3b79aabb82da78e9cbdb08d9bafadf8638d356775ff/zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, { "algorithm": "sha256", "hash": "9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3", @@ -5075,6 +5725,11 @@ "hash": "2612e9bb4977381184bb2463150336d0f7e014d6bb5d4a370f9a372d21916f69", "url": "https://files.pythonhosted.org/packages/ef/e7/1cce80b1abc3b2d07eeb0a41a179adb2a49aba8b3064518497664a3ba3ba/zstandard-0.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, + { + "algorithm": "sha256", + "hash": "2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a", + "url": "https://files.pythonhosted.org/packages/fc/e5/a1fa6f70764777553cb8ab668690ba793ebf512b3d415e28720d2275d445/zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl" + }, { "algorithm": "sha256", "hash": "36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e", @@ -5175,7 +5830,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 825d0c6987..5f4d10307e 100644 --- a/pants.toml +++ b/pants.toml @@ -109,9 +109,10 @@ root_patterns = [ # resolver_version is always "pip-2020-resolver". legacy is not supported. enable_resolves = true default_resolve = "st2" +# these are the primary constraints for st2 code interpreter_constraints = [ # python_distributions needs a single constraint (vs one line per python version). - "CPython==3.9.*", + "CPython>=3.8,<3.11", # NB: constraints for tools defined below ] @@ -133,10 +134,12 @@ twine = "lockfiles/twine.lock" bandit = ["CPython>=3.8,<3.11"] black = ["CPython>=3.8,<3.11"] flake8 = ["CPython>=3.8,<3.11"] -# 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 -pants-plugins = ["CPython==3.9.*"] +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"] From 31671349903994f4525611ed12422864da4edd25 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 21:16:19 -0500 Subject: [PATCH 057/110] loosen some fixed requirements --- fixed-requirements.txt | 7 +++---- requirements.txt | 4 ++-- st2actions/requirements.txt | 4 ++-- st2client/requirements.txt | 2 +- st2common/requirements.txt | 4 ++-- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 61eaa57c2f..c1dcd34cd7 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -8,8 +8,9 @@ # Note: amqp is used by kombu amqp==5.2.0 apscheduler==3.10.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 -chardet==3.0.4 cffi==1.16.0 # NOTE: 2.0 version breaks pymongo work with hosts #dnspython==2.6.1 @@ -33,8 +34,8 @@ lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode # 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support jinja2==3.1.3 +# 202405: MarkupSafe is a transitive dependency. Just accept whatever pip picks. #MarkupSafe==2.1.5 -MarkupSafe==2.0.1 # 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) @@ -63,8 +64,6 @@ zstandard==0.22.0 editor==1.6.6 # editor dependency, required here for inclusion in st2client setup.py pygments==2.17.2 -# 202404: Use latest chardet for tox / and cross project dependency Orquesta. -chardet==5.2.0 python-keyczar==0.716 pytz==2024.1 pywinrm==0.4.3 diff --git a/requirements.txt b/requirements.txt index 4b1bc4f241..010d07844a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,14 +5,14 @@ # 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.3.0 bcrypt==4.1.2 cffi==1.16.0 -chardet==3.0.4 +chardet ciso8601 cryptography==42.0.5 decorator==5.1.1 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 1196406ae2..c557f0831c 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.3 diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 0809e69162..4c24ceefa7 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -7,7 +7,7 @@ # update the component requirements.txt argcomplete==3.3.0 cffi==1.16.0 -chardet==3.0.4 +chardet cryptography==42.0.5 editor==1.6.6 importlib-metadata==7.1.0 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index afd1673a55..93e4758362 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -5,11 +5,11 @@ # 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.16.0 -chardet==3.0.4 +chardet ciso8601 cryptography==42.0.5 decorator==5.1.1 From ec74e4327c03e41fdafb50aa64ae1374f76b17dc Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 21:17:07 -0500 Subject: [PATCH 058/110] revert some pants changes --- pants-plugins/BUILD | 2 +- pants.toml | 4 ++-- requirements-pants.txt | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pants-plugins/BUILD b/pants-plugins/BUILD index ee490ff005..ba467168ac 100644 --- a/pants-plugins/BUILD +++ b/pants-plugins/BUILD @@ -2,7 +2,7 @@ __defaults__( all=dict( resolve="pants-plugins", skip_pylint=True, - interpreter_constraints=["CPython<=3.11,>=3.8"], + interpreter_constraints=["CPython==3.9.*"], ) ) diff --git a/pants.toml b/pants.toml index 5f4d10307e..b19bb24a89 100644 --- a/pants.toml +++ b/pants.toml @@ -96,8 +96,8 @@ root_patterns = [ "/contrib/examples/actions/ubuntu_pkg_info", # python script runs via shell expecting cwd in PYTHONPATH # lint plugins "/pylint_plugins", - # pants plugins - 202404 disabled because pants doesn't support >py3.9 and conflicts with other targets using >py3.9 -# "/pants-plugins", + # pants plugins + "/pants-plugins", # misc "/scripts", "/tools", diff --git a/requirements-pants.txt b/requirements-pants.txt index 69a905fc5f..db9e9ad8e6 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -58,6 +58,7 @@ python-json-logger python-statsd pytz pyyaml +# RandomWords used in some tests RandomWords requests retrying @@ -75,6 +76,7 @@ stevedore st2-auth-backend-flat-file @ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master st2-auth-ldap @ git+https://github.com/StackStorm/st2-auth-ldap.git@master st2-rbac-backend @ git+https://github.com/StackStorm/st2-rbac-backend.git@master +# tabulate used by tools/log_watcher.py tabulate tooz udatetime From eb9d4089884688b693725711b200853888aad21e Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 21:19:17 -0500 Subject: [PATCH 059/110] remove some constraints from lockfiles/st2-constraints.txt --- lockfiles/st2-constraints.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lockfiles/st2-constraints.txt b/lockfiles/st2-constraints.txt index 4e17c1c740..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.5 +#MarkupSafe==2.1.5 # REQUIRED BY: kombu # REASON: unknown -- this looks like a lockfile-style pin @@ -69,7 +69,7 @@ MarkupSafe==2.1.5 # NOTE: try to remove this later # DROPS RESOLVED VERSION: 1.16 #dnspython==2.6.1 -dnspython>=1.16.0,<2.0.0 +#dnspython>=1.16.0,<2.0.0 # REQUIRED BY: eventlet # REASON: eventlet is difficult to upgrade. From 4dbcc3603b455cf93014e8228063251c2d954b30 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 21:47:43 -0500 Subject: [PATCH 060/110] Regenerate lockfiles/st2.lock Lockfile diff: lockfiles/st2.lock [st2] == Upgraded dependencies == bcrypt 4.1.2 --> 4.1.3 chardet 3.0.4 --> 5.2.0 cryptography 42.0.5 --> 42.0.7 dnspython 1.16.0 --> 2.6.1 flask 2.1.3 --> 3.0.3 jinja2 3.1.3 --> 3.1.4 markupsafe 2.0.1 --> 2.1.5 networkx 2.8.8 --> 3.1 orjson 3.10.2 --> 3.10.3 platformdirs 4.2.1 --> 4.2.2 pygments 2.17.2 --> 2.18.0 tenacity 8.2.3 --> 8.3.0 ujson 5.9.0 --> 5.10.0 virtualenv 20.26.1 --> 20.26.2 werkzeug 2.1.2 --> 3.0.3 zipp 3.18.1 --> 3.18.2 == Added dependencies == blinker 1.8.2 == Removed dependencies == colorama 0.4.6 nose 1.3.7 nose-parallel 0.4.0 nose-timer 1.0.1 rednose 1.3.0 termstyle 0.1.11 --- lockfiles/st2.lock | 950 ++++++++++++++++++++------------------------- 1 file changed, 418 insertions(+), 532 deletions(-) diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 429c46bac9..9710c91f7d 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -9,7 +9,6 @@ // "CPython<3.11,>=3.8" // ], // "generated_with_requirements": [ -// "PyYAML", // "RandomWords", // "apscheduler", // "argcomplete", @@ -36,11 +35,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/nzlosh/orquesta.git@st2v39_compat", // "oslo.config", // "paramiko", // "pika", @@ -60,8 +56,8 @@ // "python-statsd", // "pytz", // "pywinrm", +// "pyyaml", // "redis", -// "rednose", // "requests", // "retrying", // "routes", @@ -86,10 +82,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 +93,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": [ @@ -302,118 +292,118 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ba4e4cc26610581a6329b3937e02d319f5ad4b85b074846bf4fef8a8cf51e7bb", - "url": "https://files.pythonhosted.org/packages/d6/59/831b66ba317496332d4e9e1a33bcdd14922d6cfecc411dc315a229b67127/bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "d84702adb8f2798d813b17d8187d27076cca3cd52fe3686bb07a9083930ce650", + "url": "https://files.pythonhosted.org/packages/67/32/6b7ea165d67175a72147f6089e9c5e46f034aab3f48cc4299be1eb3fbf2b/bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e51c42750b7585cee7892c2614be0d14107fad9581d1738d954a262556dd1aab", - "url": "https://files.pythonhosted.org/packages/01/0c/7ffee251454a198d387f4a197a03a12c9f5322e4082cb4915e8df8c04eff/bcrypt-4.1.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" + "hash": "8cbb119267068c2581ae38790e0d1fbae65d0725247a930fc9900c285d95725d", + "url": "https://files.pythonhosted.org/packages/0f/e8/183ead5dd8124e463d0946dfaf86c658225adde036aede8384d21d1794d0/bcrypt-4.1.3-cp37-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ba55e40de38a24e2d78d34c2d36d6e864f93e0d79d0b6ce915e4335aa81d01b1", - "url": "https://files.pythonhosted.org/packages/05/76/6232380b99d85a2154ae06966b4bf6ce805878a7a92c3211295063b0b6be/bcrypt-4.1.2-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "ec3c2e1ca3e5c4b9edb94290b356d082b721f3f50758bce7cce11d8a7c89ce84", + "url": "https://files.pythonhosted.org/packages/12/d4/13b86b1bb2969a804c2347d0ad72fc3d3d9f5cf0d876c84451c6480e19bc/bcrypt-4.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "1c28973decf4e0e69cee78c68e30a523be441972c826703bb93099868a8ff5b5", - "url": "https://files.pythonhosted.org/packages/21/d9/7924b194b3aa9bcc39f4592470995841efe71015cb8a79abae9bb043ec28/bcrypt-4.1.2-cp37-abi3-musllinux_1_2_aarch64.whl" + "hash": "cb9c707c10bddaf9e5ba7cdb769f3e889e60b7d4fea22834b261f51ca2b89fed", + "url": "https://files.pythonhosted.org/packages/20/02/c23ca3cf171798af16361576ef43bfc3192e3c3a679bc557e046b02c7188/bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "ea505c97a5c465ab8c3ba75c0805a102ce526695cd6818c6de3b1a38f6f60da1", - "url": "https://files.pythonhosted.org/packages/22/2e/32c1810b8470aca98c33892fc8c559c1be95eba711cb1bb82fbbf2a4752a/bcrypt-4.1.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "551b320396e1d05e49cc18dd77d970accd52b322441628aca04801bbd1d52a73", + "url": "https://files.pythonhosted.org/packages/23/85/283450ee672719e216a5e1b0e80cb0c8f225bc0814cbb893155ee4fdbb9e/bcrypt-4.1.3-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a97e07e83e3262599434816f631cc4c7ca2aa8e9c072c1b1a7fec2ae809a1d2d", - "url": "https://files.pythonhosted.org/packages/2c/1a/c2f1874578b3a79e3213745bad8a3bc4e20440eb15fa388e247e5e23a7c4/bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" + "hash": "3a5be252fef513363fe281bafc596c31b552cf81d04c5085bc5dac29670faa08", + "url": "https://files.pythonhosted.org/packages/29/3c/6e478265f68eff764571676c0773086d15378fdf5347ddf53e5025c8b956/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "57fa9442758da926ed33a91644649d3e340a71e2d0a5a8de064fb621fd5a3326", - "url": "https://files.pythonhosted.org/packages/41/ed/e446078ebe94d8ccac7170ff4bab83d8c86458c6fcfc7c5a4b449974fdd6/bcrypt-4.1.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "31adb9cbb8737a581a843e13df22ffb7c84638342de3708a98d5c986770f2834", + "url": "https://files.pythonhosted.org/packages/2c/fd/0d2d7cc6fc816010f6c6273b778e2f147e2eca1144975b6b71e344b26ca0/bcrypt-4.1.3-cp39-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2a298db2a8ab20056120b45e86c00a0a5eb50ec4075b6142db35f593b97cb3fb", - "url": "https://files.pythonhosted.org/packages/42/9d/a88027b5a8752f4b1831d957470f48e23cebc112aaf762880f3adbfba9cf/bcrypt-4.1.2-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "6cac78a8d42f9d120b3987f82252bdbeb7e6e900a5e1ba37f6be6fe4e3848286", + "url": "https://files.pythonhosted.org/packages/2d/5e/edcb4ec57b056ca9d5f9fde31fcda10cc635def48867edff5cc09a348a4f/bcrypt-4.1.3-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "68e3c6642077b0c8092580c819c1684161262b2e30c4f45deb000c38947bf483", - "url": "https://files.pythonhosted.org/packages/42/c4/13c4bba7e25633b2e94724c642aa93ce376c476d80ecd50d73f0fe2eb38f/bcrypt-4.1.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "3d3b317050a9a711a5c7214bf04e28333cf528e0ed0ec9a4e55ba628d0f07c1a", + "url": "https://files.pythonhosted.org/packages/2f/f6/9c0a6de7ef78d573e10d0b7de3ef82454e2e6eb6fada453ea6c2b8fb3f0a/bcrypt-4.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d75fc8cd0ba23f97bae88a6ec04e9e5351ff3c6ad06f38fe32ba50cbd0d11946", - "url": "https://files.pythonhosted.org/packages/54/a8/db407b90ccecb5a78386b360f9471ee733882f513ee364f2fba99a35eb1e/bcrypt-4.1.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" + "hash": "f44a97780677e7ac0ca393bd7982b19dbbd8d7228c1afe10b128fd9550eef5f1", + "url": "https://files.pythonhosted.org/packages/37/43/14dcb5f503e5cd02ebac4404278c8decaaa3b08a1e4db23d60db48666745/bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "44290ccc827d3a24604f2c8bcd00d0da349e336e6503656cb8192133e27335e2", - "url": "https://files.pythonhosted.org/packages/54/fc/fd9a299d4dfd7da38b4570e487ea2465fb92021ab31a08bd66b3caba0baa/bcrypt-4.1.2-cp37-abi3-musllinux_1_1_aarch64.whl" + "hash": "01746eb2c4299dd0ae1670234bf77704f581dd72cc180f444bfe74eb80495b64", + "url": "https://files.pythonhosted.org/packages/3b/5d/121130cc85009070fe4e4f5937b213a00db143147bc6c8677b3fd03deec8/bcrypt-4.1.3-cp37-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "732b3920a08eacf12f93e6b04ea276c489f1c8fb49344f564cca2adb663b3e4c", - "url": "https://files.pythonhosted.org/packages/5a/5b/dfcd8b7422a8f3b4ce3d28d64307e2f3502e3b5c540dde35eccda2d6c763/bcrypt-4.1.2-cp37-abi3-musllinux_1_1_x86_64.whl" + "hash": "4fb253d65da30d9269e0a6f4b0de32bd657a0208a6f4e43d3e645774fb5457f3", + "url": "https://files.pythonhosted.org/packages/4c/6a/ce950d4350c734bc5d9b7196a58fedbdc94f564c00b495a1222984431e03/bcrypt-4.1.3-cp37-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "eb3bd3321517916696233b5e0c67fd7d6281f0ef48e66812db35fc963a422a1c", - "url": "https://files.pythonhosted.org/packages/6d/7c/761ab4586beb7aa14b3fa2f382794746a218fffe1d22d9e10926200c8ccd/bcrypt-4.1.2-cp37-abi3-manylinux_2_28_aarch64.whl" + "hash": "094fd31e08c2b102a14880ee5b3d09913ecf334cd604af27e1013c76831f7b05", + "url": "https://files.pythonhosted.org/packages/63/56/45312e49c195cd30e1bf4b7f0e039e8b3c46802cd55485947ddcb96caa27/bcrypt-4.1.3-cp37-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "33313a1200a3ae90b75587ceac502b048b840fc69e7f7a0905b5f87fac7a1258", - "url": "https://files.pythonhosted.org/packages/72/07/6a6f2047a9dc9d012b7b977e4041d37d078b76b44b7ee4daf331c1e6fb35/bcrypt-4.1.2.tar.gz" + "hash": "4a8bea4c152b91fd8319fef4c6a790da5c07840421c2b785084989bf8bbb7455", + "url": "https://files.pythonhosted.org/packages/7c/8d/ad2efe0ec57ed3c25e588c4543d946a1c72f8ee357a121c0e382d8aaa93f/bcrypt-4.1.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "387e7e1af9a4dd636b9505a465032f2f5cb8e61ba1120e79a0e1cd0b512f3dfc", - "url": "https://files.pythonhosted.org/packages/72/3d/925adb5f5bef7616b504227a431fcaadd9630044802b5c81a31a560b4369/bcrypt-4.1.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "5f7cd3399fbc4ec290378b541b0cf3d4398e4737a65d0f938c7c0f9d5e686611", + "url": "https://files.pythonhosted.org/packages/97/00/21e34b365b895e6faf9cc5d4e7b97dd419e08f8a7df119792ec206b4a3fa/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "69057b9fc5093ea1ab00dd24ede891f3e5e65bee040395fb1e66ee196f9c9b4a", - "url": "https://files.pythonhosted.org/packages/85/23/756228cbc426049c264c86d163ec1b4fb1b06114f26b25fb63132af56126/bcrypt-4.1.2-cp39-abi3-musllinux_1_2_x86_64.whl" + "hash": "6717543d2c110a155e6821ce5670c1f512f602eabb77dba95717ca76af79867d", + "url": "https://files.pythonhosted.org/packages/9c/64/a016d23b6f513282d8b7f9dd91342929a2e970b2e2c2576d9b76f8f2ee5a/bcrypt-4.1.3-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b90e216dc36864ae7132cb151ffe95155a37a14e0de3a8f64b49655dd959ff9c", - "url": "https://files.pythonhosted.org/packages/88/fd/6025f5530e6ac2513404aa2ab3fb935b9d992dbf24f255f03b5972dace74/bcrypt-4.1.2-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "f5698ce5292a4e4b9e5861f7e53b1d89242ad39d54c3da451a93cac17b61921a", + "url": "https://files.pythonhosted.org/packages/a4/9a/4aa31d1de9369737cfa734a60c3d125ecbd1b3ae2c6499986d0ac160ea8b/bcrypt-4.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "6cad43d8c63f34b26aef462b6f5e44fdcf9860b723d2453b5d391258c4c8e966", - "url": "https://files.pythonhosted.org/packages/91/21/6350647549656138a067788d67bdb5ee89ffc2f025618ebf60d3806274c4/bcrypt-4.1.2-cp37-abi3-manylinux_2_28_x86_64.whl" + "hash": "0d4cf6ef1525f79255ef048b3489602868c47aea61f375377f0d00514fe4a78c", + "url": "https://files.pythonhosted.org/packages/a8/eb/fbea8d2b370a4cc7f5f0aff9f492177a5813e130edeab9dd388ddd3ef1dc/bcrypt-4.1.3-cp39-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "71b8be82bc46cedd61a9f4ccb6c1a493211d031415a34adde3669ee1b0afbb63", - "url": "https://files.pythonhosted.org/packages/a4/72/a1276d2fbf5d1af0e29ff9fb5220ce1d49a5f94ccbfb4f9141c963ff9d0e/bcrypt-4.1.2-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "193bb49eeeb9c1e2db9ba65d09dc6384edd5608d9d672b4125e9320af9153a15", + "url": "https://files.pythonhosted.org/packages/af/a1/36aa84027ef45558b30a485bc5b0606d5e7357b27b10cc49dce3944f4d1d/bcrypt-4.1.3-cp37-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3566a88234e8de2ccae31968127b0ecccbb4cddb629da744165db72b58d88ca4", - "url": "https://files.pythonhosted.org/packages/ac/c5/243674ec98288af9da31f5b137686746986d5d298dc520e243032160fd1b/bcrypt-4.1.2-cp39-abi3-musllinux_1_1_x86_64.whl" + "hash": "2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623", + "url": "https://files.pythonhosted.org/packages/ca/e9/0b36987abbcd8c9210c7b86673d88ff0a481b4610630710fb80ba5661356/bcrypt-4.1.3.tar.gz" }, { "algorithm": "sha256", - "hash": "f70d9c61f9c4ca7d57f3bfe88a5ccf62546ffbadf3681bb1e268d9d2e41c91a7", - "url": "https://files.pythonhosted.org/packages/b6/1b/1c1cf4efe142dfe6fab912c16766d3eab65b87f33f1d13a08238afce5fdf/bcrypt-4.1.2-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "c4c8d9b3e97209dd7111bf726e79f638ad9224b4691d1c7cfefa571a09b1b2d6", + "url": "https://files.pythonhosted.org/packages/e0/c9/069b0c3683ce969b328b7b3e3218f9d5981d0629f6091b3b1dfa72928f75/bcrypt-4.1.3-cp39-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b8df79979c5bae07f1db22dcc49cc5bccf08a0380ca5c6f391cbb5790355c0b0", - "url": "https://files.pythonhosted.org/packages/bf/26/ec53ccf5cadc81891d53cf0c117cff0f973d98cab6e9d6979578ca5aceeb/bcrypt-4.1.2-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "9f8ea645eb94fb6e7bea0cf4ba121c07a3a182ac52876493870033141aa687bc", + "url": "https://files.pythonhosted.org/packages/f6/79/5dd98e9f67701be98d52f7ee181aa3b078d45eab62ed5f9aa987676d049c/bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "ac621c093edb28200728a9cca214d7e838529e557027ef0581685909acd28b5e", - "url": "https://files.pythonhosted.org/packages/df/cc/5a73c2ecfa9f255423530e8aeaceb0590da12e4c83c99fdac17093f5ce42/bcrypt-4.1.2-cp37-abi3-macosx_10_12_universal2.whl" + "hash": "48429c83292b57bf4af6ab75809f8f4daf52aa5d480632e53707805cc1ce9b74", + "url": "https://files.pythonhosted.org/packages/fe/4e/e424a74f0749998d8465c162c5cb9d9f210a5b60444f4120eff0af3fa800/bcrypt-4.1.3-cp37-abi3-macosx_10_12_universal2.whl" } ], "project_name": "bcrypt", @@ -422,7 +412,7 @@ "pytest!=3.3.0,>=3.2.1; extra == \"tests\"" ], "requires_python": ">=3.7", - "version": "4.1.2" + "version": "4.1.3" }, { "artifacts": [ @@ -449,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": [ { @@ -624,19 +632,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": [ @@ -994,151 +1002,133 @@ "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": [ - { - "algorithm": "sha256", - "hash": "f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac", - "url": "https://files.pythonhosted.org/packages/50/be/92ce909d5d5b361780e21e0216502f72e5d8f9b2d73bcfde1ca5f791630b/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" + "hash": "c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9", + "url": "https://files.pythonhosted.org/packages/47/f9/3a73439e4a3873ed2b5ffed9aa1361b3db2cf8f462c5c926e556b50c9c7b/cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc", - "url": "https://files.pythonhosted.org/packages/0e/1d/62a2324882c0db89f64358dadfb95cae024ee3ba9fde3d5fd4d2f58af9f5/cryptography-42.0.5-cp39-abi3-manylinux_2_28_aarch64.whl" + "hash": "1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886", + "url": "https://files.pythonhosted.org/packages/0a/8b/2a41805540e49df1ea053f0dfef0340964fe422d61f6e398d16bf6c4013b/cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1", - "url": "https://files.pythonhosted.org/packages/13/9e/a55763a32d340d7b06d045753c186b690e7d88780cafce5f88cb931536be/cryptography-42.0.5.tar.gz" + "hash": "e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562", + "url": "https://files.pythonhosted.org/packages/2b/e5/2220313802146732cf885f5bdf903d7d9075d9771fcbda9c9756f708e76e/cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da", - "url": "https://files.pythonhosted.org/packages/2c/9c/821ef6144daf80360cf6093520bf07eec7c793103ed4b1bf3fa17d2b55d8/cryptography-42.0.5-cp37-abi3-musllinux_1_2_x86_64.whl" + "hash": "2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82", + "url": "https://files.pythonhosted.org/packages/39/56/45e7db74b8bd14e32238a7709c94fd40dbe9a38dccec6afb43afcc6cad84/cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e", - "url": "https://files.pythonhosted.org/packages/3f/ae/61d7c256bd8285263cdb5c9ebebcf66261bd0765ed255a074dc8d5304362/cryptography-42.0.5-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" + "hash": "2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1", + "url": "https://files.pythonhosted.org/packages/45/df/f2f6cc5124fb85ff84615d62b996997b22a1c7c37a5ff3f5e8907a5ffa86/cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a", - "url": "https://files.pythonhosted.org/packages/48/c8/c0962598c43d3cff2c9d6ac66d0c612bdfb1975be8d87b8889960cf8c81d/cryptography-42.0.5-cp39-abi3-manylinux_2_28_x86_64.whl" + "hash": "4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd", + "url": "https://files.pythonhosted.org/packages/4d/21/aa22aedd528839c09cf867b02124ff41109859c80c1bf18b9de342157f95/cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1", - "url": "https://files.pythonhosted.org/packages/50/26/248cd8b6809635ed412159791c0d3869d8ec9dfdc57d428d500a14d425b7/cryptography-42.0.5-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a", + "url": "https://files.pythonhosted.org/packages/53/f7/25186f6ef7df5dc1883ceee11f20305749a7f49ee4066a21818cbe67514e/cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.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" + "hash": "e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da", + "url": "https://files.pythonhosted.org/packages/55/12/6cdd1914e3b443f10f27c1b249cbdab0134962c3cfce25f1b4ae2d087ebf/cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1", - "url": "https://files.pythonhosted.org/packages/5b/3d/c3c21e3afaf43bacccc3ebf61d1a0d47cef6e2607dbba01662f6f9d8fc40/cryptography-42.0.5-cp37-abi3-musllinux_1_1_x86_64.whl" + "hash": "31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda", + "url": "https://files.pythonhosted.org/packages/61/fc/bc9d580e480741c05fc6df6f9774dfe33ae42905361661d5d2616476bb62/cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7", - "url": "https://files.pythonhosted.org/packages/64/f7/d3c83c79947cc6807e6acd3b2d9a1cbd312042777bc7eec50c869913df79/cryptography-42.0.5-cp37-abi3-manylinux_2_28_x86_64.whl" + "hash": "02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55", + "url": "https://files.pythonhosted.org/packages/64/0c/36f71286fef9987f0e850f9b9a78a41784fe7f66c3b7611530b6bb0ecec4/cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7", - "url": "https://files.pythonhosted.org/packages/69/f6/630eb71f246208103ffee754b8375b6b334eeedb28620b3ae57be815eeeb/cryptography-42.0.5-cp39-abi3-musllinux_1_1_aarch64.whl" + "hash": "ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2", + "url": "https://files.pythonhosted.org/packages/78/63/66c03eb51f0d241862083deb3f17ab5fce08cf6b347db7887bcb4d1a194e/cryptography-42.0.7.tar.gz" }, { "algorithm": "sha256", - "hash": "5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8", - "url": "https://files.pythonhosted.org/packages/6d/4d/f7c14c7a49e35df829e04d451a57b843208be7442c8e087250c195775be1/cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl" + "hash": "0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785", + "url": "https://files.pythonhosted.org/packages/79/fd/4525835d3e42e2db30169d42215ce74762f447fcbf01ed02f74f59bd74cb/cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.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" + "hash": "efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9", + "url": "https://files.pythonhosted.org/packages/7b/4e/fa4896744259ee8602464ed2c7330b736cc4dd3fd92f63cd56828bf36707/cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922", - "url": "https://files.pythonhosted.org/packages/7d/bc/b6c691c960b5dcd54c5444e73af7f826e62af965ba59b6d7e9928b6489a2/cryptography-42.0.5-cp39-abi3-musllinux_1_1_x86_64.whl" + "hash": "779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858", + "url": "https://files.pythonhosted.org/packages/80/91/762c76c55db47cb94e1ba91ec6734a4f1e64466cbef5ef8cd63c5ab4f31c/cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278", - "url": "https://files.pythonhosted.org/packages/8c/50/9185cca136596448d9cc595ae22a9bd4412ad35d812550c37c1390d54673/cryptography-42.0.5-cp37-abi3-manylinux_2_28_aarch64.whl" + "hash": "5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc", + "url": "https://files.pythonhosted.org/packages/81/17/0294e576979d7f388855bf64b3cc6d9fc08168cdf6833ff0df3ad0ee6580/cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.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" + "hash": "362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60", + "url": "https://files.pythonhosted.org/packages/a8/0f/35ffbbc42db7e61af62298ed057ac43fb958025f5191ce9720e6b8bc4127/cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc", - "url": "https://files.pythonhosted.org/packages/c2/40/c7cb9d6819b90640ffc3c4028b28f46edc525feaeaa0d98ea23e843d446d/cryptography-42.0.5-cp39-abi3-musllinux_1_2_aarch64.whl" + "hash": "a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477", + "url": "https://files.pythonhosted.org/packages/aa/b5/57982a4ca3542daeabee2303263a8b9d59968d47a1977a36f6aa9344e32e/cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30", - "url": "https://files.pythonhosted.org/packages/ca/2e/9f2c49bd6a18d46c05ec098b040e7d4599c61f50ced40a39adfae3f68306/cryptography-42.0.5-cp39-abi3-musllinux_1_2_x86_64.whl" + "hash": "93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13", + "url": "https://files.pythonhosted.org/packages/bf/75/a04c67c659888d03f164f58851a3522c16d3c09ce3de5734e6e34b48ec6d/cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16", - "url": "https://files.pythonhosted.org/packages/d1/f1/fd98e6e79242d9aeaf6a5d49639a7e85f05741575af14d3f4a1d477f572e/cryptography-42.0.5-cp37-abi3-macosx_10_12_universal2.whl" + "hash": "a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8", + "url": "https://files.pythonhosted.org/packages/c9/26/4668c980f63a04c697bac26559c1a2a3a2d0730dc3d0f88b87ed7abf76ca/cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e", - "url": "https://files.pythonhosted.org/packages/d4/fa/057f9d7a5364c86ccb6a4bd4e5c58920dcb66532be0cc21da3f9c7617ec3/cryptography-42.0.5-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4", + "url": "https://files.pythonhosted.org/packages/cf/c2/8226676b3a4916a12d6c243b1934894e333ea2e97d0233f3260955ed2673/cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl" }, { "algorithm": "sha256", - "hash": "16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d", - "url": "https://files.pythonhosted.org/packages/d8/b1/127ecb373d02db85a7a7de5093d7ac7b7714b8907d631f0591e8f002998d/cryptography-42.0.5-cp37-abi3-musllinux_1_2_aarch64.whl" + "hash": "7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2", + "url": "https://files.pythonhosted.org/packages/d4/08/57c7815d3bb5edeb95da7845cfbd9604393eee955fe139710014f107dac5/cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec", - "url": "https://files.pythonhosted.org/packages/d9/f9/27dda069a9f9bfda7c75305e222d904cc2445acf5eab5c696ade57d36f1b/cryptography-42.0.5-cp37-abi3-macosx_10_12_x86_64.whl" + "hash": "3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f", + "url": "https://files.pythonhosted.org/packages/f2/0d/5476959d71a4c427cf02f278a8984cb4197e6a41417961defd8f0aba88f5/cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl" }, { "algorithm": "sha256", - "hash": "2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb", - "url": "https://files.pythonhosted.org/packages/e2/59/61b2364f2a4d3668d933531bc30d012b9b2de1e534df4805678471287d57/cryptography-42.0.5-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604", + "url": "https://files.pythonhosted.org/packages/f3/df/f528d1deadd8699f876775c59784ce111bb8b2b0c258c53b16fcf91cad33/cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee", - "url": "https://files.pythonhosted.org/packages/e5/61/67e090a41c70ee526bd5121b1ccabab85c727574332d03326baaedea962d/cryptography-42.0.5-cp37-abi3-musllinux_1_1_aarch64.whl" + "hash": "d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14", + "url": "https://files.pythonhosted.org/packages/fa/c8/6dfec89eb609a1fb7b5cf3df35914611582c58dde3d3045fdaedb2853d7b/cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6", - "url": "https://files.pythonhosted.org/packages/ea/fa/b0cd7f1cd011b52196e01195581119d5e2b802a35e21f08f342d6640aaae/cryptography-42.0.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" + "hash": "a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e", + "url": "https://files.pythonhosted.org/packages/fd/b8/08bdd08847b42a9d6d29604bdf6db0521b9c71f5334f0838e082a68b3684/cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl" }, { "algorithm": "sha256", - "hash": "329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4", - "url": "https://files.pythonhosted.org/packages/fb/0b/14509319a1b49858425553d2fb3808579cfdfe98c1d71a3f046c1b4e0108/cryptography-42.0.5-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7", + "url": "https://files.pythonhosted.org/packages/fd/eb/b03078f34bfe9c11339773a49c75cb2232471bc7b56b3c353b6a27aed8e8/cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl" } ], "project_name": "cryptography", @@ -1165,7 +1155,7 @@ "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"" ], "requires_python": ">=3.7", - "version": "42.0.5" + "version": "42.0.7" }, { "artifacts": [ @@ -1227,23 +1217,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": [ @@ -1367,27 +1372,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": [ @@ -1825,13 +1831,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa", - "url": "https://files.pythonhosted.org/packages/30/6d/6de6be2d02603ab56e72997708809e8a5b0fbfee080735109b40a3564843/Jinja2-3.1.3-py3-none-any.whl" + "hash": "bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", + "url": "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90", - "url": "https://files.pythonhosted.org/packages/b2/5e/3a21abf3cd467d7876045335e681d276ac32492febe6d98ad89562d1a7e1/Jinja2-3.1.3.tar.gz" + "hash": "4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", + "url": "https://files.pythonhosted.org/packages/ed/55/39036716d19cab0747a5020fc7e907f362fbf48c984b14e62127f7e68e5d/jinja2-3.1.4.tar.gz" } ], "project_name": "jinja2", @@ -1840,7 +1846,7 @@ "MarkupSafe>=2.0" ], "requires_python": ">=3.7", - "version": "3.1.3" + "version": "3.1.4" }, { "artifacts": [ @@ -2061,184 +2067,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": "cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", - "url": "https://files.pythonhosted.org/packages/04/69/c31e837e4bb5532b02d297152464b2cb8a0edeb9bef762c015e9b4e95e16/MarkupSafe-2.0.1-cp310-cp310-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" - }, - { - "algorithm": "sha256", - "hash": "7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", - "url": "https://files.pythonhosted.org/packages/1d/c5/1d1b42c65f96ee7b0c81761260878d1a1dc0afdf259e434b7d7af88a80a3/MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.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" - }, - { - "algorithm": "sha256", - "hash": "36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", - "url": "https://files.pythonhosted.org/packages/21/84/e090d999105fe0f3e1d955725ed2c9aeebc649ee83edab0e73d353d47e5d/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", - "url": "https://files.pythonhosted.org/packages/50/99/06eccf68be0bff67ab9a0b90b5382c04769f9ad2e42cae5e5e92f99380cd/MarkupSafe-2.0.1-cp39-cp39-manylinux1_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" - }, - { - "algorithm": "sha256", - "hash": "20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", - "url": "https://files.pythonhosted.org/packages/51/c3/7154db2b7d5b24875e1f1c42bab87a46af688bd6a5c89a90c60053cb6b33/MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", - "url": "https://files.pythonhosted.org/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", - "url": "https://files.pythonhosted.org/packages/5a/98/3303496a5d19aabba67c443ba1df6ee1bec94549b3f8976f90c06a6942e6/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_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": "4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", - "url": "https://files.pythonhosted.org/packages/5a/ff/34bdcd8cc794f692588de0b3f4c1aa7ec0d17716fda9d874836ed68775c1/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.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": "53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", - "url": "https://files.pythonhosted.org/packages/66/66/b5891704372c9f5d97432933bdd7e9b5a0647fad9170c72bb7f486550c43/MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.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": "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": "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": "47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", - "url": "https://files.pythonhosted.org/packages/68/ba/7a5ca0f9b4239e6fd846dd54c0b5928187355fa62fbdbd13e1c5942afae7/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.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": "ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", - "url": "https://files.pythonhosted.org/packages/6f/83/eabfb8c6d60b096dc9ada378cf935809289c4d0327b74a60789bde77e1db/MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.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": "be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", - "url": "https://files.pythonhosted.org/packages/70/56/f81c0cfbc22882df36358ecdedc5474571183e5a5adde1e237079acee437/MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.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": "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": "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": "d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", - "url": "https://files.pythonhosted.org/packages/81/8b/f28eac2790d49dde61f89ae9e007ac65002edc90bb2dd63c3b9e653820d2/MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.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": "4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", - "url": "https://files.pythonhosted.org/packages/8f/87/4668ce3963e942a9aa7b13212158e74bf063a2461138b7ed5a043ac6aa79/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.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": "01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", - "url": "https://files.pythonhosted.org/packages/92/ac/94771b65ac9f77cf37e43b38516697bbc4e128ee152b68d596ae44c6c896/MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.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": "aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", - "url": "https://files.pythonhosted.org/packages/95/18/b7a45c16635acafdf6837a6fd4c71acfe5bad202884c6fcbae4ea0763dde/MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.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": "4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", - "url": "https://files.pythonhosted.org/packages/a4/c8/9d2161b2080cb69c8834d1c34a399685347523acbfc923b203ad27bf1215/MarkupSafe-2.0.1-cp310-cp310-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": "c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", - "url": "https://files.pythonhosted.org/packages/a6/d1/a7b97d0e000336c4e06bfce7e08dcb2b47fc5091146ee883dfac6cb4842e/MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e", - "url": "https://files.pythonhosted.org/packages/a7/55/a576835b6b95af21d15f69eaf14c4fb1358fd48475f2b9813abd9654132e/MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.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": "f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", - "url": "https://files.pythonhosted.org/packages/ae/70/8dd5f2c0aab82431c9c619a2c4fbd1742fc0fb769d8d7b275ae1d03eb3a5/MarkupSafe-2.0.1-cp39-cp39-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": "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", - "url": "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz" + "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": "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": "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": "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": "d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", + "url": "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz" }, { "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": "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": "2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", - "url": "https://files.pythonhosted.org/packages/dd/8f/d0c570c851f70377ca6f344531fab4b6b01a99a9d2a801b25d6fd75525e5/MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.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": "6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", - "url": "https://files.pythonhosted.org/packages/e4/9b/c7b55a2f587368d69eb6dc36e285010ab0bbb74323833d501921e08e2728/MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", - "url": "https://files.pythonhosted.org/packages/e6/57/e9d243b12918f22bc3aa1392db7821dcb643a120e87b3f8c9bc7e1ad33f1/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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": "97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", - "url": "https://files.pythonhosted.org/packages/eb/3b/1cddaf0338a031ef5c2e1d9d74f2d607d564748a933b44de6edfe7a2a880/MarkupSafe-2.0.1-cp38-cp38-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": "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": [ @@ -2505,13 +2461,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", @@ -2519,215 +2475,163 @@ "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": [ { "algorithm": "sha256", - "hash": "99e270b6a13027ed4c26c2b75b06c2cfb950934c8eb0400d70f4e6919bfe24f4", - "url": "https://files.pythonhosted.org/packages/44/97/ee936f18cf0696c2c3dafa646e2e396e54f34486728af9e000ad8797f817/orjson-3.10.2-cp39-cp39-musllinux_1_2_x86_64.whl" + "hash": "b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8", + "url": "https://files.pythonhosted.org/packages/a9/b7/2c3e6091377bbf582f4304d8235bb9ebe96254e7a1632d6616a6d37c8977/orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "712cb3aa976311ae53de116a64949392aa5e7dcceda6769d5d7169d303d5ed09", - "url": "https://files.pythonhosted.org/packages/10/83/4b1c92fe69c681871e0c8170b3745a3edf25f286ea438b09103bdded2b63/orjson-3.10.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3", + "url": "https://files.pythonhosted.org/packages/05/0f/561c1215a0f680abcd3d16c3480fb060f8ae6ce3605910f98481efc612af/orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "e33ac7a6b081688a2167b501c9813aa6ec1f2cc097c47ab5f33cca3e875da9dc", - "url": "https://files.pythonhosted.org/packages/14/fb/9ab746c91e7013828ee1fca5ce45e61b09200b810221f9474469872c6ee5/orjson-3.10.2-cp38-cp38-musllinux_1_2_x86_64.whl" + "hash": "9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8", + "url": "https://files.pythonhosted.org/packages/0b/d6/8def11fe38145173b6b565326d1eee8ee15460ad73cb92201bd9ac347b76/orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "47affe9f704c23e49a0fbb9d441af41f602474721e8639e8814640198f9ae32f", - "url": "https://files.pythonhosted.org/packages/18/25/6ced806f4d96a386f535f1ef85d49b4e043e11bb7fa27bd87eea506a82df/orjson-3.10.2.tar.gz" + "hash": "16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5", + "url": "https://files.pythonhosted.org/packages/10/56/07f3fab48577c83f673b96474b9de038b9b888004767919abb25ba31246a/orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "f4e67821e3c1f0ec5dbef9dbd0bc9cd0fe4f0d8ba5d76a07038ee3843c9ac98a", - "url": "https://files.pythonhosted.org/packages/39/7e/0ab5ef70a1c8b2a86b58b3a8e629bfb06b33563233a9b57336bb03b16167/orjson-3.10.2-cp310-cp310-musllinux_1_2_aarch64.whl" + "hash": "c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d", + "url": "https://files.pythonhosted.org/packages/21/55/ee083a83a87597ce59c3ccde0c794e8ac7e1769a869460f7ba1343a95fa3/orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "2f3e05f70ab6225ba38504a2be61935d6ebc09de2b1bc484c30cb96ca4fa24b8", - "url": "https://files.pythonhosted.org/packages/3b/a1/c7900d5d3ca58bc0a7fb0a25ae34458fe039ecf2d5a3eac640b4f1bb5680/orjson-3.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d", + "url": "https://files.pythonhosted.org/packages/2f/95/52692444ea09ce1864ebf7b5b088b76fe07603b94b9f98e7933998fa15c2/orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "09b51caf8720b6df448acf764312d4678aeed6852ebfa6f3aa28b6061155ffef", - "url": "https://files.pythonhosted.org/packages/40/18/8f452c04e0d0855c8669f855a8b57a42204d7a435bae9b4251f6c05f408e/orjson-3.10.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa", + "url": "https://files.pythonhosted.org/packages/48/5d/55911935d5e624f12435772b157406914597bc59e7c6724b74b42aa9c207/orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "51a7b67c8cddf1a9de72d534244590103b1f17b2105d3bdcb221981bd97ab427", - "url": "https://files.pythonhosted.org/packages/40/5b/3d7af01dfa2ab5ee497d9b136400f7e6fd5857d13a1215a4da590ce96da8/orjson-3.10.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195", + "url": "https://files.pythonhosted.org/packages/5b/b3/09746df5af83bb18f5743eddb4148ae71ebc988fa76c28a3964dd927b906/orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "c1b79526bd039e775ad0f558800c3cd9f3bde878a1268845f63984d37bcbb5d1", - "url": "https://files.pythonhosted.org/packages/4a/8f/10d3ca275a1c67586ec9b5bed4ce5ffc20b4ff98aa7fa7f1f315f5a601ba/orjson-3.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7", + "url": "https://files.pythonhosted.org/packages/6f/83/40a72ec9fd4b32c07ae2f96bf21789129f3165f3edc2163336fa164f10e2/orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "c44787769d93d1ef9f25a80644ef020e0f30f37045d6336133e421a414c8fe51", - "url": "https://files.pythonhosted.org/packages/4f/f0/82ee6056c08ac2a76fee52377377d4fcf7ce288ab707efa5d04ca58c74d9/orjson-3.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da", + "url": "https://files.pythonhosted.org/packages/72/b8/e81754e5c774f6e4ada8dc9eae4ae3fb74417185cdbeb8c57b2e0421df66/orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "24877561fe96a3736224243d6e2e026a674a4ddeff2b02fdeac41801bd261c87", - "url": "https://files.pythonhosted.org/packages/5a/ed/bdd2d6c4863a34b1a925236a045220fd9a4de9f70eac3255d78d5b95271e/orjson-3.10.2-cp310-cp310-musllinux_1_2_x86_64.whl" + "hash": "9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0", + "url": "https://files.pythonhosted.org/packages/9a/f6/d72711176ba81705f01e544f0834c254aceea9eee90ddc9c3eb749ccb3ae/orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "53a43b18d280c8d18cb18437921a05ec478b908809f9e89ad60eb2fdf0ba96ac", - "url": "https://files.pythonhosted.org/packages/6d/8e/8a6b837db7867b80b137c11831182d1bb954972b4b468f242a13089e716a/orjson-3.10.2-cp39-cp39-musllinux_1_2_aarch64.whl" + "hash": "0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b", + "url": "https://files.pythonhosted.org/packages/9e/38/8b9b507da1ce73c0ceca2d2e5b0cb44a4ddf75705d960f3b4b7faf4569a1/orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d26302b13e3f542b3e1ad1723e3543caf28e2f372391d21e1642de29c06e6209", - "url": "https://files.pythonhosted.org/packages/78/e2/f0cc37fa472e06eaa803a6e8a6fe15bbbc727b436a8937a26b018a273e97/orjson-3.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d", + "url": "https://files.pythonhosted.org/packages/b4/64/608b46a4b77f57df185953e658054e50efaa6461356718215d79f9ab843b/orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "9db3e6f23a6c9ce6c883a8e10e0eae0e2895327fb6e2286019b13153e59c672f", - "url": "https://files.pythonhosted.org/packages/84/93/5bcab9788c8fbe4fe010804f2724bb4b46142761ff5bfeb903741d75f9da/orjson-3.10.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25", + "url": "https://files.pythonhosted.org/packages/bf/a0/4ddc190c381a382264598684b8587ae76565706054a5c4e0e011342b9d2e/orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "cde123c227e28ef9bba7092dc88abbd1933a0d7c17c58970c8ed8ec804e7add5", - "url": "https://files.pythonhosted.org/packages/98/05/436590bb81757da69480107817c264bb026e085679553f17bd5ecf93ae9b/orjson-3.10.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d", + "url": "https://files.pythonhosted.org/packages/c3/00/9af9aa5fb36a0e813c67e4db603a519e121be951eba21b270300fbfbf0d2/orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" }, { "algorithm": "sha256", - "hash": "201bf2b96ba39941254ef6b02e080660861e1444ec50be55778e1c38446c2d39", - "url": "https://files.pythonhosted.org/packages/aa/ad/f5e74b33954882314e96453cb949791f1549dab38dc4237c5a9812827a4b/orjson-3.10.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294", + "url": "https://files.pythonhosted.org/packages/c7/8a/d8908409cb4fc9d53382ddc6219789710c3f990f5821a708fdc257c8edf9/orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "9ceb283b8c048fb20bd1c703b10e710783a4f1ba7d5654358a25db99e9df94d5", - "url": "https://files.pythonhosted.org/packages/c2/0f/bb15f52a99d5db2e4a663d56716f158d091212ee3e3633c5474062aa77ed/orjson-3.10.2-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7", + "url": "https://files.pythonhosted.org/packages/d4/33/f95e299ab0d4adcc235404bd30f348668e05ca8011acf3d2ac682fccc6bb/orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" }, { "algorithm": "sha256", - "hash": "4e427ce004fe15e13dcfdbd6c9dc936abf83d85d2164ec415a8bd90954f6f781", - "url": "https://files.pythonhosted.org/packages/cb/94/59b97cf6fe1ebfd950ed35f7738355d21d508d98ca15dccb599ed68d5765/orjson-3.10.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" + "hash": "4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754", + "url": "https://files.pythonhosted.org/packages/e1/6c/1b29b2d275c850064acfeeabb778e3e87963776b417f2668a988a2f2dfd3/orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "87124c1b3471a072fda422e156dd7ef086d854937d68adc266f17f32a1043c95", - "url": "https://files.pythonhosted.org/packages/db/42/8782c75f8045fc39a6d8fb0800e4ba9c6250a2bb6448b01028dffa4bc651/orjson-3.10.2-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78", + "url": "https://files.pythonhosted.org/packages/e1/c9/0a7b8411002c6d9c58f9990fffd19f1b7fc05e9fd7f4c85b258b318b7ece/orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" }, { "algorithm": "sha256", - "hash": "f124d7e813e7b3d56bb7841d3d0884fec633f5f889a27a158d004b6b37e5ca98", - "url": "https://files.pythonhosted.org/packages/db/cf/fed86b1265ef334dbb577f6ebdf9f0f2ece5132d606516cabb1a57fd76b5/orjson-3.10.2-cp38-cp38-musllinux_1_2_aarch64.whl" + "hash": "cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2", + "url": "https://files.pythonhosted.org/packages/f1/fc/8dfb5a14daa5a4b54c9d5d3780722b4f717b06c8dabbdad8e272b117a680/orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "97f6dc97a6b2833a0d77598e7d016b6d964e4b0bc9576c89aa9a16fcf8ac902d", - "url": "https://files.pythonhosted.org/packages/e0/2c/e9f9e90bae2f8b8a41b452aef428a38c6bbba654673f0aa3df92e57ccc33/orjson-3.10.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" + "hash": "2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818", + "url": "https://files.pythonhosted.org/packages/f8/16/c10c42b69beeebe8bd136ee28b76762837479462787be57f11e0ab5d6f5d/orjson-3.10.3.tar.gz" }, { "algorithm": "sha256", - "hash": "27158a75e7239145cf385d2318fdb27fbcd1fc494a470ee68287147c8b214cb1", - "url": "https://files.pythonhosted.org/packages/ef/ee/b4a87db55138417364e7289f0e53fc8eb6c623a433cdf18086b089e49a88/orjson-3.10.2-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" + "hash": "382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7", + "url": "https://files.pythonhosted.org/packages/fa/c1/89e0750f922e4cc713c4ed51c423a70b9e9702a090e69cd82057e82721b8/orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl" } ], "project_name": "orjson", "requires_dists": [], "requires_python": ">=3.8", - "version": "3.10.2" + "version": "3.10.3" }, { "artifacts": [ { "algorithm": "sha256", - "hash": "4857472090b6a48dcc8ff3f8f3d0ec5145270ecb253d84aec3f98e2fd14bc9dc", - "url": "git+https://github.com/StackStorm/orquesta.git@v1.6.0" + "hash": "b4fe6da88b4f9ecfdcba1f2a94f33dee79a733f404a9b117c01482b41e225881", + "url": "git+https://github.com/nzlosh/orquesta.git@st2v39_compat" } ], "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" @@ -2983,13 +2887,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1", - "url": "https://files.pythonhosted.org/packages/b0/15/1691fa5aaddc0c4ea4901c26f6137c29d5f6673596fe960a0340e8c308e1/platformdirs-4.2.1-py3-none-any.whl" + "hash": "2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", + "url": "https://files.pythonhosted.org/packages/68/13/2aa1f0e1364feb2c9ef45302f387ac0bd81484e9c9a4c5688a322fbdfd08/platformdirs-4.2.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf", - "url": "https://files.pythonhosted.org/packages/b2/e4/2856bf61e54d7e3a03dd00d0c1b5fa86e6081e8f262eb91befbe64d20937/platformdirs-4.2.1.tar.gz" + "hash": "38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3", + "url": "https://files.pythonhosted.org/packages/f5/52/0763d1d976d5c262df53ddda8d8d4719eedf9594d046f117c25a27261a19/platformdirs-4.2.2.tar.gz" } ], "project_name": "platformdirs", @@ -3006,7 +2910,7 @@ "sphinx>=7.2.6; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.2.1" + "version": "4.2.2" }, { "artifacts": [ @@ -3226,22 +3130,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", - "url": "https://files.pythonhosted.org/packages/97/9c/372fef8377a6e340b1704768d20daaded98bf13282b5327beb2e2fe2c7ef/pygments-2.17.2-py3-none-any.whl" + "hash": "b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", + "url": "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367", - "url": "https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz" + "hash": "786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", + "url": "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz" } ], "project_name": "pygments", "requires_dists": [ - "colorama>=0.4.6; extra == \"windows-terminal\"", - "importlib-metadata; python_version < \"3.8\" and extra == \"plugins\"" + "colorama>=0.4.6; extra == \"windows-terminal\"" ], - "requires_python": ">=3.7", - "version": "2.17.2" + "requires_python": ">=3.8", + "version": "2.18.0" }, { "artifacts": [ @@ -3998,23 +3901,6 @@ "requires_python": ">=3.7", "version": "5.0.4" }, - { - "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": [ { @@ -4752,38 +4638,25 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c", - "url": "https://files.pythonhosted.org/packages/f4/f1/990741d5bb2487d529d20a433210ffa136a367751e454214013b441c4575/tenacity-8.2.3-py3-none-any.whl" + "hash": "3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185", + "url": "https://files.pythonhosted.org/packages/61/a1/6bb0cbebefb23641f068bb58a2bc56da9beb2b1c550242e3c540b37698f3/tenacity-8.3.0-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a", - "url": "https://files.pythonhosted.org/packages/89/3c/253e1627262373784bf9355db9d6f20d2d8831d79f91e9cca48050cddcc2/tenacity-8.2.3.tar.gz" + "hash": "953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2", + "url": "https://files.pythonhosted.org/packages/32/6c/57df6196ce52c464cf8556e8f697fec5d3469bb8cd319c1685c0a090e0b4/tenacity-8.3.0.tar.gz" } ], "project_name": "tenacity", "requires_dists": [ + "pytest; extra == \"test\"", "reno; extra == \"doc\"", "sphinx; extra == \"doc\"", - "tornado>=4.5; extra == \"doc\"" - ], - "requires_python": ">=3.7", - "version": "8.2.3" - }, - { - "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" + "tornado>=4.5; extra == \"test\"", + "typeguard; extra == \"test\"" ], - "requires_python": null, - "version": "0.1.11" + "requires_python": ">=3.8", + "version": "8.3.0" }, { "artifacts": [ @@ -4929,189 +4802,204 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21", - "url": "https://files.pythonhosted.org/packages/40/da/4eeda413bad5a5d3222076210283b1f2bb0fbf91c751702ad8361498c4ef/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e", + "url": "https://files.pythonhosted.org/packages/23/1c/cfefabb5996e21a1a4348852df7eb7cfc69299143739e86e5b1071c78735/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "a984a3131da7f07563057db1c3020b1350a3e27a8ec46ccbfbf21e5928a43050", + "url": "https://files.pythonhosted.org/packages/01/9c/2387820623455ac81781352e095a119250a9f957717490ad57957d875e56/ujson-5.10.0-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d4dc2fd6b3067c0782e7002ac3b38cf48608ee6366ff176bbd02cf969c9c20fe", + "url": "https://files.pythonhosted.org/packages/03/b4/9be6bc48b8396983fa013a244e2f9fc1defcc0c4c55f76707930e749ad14/ujson-5.10.0-cp38-cp38-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36", - "url": "https://files.pythonhosted.org/packages/02/2d/4d4956140a1c92f06ef8aa1a62a8eb7e99dd2f7f32aa5d2e4a963a4bcf7c/ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl" + "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": "ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1", - "url": "https://files.pythonhosted.org/packages/08/1b/10a58f775ee908a5c32b2e8fd7d6595d23d5272994d81de934764079352f/ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" + "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": "32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562", - "url": "https://files.pythonhosted.org/packages/0b/28/ddbd1f3e7b81be954961bc9c54d5b7594367a6fcd3362ffbd3822514d3b3/ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl" + "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": "ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa", - "url": "https://files.pythonhosted.org/packages/0d/f0/c5083a3562f8422bc4c26b4bbb3a06bc3a62907ad02adcddb8dc7582c487/ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl" + "hash": "7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0", + "url": "https://files.pythonhosted.org/packages/1f/28/bcf6df25c1a9f1989dc2ddc4ac8a80e246857e089f91a9079fd8a0a01459/ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc", - "url": "https://files.pythonhosted.org/packages/20/05/908ffe907b698811a32a60560c71d968f441a41a55af1608f0b5129d390e/ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1", + "url": "https://files.pythonhosted.org/packages/32/56/c8be7aa5520b96ffca82ab77112429fa9ed0f805cd33ad3ab3e6fe77c6e6/ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f", - "url": "https://files.pythonhosted.org/packages/22/fb/e5531dd0d0de2d5d1aff2e6a0b78299f2f9b611d2cd67954c1dfe064aae6/ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "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": "f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e", - "url": "https://files.pythonhosted.org/packages/35/84/e8ef8d94e18182ecf75949d04406b5ba1433b2fe9cd9b83cc6fae4d30182/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "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": "f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844", - "url": "https://files.pythonhosted.org/packages/37/70/f7a455225de729763c4cd34b06828bbb08478b39bb1409be0b5ec416d8a5/ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl" + "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": "473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4", - "url": "https://files.pythonhosted.org/packages/3c/30/950218fb10fb6c9dd3b50ac6f922805827885fdf358748c2f0aa4a76df1d/ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" + "hash": "dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5", + "url": "https://files.pythonhosted.org/packages/5d/dd/b9a6027ba782b0072bf24a70929e15a58686668c32a37aebfcfaa9e00bdd/ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106", - "url": "https://files.pythonhosted.org/packages/44/4a/11a91a9e2e5f6153d8042821f21ea488a91e8017162212362445118f6660/ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl" + "hash": "2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1", + "url": "https://files.pythonhosted.org/packages/63/eb/2a4ea07165cad217bc842bb684b053bafa8ffdb818c47911c621e97a33fc/ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617", - "url": "https://files.pythonhosted.org/packages/49/64/c563bc163154714a128a7e7403bc3df5e826e8936bf1f5ef602c19626eed/ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "232cc85f8ee3c454c115455195a205074a56ff42608fd6b942aa4c378ac14dd7", + "url": "https://files.pythonhosted.org/packages/66/0b/d3620932fe5619b51cd05162b7169be2158bde88493d6fa9caad46fefb0b/ujson-5.10.0-cp38-cp38-musllinux_1_2_i686.whl" }, { "algorithm": "sha256", - "hash": "0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e", - "url": "https://files.pythonhosted.org/packages/4a/7d/7f5642e81374dbbf9fc9b099a71b62fbb8b565a24cfcd84c13172167bca9/ujson-5.9.0-cp38-cp38-musllinux_1_1_aarch64.whl" + "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": "37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60", - "url": "https://files.pythonhosted.org/packages/50/4f/9541c36bc1342dbea0853d6e75b91094f44f1e5709bca3c16e1a35f6bf84/ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl" + "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": "f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95", - "url": "https://files.pythonhosted.org/packages/5b/10/037af2e0e94375673d4cb479d26c725bfac1bbaa25e2e9cf90fb6aa434ef/ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "hash": "ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996", + "url": "https://files.pythonhosted.org/packages/72/53/d7bdf6afabeba3ed899f89d993c7f202481fa291d8c5be031c98a181eda4/ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl" }, { "algorithm": "sha256", - "hash": "779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d", - "url": "https://files.pythonhosted.org/packages/5f/7f/a5802c527de69d012bf836ff3cc72ca70e0d799dff6034d39f68c27f2d50/ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "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": "89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532", - "url": "https://files.pythonhosted.org/packages/6e/54/6f2bdac7117e89a47de4511c9f01732a283457ab1bf856e1e51aa861619e/ujson-5.9.0.tar.gz" + "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": "7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad", - "url": "https://files.pythonhosted.org/packages/84/79/e8751f45fe1b9da65f48888dd1f15d9244f667d4d1d9293a4a092d0dd7bf/ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4", + "url": "https://files.pythonhosted.org/packages/8d/96/a3a2356ca5a4b67fe32a0c31e49226114d5154ba2464bb1220a93eb383e8/ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5", - "url": "https://files.pythonhosted.org/packages/87/a7/0c17d59df9fb104b04d8137d1b79d089efbb27b58cec2cbbe482969304f4/ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl" + "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": "4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096", - "url": "https://files.pythonhosted.org/packages/8d/7d/f91118d8408eccd54a5cc2d16dfb1f8b9701b8798d38fea5ba3c2c402827/ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl" + "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": "cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c", - "url": "https://files.pythonhosted.org/packages/94/78/343948809148b04e5d0af609520da8a83ad07d4690a25cd41b7270a7c7d5/ujson-5.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "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": "e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402", - "url": "https://files.pythonhosted.org/packages/97/78/39bd02b54497d9295eaba5d597a5490cb2233f506df7db454da4e1d4e670/ujson-5.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b", + "url": "https://files.pythonhosted.org/packages/97/94/50ff2f1b61d668907f20216873640ab19e0eaa77b51e64ee893f6adfb266/ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl" }, { "algorithm": "sha256", - "hash": "d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81", - "url": "https://files.pythonhosted.org/packages/b2/2c/4500b6c1e99e01e2a902ddd8a14d0972d18c05f670c42a64ed65c6361eee/ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl" + "hash": "ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1", + "url": "https://files.pythonhosted.org/packages/9e/82/89404453a102d06d0937f6807c0a7ef2eec68b200b4ce4386127f3c28156/ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl" }, { "algorithm": "sha256", - "hash": "f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124", - "url": "https://files.pythonhosted.org/packages/ba/08/3fc98e5041e9799b0b7a5d842f221c060cb6854751ec894fff90f8a1d50c/ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl" + "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": "ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd", - "url": "https://files.pythonhosted.org/packages/ba/ac/e0f10b6e6979064c4eb17cf6ec201b2137ac1fab787d79379b6013c69d7f/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "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": "bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f", - "url": "https://files.pythonhosted.org/packages/bd/39/bacd7004191d2d9bc8aaf0af102cbc761ab2af7dca649df67888041f84cd/ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "hash": "73814cd1b9db6fc3270e9d8fe3b19f9f89e78ee9d71e8bd6c9a626aeaeaf16bd", + "url": "https://files.pythonhosted.org/packages/b7/8d/0902429667065ee1a30f400ff4f0e97f1139fc958121856d520c35da3d1e/ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl" }, { "algorithm": "sha256", - "hash": "b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427", - "url": "https://files.pythonhosted.org/packages/bd/af/d527c68c72330ef8dd99c1d42a832af306934f87e04584ef754982c46adf/ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" + "hash": "7223f41e5bf1f919cd8d073e35b229295aa8e0f7b5de07ed1c8fddac63a6bc5d", + "url": "https://files.pythonhosted.org/packages/ba/17/940791e0a5fb5e90c2cd44fded53eb666b833918b5e65875dbd3e10812f9/ujson-5.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" }, { "algorithm": "sha256", - "hash": "c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf", - "url": "https://files.pythonhosted.org/packages/ca/6e/8afa69a9c5bc86864bd23c468ce3a0fd8410fffac5c77807b1a7107bebd5/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + "hash": "f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b", + "url": "https://files.pythonhosted.org/packages/be/14/e435cbe5b5189483adbba5fe328e88418ccd54b2b1f74baa4172384bb5cd/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" }, { "algorithm": "sha256", - "hash": "323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851", - "url": "https://files.pythonhosted.org/packages/cd/c9/92ba90de8dd23327d895d62700d1e1c6671431296589f38acaf1454b83d2/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "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": "10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5", - "url": "https://files.pythonhosted.org/packages/d2/33/04447295efcdcfd8afdea8990db10827e1b54c22ff2ea97ccf147345eb2a/ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "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": "ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e", - "url": "https://files.pythonhosted.org/packages/dc/81/a08e0dd66e2b150d328c2bf8091b2be356e9da4abd525eb2a5df12314398/ujson-5.9.0-cp38-cp38-macosx_11_0_arm64.whl" + "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": "d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c", - "url": "https://files.pythonhosted.org/packages/e1/e0/d2d06bd2ed1e84833eaad3777cd4ac4dcea22365a28184c2bc87dfe1f017/ujson-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl" + "hash": "7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804", + "url": "https://files.pythonhosted.org/packages/e8/d9/b6f4d1e6bec20a3b582b48f64eaa25209fd70dc2892b21656b273bc23434/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd", - "url": "https://files.pythonhosted.org/packages/e2/17/f55eaeae6c769ac1abd05cb1002c5e12565f37e6be78a6326139ea2b4e20/ujson-5.9.0-cp38-cp38-musllinux_1_1_i686.whl" + "hash": "d2c75269f8205b2690db4572a4a36fe47cd1338e4368bc73a7a0e48789e2e35a", + "url": "https://files.pythonhosted.org/packages/ef/6a/5c383afd4b099771fe9ad88699424a0f405f65543b762500e653244d5d04/ujson-5.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" }, { "algorithm": "sha256", - "hash": "f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b", - "url": "https://files.pythonhosted.org/packages/e3/16/40e5647a9ad05adbb3ffeed272e2c9d887abd103eb66699968d6cf79d932/ujson-5.9.0-cp38-cp38-musllinux_1_1_x86_64.whl" + "hash": "b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1", + "url": "https://files.pythonhosted.org/packages/f0/00/3110fd566786bfa542adb7932d62035e0c0ef662a8ff6544b6643b3d6fd7/ujson-5.10.0.tar.gz" }, { "algorithm": "sha256", - "hash": "9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378", - "url": "https://files.pythonhosted.org/packages/ed/33/26abf5f1de8361e68c8e327e726586b61c3c393ba09bf682be15fbb5df1e/ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" + "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": "2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e", - "url": "https://files.pythonhosted.org/packages/ef/c4/737ce0c40d94b2048fdd728c0ed0f859a2e06b3098792e31b0d24f17442a/ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + "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", "requires_dists": [], "requires_python": ">=3.8", - "version": "5.9.0" + "version": "5.10.0" }, { "artifacts": [ @@ -5172,13 +5060,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "7aa9982a728ae5892558bff6a2839c00b9ed145523ece2274fad6f414690ae75", - "url": "https://files.pythonhosted.org/packages/ca/28/19728b052c52b588fa117e80561d4b6e872664f4df73628d58593218becd/virtualenv-20.26.1-py3-none-any.whl" + "hash": "a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b", + "url": "https://files.pythonhosted.org/packages/0a/02/085eee8570e807db9a1aa905e18c9123efec753ae9021b029115c6e0bb28/virtualenv-20.26.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "604bfdceaeece392802e6ae48e69cec49168b9c5f4a44e483963f9242eb0e78b", - "url": "https://files.pythonhosted.org/packages/93/9f/97beb3dd55a764ac9776c489be4955380695e8d7a6987304e58778ac747d/virtualenv-20.26.1.tar.gz" + "hash": "82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c", + "url": "https://files.pythonhosted.org/packages/44/5a/cabd5846cb550e2871d9532def625d0771f4e38f765c30dc0d101be33697/virtualenv-20.26.2.tar.gz" } ], "project_name": "virtualenv", @@ -5208,7 +5096,7 @@ "towncrier>=23.6; extra == \"docs\"" ], "requires_python": ">=3.7", - "version": "20.26.1" + "version": "20.26.2" }, { "artifacts": [ @@ -5333,21 +5221,22 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255", - "url": "https://files.pythonhosted.org/packages/c4/44/f50f2d22cdfb6d56c03d1b4cc3cfa03ebee2f21b59a7768f151e43415ba5/Werkzeug-2.1.2-py3-none-any.whl" + "hash": "fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8", + "url": "https://files.pythonhosted.org/packages/9d/6e/e792999e816d19d7fcbfa94c730936750036d65656a76a5a688b57a656c4/werkzeug-3.0.3-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6", - "url": "https://files.pythonhosted.org/packages/10/cf/97eb1a3847c01ae53e8376bc21145555ac95279523a935963dc8ff96c50b/Werkzeug-2.1.2.tar.gz" + "hash": "097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18", + "url": "https://files.pythonhosted.org/packages/02/51/2e0fc149e7a810d300422ab543f87f2bcf64d985eb6f1228c4efd6e4f8d4/werkzeug-3.0.3.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.3" }, { "artifacts": [ @@ -5591,13 +5480,13 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b", - "url": "https://files.pythonhosted.org/packages/c2/0a/ba9d0ee9536d3ef73a3448e931776e658b36f128d344e175bc32b092a8bf/zipp-3.18.1-py3-none-any.whl" + "hash": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e", + "url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl" }, { "algorithm": "sha256", - "hash": "2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715", - "url": "https://files.pythonhosted.org/packages/3e/ef/65da662da6f9991e87f058bc90b91a935ae655a16ae5514660d6460d1298/zipp-3.18.1.tar.gz" + "hash": "6278d9ddbcfb1f1089a88fde84481528b07b0e10474e09dcfe53dad4069fa059", + "url": "https://files.pythonhosted.org/packages/16/e5/8efdac4c61bd5fd24f4face2295103f42790ad2ad0f322e3a81bb8391812/zipp-3.18.2.tar.gz" } ], "project_name": "zipp", @@ -5607,21 +5496,22 @@ "jaraco.functools; extra == \"testing\"", "jaraco.itertools; extra == \"testing\"", "jaraco.packaging>=9.3; extra == \"docs\"", + "jaraco.test; extra == \"testing\"", "jaraco.tidelift>=1.4; extra == \"docs\"", "more-itertools; extra == \"testing\"", + "pytest!=8.1.*,>=6; extra == \"testing\"", "pytest-checkdocs>=2.4; extra == \"testing\"", "pytest-cov; extra == \"testing\"", "pytest-enabler>=2.2; extra == \"testing\"", "pytest-ignore-flaky; extra == \"testing\"", - "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-mypy; extra == \"testing\"", "pytest-ruff>=0.2.1; extra == \"testing\"", - "pytest>=6; extra == \"testing\"", "rst.linker>=1.9; extra == \"docs\"", "sphinx-lint; extra == \"docs\"", "sphinx>=3.5; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "3.18.1" + "version": "3.18.2" }, { "artifacts": [ @@ -5753,7 +5643,6 @@ "pip_version": "23.1.2", "prefer_older_binary": false, "requirements": [ - "PyYAML", "RandomWords", "apscheduler", "argcomplete", @@ -5780,9 +5669,6 @@ "mock", "mongoengine<0.24.0,>=0.21.0", "networkx", - "nose", - "nose-parallel", - "nose-timer", "orjson", "orquesta", "oslo.config", @@ -5804,8 +5690,8 @@ "python-statsd", "pytz", "pywinrm", + "pyyaml", "redis", - "rednose", "requests", "retrying", "routes", From bd629b4b9563146d83d1235273b0dbbe76241752 Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 22:03:25 -0500 Subject: [PATCH 061/110] update fixed-requirements.txt using versions from lockfiles/st2.lock --- fixed-requirements.txt | 23 +++++++++++------------ requirements.txt | 20 ++++++++++---------- st2actions/requirements.txt | 4 ++-- st2auth/requirements.txt | 2 +- st2client/requirements.txt | 10 +++++----- st2common/requirements.txt | 14 +++++++------- st2reactor/requirements.txt | 2 +- 7 files changed, 37 insertions(+), 38 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index c1dcd34cd7..a54be41ddb 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -13,9 +13,8 @@ apscheduler==3.10.4 #chardet==5.2.0 cffi==1.16.0 # NOTE: 2.0 version breaks pymongo work with hosts -#dnspython==2.6.1 -dnspython==1.16.0 -cryptography==42.0.5 +dnspython==2.6.1 +cryptography==42.0.7 eventlet==0.36.1 flex==6.14.1 # Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 @@ -33,7 +32,7 @@ kombu==5.3.7 lockfile==0.12.2 # Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode # 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support -jinja2==3.1.3 +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 @@ -41,7 +40,7 @@ mongoengine==0.23.1 # required by orquesta (networkx<2.6 for py3.6, networkx<3 for py3.8) # 202404: networkx >3.2 doesn't support py3.8 #networkx<3.2 -networkx==2.8.8 +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 @@ -63,7 +62,7 @@ zstandard==0.22.0 # 202403: switch from python-editor to editor for py3.10 support editor==1.6.6 # editor dependency, required here for inclusion in st2client setup.py -pygments==2.17.2 +pygments==2.18.0 python-keyczar==0.716 pytz==2024.1 pywinrm==0.4.3 @@ -87,19 +86,19 @@ typing-extensions==4.11.0 # NOTE: sseclient has various issues which sometimes hang the connection for a long time, etc. sseclient-py==1.8.0 stevedore==5.2.0 -tenacity==8.2.3 +tenacity==8.3.0 tooz==6.1.0 # Note: virtualenv embeds wheels for pip, wheel, and setuptools. So pinning virtualenv pins those as well. # virtualenv==20.26.0 (<21) has pip==24.0 wheel==0.43.0 setuptools==69.5.1 # lockfiles/st2.lock has pip==24.0 wheel==0.43.0 setuptools==69.5.1 -virtualenv==20.26.1 +virtualenv==20.26.2 webob==1.8.7 zake==0.2.2 # test requirements below -bcrypt==4.1.2 +bcrypt==4.1.3 mock==5.1.0 psutil==5.9.8 -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 python-statsd==2.1.0 -orjson==3.10.1 -zipp==3.18.1 +orjson==3.10.3 +zipp==3.18.2 diff --git a/requirements.txt b/requirements.txt index 010d07844a..82dd790f9d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,13 +10,13 @@ RandomWords amqp==5.2.0 apscheduler==3.10.4 argcomplete==3.3.0 -bcrypt==4.1.2 +bcrypt==4.1.3 cffi==1.16.0 chardet ciso8601 -cryptography==42.0.5 +cryptography==42.0.7 decorator==5.1.1 -dnspython==1.16.0 +dnspython==2.6.1 editor==1.6.6 eventlet==0.36.1 flex==6.14.1 @@ -25,7 +25,7 @@ gitpython==3.1.43 greenlet==3.0.3 gunicorn==22.0.0 importlib-metadata==7.1.0 -jinja2==3.1.3 +jinja2==3.1.4 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.7 @@ -33,8 +33,8 @@ 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 -orjson==3.10.1 +networkx==3.1 +orjson==3.10.3 orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat oslo.config==9.4.0 oslo.utils==7.1.0 @@ -44,14 +44,14 @@ prettytable==3.10.0 prompt-toolkit==3.0.43 psutil==5.9.8 pyOpenSSL -pygments==2.17.2 +pygments==2.18.0 pyinotify==0.9.6 ; platform_system=="Linux" pymongo==3.12.3 pyparsing==3.1.2 pyrabbit pysocks pytest -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 python-json-logger python-statsd==2.1.0 pytz==2024.1 @@ -69,11 +69,11 @@ st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-f st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master stevedore==5.2.0 -tenacity==8.2.3 +tenacity==8.3.0 tooz==6.1.0 typing-extensions==4.11.0 webob==1.8.7 webtest zake==0.2.2 -zipp==3.18.1 +zipp==3.18.2 zstandard==0.22.0 diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index c557f0831c..8609d8b5fe 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -10,7 +10,7 @@ apscheduler==3.10.4 chardet eventlet==0.36.1 gitpython==3.1.43 -jinja2==3.1.3 +jinja2==3.1.4 kombu==5.3.7 lockfile==0.12.2 logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system=="Linux" @@ -18,7 +18,7 @@ oslo.config==9.4.0 oslo.utils==7.1.0 pyinotify==0.9.6 ; platform_system=="Linux" pyparsing==3.1.2 -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 python-json-logger pyyaml==6.0.1 requests==2.31.0 diff --git a/st2auth/requirements.txt b/st2auth/requirements.txt index c8aee2a8c4..12656a1589 100644 --- a/st2auth/requirements.txt +++ b/st2auth/requirements.txt @@ -5,7 +5,7 @@ # 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 -bcrypt==4.1.2 +bcrypt==4.1.3 eventlet==0.36.1 gunicorn==22.0.0 oslo.config==9.4.0 diff --git a/st2client/requirements.txt b/st2client/requirements.txt index 4c24ceefa7..4b460891ca 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -8,22 +8,22 @@ argcomplete==3.3.0 cffi==1.16.0 chardet -cryptography==42.0.5 +cryptography==42.0.7 editor==1.6.6 importlib-metadata==7.1.0 jsonpath-rw==1.4.0 jsonschema==3.2.0 -orjson==3.10.1 +orjson==3.10.3 prettytable==3.10.0 prompt-toolkit==3.0.43 pyOpenSSL -pygments==2.17.2 +pygments==2.18.0 pysocks -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 pytz==2024.1 pyyaml==6.0.1 requests==2.31.0 six==1.16.0 sseclient-py==1.8.0 typing-extensions==4.11.0 -zipp==3.18.1 +zipp==3.18.2 diff --git a/st2common/requirements.txt b/st2common/requirements.txt index 93e4758362..5084f2bdf6 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -11,28 +11,28 @@ apscheduler==3.10.4 cffi==1.16.0 chardet ciso8601 -cryptography==42.0.5 +cryptography==42.0.7 decorator==5.1.1 -dnspython==1.16.0 +dnspython==2.6.1 eventlet==0.36.1 flex==6.14.1 gitdb==4.0.11 gitpython==3.1.43 greenlet==3.0.3 -jinja2==3.1.3 +jinja2==3.1.4 jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.7 lockfile==0.12.2 mongoengine==0.23.1 -networkx==2.8.8 -orjson==3.10.1 +networkx==3.1 +orjson==3.10.3 orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat oslo.config==9.4.0 paramiko==3.4.0 pyOpenSSL pymongo==3.12.3 -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 python-statsd==2.1.0 pyyaml==6.0.1 redis==5.0.4 @@ -42,7 +42,7 @@ routes==2.5.1 semver==3.0.2 six==1.16.0 st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master -tenacity==8.2.3 +tenacity==8.3.0 tooz==6.1.0 webob==1.8.7 zake==0.2.2 diff --git a/st2reactor/requirements.txt b/st2reactor/requirements.txt index 274831faa4..a210439331 100644 --- a/st2reactor/requirements.txt +++ b/st2reactor/requirements.txt @@ -11,5 +11,5 @@ jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.7 oslo.config==9.4.0 -python-dateutil==2.9.0 +python-dateutil==2.9.0.post0 six==1.16.0 From aba09f3fa11d54180231c6a22acfcdb09a54fbfe Mon Sep 17 00:00:00 2001 From: Jacob Floyd Date: Thu, 16 May 2024 22:45:16 -0500 Subject: [PATCH 062/110] Remove std lib dep (argparse) from requirements Apparently, argparse has been in the standard library since Python 3.2. We want the std lib version, not the old version from pypi. So, drop the argparse dep. --- fixed-requirements.txt | 2 -- lockfiles/st2.lock | 20 -------------------- requirements-pants.txt | 1 - 3 files changed, 23 deletions(-) diff --git a/fixed-requirements.txt b/fixed-requirements.txt index a54be41ddb..c5a9241b60 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -75,8 +75,6 @@ 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.12.2 -argparse==1.4.0 # 202403: Bumped to latest for py3.10 support argcomplete==3.3.0 prettytable==3.10.0 diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 9710c91f7d..e0e7cff1e0 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -12,7 +12,6 @@ // "RandomWords", // "apscheduler", // "argcomplete", -// "argparse", // "beautifulsoup4", // "ciso8601", // "cryptography", @@ -178,24 +177,6 @@ "requires_python": ">=3.8", "version": "3.3.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": [ { @@ -5646,7 +5627,6 @@ "RandomWords", "apscheduler", "argcomplete", - "argparse", "beautifulsoup4", "ciso8601", "cryptography", diff --git a/requirements-pants.txt b/requirements-pants.txt index db9e9ad8e6..6d42804b02 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -8,7 +8,6 @@ apscheduler argcomplete -argparse ciso8601 cryptography editor From a5087a11c3300daffb755c178bc1f2521a6aa70a Mon Sep 17 00:00:00 2001 From: FileMagic <22534836+FileMagic@users.noreply.github.com> Date: Tue, 13 Aug 2024 13:45:14 +0000 Subject: [PATCH 063/110] [Broken] Attempt to add redis and add stdout printing to debug issues --- Makefile | 6 +++++- st2actions/tests/unit/test_workflow_engine.py | 15 ++++++++------- .../services/test_workflow_service_retries.py | 5 +++-- st2tests/st2tests/config.py | 9 +++++++++ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 13166b869d..2a1ce48f00 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 := ${REDIS_HOST:-"127.0.0.1"} +ST2_OVERRIDE_COORDINATOR_REDIS_PORT := ${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 # 202403: Use pip 24.0 which is the highest supported version across Python 3.8 - 3.10 @@ -828,7 +832,7 @@ unit-tests: requirements .unit-tests echo "Running tests in" $$component; \ echo "-----------------------------------------------------------"; \ . $(VIRTUALENV_DIR)/bin/activate; \ - pytest --capture=no --verbose $$component/tests/unit || exit 1; \ + pytest -rx --verbose $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ echo "==========================================================="; \ diff --git a/st2actions/tests/unit/test_workflow_engine.py b/st2actions/tests/unit/test_workflow_engine.py index 955f7ca2f0..a7555afb5c 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,7 +147,7 @@ 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): expected_errors = [ { @@ -204,7 +205,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( @@ -267,7 +268,7 @@ def test_process_error_handling_has_error(self, mock_get_lock): self.assertEqual(lv_ac_db.status, action_constants.LIVEACTION_STATUS_CANCELED) @mock.patch.object( - coordination_service.NoOpDriver, + RedisDriver, "get_members", mock.MagicMock(return_value=coordination_service.NoOpAsyncResult("")), ) @@ -329,7 +330,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 +404,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 +461,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")), ) @@ -489,7 +490,7 @@ def test_workflow_engine_start_first_then_shutdown(self): eventlet.spawn(workflow_engine.start, True) eventlet.spawn_after(1, workflow_engine.shutdown) - coordination_service.NoOpDriver.get_members = mock.MagicMock( + RedisDriver.get_members = mock.MagicMock( return_value=coordination_service.NoOpAsyncResult("member-1") ) diff --git a/st2common/tests/unit/services/test_workflow_service_retries.py b/st2common/tests/unit/services/test_workflow_service_retries.py index 0e322fe573..495c2f9c6c 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") diff --git a/st2tests/st2tests/config.py b/st2tests/st2tests/config.py index 7d0a0d960c..0bfd9f07b4 100644 --- a/st2tests/st2tests/config.py +++ b/st2tests/st2tests/config.py @@ -136,6 +136,15 @@ 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}" + assert False + print(f"Redis is being used with the following cord: {driver}") + CONF.set_override(name="url", override=driver, group="coordination") CONF.set_override(name="lock_timeout", override=1, group="coordination") From 430a270b3c4189eeff99b579c63e9860e469b8a9 Mon Sep 17 00:00:00 2001 From: FileMagic <22534836+FileMagic@users.noreply.github.com> Date: Sun, 25 Aug 2024 17:53:10 +0000 Subject: [PATCH 064/110] Inital commit based on changes from @nzlosh minus pants re-run and requirements rebuild. --- CHANGELOG.rst | 2 ++ .../ubuntu_pkg_info/ubuntu_pkg_info.py | 2 +- .../pack_mgmt/get_pack_dependencies.py | 2 +- contrib/runners/local_runner/tests/unit/BUILD | 4 ++++ .../tests/unit/test_local_runner.py | 21 ++++++++++++++++++ .../orquesta_runner/in-requirements.txt | 3 ++- .../runners/orquesta_runner/requirements.txt | 2 +- .../test_python_action_process_wrapper.py | 2 +- .../runners/remote_runner/tests/unit/BUILD | 4 ++++ .../tests/unit/test_remote_runner.py | 20 +++++++++++++++++ fixed-requirements.txt | 22 +++++++++++-------- pants.toml | 21 ++++++++++++------ requirements-pants.txt | 17 ++------------ .../integration/test_gunicorn_configs.py | 4 ++-- st2client/tests/unit/test_commands.py | 20 ++++++++++++++--- st2client/tests/unit/test_config_parser.py | 2 +- st2client/tests/unit/test_shell.py | 6 ++--- st2common/tests/integration/test_logging.py | 2 +- .../integration/test_rabbitmq_ssl_listener.py | 2 +- st2common/tests/unit/test_crypto_utils.py | 2 +- .../orquesta/test_wiring_pause_and_resume.py | 2 +- 21 files changed, 113 insertions(+), 49 deletions(-) create mode 100644 contrib/runners/local_runner/tests/unit/test_local_runner.py create mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner.py diff --git a/CHANGELOG.rst b/CHANGELOG.rst index de3c30bd60..ae99160788 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -24,6 +24,8 @@ Changed * Fic 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 Added ~~~~~ 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/local_runner/tests/unit/BUILD b/contrib/runners/local_runner/tests/unit/BUILD index 59df096266..53d8f3cf2a 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD +++ b/contrib/runners/local_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["unit"])}, extend=True, ) + +python_tests( + name="tests", +) \ No newline at end of file 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..610acbf9cb --- /dev/null +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -0,0 +1,21 @@ + +# 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 \ No newline at end of file diff --git a/contrib/runners/orquesta_runner/in-requirements.txt b/contrib/runners/orquesta_runner/in-requirements.txt index 8bf195dae4..d3fe4292f9 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/nzlosh/orquesta.git@st2v39_compat \ No newline at end of file diff --git a/contrib/runners/orquesta_runner/requirements.txt b/contrib/runners/orquesta_runner/requirements.txt index cf26d58430..7957e12a96 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/nzlosh/orquesta.git@st2v39_compat \ No newline at end of file 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 3c609e26b5..5832a0860a 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 @@ -65,7 +65,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, "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/unit/BUILD b/contrib/runners/remote_runner/tests/unit/BUILD index 59df096266..53d8f3cf2a 100644 --- a/contrib/runners/remote_runner/tests/unit/BUILD +++ b/contrib/runners/remote_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["unit"])}, extend=True, ) + +python_tests( + name="tests", +) \ No newline at end of file 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..ac77014080 --- /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 \ No newline at end of file diff --git a/fixed-requirements.txt b/fixed-requirements.txt index 7fecfa2203..9966a5a08f 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -2,11 +2,12 @@ # 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.16.0 -# NOTE: 2.0 version breaks pymongo work with hosts -dnspython==1.16.0 -cryptography==42.0.5 +dnspython==2.6.1 +cryptography==43.0.0 eventlet==0.36.1 flex==6.14.1 # Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 @@ -21,12 +22,14 @@ jsonpath-rw==1.4.0 jsonschema==3.2.0 kombu==5.3.7 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 +# 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 +42,7 @@ passlib==1.7.4 # 202403: bump to 3.0.43 for py3.10 support prompt-toolkit==3.0.43 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.2 zstandard==0.23.0 @@ -58,7 +62,7 @@ retrying==1.3.4 routes==2.5.1 semver==3.0.2 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 diff --git a/pants.toml b/pants.toml index f1e0681b49..0a9ab18288 100644 --- a/pants.toml +++ b/pants.toml @@ -138,13 +138,20 @@ pytest = "lockfiles/pytest.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..fa8bf1621e 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -8,7 +8,6 @@ apscheduler argcomplete -argparse ciso8601 cryptography editor @@ -37,7 +36,7 @@ orquesta @ git+https://github.com/StackStorm/orquesta.git@v1.6.0 # 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 +55,7 @@ python-dateutil python-json-logger python-statsd pytz -PyYAML +pyyaml # RandomWords used in some tests RandomWords requests @@ -92,15 +91,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/st2api/tests/integration/test_gunicorn_configs.py b/st2api/tests/integration/test_gunicorn_configs.py index c4c05bb155..bd8498adba 100644 --- a/st2api/tests/integration/test_gunicorn_configs.py +++ b/st2api/tests/integration/test_gunicorn_configs.py @@ -32,7 +32,7 @@ class GunicornWSGIEntryPointTestCase(IntegrationTestCase): - @unittest.skipIf(profiling.is_enabled(), "Profiling is enabled") + @pytest.mark.skipif(profiling.is_enabled(), "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(), "Profiling is enabled") def test_st2auth(self): port = random.randint(10000, 30000) cmd = ( diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index 929a327e98..ac46671117 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -20,6 +20,7 @@ import logging import argparse import tempfile +import re import unittest from collections import namedtuple @@ -490,8 +491,15 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn("usage:", stdout) self.assertIn(" ".join(command), stdout) - # self.assertIn('positional arguments:', stdout) + # argparse on py3.8/py3.9 has a different output to py3.10 so the check for self.assertIn("optional arguments:", stdout) + # optional arguments covers both formats. + assert ( + isinstance( + re.search("(optional arguments:|options:)", stdout), re.Match + ) + is True + ) # Reset stdout and stderr after each iteration self._reset_output_streams() @@ -510,8 +518,14 @@ def test_help_command_line_arg_works_for_supported_commands(self): self.assertIn("usage:", stdout) self.assertIn(" ".join(command), stdout) - # self.assertIn('positional arguments:', stdout) - self.assertIn("optional arguments:", stdout) + # argparse on py3.8/py3.9 has a different output to py3.10 so the check for + # optional arguments covers both formats. + assert ( + isinstance( + re.search("(optional arguments:|options:)", stdout), re.Match + ) + is True + ) # Verify that the actual help usage string was triggered and not the invalid # "too few arguments" which would indicate command doesn't actually correctly handle diff --git a/st2client/tests/unit/test_config_parser.py b/st2client/tests/unit/test_config_parser.py index 5bdd40a773..514d307935 100644 --- a/st2client/tests/unit/test_config_parser.py +++ b/st2client/tests/unit/test_config_parser.py @@ -200,7 +200,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..6fb6b7bf46 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -516,7 +516,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, "skipping until checks are re-enabled") @mock.patch.object( requests, "get", mock.MagicMock(return_value=base.FakeResponse("{}", 200, "OK")) ) @@ -617,7 +617,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 +681,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/tests/integration/test_logging.py b/st2common/tests/integration/test_logging.py index 0f7cc77228..4e0c55d275 100644 --- a/st2common/tests/integration/test_logging.py +++ b/st2common/tests/integration/test_logging.py @@ -75,7 +75,7 @@ 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), "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..035213dee7 100644 --- a/st2common/tests/integration/test_rabbitmq_ssl_listener.py +++ b/st2common/tests/integration/test_rabbitmq_ssl_listener.py @@ -37,7 +37,7 @@ # 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"', ) diff --git a/st2common/tests/unit/test_crypto_utils.py b/st2common/tests/unit/test_crypto_utils.py index 2717b605ec..a1e4ff9666 100644 --- a/st2common/tests/unit/test_crypto_utils.py +++ b/st2common/tests/unit/test_crypto_utils.py @@ -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, "keyczar doesn't work under Python 3") def test_symmetric_encrypt_decrypt_roundtrips_1(self): encrypt_keys = [ AESKey.generate(), diff --git a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py index b6588088ee..b6d20ea540 100644 --- a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py +++ b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py @@ -25,7 +25,7 @@ # 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", From b80dd7e9f21026d32c4229509fd2207e820443d2 Mon Sep 17 00:00:00 2001 From: FileMagic <22534836+FileMagic@users.noreply.github.com> Date: Sun, 25 Aug 2024 17:57:49 +0000 Subject: [PATCH 065/110] Add back in some more requiremnent changes for tests. --- st2common/in-requirements.txt | 3 ++- st2tests/in-requirements.txt | 4 ---- test-requirements.txt | 26 +++++++++++++++----------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index 1daa52fb8e..5948b1a7a1 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -14,7 +14,8 @@ 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@v1.6.0 +orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master oslo.config paramiko diff --git a/st2tests/in-requirements.txt b/st2tests/in-requirements.txt index 71af9feb58..6cb94aa67d 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! mock unittest2 -nose psutil webtest -nose-timer -nose-parallel -rednose RandomWords pyrabbit diff --git a/test-requirements.txt b/test-requirements.txt index d9e4fcfe0e..0d2fbc40d8 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,8 +2,8 @@ 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 @@ -20,12 +20,8 @@ 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.1 # Constrain pygments required by editor to align with st2 core version pygments==2.18.0 @@ -35,12 +31,20 @@ psutil==6.0.0 webtest==2.0.35 # 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 From af0e332dbaef7c75342c17a7f4a07e1bb63b26c6 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 13:51:22 -0400 Subject: [PATCH 066/110] python 3.12; mongodb 7 working unit tests --- Makefile | 16 +-- .../unit/test_remote_runner_BACKUP_115903.py | 4 - fixed-requirements.txt | 21 ---- requirements.txt | 9 +- requirements.txt.orig | 111 ------------------ st2actions/requirements.txt | 2 +- st2actions/tests/unit/test_worker.py | 22 +++- st2actions/tests/unit/test_workflow_engine.py | 35 +++--- .../controllers/v1/test_service_registry.py | 16 ++- st2client/requirements.txt | 2 +- st2client/tests/unit/test_inquiry.py | 8 ++ st2client/tests/unit/test_shell.py | 2 +- st2common/requirements.txt | 6 +- st2common/st2common/service_setup.py | 2 - .../services/test_workflow_service_retries.py | 1 - st2common/tests/unit/test_crypto_utils.py | 4 +- st2common/tests/unit/test_service_setup.py | 1 + st2tests/requirements.txt | 2 +- st2tests/st2tests/config.py | 4 +- 19 files changed, 86 insertions(+), 182 deletions(-) delete mode 100644 requirements.txt.orig diff --git a/Makefile b/Makefile index 965f87af68..17d7596268 100644 --- a/Makefile +++ b/Makefile @@ -54,8 +54,8 @@ COVERAGE_GLOBS_QUOTED := $(foreach glob,$(COVERAGE_GLOBS),'$(glob)') REQUIREMENTS := test-requirements.txt requirements.txt # Redis config for testing -ST2_OVERRIDE_COORDINATOR_REDIS_HOST := ${REDIS_HOST:-"127.0.0.1"} -ST2_OVERRIDE_COORDINATOR_REDIS_PORT := ${REDIS_PORT:-"6379"} +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 @@ -824,13 +824,15 @@ 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; \ + 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; \ @@ -847,7 +849,7 @@ endif @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 "==========================================================="; \ @@ -905,7 +907,7 @@ 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 "==========================================================="; \ @@ -929,7 +931,7 @@ endif @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 "==========================================================="; \ @@ -1068,7 +1070,7 @@ 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 "==========================================================="; \ diff --git a/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py index 50d91f6a79..cda3b83408 100644 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py +++ b/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py @@ -17,8 +17,4 @@ @pytest.mark.skip(reason="TEST TO BE IMPLEMENTED.") def test_todo(): -<<<<<<< HEAD pass -======= - pass ->>>>>>> python_upgrade diff --git a/fixed-requirements.txt b/fixed-requirements.txt index fcaf134ebe..425f3dbf8e 100644 --- a/fixed-requirements.txt +++ b/fixed-requirements.txt @@ -92,30 +92,9 @@ webob==1.8.7 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 python-statsd==2.1.0 orjson==3.10.6 zipp==3.19.2 -======= -tenacity==8.3.0 -tooz==6.1.0 -# Note: virtualenv embeds wheels for pip, wheel, and setuptools. So pinning virtualenv pins those as well. -# virtualenv==20.26.0 (<21) has pip==24.0 wheel==0.43.0 setuptools==69.5.1 -# lockfiles/st2.lock has pip==24.0 wheel==0.43.0 setuptools==69.5.1 -virtualenv==20.26.2 -webob==1.8.7 -zake==0.2.2 -# test requirements below -bcrypt==4.1.3 -mock==5.1.0 -psutil==5.9.8 -python-dateutil==2.9.0.post0 -python-statsd==2.1.0 -orjson==3.10.3 -zipp==3.18.2 ->>>>>>> python_upgrade diff --git a/requirements.txt b/requirements.txt index c25d1858de..6215e00300 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,10 +34,10 @@ logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched mock==5.1.0 mongoengine==0.23.1 networkx==3.1 -orjson==3.10.3 +orjson==3.10.6 orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -oslo.config==9.4.0 -oslo.utils==7.1.0 +oslo.config==9.5.0 +oslo.utils==7.2.0 paramiko==3.4.0 passlib==1.7.4 prettytable==3.10.2 @@ -51,14 +51,13 @@ pyparsing==3.1.2 pyrabbit pysocks pytest -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0 python-json-logger python-statsd==2.1.0 pytz==2024.1 pywinrm==0.5.0 pyyaml==6.0.1 redis==5.0.7 -rednose requests==2.32.3 retrying==1.3.4 routes==2.5.1 diff --git a/requirements.txt.orig b/requirements.txt.orig deleted file mode 100644 index 793e144d49..0000000000 --- a/requirements.txt.orig +++ /dev/null @@ -1,111 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -RandomWords -amqp==5.2.0 -apscheduler==3.10.4 -<<<<<<< HEAD -argcomplete==3.4.0 -bcrypt==4.2.0 -======= -argcomplete==3.3.0 -bcrypt==4.1.3 ->>>>>>> python_upgrade -cffi==1.16.0 -chardet -ciso8601 -cryptography==42.0.7 -decorator==5.1.1 -dnspython==2.6.1 -editor==1.6.6 -eventlet==0.36.1 -flex==6.14.1 -gitdb==4.0.11 -gitpython==3.1.43 -greenlet==3.0.3 -gunicorn==22.0.0 -importlib-metadata==7.1.0 -jinja2==3.1.4 -jsonpath-rw==1.4.0 -jsonschema==3.2.0 -kombu==5.3.7 -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 -<<<<<<< HEAD -networkx==2.8.8 -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 -orjson==3.10.6 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -oslo.config==9.5.0 -oslo.utils==7.2.0 -======= -networkx==3.1 -orjson==3.10.3 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -oslo.config==9.4.0 -oslo.utils==7.1.0 ->>>>>>> python_upgrade -paramiko==3.4.0 -passlib==1.7.4 -prettytable==3.10.2 -prompt-toolkit==3.0.43 -psutil==6.0.0 -pyOpenSSL -pygments==2.18.0 -pyinotify==0.9.6 ; platform_system=="Linux" -pymongo==3.12.3 -pyparsing==3.1.2 -pyrabbit -pysocks -pytest -python-dateutil==2.9.0.post0 -python-json-logger -python-statsd==2.1.0 -pytz==2024.1 -pywinrm==0.5.0 -pyyaml==6.0.1 -<<<<<<< HEAD -redis==5.0.7 -rednose -requests==2.32.3 -======= -redis==5.0.4 -requests==2.31.0 ->>>>>>> python_upgrade -retrying==1.3.4 -routes==2.5.1 -semver==3.0.2 -simplejson -six==1.16.0 -sseclient-py==1.8.0 -st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master -st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master -st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master -stevedore==5.2.0 -<<<<<<< HEAD -tenacity==9.0.0 -tooz==6.2.0 -======= -tenacity==8.3.0 -tooz==6.1.0 ->>>>>>> python_upgrade -typing-extensions==4.11.0 -webob==1.8.7 -webtest -zake==0.2.2 -<<<<<<< HEAD -zipp==3.19.2 -zstandard==0.23.0 -======= -zipp==3.18.2 -zstandard==0.22.0 ->>>>>>> python_upgrade diff --git a/st2actions/requirements.txt b/st2actions/requirements.txt index 0c7d92b6ec..80beeb2b35 100644 --- a/st2actions/requirements.txt +++ b/st2actions/requirements.txt @@ -18,7 +18,7 @@ oslo.config==9.5.0 oslo.utils==7.2.0 pyinotify==0.9.6 ; platform_system=="Linux" pyparsing==3.1.2 -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0 python-json-logger pyyaml==6.0.1 requests==2.32.3 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 a7555afb5c..39d7bb08a8 100644 --- a/st2actions/tests/unit/test_workflow_engine.py +++ b/st2actions/tests/unit/test_workflow_engine.py @@ -149,6 +149,10 @@ def test_process(self): @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.", @@ -162,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"]) @@ -183,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"), @@ -217,6 +218,8 @@ 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. @@ -267,15 +270,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( - RedisDriver, - "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) @@ -288,11 +296,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) @@ -485,15 +492,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) - RedisDriver.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/tests/unit/controllers/v1/test_service_registry.py b/st2api/tests/unit/controllers/v1/test_service_registry.py index d195c2361e..e9392b3279 100644 --- a/st2api/tests/unit/controllers/v1/test_service_registry.py +++ b/st2api/tests/unit/controllers/v1/test_service_registry.py @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import tooz + from st2common.service_setup import register_service_in_service_registry from st2common.util import system_info from st2common.services.coordination import get_member_id @@ -22,20 +24,26 @@ from st2tests.api import FunctionalTest -__all__ = ["ServiceyRegistryControllerTestCase"] +__all__ = ["ServiceRegistryControllerTestCase"] -class ServiceyRegistryControllerTestCase(FunctionalTest): +class ServiceRegistryControllerTestCase(FunctionalTest): coordinator = None @classmethod def setUpClass(cls): - super(ServiceyRegistryControllerTestCase, cls).setUpClass() + super(ServiceRegistryControllerTestCase, cls).setUpClass() tests_config.parse_args(coordinator_noop=True) cls.coordinator = coordination.get_coordinator(use_cache=False) + # make sure api group is deleted for test to pass + # there seems to be some dangling groups being created in the unit tests + try: + cls.coordinator.delete_group("api").get() + except tooz.coordination.GroupNotCreated: + pass # NOTE: We mock call common_setup to emulate service being registered in the service # registry during bootstrap phase @@ -47,7 +55,7 @@ def setUpClass(cls): @classmethod def tearDownClass(cls): - super(ServiceyRegistryControllerTestCase, cls).tearDownClass() + super(ServiceRegistryControllerTestCase, cls).tearDownClass() coordination.coordinator_teardown(cls.coordinator) diff --git a/st2client/requirements.txt b/st2client/requirements.txt index bbefcb1b3c..a418baa9d5 100644 --- a/st2client/requirements.txt +++ b/st2client/requirements.txt @@ -19,7 +19,7 @@ prompt-toolkit==3.0.43 pyOpenSSL pygments==2.18.0 pysocks -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0 pytz==2024.1 pyyaml==6.0.1 requests==2.32.3 diff --git a/st2client/tests/unit/test_inquiry.py b/st2client/tests/unit/test_inquiry.py index 5ae225c79e..c8804dae47 100644 --- a/st2client/tests/unit/test_inquiry.py +++ b/st2client/tests/unit/test_inquiry.py @@ -14,6 +14,7 @@ # limitations under the License. from __future__ import absolute_import + import copy import json import mock @@ -294,6 +295,13 @@ def test_respond_invalid(self): "ERROR: 400 Client Error: Bad Request", self.stdout.getvalue().strip() ) + @mock.patch.object( + requests, + "get", + mock.MagicMock( + return_value=base.FakeResponse(json.dumps({}), 404, "NOT FOUND") + ), + ) def test_respond_nonexistent_inquiry(self): """Test responding to an inquiry that doesn't exist""" inquiry_id = "134234" diff --git a/st2client/tests/unit/test_shell.py b/st2client/tests/unit/test_shell.py index d4330c9368..f6cd048e0d 100644 --- a/st2client/tests/unit/test_shell.py +++ b/st2client/tests/unit/test_shell.py @@ -517,7 +517,7 @@ def _write_mock_package_metadata_file(self): return package_metadata_path - @pytest.mark.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")) ) diff --git a/st2common/requirements.txt b/st2common/requirements.txt index d56a64fe58..2ae98e46f5 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -26,13 +26,13 @@ kombu==5.3.7 lockfile==0.12.2 mongoengine==0.23.1 networkx==3.1 -orjson==3.10.3 +orjson==3.10.6 orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -oslo.config==9.4.0 +oslo.config==9.5.0 paramiko==3.4.0 pyOpenSSL pymongo==3.12.3 -python-dateutil==2.9.0.post0 +python-dateutil==2.9.0 python-statsd==2.1.0 pyyaml==6.0.1 redis==5.0.7 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/tests/unit/services/test_workflow_service_retries.py b/st2common/tests/unit/services/test_workflow_service_retries.py index 495c2f9c6c..0c779fb165 100644 --- a/st2common/tests/unit/services/test_workflow_service_retries.py +++ b/st2common/tests/unit/services/test_workflow_service_retries.py @@ -201,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 a1e4ff9666..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) - @pytest.mark.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/st2tests/requirements.txt b/st2tests/requirements.txt index 1f16778784..d5a13b8f3c 100644 --- a/st2tests/requirements.txt +++ b/st2tests/requirements.txt @@ -7,7 +7,7 @@ # update the component requirements.txt RandomWords mock==5.1.0 -psutil==5.9.8 +psutil==6.0.0 pyrabbit pytest webtest diff --git a/st2tests/st2tests/config.py b/st2tests/st2tests/config.py index 0bfd9f07b4..94b5141a74 100644 --- a/st2tests/st2tests/config.py +++ b/st2tests/st2tests/config.py @@ -142,15 +142,13 @@ def _override_coordinator_opts(noop=False): 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}" - assert False - print(f"Redis is being used with the following cord: {driver}") 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") From 8fb707e155f6d606be6b8705c122343af0964729 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 14:19:23 -0400 Subject: [PATCH 067/110] fix pants merge syntax error --- pants.toml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/pants.toml b/pants.toml index df72cf0baf..7b9ea7e29d 100644 --- a/pants.toml +++ b/pants.toml @@ -142,23 +142,12 @@ pytest = "lockfiles/pytest.lock" setuptools = "lockfiles/setuptools.lock" twine = "lockfiles/twine.lock" -[python.resolves_to_interpreter_constraints] -# 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"] -======= -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] # 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"] ->>>>>>> python_upgrade + pants-plugins = [ # this should match the pants interpreter_constraints: # https://github.com/pantsbuild/pants/blob/2.18.x/pants.toml#L144 From 30e3a04b9d3c6e46c27c88de3edf9d37bc35388a Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 14:22:22 -0400 Subject: [PATCH 068/110] fix pants.toml.orig --- pants.toml.orig | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/pants.toml.orig b/pants.toml.orig index 405047f8ea..eddfa9989e 100644 --- a/pants.toml.orig +++ b/pants.toml.orig @@ -122,17 +122,12 @@ 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" -<<<<<<< HEAD -# 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_upgrade [python.resolves] # st2 is the primary resolve @@ -142,17 +137,6 @@ bandit = "lockfiles/bandit.lock" black = "lockfiles/black.lock" flake8 = "lockfiles/flake8.lock" pants-plugins = "lockfiles/pants-plugins.lock" # see //pants-plugins/BUILD -<<<<<<< HEAD -pylint = "lockfiles/pylint.lock" # see //pylint_plugins/BUILD -pytest = "lockfiles/pytest.lock" -twine = "lockfiles/twine.lock" - -[python.resolves_to_interpreter_constraints] -# 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"] -======= pylint = "lockfiles/pylint.lock" # see //pylint_plugins/BUILD pytest = "lockfiles/pytest.lock" setuptools = "lockfiles/setuptools.lock" @@ -163,24 +147,16 @@ twine = "lockfiles/twine.lock" bandit = ["CPython>=3.8,<3.11"] black = ["CPython>=3.8,<3.11"] flake8 = ["CPython>=3.8,<3.11"] ->>>>>>> python_upgrade 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.*", ] -<<<<<<< HEAD -pylint = ["CPython>=3.8,<3.11"] -pytest = ["CPython>=3.8,<3.11"] -setuptools = ["CPython>=3.8,<3.11"] -twine = ["CPython>=3.8,<3.11"] -======= 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_upgrade [python.resolves_to_constraints_file] # Our direct requirements are in requirements-pants.txt; From 9b1d75f215d23eb8e7273bd4a36d98deb42588de Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 14:33:04 -0400 Subject: [PATCH 069/110] fix merge conflict syntax error in build.orig --- contrib/runners/local_runner/tests/unit/BUILD.orig | 4 ---- contrib/runners/remote_runner/tests/unit/BUILD.orig | 4 ---- 2 files changed, 8 deletions(-) diff --git a/contrib/runners/local_runner/tests/unit/BUILD.orig b/contrib/runners/local_runner/tests/unit/BUILD.orig index b3bb2ebd03..f4100df4b4 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD.orig +++ b/contrib/runners/local_runner/tests/unit/BUILD.orig @@ -5,8 +5,4 @@ __defaults__( python_tests( name="tests", -<<<<<<< HEAD ) -======= -) ->>>>>>> python_upgrade diff --git a/contrib/runners/remote_runner/tests/unit/BUILD.orig b/contrib/runners/remote_runner/tests/unit/BUILD.orig index b3bb2ebd03..f4100df4b4 100644 --- a/contrib/runners/remote_runner/tests/unit/BUILD.orig +++ b/contrib/runners/remote_runner/tests/unit/BUILD.orig @@ -5,8 +5,4 @@ __defaults__( python_tests( name="tests", -<<<<<<< HEAD ) -======= -) ->>>>>>> python_upgrade From 48e07d0cb211b7776c5d9e96ec53fce6560019a3 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 14:37:47 -0400 Subject: [PATCH 070/110] remove BUILD.orig --- contrib/runners/local_runner/tests/unit/BUILD.orig | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 contrib/runners/local_runner/tests/unit/BUILD.orig diff --git a/contrib/runners/local_runner/tests/unit/BUILD.orig b/contrib/runners/local_runner/tests/unit/BUILD.orig deleted file mode 100644 index f4100df4b4..0000000000 --- a/contrib/runners/local_runner/tests/unit/BUILD.orig +++ /dev/null @@ -1,8 +0,0 @@ -__defaults__( - {(python_test, python_tests): dict(tags=["unit"])}, - extend=True, -) - -python_tests( - name="tests", -) From 6900ff964b1a5a82b7ec262ae0721568f3831648 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 14:44:33 -0400 Subject: [PATCH 071/110] remove build.orig --- contrib/runners/remote_runner/tests/unit/BUILD.orig | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 contrib/runners/remote_runner/tests/unit/BUILD.orig diff --git a/contrib/runners/remote_runner/tests/unit/BUILD.orig b/contrib/runners/remote_runner/tests/unit/BUILD.orig deleted file mode 100644 index f4100df4b4..0000000000 --- a/contrib/runners/remote_runner/tests/unit/BUILD.orig +++ /dev/null @@ -1,8 +0,0 @@ -__defaults__( - {(python_test, python_tests): dict(tags=["unit"])}, - extend=True, -) - -python_tests( - name="tests", -) From a5e6512c98fc7894a7329a88dd3410a4926ab133 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 15:43:45 -0400 Subject: [PATCH 072/110] remove orig from conflict resolution --- .gitignore | 3 +- Makefile | 2 + .../tests/unit/test_local_runner.py.orig | 28 --------- .../orquesta_runner/in-requirements.txt.orig | 6 -- .../orquesta_runner/requirements.txt.orig | 12 ---- .../tests/unit/test_remote_runner.py.orig | 24 ------- st2client/requirements.txt.orig | 38 ------------ st2common/requirements.txt.orig | 61 ------------------ st2reactor/requirements.txt.orig | 20 ------ st2tests/in-requirements.txt.orig | 11 ---- st2tests/requirements.txt.orig | 20 ------ test-requirements.txt.orig | 62 ------------------- 12 files changed, 4 insertions(+), 283 deletions(-) delete mode 100644 contrib/runners/local_runner/tests/unit/test_local_runner.py.orig delete mode 100644 contrib/runners/orquesta_runner/in-requirements.txt.orig delete mode 100644 contrib/runners/orquesta_runner/requirements.txt.orig delete mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner.py.orig delete mode 100644 st2client/requirements.txt.orig delete mode 100644 st2common/requirements.txt.orig delete mode 100644 st2reactor/requirements.txt.orig delete mode 100644 st2tests/in-requirements.txt.orig delete mode 100644 st2tests/requirements.txt.orig delete mode 100644 test-requirements.txt.orig diff --git a/.gitignore b/.gitignore index 090159801f..dc1b6aec20 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *.py[cod] *.sqlite *.log +*.orig .stamp* # C extensions @@ -71,4 +72,4 @@ benchmark_histograms/ [._]*.sw[a-p]x [._]sw[a-p]x -**/build/lib/** \ No newline at end of file +**/build/lib/** diff --git a/Makefile b/Makefile index 17d7596268..dd0da2f428 100644 --- a/Makefile +++ b/Makefile @@ -856,6 +856,8 @@ endif 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 '/' '.') \ pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ $$component/tests/unit || exit 1; \ diff --git a/contrib/runners/local_runner/tests/unit/test_local_runner.py.orig b/contrib/runners/local_runner/tests/unit/test_local_runner.py.orig deleted file mode 100644 index 6be5d297eb..0000000000 --- a/contrib/runners/local_runner/tests/unit/test_local_runner.py.orig +++ /dev/null @@ -1,28 +0,0 @@ -<<<<<<< HEAD - -======= ->>>>>>> python_upgrade -# 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(): -<<<<<<< HEAD - pass -======= - pass ->>>>>>> python_upgrade diff --git a/contrib/runners/orquesta_runner/in-requirements.txt.orig b/contrib/runners/orquesta_runner/in-requirements.txt.orig deleted file mode 100644 index c95e7165af..0000000000 --- a/contrib/runners/orquesta_runner/in-requirements.txt.orig +++ /dev/null @@ -1,6 +0,0 @@ -#orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -<<<<<<< HEAD -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -======= -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat ->>>>>>> python_upgrade diff --git a/contrib/runners/orquesta_runner/requirements.txt.orig b/contrib/runners/orquesta_runner/requirements.txt.orig deleted file mode 100644 index 126622e327..0000000000 --- a/contrib/runners/orquesta_runner/requirements.txt.orig +++ /dev/null @@ -1,12 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -<<<<<<< HEAD -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -======= -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat ->>>>>>> python_upgrade diff --git a/contrib/runners/remote_runner/tests/unit/test_remote_runner.py.orig b/contrib/runners/remote_runner/tests/unit/test_remote_runner.py.orig deleted file mode 100644 index 50d91f6a79..0000000000 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner.py.orig +++ /dev/null @@ -1,24 +0,0 @@ -# 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(): -<<<<<<< HEAD - pass -======= - pass ->>>>>>> python_upgrade diff --git a/st2client/requirements.txt.orig b/st2client/requirements.txt.orig deleted file mode 100644 index ca4741e1e9..0000000000 --- a/st2client/requirements.txt.orig +++ /dev/null @@ -1,38 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -argcomplete==3.4.0 -cffi==1.16.0 -chardet -cryptography==42.0.7 -editor==1.6.6 -importlib-metadata==7.1.0 -jsonpath-rw==1.4.0 -jsonschema==3.2.0 -<<<<<<< HEAD -orjson==3.10.6 -prettytable==3.10.2 -======= -orjson==3.10.3 -prettytable==3.10.0 ->>>>>>> python_upgrade -prompt-toolkit==3.0.43 -pyOpenSSL -pygments==2.18.0 -pysocks -python-dateutil==2.9.0.post0 -pytz==2024.1 -pyyaml==6.0.1 -requests==2.32.3 -six==1.16.0 -sseclient-py==1.8.0 -typing-extensions==4.11.0 -<<<<<<< HEAD -zipp==3.19.2 -======= -zipp==3.18.2 ->>>>>>> python_upgrade diff --git a/st2common/requirements.txt.orig b/st2common/requirements.txt.orig deleted file mode 100644 index d3867b1749..0000000000 --- a/st2common/requirements.txt.orig +++ /dev/null @@ -1,61 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -amqp==5.2.0 -apscheduler==3.10.4 -cffi==1.16.0 -chardet -ciso8601 -cryptography==42.0.7 -decorator==5.1.1 -dnspython==2.6.1 -eventlet==0.36.1 -flex==6.14.1 -gitdb==4.0.11 -gitpython==3.1.43 -greenlet==3.0.3 -jinja2==3.1.4 -jsonpath-rw==1.4.0 -jsonschema==3.2.0 -kombu==5.3.7 -lockfile==0.12.2 -mongoengine==0.23.1 -<<<<<<< HEAD -networkx==2.8.8 -orjson==3.10.6 -orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -oslo.config==9.5.0 -======= -networkx==3.1 -orjson==3.10.3 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat -oslo.config==9.4.0 ->>>>>>> python_upgrade -paramiko==3.4.0 -pyOpenSSL -pymongo==3.12.3 -python-dateutil==2.9.0.post0 -python-statsd==2.1.0 -pyyaml==6.0.1 -redis==5.0.7 -requests==2.32.3 -retrying==1.3.4 -routes==2.5.1 -semver==3.0.2 -six==1.16.0 -st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master -<<<<<<< HEAD -tenacity==9.0.0 -tooz==6.2.0 -======= -tenacity==8.3.0 -tooz==6.1.0 ->>>>>>> python_upgrade -webob==1.8.7 -zake==0.2.2 -zstandard==0.23.0 diff --git a/st2reactor/requirements.txt.orig b/st2reactor/requirements.txt.orig deleted file mode 100644 index 0075131aa0..0000000000 --- a/st2reactor/requirements.txt.orig +++ /dev/null @@ -1,20 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -apscheduler==3.10.4 -eventlet==0.36.1 -jsonpath-rw==1.4.0 -jsonschema==3.2.0 -kombu==5.3.7 -<<<<<<< HEAD -oslo.config==9.5.0 -python-dateutil==2.9.0 -======= -oslo.config==9.4.0 -python-dateutil==2.9.0.post0 ->>>>>>> python_upgrade -six==1.16.0 diff --git a/st2tests/in-requirements.txt.orig b/st2tests/in-requirements.txt.orig deleted file mode 100644 index 200c87c0aa..0000000000 --- a/st2tests/in-requirements.txt.orig +++ /dev/null @@ -1,11 +0,0 @@ -# Remember to list implicit packages here, otherwise version won't be appended! -mock -<<<<<<< HEAD -unittest2 -======= -pytest ->>>>>>> python_upgrade -psutil -webtest -RandomWords -pyrabbit diff --git a/st2tests/requirements.txt.orig b/st2tests/requirements.txt.orig deleted file mode 100644 index 6d4db15657..0000000000 --- a/st2tests/requirements.txt.orig +++ /dev/null @@ -1,20 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -RandomWords -mock==5.1.0 -<<<<<<< HEAD -nose -nose-parallel==0.4.0 -nose-timer==1.0.1 -psutil==6.0.0 -======= -psutil==5.9.8 ->>>>>>> python_upgrade -pyrabbit -pytest -webtest diff --git a/test-requirements.txt.orig b/test-requirements.txt.orig deleted file mode 100644 index 7ba28e101c..0000000000 --- a/test-requirements.txt.orig +++ /dev/null @@ -1,62 +0,0 @@ -# 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 -<<<<<<< HEAD -# st2flake8 does not support flake8 v5 yet -======= ->>>>>>> python_upgrade -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 -isort>=4.2.5 -mock==5.1.0 -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 -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 -# 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.1 -# Constrain pygments required by editor to align with st2 core version -pygments==2.18.0 -RandomWords -gunicorn==21.2.0 -psutil==6.0.0 -webtest==2.0.35 -# Bump to latest to meet sphinx requirements. -rstcheck==6.2.1 -# 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 -# 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 -zstandard==0.23.0 -# ujson is used for micro benchmarks -ujson==5.10.0 -# needed by integration tests for coordination -redis==5.0.7 From c91ee41ca412fdafa178d85611ca232567ff90ee Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 15:46:26 -0400 Subject: [PATCH 073/110] remove more .orig from conflict merges --- fixed-requirements.txt.orig | 142 - lockfiles/setuptools.lock.orig | 120 - lockfiles/st2.lock.orig | 6331 -------------------------------- pants.toml.orig | 252 -- st2auth/requirements.txt.orig | 21 - 5 files changed, 6866 deletions(-) delete mode 100644 fixed-requirements.txt.orig delete mode 100644 lockfiles/setuptools.lock.orig delete mode 100644 lockfiles/st2.lock.orig delete mode 100644 pants.toml.orig delete mode 100644 st2auth/requirements.txt.orig diff --git a/fixed-requirements.txt.orig b/fixed-requirements.txt.orig deleted file mode 100644 index 0e5614bc53..0000000000 --- a/fixed-requirements.txt.orig +++ /dev/null @@ -1,142 +0,0 @@ -# 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 -# 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.16.0 -<<<<<<< HEAD -dnspython==2.6.1 -cryptography==43.0.0 -======= -# NOTE: 2.0 version breaks pymongo work with hosts -dnspython==2.6.1 -cryptography==42.0.7 ->>>>>>> python_upgrade -eventlet==0.36.1 -flex==6.14.1 -# Note: installs gitpython==3.1.37 (security fixed) under py3.8 and gitpython==3.1.18 (latest available, vulnerable) under py3.6 -# TODO: Pin to 3.1.37 or higher after dropping python3.6 support -gitpython==3.1.43 -# Needed by gitpython, old versions used to bundle it -gitdb==4.0.11 -# Note: greenlet is used by eventlet (202403: 3.0.3 support for py3.10) -greenlet==3.0.3 -gunicorn==22.0.0 -jsonpath-rw==1.4.0 -jsonschema==3.2.0 -# 202403: Update to 5.3.5 for py3.10 support -kombu==5.3.7 -lockfile==0.12.2 -<<<<<<< HEAD -======= -# Fix MarkupSafe to < 2.1.0 as 2.1.0 removes soft_unicode -# 202403: Bumped Jinja2 and MarkupSafe to add py3.10 support -jinja2==3.1.4 ->>>>>>> python_upgrade -# 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) -# 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 -# 202403: Bump oslo.config for py3.10 support. -oslo.config==9.5.0 -oslo.utils==7.2.0 -# paramiko 2.11.0 is needed by cryptography > 37.0.0 -paramiko==3.4.0 -passlib==1.7.4 -# 202403: bump to 3.0.43 for py3.10 support -prompt-toolkit==3.0.43 -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.2 -zstandard==0.23.0 -# pyOpenSSL 23.1.0 supports cryptography up to 40.0.x -#pyOpenSSL==23.1.0 -# 202403: switch from python-editor to editor for py3.10 support -editor==1.6.6 -# editor dependency, required here for inclusion in st2client setup.py -pygments==2.18.0 -python-keyczar==0.716 -pytz==2024.1 -pywinrm==0.5.0 -pyyaml==6.0.1 -<<<<<<< HEAD -redis==5.0.7 -requests==2.32.3 -======= -redis==5.0.4 -# 202404: Bumped to latest since py3.6 support has been dropped. -requests==2.31.0 ->>>>>>> python_upgrade -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 -# 202403: Bumped to latest for py3.10 support -<<<<<<< HEAD -argcomplete==3.4.0 -prettytable==3.10.2 -======= -argcomplete==3.3.0 -prettytable==3.10.0 -# 202404: Relaxed pinning since py3.6 support is dropped. ->>>>>>> python_upgrade -importlib-metadata==7.1.0 -typing-extensions==4.11.0 -# NOTE: sseclient has various issues which sometimes hang the connection for a long time, etc. -sseclient-py==1.8.0 -stevedore==5.2.0 -<<<<<<< HEAD -tenacity==9.0.0 -tooz==6.2.0 -# Note: virtualenv embeds wheels for pip, wheel, and setuptools. So pinning virtualenv pins those as well. -# virtualenv==20.26.3 (<21) has pip==24.1 wheel==0.43.0 setuptools==70.1.0 -# lockfiles/st2.lock has pip==24.2 wheel==0.43.0 setuptools==72.1.0 -virtualenv==20.26.3 -webob==1.8.7 -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 -python-statsd==2.1.0 -orjson==3.10.6 -zipp==3.19.2 -======= -tenacity==8.3.0 -tooz==6.1.0 -# Note: virtualenv embeds wheels for pip, wheel, and setuptools. So pinning virtualenv pins those as well. -# virtualenv==20.26.0 (<21) has pip==24.0 wheel==0.43.0 setuptools==69.5.1 -# lockfiles/st2.lock has pip==24.0 wheel==0.43.0 setuptools==69.5.1 -virtualenv==20.26.2 -webob==1.8.7 -zake==0.2.2 -# test requirements below -bcrypt==4.1.3 -mock==5.1.0 -psutil==5.9.8 -python-dateutil==2.9.0.post0 -python-statsd==2.1.0 -orjson==3.10.3 -zipp==3.18.2 ->>>>>>> python_upgrade diff --git a/lockfiles/setuptools.lock.orig b/lockfiles/setuptools.lock.orig deleted file mode 100644 index 731c6cec3d..0000000000 --- a/lockfiles/setuptools.lock.orig +++ /dev/null @@ -1,120 +0,0 @@ -// 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.lock.orig b/lockfiles/st2.lock.orig deleted file mode 100644 index 477b0707f2..0000000000 --- a/lockfiles/st2.lock.orig +++ /dev/null @@ -1,6331 +0,0 @@ -// This lockfile was autogenerated by Pants. To regenerate, run: -// -// pants generate-lockfiles --resolve=st2 -// -// --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- -// { -// "version": 3, -// "valid_for_interpreter_constraints": [ -// "CPython<3.11,>=3.8" -// ], -// "generated_with_requirements": [ -// "RandomWords", -// "apscheduler", -// "argcomplete", -// "beautifulsoup4", -// "ciso8601", -// "cryptography", -// "editor", -// "eventlet", -// "flask", -// "flex", -// "gitdb", -// "gitpython", -// "graphviz", -// "greenlet", -// "gunicorn", -// "jinja2", -// "jsonpath-rw", -// "jsonschema<4,>=3", -// "kombu", -// "lockfile", -// "logshipper@ git+https://github.com/StackStorm/logshipper.git@stackstorm_patched ; platform_system == \"Linux\"", -// "mail-parser==3.15.0", -// "mock", -// "mongoengine<0.24.0,>=0.21.0", -// "networkx", -// "orjson", -// "orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat", -// "oslo.config", -// "paramiko", -// "pika", -// "pip", -// "prance", -// "prettytable", -// "prompt-toolkit", -// "psutil", -// "pygments", -// "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", -// "pymongo<3.13.0,>=3.11.0", -// "pyrabbit", -// "pysocks", -// "pytest", -// "python-dateutil", -// "python-json-logger", -// "python-statsd", -// "pytz", -// "pywinrm", -// "pyyaml", -// "redis", -// "requests", -// "retrying", -// "routes", -// "semver", -// "setuptools", -// "simplejson", -// "six", -// "sseclient-py", -// "st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master", -// "st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master", -// "st2-rbac-backend@ git+https://github.com/StackStorm/st2-rbac-backend.git@master", -// "stevedore", -// "tabulate", -// "tooz", -// "udatetime", -// "ujson", -// "virtualenv", -// "webob", -// "webtest", -// "wheel", -// "zake", -// "zstandard" -// ], -// "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": "827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637", - "url": "https://files.pythonhosted.org/packages/b3/f0/8e5be5d5e0653d9e1d02b1144efa33ff7d2963dfad07049e02c0fa9b2e8d/amqp-5.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd", - "url": "https://files.pythonhosted.org/packages/32/2c/6eb09fbdeb3c060b37bd33f8873832897a83e7a428afe01aad333fc405ec/amqp-5.2.0.tar.gz" - } - ], - "project_name": "amqp", - "requires_dists": [ - "vine<6.0.0,>=5.0.0" - ], - "requires_python": ">=3.6", - "version": "5.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661", - "url": "https://files.pythonhosted.org/packages/13/b5/7af0cb920a476dccd612fbc9a21a3745fb29b1fcd74636078db8f7ba294c/APScheduler-3.10.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a", - "url": "https://files.pythonhosted.org/packages/5e/34/5dcb368cf89f93132d9a31bd3747962a9dc874480e54333b0c09fa7d56ac/APScheduler-3.10.4.tar.gz" - } - ], - "project_name": "apscheduler", - "requires_dists": [ - "gevent; extra == \"gevent\"", - "importlib-metadata>=3.6.0; python_version < \"3.8\"", - "kazoo; extra == \"zookeeper\"", - "pymongo>=3.0; extra == \"mongodb\"", - "pytest-asyncio; extra == \"testing\"", - "pytest-cov; extra == \"testing\"", - "pytest-tornado5; extra == \"testing\"", - "pytest; extra == \"testing\"", - "pytz", - "redis>=3.0; extra == \"redis\"", - "rethinkdb>=2.4.0; extra == \"rethinkdb\"", - "six>=1.4.0", - "sphinx-rtd-theme; extra == \"doc\"", - "sphinx; extra == \"doc\"", - "sqlalchemy>=1.4; extra == \"sqlalchemy\"", - "tornado>=4.3; extra == \"tornado\"", - "twisted; extra == \"twisted\"", - "tzlocal!=3.*,>=2.0" - ], - "requires_python": ">=3.6", - "version": "3.10.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "69a79e083a716173e5532e0fa3bef45f793f4e61096cf52b5a42c0211c8b8aa5", - "url": "https://files.pythonhosted.org/packages/0b/29/cba741f3abc1700dda883c4a1dd83f4ae89e4e8654067929d89143df2c58/argcomplete-3.4.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "c2abcdfe1be8ace47ba777d4fce319eb13bf8ad9dace8d085dcad6eded88057f", - "url": "https://files.pythonhosted.org/packages/db/ca/45176b8362eb06b68f946c2bf1184b92fc98d739a3f8c790999a257db91f/argcomplete-3.4.0.tar.gz" - } - ], - "project_name": "argcomplete", - "requires_dists": [ - "coverage; extra == \"test\"", - "mypy; extra == \"test\"", - "pexpect; extra == \"test\"", - "ruff; extra == \"test\"", - "wheel; extra == \"test\"" - ], - "requires_python": ">=3.8", - "version": "3.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", - "url": "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", - "url": "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz" - } - ], - "project_name": "async-timeout", - "requires_dists": [ - "typing-extensions>=3.6.5; python_version < \"3.8\"" - ], - "requires_python": ">=3.7", - "version": "4.0.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1", - "url": "https://files.pythonhosted.org/packages/e0/44/827b2a91a5816512fcaf3cc4ebc465ccd5d598c45cefa6703fcf4a79018f/attrs-23.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30", - "url": "https://files.pythonhosted.org/packages/e3/fc/f800d51204003fa8ae392c4e8278f256206e7a919b708eef054f5f4b650d/attrs-23.2.0.tar.gz" - } - ], - "project_name": "attrs", - "requires_dists": [ - "attrs[tests-mypy]; extra == \"tests-no-zope\"", - "attrs[tests-no-zope]; extra == \"tests\"", - "attrs[tests]; extra == \"cov\"", - "attrs[tests]; extra == \"dev\"", - "cloudpickle; platform_python_implementation == \"CPython\" and extra == \"tests-no-zope\"", - "coverage[toml]>=5.3; extra == \"cov\"", - "furo; extra == \"docs\"", - "hypothesis; extra == \"tests-no-zope\"", - "importlib-metadata; python_version < \"3.8\"", - "mypy>=1.6; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"", - "myst-parser; extra == \"docs\"", - "pre-commit; extra == \"dev\"", - "pympler; extra == \"tests-no-zope\"", - "pytest-mypy-plugins; (platform_python_implementation == \"CPython\" and python_version >= \"3.8\") and extra == \"tests-mypy\"", - "pytest-xdist[psutil]; extra == \"tests-no-zope\"", - "pytest>=4.3.0; extra == \"tests-no-zope\"", - "sphinx-notfound-page; extra == \"docs\"", - "sphinx; extra == \"docs\"", - "sphinxcontrib-towncrier; extra == \"docs\"", - "towncrier; extra == \"docs\"", - "zope-interface; extra == \"docs\"", - "zope-interface; extra == \"tests\"" - ], - "requires_python": ">=3.7", - "version": "23.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9", - "url": "https://files.pythonhosted.org/packages/1a/ab/3e941e3fcf1b7d3ab3d0233194d99d6a0ed6b24f8f956fc81e47edc8c079/backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987", - "url": "https://files.pythonhosted.org/packages/4a/6d/eca004eeadcbf8bd64cc96feb9e355536147f0577420b44d80c7cac70767/backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2", - "url": "https://files.pythonhosted.org/packages/ad/85/475e514c3140937cf435954f78dedea1861aeab7662d11de232bdaa90655/backports.zoneinfo-0.2.1.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1", - "url": "https://files.pythonhosted.org/packages/c1/8f/9b1b920a6a95652463143943fa3b8c000cb0b932ab463764a6f2a2416560/backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl" - } - ], - "project_name": "backports-zoneinfo", - "requires_dists": [ - "importlib-resources; python_version < \"3.7\"", - "tzdata; extra == \"tzdata\"" - ], - "requires_python": ">=3.6", - "version": "0.2.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184", - "url": "https://files.pythonhosted.org/packages/8b/79/76a139d1b9f11aa4afcb7ceb882d2e81003667681711f2fe8a302c4c10ca/bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060", - "url": "https://files.pythonhosted.org/packages/00/03/2af7c45034aba6002d4f2b728c1a385676b4eab7d764410e34fd768009f2/bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8", - "url": "https://files.pythonhosted.org/packages/1a/d4/586b9c18a327561ea4cd336ff4586cca1a7aa0f5ee04e23a8a8bb9ca64f1/bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c", - "url": "https://files.pythonhosted.org/packages/3e/d0/31938bb697600a04864246acde4918c4190a938f891fd11883eaaf41327a/bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291", - "url": "https://files.pythonhosted.org/packages/46/54/dc7b58abeb4a3d95bab653405935e27ba32f21b812d8ff38f271fb6f7f55/bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe", - "url": "https://files.pythonhosted.org/packages/4b/3b/ad784eac415937c53da48983756105d267b91e56aa53ba8a1b2014b8d930/bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d", - "url": "https://files.pythonhosted.org/packages/5d/2c/019bc2c63c6125ddf0483ee7d914a405860327767d437913942b476e9c9b/bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170", - "url": "https://files.pythonhosted.org/packages/73/5a/811c3c7af3be99888f39ee8845ddf849d2a03a83049d63ece5dfb4612f4d/bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e", - "url": "https://files.pythonhosted.org/packages/75/fe/9e137727f122bbe29771d56afbf4e0dbc85968caa8957806f86404a5bfe1/bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399", - "url": "https://files.pythonhosted.org/packages/7b/76/2aa660679abbdc7f8ee961552e4bb6415a81b303e55e9374533f22770203/bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841", - "url": "https://files.pythonhosted.org/packages/96/86/8c6a84daed4dd878fbab094400c9174c43d9b838ace077a2f8ee8bc3ae12/bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb", - "url": "https://files.pythonhosted.org/packages/a9/81/4e8f5bc0cd947e91fb720e1737371922854da47a94bc9630454e7b2845f8/bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328", - "url": "https://files.pythonhosted.org/packages/ac/be/da233c5f11fce3f8adec05e8e532b299b64833cc962f49331cdd0e614fa9/bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "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": "8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2", - "url": "https://files.pythonhosted.org/packages/cc/14/b9ff8e0218bee95e517b70e91130effb4511e8827ac1ab00b4e30943a3f6/bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7", - "url": "https://files.pythonhosted.org/packages/dc/5d/6843443ce4ab3af40bddb6c7c085ed4a8418b3396f7a17e60e6d9888416c/bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d", - "url": "https://files.pythonhosted.org/packages/e3/96/7a654027638ad9b7589effb6db77eb63eba64319dfeaf9c0f4ca953e5f76/bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221", - "url": "https://files.pythonhosted.org/packages/e4/7e/d95e7d96d4828e965891af92e43b52a4cd3395dc1c1ef4ee62748d0471d0/bcrypt-4.2.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae", - "url": "https://files.pythonhosted.org/packages/e7/c3/dae866739989e3f04ae304e1201932571708cb292a28b2f1b93283e2dcd8/bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68", - "url": "https://files.pythonhosted.org/packages/f6/05/e394515f4e23c17662e5aeb4d1859b11dc651be01a3bd03c2e919a155901/bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" -======= - "hash": "d84702adb8f2798d813b17d8187d27076cca3cd52fe3686bb07a9083930ce650", - "url": "https://files.pythonhosted.org/packages/67/32/6b7ea165d67175a72147f6089e9c5e46f034aab3f48cc4299be1eb3fbf2b/bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8cbb119267068c2581ae38790e0d1fbae65d0725247a930fc9900c285d95725d", - "url": "https://files.pythonhosted.org/packages/0f/e8/183ead5dd8124e463d0946dfaf86c658225adde036aede8384d21d1794d0/bcrypt-4.1.3-cp37-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ec3c2e1ca3e5c4b9edb94290b356d082b721f3f50758bce7cce11d8a7c89ce84", - "url": "https://files.pythonhosted.org/packages/12/d4/13b86b1bb2969a804c2347d0ad72fc3d3d9f5cf0d876c84451c6480e19bc/bcrypt-4.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "cb9c707c10bddaf9e5ba7cdb769f3e889e60b7d4fea22834b261f51ca2b89fed", - "url": "https://files.pythonhosted.org/packages/20/02/c23ca3cf171798af16361576ef43bfc3192e3c3a679bc557e046b02c7188/bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "551b320396e1d05e49cc18dd77d970accd52b322441628aca04801bbd1d52a73", - "url": "https://files.pythonhosted.org/packages/23/85/283450ee672719e216a5e1b0e80cb0c8f225bc0814cbb893155ee4fdbb9e/bcrypt-4.1.3-cp39-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3a5be252fef513363fe281bafc596c31b552cf81d04c5085bc5dac29670faa08", - "url": "https://files.pythonhosted.org/packages/29/3c/6e478265f68eff764571676c0773086d15378fdf5347ddf53e5025c8b956/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "31adb9cbb8737a581a843e13df22ffb7c84638342de3708a98d5c986770f2834", - "url": "https://files.pythonhosted.org/packages/2c/fd/0d2d7cc6fc816010f6c6273b778e2f147e2eca1144975b6b71e344b26ca0/bcrypt-4.1.3-cp39-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "6cac78a8d42f9d120b3987f82252bdbeb7e6e900a5e1ba37f6be6fe4e3848286", - "url": "https://files.pythonhosted.org/packages/2d/5e/edcb4ec57b056ca9d5f9fde31fcda10cc635def48867edff5cc09a348a4f/bcrypt-4.1.3-cp37-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3d3b317050a9a711a5c7214bf04e28333cf528e0ed0ec9a4e55ba628d0f07c1a", - "url": "https://files.pythonhosted.org/packages/2f/f6/9c0a6de7ef78d573e10d0b7de3ef82454e2e6eb6fada453ea6c2b8fb3f0a/bcrypt-4.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f44a97780677e7ac0ca393bd7982b19dbbd8d7228c1afe10b128fd9550eef5f1", - "url": "https://files.pythonhosted.org/packages/37/43/14dcb5f503e5cd02ebac4404278c8decaaa3b08a1e4db23d60db48666745/bcrypt-4.1.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "01746eb2c4299dd0ae1670234bf77704f581dd72cc180f444bfe74eb80495b64", - "url": "https://files.pythonhosted.org/packages/3b/5d/121130cc85009070fe4e4f5937b213a00db143147bc6c8677b3fd03deec8/bcrypt-4.1.3-cp37-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "4fb253d65da30d9269e0a6f4b0de32bd657a0208a6f4e43d3e645774fb5457f3", - "url": "https://files.pythonhosted.org/packages/4c/6a/ce950d4350c734bc5d9b7196a58fedbdc94f564c00b495a1222984431e03/bcrypt-4.1.3-cp37-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "094fd31e08c2b102a14880ee5b3d09913ecf334cd604af27e1013c76831f7b05", - "url": "https://files.pythonhosted.org/packages/63/56/45312e49c195cd30e1bf4b7f0e039e8b3c46802cd55485947ddcb96caa27/bcrypt-4.1.3-cp37-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "4a8bea4c152b91fd8319fef4c6a790da5c07840421c2b785084989bf8bbb7455", - "url": "https://files.pythonhosted.org/packages/7c/8d/ad2efe0ec57ed3c25e588c4543d946a1c72f8ee357a121c0e382d8aaa93f/bcrypt-4.1.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "5f7cd3399fbc4ec290378b541b0cf3d4398e4737a65d0f938c7c0f9d5e686611", - "url": "https://files.pythonhosted.org/packages/97/00/21e34b365b895e6faf9cc5d4e7b97dd419e08f8a7df119792ec206b4a3fa/bcrypt-4.1.3-cp39-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "6717543d2c110a155e6821ce5670c1f512f602eabb77dba95717ca76af79867d", - "url": "https://files.pythonhosted.org/packages/9c/64/a016d23b6f513282d8b7f9dd91342929a2e970b2e2c2576d9b76f8f2ee5a/bcrypt-4.1.3-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f5698ce5292a4e4b9e5861f7e53b1d89242ad39d54c3da451a93cac17b61921a", - "url": "https://files.pythonhosted.org/packages/a4/9a/4aa31d1de9369737cfa734a60c3d125ecbd1b3ae2c6499986d0ac160ea8b/bcrypt-4.1.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0d4cf6ef1525f79255ef048b3489602868c47aea61f375377f0d00514fe4a78c", - "url": "https://files.pythonhosted.org/packages/a8/eb/fbea8d2b370a4cc7f5f0aff9f492177a5813e130edeab9dd388ddd3ef1dc/bcrypt-4.1.3-cp39-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "193bb49eeeb9c1e2db9ba65d09dc6384edd5608d9d672b4125e9320af9153a15", - "url": "https://files.pythonhosted.org/packages/af/a1/36aa84027ef45558b30a485bc5b0606d5e7357b27b10cc49dce3944f4d1d/bcrypt-4.1.3-cp37-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "2ee15dd749f5952fe3f0430d0ff6b74082e159c50332a1413d51b5689cf06623", - "url": "https://files.pythonhosted.org/packages/ca/e9/0b36987abbcd8c9210c7b86673d88ff0a481b4610630710fb80ba5661356/bcrypt-4.1.3.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "c4c8d9b3e97209dd7111bf726e79f638ad9224b4691d1c7cfefa571a09b1b2d6", - "url": "https://files.pythonhosted.org/packages/e0/c9/069b0c3683ce969b328b7b3e3218f9d5981d0629f6091b3b1dfa72928f75/bcrypt-4.1.3-cp39-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "9f8ea645eb94fb6e7bea0cf4ba121c07a3a182ac52876493870033141aa687bc", - "url": "https://files.pythonhosted.org/packages/f6/79/5dd98e9f67701be98d52f7ee181aa3b078d45eab62ed5f9aa987676d049c/bcrypt-4.1.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "48429c83292b57bf4af6ab75809f8f4daf52aa5d480632e53707805cc1ce9b74", - "url": "https://files.pythonhosted.org/packages/fe/4e/e424a74f0749998d8465c162c5cb9d9f210a5b60444f4120eff0af3fa800/bcrypt-4.1.3-cp37-abi3-macosx_10_12_universal2.whl" ->>>>>>> python_upgrade - } - ], - "project_name": "bcrypt", - "requires_dists": [ - "mypy; extra == \"typecheck\"", - "pytest!=3.3.0,>=3.2.1; extra == \"tests\"" - ], - "requires_python": ">=3.7", -<<<<<<< HEAD - "version": "4.2.0" -======= - "version": "4.1.3" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed", - "url": "https://files.pythonhosted.org/packages/b1/fe/e8c672695b37eecc5cbf43e1d0638d88d66ba3a44c4d321c796f4e59167f/beautifulsoup4-4.12.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051", - "url": "https://files.pythonhosted.org/packages/b3/ca/824b1195773ce6166d388573fc106ce56d4a805bd7427b624e063596ec58/beautifulsoup4-4.12.3.tar.gz" - } - ], - "project_name": "beautifulsoup4", - "requires_dists": [ - "cchardet; extra == \"cchardet\"", - "chardet; extra == \"chardet\"", - "charset-normalizer; extra == \"charset-normalizer\"", - "html5lib; extra == \"html5lib\"", - "lxml; extra == \"lxml\"", - "soupsieve>1.2" - ], - "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": [ - { - "algorithm": "sha256", - "hash": "0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945", - "url": "https://files.pythonhosted.org/packages/fb/2b/a64c2d25a37aeb921fddb929111413049fc5f8b9a4c1aefaffaafe768d54/cachetools-5.3.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105", - "url": "https://files.pythonhosted.org/packages/b3/4d/27a3e6dd09011649ad5210bdf963765bc8fa81a0827a4fc01bafd2705c5b/cachetools-5.3.3.tar.gz" - } - ], - "project_name": "cachetools", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "5.3.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90", - "url": "https://files.pythonhosted.org/packages/1c/d5/c84e1a17bf61d4df64ca866a1c9a913874b4e9bdc131ec689a0ad013fb36/certifi-2024.7.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b", - "url": "https://files.pythonhosted.org/packages/c2/02/a95f2b11e207f68bc64d7aae9666fed2e2b3f307748d5123dffb72a1bbea/certifi-2024.7.4.tar.gz" - } - ], - "project_name": "certifi", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "2024.7.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe", - "url": "https://files.pythonhosted.org/packages/8c/54/82aa3c014760d5a6ddfde3253602f0ac1937dd504621d4139746f230a7b5/cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2", - "url": "https://files.pythonhosted.org/packages/20/3b/f95e667064141843843df8ca79dd49ba57bb7a7615d6d7d538531e45f002/cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/33/14/8398798ab001523f1abb2b4170a01bf2114588f3f1fa1f984b3f3bef107e/cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc", - "url": "https://files.pythonhosted.org/packages/39/44/4381b8d26e9cfa3e220e3c5386f443a10c6313a6ade7acb314b2bcc0a6ce/cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/68/ce/95b0bae7968c65473e1298efb042e10cafc7bafc14d9e4f154008241c91d/cffi-1.16.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f", - "url": "https://files.pythonhosted.org/packages/69/46/8882b0405be4ac7db3fefa5a201f221acb54f27c76e584e23e9c62b68819/cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0", - "url": "https://files.pythonhosted.org/packages/7f/5a/39e212f99aa73660a1c523f6b7ddeb4e26f906faaa5088e97b617a89c7ae/cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b", - "url": "https://files.pythonhosted.org/packages/85/3e/a4e4857c2aae635195459679ac9daea296630c1d76351259eb3de3c18ed0/cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b", - "url": "https://files.pythonhosted.org/packages/8b/5c/7f9cd1fb80512c9e16c90b29b26fea52977e9ab268321f64b42f4c8488a3/cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/f1/c9/326611aa83e16b13b6db4dbb73b5455c668159a003c4c2f0c3bcb2ddabaf/cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c", - "url": "https://files.pythonhosted.org/packages/f9/6c/af5f40c66aac38aa70abfa6f26e8296947a79ef373cb81a14c791c3da91d/cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - } - ], - "project_name": "cffi", - "requires_dists": [ - "pycparser" - ], - "requires_python": ">=3.8", - "version": "1.16.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970", - "url": "https://files.pythonhosted.org/packages/38/6f/f5fbc992a329ee4e0f288c1fe0e2ad9485ed064cac731ed2fe47dcc38cbf/chardet-5.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7", - "url": "https://files.pythonhosted.org/packages/f3/0d/f7b6ab21ec75897ed80c17d79b15951a719226b9fababf1e40ea74d69079/chardet-5.2.0.tar.gz" - } - ], - "project_name": "chardet", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "5.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/13/82/83c188028b6f38d39538442dd127dc794c602ae6d45d66c469f4063a4c30/charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", - "url": "https://files.pythonhosted.org/packages/16/ea/a9e284aa38cccea06b7056d4cbc7adf37670b1f8a668a312864abf1ff7c6/charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", - "url": "https://files.pythonhosted.org/packages/1f/8d/33c860a7032da5b93382cbe2873261f81467e7b37f4ed91e25fed62fd49b/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/34/2a/f392457d45e24a0c9bfc012887ed4f3c54bf5d4d05a5deb970ffec4b7fc0/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", - "url": "https://files.pythonhosted.org/packages/3d/09/d82fe4a34c5f0585f9ea1df090e2a71eb9bb1e469723053e1ee9f57c16f3/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/51/fd/0ee5b1c2860bb3c60236d05b6e4ac240cf702b67471138571dad91bcfed8/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8", - "url": "https://files.pythonhosted.org/packages/53/cd/aa4b8a4d82eeceb872f83237b2d27e43e637cac9ffaef19a1321c3bafb67/charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", - "url": "https://files.pythonhosted.org/packages/66/fe/c7d3da40a66a6bf2920cce0f436fa1f62ee28aaf92f412f0bf3b84c8ad6c/charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", - "url": "https://files.pythonhosted.org/packages/79/66/8946baa705c588521afe10b2d7967300e49380ded089a62d38537264aece/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", - "url": "https://files.pythonhosted.org/packages/81/b2/160893421adfa3c45554fb418e321ed342bb10c0a4549e855b2b2a3699cb/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", - "url": "https://files.pythonhosted.org/packages/98/69/5d8751b4b670d623aa7a47bef061d69c279e9f922f6705147983aa76c3ce/charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/a8/6f/4ff299b97da2ed6358154b6eb3a2db67da2ae204e53d205aacb18a7e4f34/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/bd/28/7ea29e73eea52c7e15b4b9108d0743fc9e4cc2cdb00d275af1df3d46d360/charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", - "url": "https://files.pythonhosted.org/packages/be/4d/9e370f8281cec2fcc9452c4d1ac513324c32957c5f70c73dd2fa8442a21a/charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/f7/9d/bcf4a449a438ed6f19790eee543a86a740c77508fbc5ddab210ab3ba3a9a/charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl" - } - ], - "project_name": "charset-normalizer", - "requires_dists": [], - "requires_python": ">=3.7.0", - "version": "3.3.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4ac00d293cdb3d1a5c78e09b3d75c7b0292ab45d5b26853b436ff5087eba2165", - "url": "https://files.pythonhosted.org/packages/58/18/2c40c4ee244506568398505558171c9243a7d0d46338fc5b87c3142573ed/ciso8601-2.3.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "566b4a8b2f9717e54ffcdd732a7c8051a91da30a60a4f1dafb62e303a1dbac69", - "url": "https://files.pythonhosted.org/packages/02/c1/64433e0e6c615d8c9e5949c4082d364890f2632064b187d4b33b1463e789/ciso8601-2.3.1-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "e4ac59453664781dfddebee51f9a36e41819993823fdb09ddc0ce0e4bd3ff0c3", - "url": "https://files.pythonhosted.org/packages/06/7b/674cbdc6fba47e2bb56d3ad5307d8fa5202ab853c8f5c69c42effa0e4436/ciso8601-2.3.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2a64ff58904d4418d60fa9619014ae820ae21f7aef58da46df78a4c647f951ec", - "url": "https://files.pythonhosted.org/packages/07/12/975e4b102a95aa7a940793cd87439a19b3b4cf4c8b73cda1145bd72ec78e/ciso8601-2.3.1-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "d1f85c0b7fa742bbfd18177137ccbaa3f867dd06157f91595075bb959a733048", - "url": "https://files.pythonhosted.org/packages/09/bd/0cc7e7dbe08ad9c4913ece2abd975078fd6e91f2b78225d9dc02f1fb7793/ciso8601-2.3.1-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "58a749d63f28c2eda71416c9d6014113b0748abf5fd14c502b01bd515502fedf", - "url": "https://files.pythonhosted.org/packages/12/b1/ddc338b59f1658d04fc8e61c91562d05b7003c05b1e300506745e9604fed/ciso8601-2.3.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/ac/bc/cf42c1b0042f91c90a6b00244f63b6fb137af15e43e29f07bb72cf955be8/ciso8601-2.3.1.tar.gz" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/ef/54/863616c6f435dee386d8533d85ac59efa301324d7745bbcdd891512a67c7/ciso8601-2.3.1-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "ad8f417c45eea973a694599b96f40d841215bfee352cb9963383e8d66b309981", - "url": "https://files.pythonhosted.org/packages/fc/41/c5689bb0b1824f180f80cba5a4bd793d3d0e17b7802f7576fa1b7fd3efe9/ciso8601-2.3.1-cp38-cp38-musllinux_1_1_x86_64.whl" - } - ], - "project_name": "ciso8601", - "requires_dists": [], - "requires_python": null, - "version": "2.3.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", - "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", - "url": "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz" - } - ], - "project_name": "click", - "requires_dists": [ - "colorama; platform_system == \"Windows\"", - "importlib-metadata; python_version < \"3.8\"" - ], - "requires_python": ">=3.7", - "version": "8.1.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9", - "url": "https://files.pythonhosted.org/packages/47/f9/3a73439e4a3873ed2b5ffed9aa1361b3db2cf8f462c5c926e556b50c9c7b/cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "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": [ - { - "algorithm": "sha256", - "hash": "08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069", - "url": "https://files.pythonhosted.org/packages/62/9e/d8c84c24f5c42c7595e975101969009efc440259b59a0a9732cfd4fc4108/cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947", - "url": "https://files.pythonhosted.org/packages/0e/aa/fba13d5fcfeaa11dc57ff7b7357b4cc05529a94b29753097e31dde8bcb0d/cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f", - "url": "https://files.pythonhosted.org/packages/0f/6c/b42660b3075ff543065b2c1c5a3d9bedaadcff8ebce2ee981be2babc2934/cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5", - "url": "https://files.pythonhosted.org/packages/58/aa/99b2c00a4f54c60d210d6d1759c720ecf28305aa32d6fb1bb1853f415be6/cryptography-43.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431", - "url": "https://files.pythonhosted.org/packages/5e/64/f41f42ddc9c583737c9df0093affb92c61de7d5b0d299bf644524afe31c1/cryptography-43.0.0-cp37-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66", - "url": "https://files.pythonhosted.org/packages/66/d7/397515233e6a861f921bd0365b162b38e0cc513fcf4f1bdd9cc7bc5a3384/cryptography-43.0.0-cp39-abi3-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e", - "url": "https://files.pythonhosted.org/packages/69/ec/9fb9dcf4f91f0e5e76de597256c43eedefd8423aa59be95c70c4c3db426a/cryptography-43.0.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e", - "url": "https://files.pythonhosted.org/packages/76/eb/ab783b47b3b9b55371b4361c7ec695144bde1a3343ff2b7a8c1d8fe617bb/cryptography-43.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22", - "url": "https://files.pythonhosted.org/packages/77/9d/0b98c73cebfd41e4fb0439fe9ce08022e8d059f51caa7afc8934fc1edcd9/cryptography-43.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf", - "url": "https://files.pythonhosted.org/packages/83/25/439a8ddd8058e7f898b7d27c36f94b66c8c8a2d60e1855d725845f4be0bc/cryptography-43.0.0-cp37-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5", - "url": "https://files.pythonhosted.org/packages/a3/62/62770f34290ebb1b6542bd3f13b3b102875b90aed4804e296f8d2a5ac6d7/cryptography-43.0.0-cp39-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47", - "url": "https://files.pythonhosted.org/packages/ae/71/e073795d0d1624847f323481f7d84855f699172a632aa37646464b0e1712/cryptography-43.0.0-cp37-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2", - "url": "https://files.pythonhosted.org/packages/ba/2a/1bf25f4fa1fd1d315e7ab429539850526b4fbaba0d2eba7813bec242ce6a/cryptography-43.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b", - "url": "https://files.pythonhosted.org/packages/bd/f6/e4387edb55563e2546028ba4c634522fe727693d3cdd9ec0ecacedc75411/cryptography-43.0.0-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55", - "url": "https://files.pythonhosted.org/packages/c7/a2/1607f1295eb2c30fcf2c07d7fd0c3772d21dcdb827de2b2730b02df0af51/cryptography-43.0.0-cp37-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74", - "url": "https://files.pythonhosted.org/packages/d3/46/dcd2eb6840b9452e7fbc52720f3dc54a85eb41e68414733379e8f98e3275/cryptography-43.0.0-cp37-abi3-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895", - "url": "https://files.pythonhosted.org/packages/e8/23/b0713319edff1d8633775b354f8b34a476e4dd5f4cd4b91e488baec3361a/cryptography-43.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0", - "url": "https://files.pythonhosted.org/packages/f7/74/028cea86db9315ba3f991e307adabf9f0aa15067011137c38b2fb2aa16eb/cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl" -======= - "hash": "1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886", - "url": "https://files.pythonhosted.org/packages/0a/8b/2a41805540e49df1ea053f0dfef0340964fe422d61f6e398d16bf6c4013b/cryptography-42.0.7-cp39-abi3-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562", - "url": "https://files.pythonhosted.org/packages/2b/e5/2220313802146732cf885f5bdf903d7d9075d9771fcbda9c9756f708e76e/cryptography-42.0.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82", - "url": "https://files.pythonhosted.org/packages/39/56/45e7db74b8bd14e32238a7709c94fd40dbe9a38dccec6afb43afcc6cad84/cryptography-42.0.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1", - "url": "https://files.pythonhosted.org/packages/45/df/f2f6cc5124fb85ff84615d62b996997b22a1c7c37a5ff3f5e8907a5ffa86/cryptography-42.0.7-cp39-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd", - "url": "https://files.pythonhosted.org/packages/4d/21/aa22aedd528839c09cf867b02124ff41109859c80c1bf18b9de342157f95/cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a", - "url": "https://files.pythonhosted.org/packages/53/f7/25186f6ef7df5dc1883ceee11f20305749a7f49ee4066a21818cbe67514e/cryptography-42.0.7-cp37-abi3-macosx_10_12_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da", - "url": "https://files.pythonhosted.org/packages/55/12/6cdd1914e3b443f10f27c1b249cbdab0134962c3cfce25f1b4ae2d087ebf/cryptography-42.0.7-cp37-abi3-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda", - "url": "https://files.pythonhosted.org/packages/61/fc/bc9d580e480741c05fc6df6f9774dfe33ae42905361661d5d2616476bb62/cryptography-42.0.7-cp39-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55", - "url": "https://files.pythonhosted.org/packages/64/0c/36f71286fef9987f0e850f9b9a78a41784fe7f66c3b7611530b6bb0ecec4/cryptography-42.0.7-cp37-abi3-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2", - "url": "https://files.pythonhosted.org/packages/78/63/66c03eb51f0d241862083deb3f17ab5fce08cf6b347db7887bcb4d1a194e/cryptography-42.0.7.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785", - "url": "https://files.pythonhosted.org/packages/79/fd/4525835d3e42e2db30169d42215ce74762f447fcbf01ed02f74f59bd74cb/cryptography-42.0.7-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9", - "url": "https://files.pythonhosted.org/packages/7b/4e/fa4896744259ee8602464ed2c7330b736cc4dd3fd92f63cd56828bf36707/cryptography-42.0.7-cp39-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858", - "url": "https://files.pythonhosted.org/packages/80/91/762c76c55db47cb94e1ba91ec6734a4f1e64466cbef5ef8cd63c5ab4f31c/cryptography-42.0.7-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc", - "url": "https://files.pythonhosted.org/packages/81/17/0294e576979d7f388855bf64b3cc6d9fc08168cdf6833ff0df3ad0ee6580/cryptography-42.0.7-cp37-abi3-manylinux_2_28_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60", - "url": "https://files.pythonhosted.org/packages/a8/0f/35ffbbc42db7e61af62298ed057ac43fb958025f5191ce9720e6b8bc4127/cryptography-42.0.7-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477", - "url": "https://files.pythonhosted.org/packages/aa/b5/57982a4ca3542daeabee2303263a8b9d59968d47a1977a36f6aa9344e32e/cryptography-42.0.7-cp37-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13", - "url": "https://files.pythonhosted.org/packages/bf/75/a04c67c659888d03f164f58851a3522c16d3c09ce3de5734e6e34b48ec6d/cryptography-42.0.7-cp37-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8", - "url": "https://files.pythonhosted.org/packages/c9/26/4668c980f63a04c697bac26559c1a2a3a2d0730dc3d0f88b87ed7abf76ca/cryptography-42.0.7-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4", - "url": "https://files.pythonhosted.org/packages/cf/c2/8226676b3a4916a12d6c243b1934894e333ea2e97d0233f3260955ed2673/cryptography-42.0.7-cp39-abi3-macosx_10_12_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2", - "url": "https://files.pythonhosted.org/packages/d4/08/57c7815d3bb5edeb95da7845cfbd9604393eee955fe139710014f107dac5/cryptography-42.0.7-cp37-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f", - "url": "https://files.pythonhosted.org/packages/f2/0d/5476959d71a4c427cf02f278a8984cb4197e6a41417961defd8f0aba88f5/cryptography-42.0.7-cp39-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604", - "url": "https://files.pythonhosted.org/packages/f3/df/f528d1deadd8699f876775c59784ce111bb8b2b0c258c53b16fcf91cad33/cryptography-42.0.7-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14", - "url": "https://files.pythonhosted.org/packages/fa/c8/6dfec89eb609a1fb7b5cf3df35914611582c58dde3d3045fdaedb2853d7b/cryptography-42.0.7-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e", - "url": "https://files.pythonhosted.org/packages/fd/b8/08bdd08847b42a9d6d29604bdf6db0521b9c71f5334f0838e082a68b3684/cryptography-42.0.7-cp39-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7", - "url": "https://files.pythonhosted.org/packages/fd/eb/b03078f34bfe9c11339773a49c75cb2232471bc7b56b3c353b6a27aed8e8/cryptography-42.0.7-cp37-abi3-musllinux_1_2_x86_64.whl" ->>>>>>> python_upgrade - } - ], - "project_name": "cryptography", - "requires_dists": [ - "bcrypt>=3.1.5; extra == \"ssh\"", - "build; extra == \"sdist\"", - "certifi; extra == \"test\"", - "cffi>=1.12; platform_python_implementation != \"PyPy\"", - "check-sdist; extra == \"pep8test\"", - "click; extra == \"pep8test\"", - "cryptography-vectors==43.0.0; extra == \"test\"", - "mypy; extra == \"pep8test\"", - "nox; extra == \"nox\"", - "pretend; extra == \"test\"", - "pyenchant>=1.6.11; extra == \"docstest\"", - "pytest-benchmark; extra == \"test\"", - "pytest-cov; extra == \"test\"", - "pytest-randomly; extra == \"test-randomorder\"", - "pytest-xdist; extra == \"test\"", - "pytest>=6.2.0; extra == \"test\"", - "readme-renderer; extra == \"docstest\"", - "ruff; extra == \"pep8test\"", - "sphinx-rtd-theme>=1.1.1; extra == \"docs\"", - "sphinx>=5.3.0; extra == \"docs\"", - "sphinxcontrib-spelling>=4.0.1; extra == \"docstest\"" - ], - "requires_python": ">=3.7", -<<<<<<< HEAD - "version": "43.0.0" -======= - "version": "42.0.7" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "46f9dacbe8ce49c47ebf2bf2ec878d50c9443dfae97cc7b8054be684e54c3e91", - "url": "https://files.pythonhosted.org/packages/9c/ca/863ed8fa66d6f986de6ad7feccc5df96e37400845b1eeb29889a70feea99/debtcollector-3.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2a8917d25b0e1f1d0d365d3c1c6ecfc7a522b1e9716e8a1a4a915126f7ccea6f", - "url": "https://files.pythonhosted.org/packages/31/e2/a45b5a620145937529c840df5e499c267997e85de40df27d54424a158d3c/debtcollector-3.0.0.tar.gz" - } - ], - "project_name": "debtcollector", - "requires_dists": [ - "wrapt>=1.7.0" - ], - "requires_python": ">=3.8", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", - "url": "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", - "url": "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz" - } - ], - "project_name": "decorator", - "requires_dists": [], - "requires_python": ">=3.5", - "version": "5.1.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784", - "url": "https://files.pythonhosted.org/packages/8e/41/9307e4f5f9976bc8b7fea0b66367734e8faf3ec84bc0d412d8cfabbb66cd/distlib-0.3.8-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64", - "url": "https://files.pythonhosted.org/packages/c4/91/e2df406fb4efacdf46871c25cde65d3c6ee5e173b7e5a4547a47bae91920/distlib-0.3.8.tar.gz" - } - ], - "project_name": "distlib", - "requires_dists": [], - "requires_python": null, - "version": "0.3.8" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50", - "url": "https://files.pythonhosted.org/packages/87/a1/8c5287991ddb8d3e4662f71356d9656d91ab3a36618c3dd11b280df0d255/dnspython-2.6.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc", - "url": "https://files.pythonhosted.org/packages/37/7d/c871f55054e403fdfd6b8f65fd6d1c4e147ed100d3e9f9ba1fe695403939/dnspython-2.6.1.tar.gz" - } - ], - "project_name": "dnspython", - "requires_dists": [ - "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.8", - "version": "2.6.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e818e6913f26c2a81eadef503a2741d7cca7f235d20e217274a009ecd5a74abf", - "url": "https://files.pythonhosted.org/packages/1b/c2/4bc8cd09b14e28ce3f406a8b05761bed0d785d1ca8c2a5c6684d884c66a2/editor-1.6.6-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "bb6989e872638cd119db9a4fce284cd8e13c553886a1c044c6b8d8a160c871f8", - "url": "https://files.pythonhosted.org/packages/2a/92/734a4ab345914259cb6146fd36512608ea42be16195375c379046f33283d/editor-1.6.6.tar.gz" - } - ], - "project_name": "editor", - "requires_dists": [ - "runs", - "xmod" - ], - "requires_python": ">=3.8", - "version": "1.6.6" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e42d0f73b718e654c223a033b8692d1a94d778a6c1deb6c3d21442746f3f727f", - "url": "https://files.pythonhosted.org/packages/75/af/73efcf654d8875febc6599f5a3d1eed043c1ca34a9b12950208cbf710d2a/eventlet-0.36.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d227fe76a63d9e6a6cef53beb8ad0b2dc40a5e7737c801f4b474cfae1db07bc5", - "url": "https://files.pythonhosted.org/packages/1b/df/f441947eef23192c9f179e46868ee8510a6f7b6627b76b88f07692f9c706/eventlet-0.36.1.tar.gz" - } - ], - "project_name": "eventlet", - "requires_dists": [ - "black; extra == \"dev\"", - "build; extra == \"dev\"", - "commitizen; extra == \"dev\"", - "dnspython>=1.15.0", - "greenlet>=1.0", - "isort; extra == \"dev\"", - "monotonic>=1.4; python_version < \"3.5\"", - "pip-tools; extra == \"dev\"", - "pre-commit; extra == \"dev\"", - "twine; extra == \"dev\"" - ], - "requires_python": ">=3.7", - "version": "0.36.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", - "url": "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", - "url": "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz" - } - ], - "project_name": "exceptiongroup", - "requires_dists": [ - "pytest>=6; extra == \"test\"" - ], - "requires_python": ">=3.7", - "version": "1.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "758819cb5d94cdedf4e836988b74de396ceacb8e2794d21f82d131fd9ee77237", - "url": "https://files.pythonhosted.org/packages/61/bf/fd60001b3abc5222d8eaa4a204cd8c0ae78e75adc688f33ce4bf25b7fafa/fasteners-0.19-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "b4f37c3ac52d8a445af3a66bce57b33b5e90b97c696b7b984f530cf8f0ded09c", - "url": "https://files.pythonhosted.org/packages/5f/d4/e834d929be54bfadb1f3e3b931c38e956aaa3b235a46a3c764c26c774902/fasteners-0.19.tar.gz" - } - ], - "project_name": "fasteners", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "0.19" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7", - "url": "https://files.pythonhosted.org/packages/ae/f0/48285f0262fe47103a4a45972ed2f9b93e4c80b8fd609fa98da78b2a5706/filelock-3.15.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb", - "url": "https://files.pythonhosted.org/packages/08/dd/49e06f09b6645156550fb9aee9cc1e59aba7efbc972d665a1bd6ae0435d4/filelock-3.15.4.tar.gz" - } - ], - "project_name": "filelock", - "requires_dists": [ - "covdefaults>=2.3; extra == \"testing\"", - "coverage>=7.3.2; extra == \"testing\"", - "diff-cover>=8.0.1; extra == \"testing\"", - "furo>=2023.9.10; extra == \"docs\"", - "pytest-asyncio>=0.21; extra == \"testing\"", - "pytest-cov>=4.1; extra == \"testing\"", - "pytest-mock>=3.12; extra == \"testing\"", - "pytest-timeout>=2.2; extra == \"testing\"", - "pytest>=7.4.3; extra == \"testing\"", - "sphinx-autodoc-typehints!=1.23.4,>=1.25.2; extra == \"docs\"", - "sphinx>=7.2.6; extra == \"docs\"", - "typing-extensions>=4.8; python_version < \"3.11\" and extra == \"typing\"", - "virtualenv>=20.26.2; extra == \"testing\"" - ], - "requires_python": ">=3.8", - "version": "3.15.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3", - "url": "https://files.pythonhosted.org/packages/61/80/ffe1da13ad9300f87c93af113edd0638c75138c42a0994becfacac078c06/flask-3.0.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842", - "url": "https://files.pythonhosted.org/packages/41/e1/d104c83026f8d35dfd2c261df7d64738341067526406b40190bc063e829a/flask-3.0.3.tar.gz" - } - ], - "project_name": "flask", - "requires_dists": [ - "Jinja2>=3.1.2", - "Werkzeug>=3.0.0", - "asgiref>=3.2; extra == \"async\"", - "blinker>=1.6.2", - "click>=8.1.3", - "importlib-metadata>=3.6.0; python_version < \"3.10\"", - "itsdangerous>=2.1.2", - "python-dotenv; extra == \"dotenv\"" - ], - "requires_python": ">=3.8", - "version": "3.0.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "292ed6a37f1ac0a10ad8669f5ceb82e8ba3106c16c54090820927bac8b0b29eb", - "url": "https://files.pythonhosted.org/packages/de/51/f3bf1779a12e92c3bf9f2d0ee242298775ef625adb596951090bdd24854f/flex-6.14.1.tar.gz" - } - ], - "project_name": "flex", - "requires_dists": [ - "PyYAML>=3.11", - "click>=3.3", - "jsonpointer>=1.7", - "requests>=2.4.3", - "rfc3987>=1.3.4", - "six>=1.7.3", - "strict-rfc3339>=0.7", - "validate-email>=1.2" - ], - "requires_python": null, - "version": "6.14.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "645565803423c907557d59f82b2e7f33d87fd483316414466d059a0fa5aa5fc9", - "url": "https://files.pythonhosted.org/packages/ad/2b/dcdb2dfdc61676ac25676f10f71c9bba77bf81227f3e73f5c678462bffaf/futurist-3.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "6422011792414c39228e114bec5494303aaf06dcd335e4f8dd4f907f78a41f79", - "url": "https://files.pythonhosted.org/packages/4c/24/864408313afba48440ee3a560e1a70b62b39e6c0dfeddea9506699e6e606/futurist-3.0.0.tar.gz" - } - ], - "project_name": "futurist", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4", - "url": "https://files.pythonhosted.org/packages/fd/5b/8f0c4a5bb9fd491c277c21eff7ccae71b47d43c4446c9d0c6cff2fe8c2c4/gitdb-4.0.11-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b", - "url": "https://files.pythonhosted.org/packages/19/0d/bbb5b5ee188dec84647a4664f3e11b06ade2bde568dbd489d9d64adef8ed/gitdb-4.0.11.tar.gz" - } - ], - "project_name": "gitdb", - "requires_dists": [ - "smmap<6,>=3.0.1" - ], - "requires_python": ">=3.7", - "version": "4.0.11" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff", - "url": "https://files.pythonhosted.org/packages/e9/bd/cc3a402a6439c15c3d4294333e13042b915bbeab54edc457c723931fed3f/GitPython-3.1.43-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c", - "url": "https://files.pythonhosted.org/packages/b6/a1/106fd9fa2dd989b6fb36e5893961f82992cf676381707253e0bf93eb1662/GitPython-3.1.43.tar.gz" - } - ], - "project_name": "gitpython", - "requires_dists": [ - "coverage[toml]; extra == \"test\"", - "ddt!=1.4.3,>=1.1.1; extra == \"test\"", - "gitdb<5,>=4.0.1", - "mock; python_version < \"3.8\" and extra == \"test\"", - "mypy; extra == \"test\"", - "pre-commit; extra == \"test\"", - "pytest-cov; extra == \"test\"", - "pytest-instafail; extra == \"test\"", - "pytest-mock; extra == \"test\"", - "pytest-sugar; extra == \"test\"", - "pytest>=7.3.1; extra == \"test\"", - "sphinx-autodoc-typehints; extra == \"doc\"", - "sphinx-rtd-theme; extra == \"doc\"", - "sphinx==4.3.2; extra == \"doc\"", - "sphinxcontrib-applehelp<=1.0.4,>=1.0.2; extra == \"doc\"", - "sphinxcontrib-devhelp==1.0.2; extra == \"doc\"", - "sphinxcontrib-htmlhelp<=2.0.1,>=2.0.0; extra == \"doc\"", - "sphinxcontrib-qthelp==1.0.3; extra == \"doc\"", - "sphinxcontrib-serializinghtml==1.1.5; extra == \"doc\"", - "typing-extensions; python_version < \"3.11\" and extra == \"test\"", - "typing-extensions>=3.7.4.3; python_version < \"3.8\"" - ], - "requires_python": ">=3.7", - "version": "3.1.43" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5", - "url": "https://files.pythonhosted.org/packages/00/be/d59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf/graphviz-0.20.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d", - "url": "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip" - } - ], - "project_name": "graphviz", - "requires_dists": [ - "coverage; extra == \"test\"", - "flake8; extra == \"dev\"", - "pep8-naming; extra == \"dev\"", - "pytest-cov; extra == \"test\"", - "pytest-mock>=3; extra == \"test\"", - "pytest<8.1,>=7; extra == \"test\"", - "sphinx-autodoc-typehints; extra == \"docs\"", - "sphinx-rtd-theme; extra == \"docs\"", - "sphinx<7,>=5; extra == \"docs\"", - "tox>=3; extra == \"dev\"", - "twine; extra == \"dev\"", - "wheel; extra == \"dev\"" - ], - "requires_python": ">=3.8", - "version": "0.20.3" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", - "url": "https://files.pythonhosted.org/packages/0b/8a/f5140c8713f919af0e98e6aaa40cb20edaaf3739d18c4a077581e2422ac4/greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.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" - }, - { - "algorithm": "sha256", - "hash": "43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", - "url": "https://files.pythonhosted.org/packages/17/14/3bddb1298b9a6786539ac609ba4b7c9c0842e12aa73aaa4d8d73ec8f8185/greenlet-3.0.3.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", - "url": "https://files.pythonhosted.org/packages/1c/2f/64628f6ae48e05f585e0eb3fb7399b52e240ef99f602107b445bf6be23ef/greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", - "url": "https://files.pythonhosted.org/packages/24/35/945d5b10648fec9b20bcc6df8952d20bb3bba76413cd71c1fdbee98f5616/greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.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" - }, - { - "algorithm": "sha256", - "hash": "dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", - "url": "https://files.pythonhosted.org/packages/6c/90/5b14670653f7363fb3e1665f8da6d64bd4c31d53a796d09ef69f48be7273/greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", - "url": "https://files.pythonhosted.org/packages/74/00/27e2da76b926e9b5a2c97d3f4c0baf1b7d8181209d3026c0171f621ae6c0/greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5", - "url": "https://files.pythonhosted.org/packages/74/9f/71df0154a13d77e92451891a087a4c5783375964132290fca70c7e80e5d4/greenlet-3.0.3-cp38-cp38-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" - }, - { - "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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", - "url": "https://files.pythonhosted.org/packages/a6/64/bea53c592e3e45799f7c8039a8ee7d6883c518eafef1fcae60beb776070f/greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", - "url": "https://files.pythonhosted.org/packages/a6/d6/408ad9603339db28ce334021b1403dfcfbcb7501a435d49698408d928de7/greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" - }, - { - "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" - }, - { - "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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", - "url": "https://files.pythonhosted.org/packages/e1/65/506e0a80931170b0dac1a03d36b7fc299f3fa3576235b916718602fff2c3/greenlet-3.0.3-cp310-cp310-musllinux_1_1_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" - }, - { - "algorithm": "sha256", - "hash": "3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", - "url": "https://files.pythonhosted.org/packages/ef/17/e8e72cabfb5a906c0d976d7fbcc88310df292beea0f816efbefdaf694284/greenlet-3.0.3-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" - }, - { - "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" - } - ], - "project_name": "greenlet", - "requires_dists": [ - "Sphinx; extra == \"docs\"", - "furo; extra == \"docs\"", - "objgraph; extra == \"test\"", - "psutil; extra == \"test\"" - ], - "requires_python": ">=3.7", - "version": "3.0.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9", - "url": "https://files.pythonhosted.org/packages/29/97/6d610ae77b5633d24b69c2ff1ac3044e0e565ecbd1ec188f02c45073054c/gunicorn-22.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63", - "url": "https://files.pythonhosted.org/packages/1e/88/e2f93c5738a4c1f56a458fc7a5b1676fc31dcdbb182bef6b40a141c17d66/gunicorn-22.0.0.tar.gz" - } - ], - "project_name": "gunicorn", - "requires_dists": [ - "coverage; extra == \"testing\"", - "eventlet!=0.36.0,>=0.24.1; extra == \"eventlet\"", - "eventlet; extra == \"testing\"", - "gevent; extra == \"testing\"", - "gevent>=1.4.0; extra == \"gevent\"", - "importlib-metadata; python_version < \"3.8\"", - "packaging", - "pytest-cov; extra == \"testing\"", - "pytest; extra == \"testing\"", - "setproctitle; extra == \"setproctitle\"", - "tornado>=0.2; extra == \"tornado\"" - ], - "requires_python": ">=3.7", - "version": "22.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc", - "url": "https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81", - "url": "https://files.pythonhosted.org/packages/3d/ad/2371116b22d616c194aa25ec410c9c6c37f23599dcd590502b74db197584/httplib2-0.22.0.tar.gz" - } - ], - "project_name": "httplib2", - "requires_dists": [ - "pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2; python_version > \"3.0\"", - "pyparsing<3,>=2.4.2; python_version < \"3.0\"" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "0.22.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0", - "url": "https://files.pythonhosted.org/packages/e5/3e/741d8c82801c347547f8a2a06aa57dbb1992be9e948df2ea0eda2c8b79e8/idna-3.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "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.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "11901fa0c2f97919b288679932bb64febaeacf289d18ac84dd68cb2e74213369", - "url": "https://files.pythonhosted.org/packages/82/47/bb25ec04985d0693da478797c3d8c1092b140f3a53ccb984fbbd38affa5b/importlib_metadata-8.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "72e8d4399996132204f9a16dcc751af254a48f8d1b20b9ff0f98d4a8f901e73d", - "url": "https://files.pythonhosted.org/packages/f6/a1/db39a513aa99ab3442010a994eef1cb977a436aded53042e69bee6959f74/importlib_metadata-8.2.0.tar.gz" - } - ], - "project_name": "importlib-metadata", - "requires_dists": [ - "flufl.flake8; extra == \"test\"", - "furo; extra == \"doc\"", - "importlib-resources>=1.3; python_version < \"3.9\" and extra == \"test\"", - "ipython; extra == \"perf\"", - "jaraco.packaging>=9.3; extra == \"doc\"", - "jaraco.test>=5.4; extra == \"test\"", - "jaraco.tidelift>=1.4; extra == \"doc\"", - "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-perf>=0.9.2; extra == \"test\"", - "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"test\"", - "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" - ], - "requires_python": ">=3.8", - "version": "8.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", - "url": "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", - "url": "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz" - } - ], - "project_name": "iniconfig", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "2.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242", - "url": "https://files.pythonhosted.org/packages/6c/0c/f37b6a241f0759b7653ffa7213889d89ad49a2b76eb2ddf3b57b2738c347/iso8601-2.1.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df", - "url": "https://files.pythonhosted.org/packages/b9/f3/ef59cee614d5e0accf6fd0cbba025b93b272e626ca89fb70a3e9187c5d15/iso8601-2.1.0.tar.gz" - } - ], - "project_name": "iso8601", - "requires_dists": [], - "requires_python": "<4.0,>=3.7", - "version": "2.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", - "url": "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", - "url": "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz" - } - ], - "project_name": "itsdangerous", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "2.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", - "url": "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", - "url": "https://files.pythonhosted.org/packages/ed/55/39036716d19cab0747a5020fc7e907f362fbf48c984b14e62127f7e68e5d/jinja2-3.1.4.tar.gz" - } - ], - "project_name": "jinja2", - "requires_dists": [ - "Babel>=2.7; extra == \"i18n\"", - "MarkupSafe>=2.0" - ], - "requires_python": ">=3.7", - "version": "3.1.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "05c471281c45ae113f6103d1268ec7a4831a2e96aa80de45edc89b11fac4fbec", - "url": "https://files.pythonhosted.org/packages/71/7c/45001b1f19af8c4478489fbae4fc657b21c4c669d7a5a036a86882581d85/jsonpath-rw-1.4.0.tar.gz" - } - ], - "project_name": "jsonpath-rw", - "requires_dists": [ - "decorator", - "ply", - "six" - ], - "requires_python": null, - "version": "1.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", - "url": "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", - "url": "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz" - } - ], - "project_name": "jsonpointer", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", - "url": "https://files.pythonhosted.org/packages/c5/8f/51e89ce52a085483359217bc72cdbf6e75ee595d5b1d4b5ade40c7e018b8/jsonschema-3.2.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a", - "url": "https://files.pythonhosted.org/packages/69/11/a69e2a3c01b324a77d3a7c0570faa372e8448b666300c4117a516f8b1212/jsonschema-3.2.0.tar.gz" - } - ], - "project_name": "jsonschema", - "requires_dists": [ - "attrs>=17.4.0", - "functools32; python_version < \"3\"", - "idna; extra == \"format\"", - "idna; extra == \"format_nongpl\"", - "importlib-metadata; python_version < \"3.8\"", - "jsonpointer>1.13; extra == \"format\"", - "jsonpointer>1.13; extra == \"format_nongpl\"", - "pyrsistent>=0.14.0", - "rfc3339-validator; extra == \"format_nongpl\"", - "rfc3986-validator>0.1.0; extra == \"format_nongpl\"", - "rfc3987; extra == \"format\"", - "setuptools", - "six>=1.11.0", - "strict-rfc3339; extra == \"format\"", - "webcolors; extra == \"format\"", - "webcolors; extra == \"format_nongpl\"" - ], - "requires_python": null, - "version": "3.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "de2d69168de432ff66b457a26c727a5bf7ff53af5806653fd1df7f04b6a5483c", - "url": "https://files.pythonhosted.org/packages/fc/48/6a6f6de9b6257cd1741ffb877068731a7469d13ea0e2d73c9a1daa557c59/kazoo-2.10.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "905796ae4f4c12bd4e4ae92e6e5d018439e6b56c8cfbb24825362e79b230dab1", - "url": "https://files.pythonhosted.org/packages/ff/01/75d0baf017c89de8909e4429a1865a17e45d9b787ce8084a2c55c95a79c9/kazoo-2.10.0.tar.gz" - } - ], - "project_name": "kazoo", - "requires_dists": [ - "Sphinx>=1.2.2; extra == \"alldeps\"", - "Sphinx>=1.2.2; extra == \"docs\"", - "eventlet>=0.17.1; extra == \"alldeps\"", - "eventlet>=0.17.1; extra == \"eventlet\"", - "eventlet>=0.17.1; implementation_name != \"pypy\" and extra == \"test\"", - "flake8; extra == \"alldeps\"", - "flake8; extra == \"dev\"", - "gevent>=1.2; extra == \"alldeps\"", - "gevent>=1.2; extra == \"gevent\"", - "gevent>=1.2; implementation_name != \"pypy\" and extra == \"test\"", - "mypy>=0.991; extra == \"alldeps\"", - "mypy>=0.991; extra == \"typing\"", - "objgraph; extra == \"test\"", - "pure-sasl>=0.5.1; extra == \"alldeps\"", - "pure-sasl>=0.5.1; extra == \"sasl\"", - "pyjks; extra == \"test\"", - "pyopenssl; extra == \"test\"", - "pytest-cov; extra == \"test\"", - "pytest; extra == \"test\"", - "sphinx-autodoc-typehints>=1; extra == \"alldeps\"", - "sphinx-autodoc-typehints>=1; extra == \"docs\"" - ], - "requires_python": null, - "version": "2.10.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5634c511926309c7f9789f1433e9ed402616b56836ef9878f01bd59267b4c7a9", - "url": "https://files.pythonhosted.org/packages/b4/9a/1951f2261271d6994f0df5a55b3e9cdad42ed1fc3020a0dc7f6de80a4566/kombu-5.3.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "011c4cd9a355c14a1de8d35d257314a1d2456d52b7140388561acac3cf1a97bf", - "url": "https://files.pythonhosted.org/packages/99/3a/2fb09708fef243e35c286414f2bf78543dc311ae7d3de5d343bd8437e38d/kombu-5.3.7.tar.gz" - } - ], - "project_name": "kombu", - "requires_dists": [ - "PyYAML>=3.10; extra == \"yaml\"", - "amqp<6.0.0,>=5.1.1", - "azure-identity>=1.12.0; extra == \"azurestoragequeues\"", - "azure-servicebus>=7.10.0; extra == \"azureservicebus\"", - "azure-storage-queue>=12.6.0; extra == \"azurestoragequeues\"", - "backports.zoneinfo[tzdata]>=0.2.1; python_version < \"3.9\"", - "boto3>=1.26.143; extra == \"sqs\"", - "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; 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; extra == \"pyro\"", - "python-consul2; extra == \"consul\"", - "qpid-python>=0.26; extra == \"qpid\"", - "qpid-tools>=0.26; extra == \"qpid\"", - "redis!=4.5.5,!=5.0.2,>=4.5.2; extra == \"redis\"", - "softlayer-messaging>=1.0.3; extra == \"slmq\"", - "sqlalchemy<2.1,>=1.4.48; extra == \"sqlalchemy\"", - "typing-extensions; python_version < \"3.10\"", - "urllib3>=1.26.16; extra == \"sqs\"", - "vine" - ], - "requires_python": ">=3.8", - "version": "5.3.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa", - "url": "https://files.pythonhosted.org/packages/c8/22/9460e311f340cb62d26a38c419b1381b8593b0bb6b5d1f056938b086d362/lockfile-0.12.2-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799", - "url": "https://files.pythonhosted.org/packages/17/47/72cb04a58a35ec495f96984dddb48232b551aafb95bde614605b754fe6f7/lockfile-0.12.2.tar.gz" - } - ], - "project_name": "lockfile", - "requires_dists": [], - "requires_python": null, - "version": "0.12.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b0fb343d27ee21201dc0002bd48cd7591dfe3cb17914b56326f99344bfb89dc9", - "url": "git+https://github.com/StackStorm/logshipper.git@stackstorm_patched" - } - ], - "project_name": "logshipper", - "requires_dists": [ - "eventlet", - "pika", - "pyinotify", - "python-dateutil", - "python-statsd", - "pytz", - "pyyaml", - "requests", - "six" - ], - "requires_python": null, - "version": "0.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b5d3cd8752cd7c0352c4520388b00881bca24e5ce613d667d8ff8a3ce4994f51", - "url": "https://files.pythonhosted.org/packages/67/5a/6ad8c80b10fe92a6d123660b63fa3e23a7a0fe55c20201ab794c9d714f0e/mail_parser-3.15.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d66638acf0633dfd8a718e1e3646a6d58f8e9d75080c94638c7b267b4b0d6c86", - "url": "https://files.pythonhosted.org/packages/2b/3d/7f096230c4b61857c7682dc5497000a987b5f7e8376f54f0a5ed73e2cc3d/mail-parser-3.15.0.tar.gz" - } - ], - "project_name": "mail-parser", - "requires_dists": [ - "ipaddress>=1.0.23; python_version < \"3.3\"", - "simplejson>=3.17.0", - "six>=1.14.0" - ], - "requires_python": null, - "version": "3.15.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "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": "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": "bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", - "url": "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", - "url": "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "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": "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": "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": "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": "5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", - "url": "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", - "url": "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "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": "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": "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": "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": "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": "d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", - "url": "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz" - }, - { - "algorithm": "sha256", - "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": "bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", - "url": "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "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": "a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", - "url": "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "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": "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.7", - "version": "2.1.5" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "18c694e5ae8a208cdb3d2c20a993ca1a7b0efa258c247a1e565150f477f83744", - "url": "https://files.pythonhosted.org/packages/6b/20/471f41173930550f279ccb65596a5ac19b9ac974a8d93679bcd3e0c31498/mock-5.1.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5e96aad5ccda4718e0a229ed94b2024df75cc2d55575ba5762d31f5767b8767d", - "url": "https://files.pythonhosted.org/packages/66/ab/41d09a46985ead5839d8be987acda54b5bb93f713b3969cc0be4f81c455b/mock-5.1.0.tar.gz" - } - ], - "project_name": "mock", - "requires_dists": [ - "blurb; extra == \"build\"", - "pytest-cov; extra == \"test\"", - "pytest; extra == \"test\"", - "sphinx; extra == \"docs\"", - "twine; extra == \"build\"", - "wheel; extra == \"build\"" - ], - "requires_python": ">=3.6", - "version": "5.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "3d1c8b9f5d43144bd726a3f01e58d2831c6fb112960a4a60b3a26fa85e026ab3", - "url": "https://files.pythonhosted.org/packages/61/a2/dbdaa22cd49441060c6403252c384457cf2dfe8698deb6b8df6ce93191e4/mongoengine-0.23.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "de275e70cd58891dc46eef43369c522ce450dccb6d6f1979cbc9b93e6bdaf6cb", - "url": "https://files.pythonhosted.org/packages/ff/c7/856f7bb8f5f2c545d121800a50d7eb85a0af9db454d335b00f7a479863d2/mongoengine-0.23.1.tar.gz" - } - ], - "project_name": "mongoengine", - "requires_dists": [ - "pymongo<4.0,>=3.4" - ], - "requires_python": ">=3.6", - "version": "0.23.1" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3", - "url": "https://files.pythonhosted.org/packages/08/4c/17adf86a8fbb02c144c7569dc4919483c01a2ac270307e2d59e1ce394087/msgpack-1.0.8.tar.gz" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c", - "url": "https://files.pythonhosted.org/packages/0d/7e/93373ffbe6561e719996a90b6d112604f52da3ab46e7c395db7607458553/msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2", - "url": "https://files.pythonhosted.org/packages/2b/6e/3dcd4f7d8b978277393fd5b7c0abd9d2b6ef7ba8eb12834bed59158ecf5f/msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d", - "url": "https://files.pythonhosted.org/packages/42/fa/9379d11dd1b83570b2e9dc0d7c7e45aec2fb99d80540170f82d79f83132a/msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.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" - }, - { - "algorithm": "sha256", - "hash": "d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13", - "url": "https://files.pythonhosted.org/packages/56/33/465f6feaca727ccc898e2a73e27af942febe9c8cfc726972bcf70ab059e2/msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.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" - }, - { - "algorithm": "sha256", - "hash": "5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2", - "url": "https://files.pythonhosted.org/packages/60/8c/6f32030ad034212deb6b679280d908c49fc8aac3dd604c33c9ad0ccb97a7/msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.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" - }, - { - "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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d", - "url": "https://files.pythonhosted.org/packages/7c/40/c6f31cef899b54e3f6a759204d0b152c9205aef7219c9d2279f608c421eb/msgpack-1.0.8-cp310-cp310-musllinux_1_1_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" - }, - { - "algorithm": "sha256", - "hash": "82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa", - "url": "https://files.pythonhosted.org/packages/9b/db/8d629233bba3cbe6d7a6e0fd018ed684c5f0befea4428d4217ce066d2f20/msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_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" - }, - { - "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" - }, - { - "algorithm": "sha256", - "hash": "69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653", - "url": "https://files.pythonhosted.org/packages/b0/a8/29426f7af85406116e1cdbd21d8f02e30ef8f4afe3cfcbb43c498cbadadf/msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868", - "url": "https://files.pythonhosted.org/packages/b3/c2/8ecbafd6d3178ad408989c82d6d518fec76e053bae20c0fd9f47bffe7dda/msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659", - "url": "https://files.pythonhosted.org/packages/ba/13/d000e53b067aee19d57a4f26d5bffed7890e6896538ac5f97605b0f64985/msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.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" - }, - { - "algorithm": "sha256", - "hash": "00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982", - "url": "https://files.pythonhosted.org/packages/d9/96/a1868dd8997d65732476dfc70fef44d046c1b4dbe36ec1481ab744d87775/msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.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" - }, - { - "algorithm": "sha256", - "hash": "9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128", - "url": "https://files.pythonhosted.org/packages/f0/75/553cc9ddfe59c62654dd398c16cd8ab1b3eeb145e56805f52115cbe9f5a0/msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl" - } - ], - "project_name": "msgpack", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "1.0.8" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe", - "url": "https://files.pythonhosted.org/packages/12/cc/f4fe2c7ce68b92cbf5b2d379ca366e1edae38cccaad00f69f529b460c3ef/netaddr-1.3.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a", - "url": "https://files.pythonhosted.org/packages/54/90/188b2a69654f27b221fba92fda7217778208532c962509e959a9cee5229d/netaddr-1.3.0.tar.gz" - } - ], - "project_name": "netaddr", - "requires_dists": [ - "ipython; extra == \"nicer-shell\"" - ], - "requires_python": ">=3.7", - "version": "1.3.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e76c7f351e0444721e85f975ae92718e21c1f361bda946d60a214061de1f00a1", - "url": "https://files.pythonhosted.org/packages/6b/07/613110af7b7856cf0bea173a866304f5476aba06f5ccf74c66acc73e36f1/netifaces-0.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "96c0fe9696398253f93482c84814f0e7290eee0bfec11563bd07d80d701280c3", - "url": "https://files.pythonhosted.org/packages/13/d3/805fbf89548882361e6900cbb7cc50ad7dec7fab486c5513be49729d9c4e/netifaces-0.11.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "3ecb3f37c31d5d51d2a4d935cfa81c9bc956687c6f5237021b36d6fdc2815b2c", - "url": "https://files.pythonhosted.org/packages/1d/b4/0ba3c00f8bbbd3328562d9e7158235ffe21968b88a21adf5614b019e5037/netifaces-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c92ff9ac7c2282009fe0dcb67ee3cd17978cffbe0c8f4b471c00fe4325c9b4d4", - "url": "https://files.pythonhosted.org/packages/77/6c/eb2b7c9dbbf6cd0148fda0215742346dc4d45b79f680500832e8c6457936/netifaces-0.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32", - "url": "https://files.pythonhosted.org/packages/a6/91/86a6eac449ddfae239e93ffc1918cf33fd9bab35c04d1e963b311e347a73/netifaces-0.11.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "54ff6624eb95b8a07e79aa8817288659af174e954cca24cdb0daeeddfc03c4ff", - "url": "https://files.pythonhosted.org/packages/c0/8c/b8d1e0bb4139e8b9b8acea7157c4106eb020ea25f943b364c763a0edba0a/netifaces-0.11.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "5be83986100ed1fdfa78f11ccff9e4757297735ac17391b95e17e74335c2047d", - "url": "https://files.pythonhosted.org/packages/dd/51/316a0e27e015dff0573da8a7629b025eb2c10ebbe3aaf6a152039f233972/netifaces-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "841aa21110a20dc1621e3dd9f922c64ca64dd1eb213c47267a2c324d823f6c8f", - "url": "https://files.pythonhosted.org/packages/f1/52/2e526c90b5636bfab54eb81c52f5b27810d0228e80fa1afac3444dd0cd77/netifaces-0.11.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" - } - ], - "project_name": "netifaces", - "requires_dists": [], - "requires_python": null, - "version": "0.11.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36", - "url": "https://files.pythonhosted.org/packages/a8/05/9d4f9b78ead6b2661d6e8ea772e111fc4a9fbd866ad0c81906c11206b55e/networkx-3.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61", - "url": "https://files.pythonhosted.org/packages/fd/a1/47b974da1a73f063c158a1f4cc33ed0abf7c04f98a19050e80c533c31f0c/networkx-3.1.tar.gz" - } - ], - "project_name": "networkx", - "requires_dists": [ - "codecov>=2.1; extra == \"test\"", - "lxml>=4.6; extra == \"extra\"", - "matplotlib>=3.4; extra == \"default\"", - "mypy>=1.1; extra == \"developer\"", - "nb2plots>=0.6; extra == \"doc\"", - "numpy>=1.20; extra == \"default\"", - "numpydoc>=1.5; extra == \"doc\"", - "pandas>=1.3; extra == \"default\"", - "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.10; extra == \"extra\"", - "pytest-cov>=4.0; extra == \"test\"", - "pytest>=7.2; extra == \"test\"", - "scipy>=1.8; extra == \"default\"", - "sphinx-gallery>=0.12; extra == \"doc\"", - "sphinx>=6.1; extra == \"doc\"", - "sympy>=1.10; extra == \"extra\"", - "texext>=0.6.7; extra == \"doc\"" - ], - "requires_python": ">=3.8", - "version": "3.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b69a58a37dab856491bf2d3bbf259775fdce262b727f96aafbda359cb1d114d8", - "url": "https://files.pythonhosted.org/packages/a9/b7/2c3e6091377bbf582f4304d8235bb9ebe96254e7a1632d6616a6d37c8977/orjson-3.10.3-cp39-cp39-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "c8334c0d87103bb9fbbe59b78129f1f40d1d1e8355bbed2ca71853af15fa4ed3", - "url": "https://files.pythonhosted.org/packages/05/0f/561c1215a0f680abcd3d16c3480fb060f8ae6ce3605910f98481efc612af/orjson-3.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "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" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "79b9b9e33bd4c517445a62b90ca0cc279b0f1f3970655c3df9e608bc3f91741a", - "url": "https://files.pythonhosted.org/packages/de/8a/ed0b06e9b632d65fbc60c97fb2a26d45e723238ba681b806559394e9921a/orjson-3.10.6-cp39-cp39-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "caff75b425db5ef8e8f23af93c80f072f97b4fb3afd4af44482905c9f588da28", - "url": "https://files.pythonhosted.org/packages/04/54/3c592bb6c382325615a68d22cbe926db4346451d3d706b83950cd9b25fc0/orjson-3.10.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "fd502f96bf5ea9a61cbc0b2b5900d0dd68aa0da197179042bdd2be67e51a1e4b", - "url": "https://files.pythonhosted.org/packages/08/b8/06cc568180ee761c0c0995b113785e9bbe81e04c3d8c9d952ed0a09ba748/orjson-3.10.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "c2c116072a8533f2fec435fde4d134610f806bdac20188c7bd2081f3e9e0133f", - "url": "https://files.pythonhosted.org/packages/2b/19/958ec4a035cfd0774372571a4b0a51fec6776dc547677323dad982cd9c01/orjson-3.10.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "5410111d7b6681d4b0d65e0f58a13be588d01b473822483f77f513c7f93bd3b2", - "url": "https://files.pythonhosted.org/packages/3c/40/9bc7b4252b80f593b527e25f4481dde6bdb7e3678a5f227a181d09da5547/orjson-3.10.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "e060748a04cccf1e0a6f2358dffea9c080b849a4a68c28b1b907f272b5127e9b", - "url": "https://files.pythonhosted.org/packages/3e/65/ac1e64672f85918dfb4a2c9d288cb73d635f0e503b6103e60d2ae1904045/orjson-3.10.6-cp38-cp38-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "66680eae4c4e7fc193d91cfc1353ad6d01b4801ae9b5314f17e11ba55e934183", - "url": "https://files.pythonhosted.org/packages/5c/6f/ca9ec2a393b05a6b69a0ebd378d4159f2db764d2a3dbe2ffa458e363f42c/orjson-3.10.6-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "6eeb13218c8cf34c61912e9df2de2853f1d009de0e46ea09ccdf3d757896af0a", - "url": "https://files.pythonhosted.org/packages/62/96/ae33282892205aecbe972861fe41ca2a1752a94900a7b5a03c14671dc439/orjson-3.10.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "965a916373382674e323c957d560b953d81d7a8603fbeee26f7b8248638bd48b", - "url": "https://files.pythonhosted.org/packages/6d/1b/b93f742efb1a3b3bfd646fb627e8ae60c5ed5c5ecbc017549c1d0a016aa2/orjson-3.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e54b63d0a7c6c54a5f5f726bc93a2078111ef060fec4ecbf34c5db800ca3b3a7", - "url": "https://files.pythonhosted.org/packages/70/24/8be1c9f6d21e3c510c441d6cbb6f3a75f2538b42a45f0c17ffb2182882f1/orjson-3.10.6.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "a2debd8ddce948a8c0938c8c93ade191d2f4ba4649a54302a7da905a81f00b56", - "url": "https://files.pythonhosted.org/packages/77/4c/96e41d10f016091e03a011fb23f36382021c86454f69a621e0bdc0600be1/orjson-3.10.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "03c95484d53ed8e479cade8628c9cea00fd9d67f5554764a1110e0d5aa2de96e", - "url": "https://files.pythonhosted.org/packages/8e/65/79f7de13bc753809b544362183a68d0210981cf43d1915fb5e566265e360/orjson-3.10.6-cp38-cp38-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "bf2fbbce5fe7cd1aa177ea3eab2b8e6a6bc6e8592e4279ed3db2d62e57c0e1b2", - "url": "https://files.pythonhosted.org/packages/96/6e/94843c5e527671ff5c4bed4afd7bf9fd50b09a5f63e04c5d506788d57c9c/orjson-3.10.6-cp39-cp39-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "f215789fb1667cdc874c1b8af6a84dc939fd802bf293a8334fce185c79cd359b", - "url": "https://files.pythonhosted.org/packages/a8/34/44e4694c68423c51bee525ce69c2431d5c7e5c21b89b387c6a1067310c9e/orjson-3.10.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "bb1f28a137337fdc18384079fa5726810681055b32b92253fa15ae5656e1dddb", - "url": "https://files.pythonhosted.org/packages/d5/b5/ea16b9a62cd4f7a73077e9926cfb35e1e36d0a4aa34d235856142b1ff4a2/orjson-3.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "3722fddb821b6036fd2a3c814f6bd9b57a89dc6337b9924ecd614ebce3271394", - "url": "https://files.pythonhosted.org/packages/dd/d7/b23053c66f4a6fa4f199611aca7fc5a07b4fda074c1a7ae91f4e28cdcc26/orjson-3.10.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" - }, - { - "algorithm": "sha256", - "hash": "697a35a083c4f834807a6232b3e62c8b280f7a44ad0b759fd4dce748951e70db", - "url": "https://files.pythonhosted.org/packages/f1/37/ced8949b7d15501e41ea3268382ed30cb2d8fd4db0705a61adc654b468bf/orjson-3.10.6-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" -======= - "hash": "9fb6c3f9f5490a3eb4ddd46fc1b6eadb0d6fc16fb3f07320149c3286a1409dd8", - "url": "https://files.pythonhosted.org/packages/0b/d6/8def11fe38145173b6b565326d1eee8ee15460ad73cb92201bd9ac347b76/orjson-3.10.3-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "16bda83b5c61586f6f788333d3cf3ed19015e3b9019188c56983b5a299210eb5", - "url": "https://files.pythonhosted.org/packages/10/56/07f3fab48577c83f673b96474b9de038b9b888004767919abb25ba31246a/orjson-3.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "c0403ed9c706dcd2809f1600ed18f4aae50be263bd7112e54b50e2c2bc3ebd6d", - "url": "https://files.pythonhosted.org/packages/21/55/ee083a83a87597ce59c3ccde0c794e8ac7e1769a869460f7ba1343a95fa3/orjson-3.10.3-cp310-cp310-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "99b880d7e34542db89f48d14ddecbd26f06838b12427d5a25d71baceb5ba119d", - "url": "https://files.pythonhosted.org/packages/2f/95/52692444ea09ce1864ebf7b5b088b76fe07603b94b9f98e7933998fa15c2/orjson-3.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "252124b198662eee80428f1af8c63f7ff077c88723fe206a25df8dc57a57b1fa", - "url": "https://files.pythonhosted.org/packages/48/5d/55911935d5e624f12435772b157406914597bc59e7c6724b74b42aa9c207/orjson-3.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "9e253498bee561fe85d6325ba55ff2ff08fb5e7184cd6a4d7754133bd19c9195", - "url": "https://files.pythonhosted.org/packages/5b/b3/09746df5af83bb18f5743eddb4148ae71ebc988fa76c28a3964dd927b906/orjson-3.10.3-cp38-cp38-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "1952c03439e4dce23482ac846e7961f9d4ec62086eb98ae76d97bd41d72644d7", - "url": "https://files.pythonhosted.org/packages/6f/83/40a72ec9fd4b32c07ae2f96bf21789129f3165f3edc2163336fa164f10e2/orjson-3.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9f3e87733823089a338ef9bbf363ef4de45e5c599a9bf50a7a9b82e86d0228da", - "url": "https://files.pythonhosted.org/packages/72/b8/e81754e5c774f6e4ada8dc9eae4ae3fb74417185cdbeb8c57b2e0421df66/orjson-3.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "9059d15c30e675a58fdcd6f95465c1522b8426e092de9fff20edebfdc15e1cb0", - "url": "https://files.pythonhosted.org/packages/9a/f6/d72711176ba81705f01e544f0834c254aceea9eee90ddc9c3eb749ccb3ae/orjson-3.10.3-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "0a62f9968bab8a676a164263e485f30a0b748255ee2f4ae49a0224be95f4532b", - "url": "https://files.pythonhosted.org/packages/9e/38/8b9b507da1ce73c0ceca2d2e5b0cb44a4ddf75705d960f3b4b7faf4569a1/orjson-3.10.3-cp38-cp38-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "978be58a68ade24f1af7758626806e13cff7748a677faf95fbb298359aa1e20d", - "url": "https://files.pythonhosted.org/packages/b4/64/608b46a4b77f57df185953e658054e50efaa6461356718215d79f9ab843b/orjson-3.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "2e5e176c994ce4bd434d7aafb9ecc893c15f347d3d2bbd8e7ce0b63071c52e25", - "url": "https://files.pythonhosted.org/packages/bf/a0/4ddc190c381a382264598684b8587ae76565706054a5c4e0e011342b9d2e/orjson-3.10.3-cp39-cp39-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "be2719e5041e9fb76c8c2c06b9600fe8e8584e6980061ff88dcbc2691a16d20d", - "url": "https://files.pythonhosted.org/packages/c3/00/9af9aa5fb36a0e813c67e4db603a519e121be951eba21b270300fbfbf0d2/orjson-3.10.3-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "8d40c7f7938c9c2b934b297412c067936d0b54e4b8ab916fd1a9eb8f54c02294", - "url": "https://files.pythonhosted.org/packages/c7/8a/d8908409cb4fc9d53382ddc6219789710c3f990f5821a708fdc257c8edf9/orjson-3.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d4a654ec1de8fdaae1d80d55cee65893cb06494e124681ab335218be6a0691e7", - "url": "https://files.pythonhosted.org/packages/d4/33/f95e299ab0d4adcc235404bd30f348668e05ca8011acf3d2ac682fccc6bb/orjson-3.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "4ad1f26bea425041e0a1adad34630c4825a9e3adec49079b1fb6ac8d36f8b754", - "url": "https://files.pythonhosted.org/packages/e1/6c/1b29b2d275c850064acfeeabb778e3e87963776b417f2668a988a2f2dfd3/orjson-3.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "831c6ef73f9aa53c5f40ae8f949ff7681b38eaddb6904aab89dca4d85099cb78", - "url": "https://files.pythonhosted.org/packages/e1/c9/0a7b8411002c6d9c58f9990fffd19f1b7fc05e9fd7f4c85b258b318b7ece/orjson-3.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "cb0175a5798bdc878956099f5c54b9837cb62cfbf5d0b86ba6d77e43861bcec2", - "url": "https://files.pythonhosted.org/packages/f1/fc/8dfb5a14daa5a4b54c9d5d3780722b4f717b06c8dabbdad8e272b117a680/orjson-3.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818", - "url": "https://files.pythonhosted.org/packages/f8/16/c10c42b69beeebe8bd136ee28b76762837479462787be57f11e0ab5d6f5d/orjson-3.10.3.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "382e52aa4270a037d41f325e7d1dfa395b7de0c367800b6f337d8157367bf3a7", - "url": "https://files.pythonhosted.org/packages/fa/c1/89e0750f922e4cc713c4ed51c423a70b9e9702a090e69cd82057e82721b8/orjson-3.10.3-cp310-cp310-musllinux_1_2_x86_64.whl" ->>>>>>> python_upgrade - } - ], - "project_name": "orjson", - "requires_dists": [], - "requires_python": ">=3.8", -<<<<<<< HEAD - "version": "3.10.6" -======= - "version": "3.10.3" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b4fe6da88b4f9ecfdcba1f2a94f33dee79a733f404a9b117c01482b41e225881", - "url": "git+https://github.com/nzlosh/orquesta.git@st2v39_compat" - } - ], - "project_name": "orquesta", - "requires_dists": [ - "chardet>=3.0.2", - "eventlet", - "jinja2>=2.11", - "jsonschema<4,>=3", - "networkx<3.2,>=2.6", - "python-dateutil", - "pyyaml>=5.3.1", - "six>=1.14.0", - "stevedore>=1.3.0", - "ujson>=1.35", - "yaql>=1.1.0" - ], - "requires_python": null, - "version": "1.6.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f5e9a6848c35a1c8975677d623ffcf31bbb7177d14cb8f43505b2a4c679dcdd0", - "url": "https://files.pythonhosted.org/packages/72/2e/219cab7cff63957f3493b690a2909d574762db0fa549341e65319ffe951d/oslo.config-9.5.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "aa500044886b6c55f76577cb5a93492a4596c5f9283376760ea7852cc49c99a3", - "url": "https://files.pythonhosted.org/packages/92/9e/bb832c9777e622058309a177ee3f970ef0eda4c8cca17783ad1c4981e649/oslo.config-9.5.0.tar.gz" - } - ], - "project_name": "oslo-config", - "requires_dists": [ - "PyYAML>=5.1", - "bandit<1.8.0,>=1.7.0; extra == \"test\"", - "coverage>=4.0; extra == \"test\"", - "debtcollector>=1.2.0", - "fixtures>=3.0.0; extra == \"test\"", - "hacking<6.2.0,>=6.1.0; extra == \"test\"", - "mypy>=0.720; extra == \"test\"", - "netaddr>=0.7.18", - "oslo.i18n>=3.15.3", - "oslo.log>=3.36.0; extra == \"test\"", - "oslotest>=3.2.0; extra == \"test\"", - "pre-commit>=2.6.0; extra == \"test\"", - "requests-mock>=1.5.0; extra == \"test\"", - "requests>=2.18.0", - "rfc3986>=1.2.0", - "rst2txt>=1.1.0; extra == \"rst_generator\"", - "sphinx>=1.8.0; extra == \"rst_generator\"", - "stestr>=2.1.0; extra == \"test\"", - "stevedore>=1.20.0", - "testscenarios>=0.4; extra == \"test\"", - "testtools>=2.2.0; extra == \"test\"" - ], - "requires_python": ">=3.8", - "version": "9.5.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "698eb5c63a01359ed6d91031d6331098190d38be0bdda7d270264d6f86bc79e7", - "url": "https://files.pythonhosted.org/packages/e2/60/662cfd4906746f40f88ba930d1af7990f8da1027baea49702880ce946db2/oslo.i18n-6.3.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "64a251edef8bf1bb1d4e6f78d377e149d4f15c1a9245de77f172016da6267444", - "url": "https://files.pythonhosted.org/packages/c1/d6/7c48b3444e08a0ef7555747a11cddcadf32437cf3ba45b7722b3ab7b1ae0/oslo.i18n-6.3.0.tar.gz" - } - ], - "project_name": "oslo-i18n", - "requires_dists": [ - "pbr!=2.1.0,>=2.0.0" - ], - "requires_python": ">=3.8", - "version": "6.3.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f999b75f2c2904c2f6aae5efbb67ab668cc0e79470510b721937626b36427220", - "url": "https://files.pythonhosted.org/packages/70/5f/80eb88d4590cc23cd68e05730ee9be51fc1fc83121b8227e0ff5d29bce65/oslo.serialization-5.4.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "315cb3465e99c685cb091b90365cb701bee7140e204ba3e5fc2d8a20b4ec6e76", - "url": "https://files.pythonhosted.org/packages/21/ff/78cc62d4282cf26d322eedf7409a39f7cd5f8c1a83329dc0a65bfa545bd4/oslo.serialization-5.4.0.tar.gz" - } - ], - "project_name": "oslo-serialization", - "requires_dists": [ - "msgpack>=0.5.2", - "oslo.utils>=3.33.0", - "pbr!=2.1.0,>=2.0.0", - "pytz>=2013.6; python_version < \"3.9\"", - "tzdata>=2022.4; python_version >= \"3.9\"" - ], - "requires_python": ">=3.8", - "version": "5.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "53ce2d88fd1e9035e6be18c53447353d3e92ea0473d88272f43dc334ea9295af", - "url": "https://files.pythonhosted.org/packages/29/41/e60a7270500777a28ede12f492bfd078bb139146ea175bddf5abc429dd1c/oslo.utils-7.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "94f8053391a33502dab4d84465403262ca19ffd8cfd29a1a5ea3c8aa620ef610", - "url": "https://files.pythonhosted.org/packages/81/01/11003a56d9580e41959f7948e4b56c5cb873def4b4e534cc28017cbf0bb3/oslo.utils-7.2.0.tar.gz" - } - ], - "project_name": "oslo-utils", - "requires_dists": [ - "PyYAML>=3.13", - "debtcollector>=1.2.0", - "iso8601>=0.1.11", - "netaddr>=0.10.0", - "netifaces>=0.10.4", - "oslo.i18n>=3.15.3", - "packaging>=20.4", - "pyparsing>=2.1.0", - "pytz>=2013.6; python_version < \"3.9\"", - "tzdata>=2022.4; python_version >= \"3.9\"" - ], - "requires_python": ">=3.8", - "version": "7.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124", - "url": "https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", - "url": "https://files.pythonhosted.org/packages/51/65/50db4dda066951078f0a96cf12f4b9ada6e4b811516bf0262c0f4f7064d4/packaging-24.1.tar.gz" - } - ], - "project_name": "packaging", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "24.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "43f0b51115a896f9c00f59618023484cb3a14b98bbceab43394a39c6739b7ee7", - "url": "https://files.pythonhosted.org/packages/ad/50/8792484502c8141c20c996b802fefa8435a9c018a2bb440a06b172782118/paramiko-3.4.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "aac08f26a31dc4dffd92821527d1682d99d52f9ef6851968114a8728f3c274d3", - "url": "https://files.pythonhosted.org/packages/cc/af/11996c4df4f9caff87997ad2d3fd8825078c277d6a928446d2b6cf249889/paramiko-3.4.0.tar.gz" - } - ], - "project_name": "paramiko", - "requires_dists": [ - "bcrypt>=3.2", - "cryptography>=3.3", - "gssapi>=1.4.1; platform_system != \"Windows\" and extra == \"all\"", - "gssapi>=1.4.1; platform_system != \"Windows\" and extra == \"gssapi\"", - "invoke>=2.0; extra == \"all\"", - "invoke>=2.0; extra == \"invoke\"", - "pyasn1>=0.1.7; extra == \"all\"", - "pyasn1>=0.1.7; extra == \"gssapi\"", - "pynacl>=1.5", - "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"all\"", - "pywin32>=2.1.8; platform_system == \"Windows\" and extra == \"gssapi\"" - ], - "requires_python": ">=3.6", - "version": "3.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1", - "url": "https://files.pythonhosted.org/packages/3b/a4/ab6b7589382ca3df236e03faa71deac88cae040af60c071a78d254a62172/passlib-1.7.4-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04", - "url": "https://files.pythonhosted.org/packages/b6/06/9da9ee59a67fae7761aab3ccc84fa4f3f33f125b370f1ccdb915bf967c11/passlib-1.7.4.tar.gz" - } - ], - "project_name": "passlib", - "requires_dists": [ - "argon2-cffi>=18.2.0; extra == \"argon2\"", - "bcrypt>=3.1.0; extra == \"bcrypt\"", - "cloud-sptheme>=1.10.1; extra == \"build_docs\"", - "cryptography; extra == \"totp\"", - "sphinx>=1.6; extra == \"build_docs\"", - "sphinxcontrib-fulltoc>=1.2.0; extra == \"build_docs\"" - ], - "requires_python": null, - "version": "1.7.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4a7317d5e3b17a3dccb6a8cfe67dab65b20551404c52c8ed41279fa4f0cb4cda", - "url": "https://files.pythonhosted.org/packages/64/dd/171c9fb653591cf265bcc89c436eec75c9bde3dec921cc236fa71e5698df/pbr-6.0.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d1377122a5a00e2f940ee482999518efe16d745d423a670c27773dfbc3c9a7d9", - "url": "https://files.pythonhosted.org/packages/8d/c2/ee43b3b11bf2b40e56536183fc9f22afbb04e882720332b6276ee2454c24/pbr-6.0.0.tar.gz" - } - ], - "project_name": "pbr", - "requires_dists": [], - "requires_python": ">=2.6", - "version": "6.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0779a7c1fafd805672796085560d290213a465e4f6f76a6fb19e378d8041a14f", - "url": "https://files.pythonhosted.org/packages/f9/f3/f412836ec714d36f0f4ab581b84c491e3f42c6b5b97a6c6ed1817f3c16d0/pika-1.3.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "b2a327ddddf8570b4965b3576ac77091b850262d34ce8c1d8cb4e4146aa4145f", - "url": "https://files.pythonhosted.org/packages/db/db/d4102f356af18f316c67f2cead8ece307f731dd63140e2c71f170ddacf9b/pika-1.3.2.tar.gz" - } - ], - "project_name": "pika", - "requires_dists": [ - "gevent; extra == \"gevent\"", - "tornado; extra == \"tornado\"", - "twisted; extra == \"twisted\"" - ], - "requires_python": ">=3.7", - "version": "1.3.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2", - "url": "https://files.pythonhosted.org/packages/d4/55/90db48d85f7689ec6f81c0db0622d704306c5284850383c090e6c7195a5c/pip-24.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8", - "url": "https://files.pythonhosted.org/packages/4d/87/fb90046e096a03aeab235e139436b3fe804cdd447ed2093b0d70eba3f7f8/pip-24.2.tar.gz" - } - ], - "project_name": "pip", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "24.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee", - "url": "https://files.pythonhosted.org/packages/68/13/2aa1f0e1364feb2c9ef45302f387ac0bd81484e9c9a4c5688a322fbdfd08/platformdirs-4.2.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3", - "url": "https://files.pythonhosted.org/packages/f5/52/0763d1d976d5c262df53ddda8d8d4719eedf9594d046f117c25a27261a19/platformdirs-4.2.2.tar.gz" - } - ], - "project_name": "platformdirs", - "requires_dists": [ - "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\"", - "pytest>=7.4.3; extra == \"test\"", - "sphinx-autodoc-typehints>=1.25.2; extra == \"docs\"", - "sphinx>=7.2.6; extra == \"docs\"" - ], - "requires_python": ">=3.8", - "version": "4.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", - "url": "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "url": "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz" - } - ], - "project_name": "pluggy", - "requires_dists": [ - "pre-commit; extra == \"dev\"", - "pytest-benchmark; extra == \"testing\"", - "pytest; extra == \"testing\"", - "tox; extra == \"dev\"" - ], - "requires_python": ">=3.8", - "version": "1.5.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce", - "url": "https://files.pythonhosted.org/packages/a3/58/35da89ee790598a0700ea49b2a66594140f44dec458c07e8e3d4979137fc/ply-3.11-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", - "url": "https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da/ply-3.11.tar.gz" - } - ], - "project_name": "ply", - "requires_dists": [], - "requires_python": null, - "version": "3.11" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "6a4276fa07ed9f22feda4331097d7503c4adc3097e46ffae97425f2c1026bd9f", - "url": "https://files.pythonhosted.org/packages/c9/db/4fb4901ee61274d0ab97746461fc5f2637e5d73aa73f34ee28e941a699a1/prance-23.6.21.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d8c15f8ac34019751cc4945f866d8d964d7888016d10de3592e339567177cabe", - "url": "https://files.pythonhosted.org/packages/73/f0/bcb5ffc8b7ab8e3d02dbef3bd945cf8fd6e12c146774f900659406b9fce1/prance-23.6.21.0.tar.gz" - } - ], - "project_name": "prance", - "requires_dists": [ - "PyICU~=2.4; extra == \"icu\"", - "bumpversion>=0.6; extra == \"dev\"", - "chardet>=3.0", - "click>=7.0; extra == \"cli\"", - "flex~=6.13; extra == \"flex\"", - "openapi-spec-validator~=0.5.1; extra == \"osv\"", - "packaging>=21.3", - "pytest-cov>=2.11; extra == \"dev\"", - "pytest>=6.1; extra == \"dev\"", - "requests>=2.25", - "ruamel.yaml>=0.17.10", - "six~=1.15", - "sphinx>=3.4; extra == \"dev\"", - "swagger-spec-validator~=2.4; extra == \"ssv\"", - "towncrier>=19.2; extra == \"dev\"", - "tox>=3.4; extra == \"dev\"" - ], - "requires_python": ">=3.8", - "version": "23.6.21.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "1cbfdeb4bcc73976a778a0fb33cb6d752e75396f16574dcb3e2d6332fd93c76a", - "url": "https://files.pythonhosted.org/packages/c5/16/ec5cc65437dce97d2814a7ba31842b0ee958d102f6e99e264c35f15c328f/prettytable-3.10.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "29ec6c34260191d42cd4928c28d56adec360ac2b1208a26c7e4f14b90cc8bc84", - "url": "https://files.pythonhosted.org/packages/4c/90/e1c8c06235d53c3adaae74d295669612beea5f5a2052b3184a763e7bdd62/prettytable-3.10.2.tar.gz" - } - ], - "project_name": "prettytable", - "requires_dists": [ - "pytest-cov; extra == \"tests\"", - "pytest-lazy-fixtures; extra == \"tests\"", - "pytest; extra == \"tests\"", - "wcwidth" - ], - "requires_python": ">=3.8", - "version": "3.10.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10", - "url": "https://files.pythonhosted.org/packages/e8/23/22750c4b768f09386d1c3cc4337953e8936f48a888fa6dddfb669b2c9088/prompt_toolkit-3.0.47-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360", - "url": "https://files.pythonhosted.org/packages/47/6d/0279b119dafc74c1220420028d490c4399b790fc1256998666e3a341879f/prompt_toolkit-3.0.47.tar.gz" - } - ], - "project_name": "prompt-toolkit", - "requires_dists": [ - "wcwidth" - ], - "requires_python": ">=3.7.0", - "version": "3.0.47" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0", - "url": "https://files.pythonhosted.org/packages/7c/06/63872a64c312a24fb9b4af123ee7007a306617da63ff13bcc1432386ead7/psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0", - "url": "https://files.pythonhosted.org/packages/0b/37/f8da2fbd29690b3557cca414c1949f92162981920699cd62095a984983bf/psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2", - "url": "https://files.pythonhosted.org/packages/18/c7/8c6872f7372eb6a6b2e4708b88419fb46b857f7a2e1892966b851cc79fc9/psutil-6.0.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd", - "url": "https://files.pythonhosted.org/packages/19/74/f59e7e0d392bc1070e9a70e2f9190d652487ac115bb16e2eff6b22ad1d24/psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0", - "url": "https://files.pythonhosted.org/packages/35/56/72f86175e81c656a01c4401cd3b1c923f891b31fbcebe98985894176d7c9/psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132", - "url": "https://files.pythonhosted.org/packages/cd/5f/60038e277ff0a9cc8f0c9ea3d0c5eb6ee1d2470ea3f9389d776432888e47/psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - } - ], - "project_name": "psutil", - "requires_dists": [ - "enum34; python_version <= \"3.4\" and extra == \"test\"", - "ipaddress; python_version < \"3.0\" and extra == \"test\"", - "mock; python_version < \"3.0\" and extra == \"test\"", - "pywin32; sys_platform == \"win32\" and extra == \"test\"", - "wmi; sys_platform == \"win32\" and extra == \"test\"" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7", - "version": "6.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473", - "url": "https://files.pythonhosted.org/packages/23/7e/5f50d07d5e70a2addbccd90ac2950f81d1edd0783630651d9268d7f1db49/pyasn1-0.6.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c", - "url": "https://files.pythonhosted.org/packages/4a/a3/d2157f333900747f20984553aca98008b6dc843eb62f3a36030140ccec0d/pyasn1-0.6.0.tar.gz" - } - ], - "project_name": "pyasn1", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.6.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b", - "url": "https://files.pythonhosted.org/packages/13/68/8906226b15ef38e71dc926c321d2fe99de8048e9098b5dfd38343011c886/pyasn1_modules-0.4.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6", - "url": "https://files.pythonhosted.org/packages/f7/00/e7bd1dec10667e3f2be602686537969a7ac92b0a7c5165be2e5875dc3971/pyasn1_modules-0.4.0.tar.gz" - } - ], - "project_name": "pyasn1-modules", - "requires_dists": [ - "pyasn1<0.7.0,>=0.4.6" - ], - "requires_python": ">=3.8", - "version": "0.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", - "url": "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", - "url": "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz" - } - ], - "project_name": "pycparser", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "2.22" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", - "url": "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", - "url": "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz" - } - ], - "project_name": "pygments", - "requires_dists": [ - "colorama>=0.4.6; extra == \"windows-terminal\"" - ], - "requires_python": ">=3.8", - "version": "2.18.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "9c998a5d7606ca835065cdabc013ae6c66eb9ea76a00a1e3bc6e0cfe2b4f71f4", - "url": "https://files.pythonhosted.org/packages/e3/c0/fd5b18dde17c1249658521f69598f3252f11d9d7a980c5be8619970646e1/pyinotify-0.9.6.tar.gz" - } - ], - "project_name": "pyinotify", - "requires_dists": [], - "requires_python": null, - "version": "0.9.6" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0be605bfb8461384a4cb81e80f51eb5ca1b89851f2d0e69a75458c788a7263a4", - "url": "https://files.pythonhosted.org/packages/a3/6c/10b9cc7baa860ae72467344ffb6a2b6ce06181894dfdc6bc7abd34237f00/pymongo-3.12.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e1fc4d3985868860b6585376e511bb32403c5ffb58b0ed913496c27fd791deea", - "url": "https://files.pythonhosted.org/packages/18/04/47c3546228ee303ad28306b1f53b1cbfaac537d4e514c715cb6877827edb/pymongo-3.12.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "89d7baa847383b9814de640c6f1a8553d125ec65e2761ad146ea2e75a7ad197c", - "url": "https://files.pythonhosted.org/packages/1a/03/8105130d1b1d3d3dd2c5915b712a096fadaeb3d472e59a84f1127e982d6e/pymongo-3.12.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/24/83/0f16452e3f8a8b4fa016b065899eb48683cc792b510a231a1981c251b480/pymongo-3.12.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/2e/fe/a44602e61ee23ef6ae64150bb2bf86cac9241c4d668791c8e6255b598aa1/pymongo-3.12.3-cp38-cp38-manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "a1ba93be779a9b8e5e44f5c133dc1db4313661cead8a2fd27661e6cb8d942ee9", - "url": "https://files.pythonhosted.org/packages/3b/33/0852648d70775d288608346887f77f96b5121faa45ebd67d6ad8c717a20c/pymongo-3.12.3-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/52/80/934ed944cda7414405ffd7dc47d2b2767be5032a1eb61c2282e709358771/pymongo-3.12.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/65/1f/b0df4f763ba6aa56aa12d63b08b2f87391adf85e84e55772f9721bdbb8f1/pymongo-3.12.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/72/35/9c79295df4efb913eb921bd706806404a3fbaadec69cba05bde47f474f3f/pymongo-3.12.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/97/0d/0c6c458751c418b35b7199f1dfaaa78df2900494373ae02ed8d91eb1f071/pymongo-3.12.3-cp39-cp39-manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/9e/6d/059656d398305f5dd16bce0465f89602c0ed75489b3db87ded90dfa055d7/pymongo-3.12.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "4294f2c1cd069b793e31c2e6d7ac44b121cf7cedccd03ebcc30f3fc3417b314a", - "url": "https://files.pythonhosted.org/packages/9e/9d/75b82308fa1f7759f79758102f911ff4171708a4f24000ad47ffd224519d/pymongo-3.12.3-cp38-cp38-manylinux1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/b3/16/fb0a9bd6d1b5a9158924b7b998f4aa8afbc063825716a23472daed05626d/pymongo-3.12.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "8455176fd1b86de97d859fed4ae0ef867bf998581f584c7a1a591246dfec330f", - "url": "https://files.pythonhosted.org/packages/b8/05/76e0e5809d7798011ce541ed2f2447c1f9c77522bb227333cd9f604a8c85/pymongo-3.12.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "a8a3540e21213cb8ce232e68a7d0ee49cdd35194856c50b8bd87eeb572fadd42", - "url": "https://files.pythonhosted.org/packages/ba/fa/95bc121e929671e3a492c317170f84d0d71b3030d7bb1e6ba3a22bf0a029/pymongo-3.12.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2567885ff0c8c7c0887ba6cefe4ae4af96364a66a7069f924ce0cd12eb971d04", - "url": "https://files.pythonhosted.org/packages/c3/14/e7e7127961b231794bb89039a1cea3b8825e4a1d0b195c4e2b874629d236/pymongo-3.12.3-cp39-cp39-manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "bf254a1a95e95fdf4eaa25faa1ea450a6533ed7a997f9f8e49ab971b61ea514d", - "url": "https://files.pythonhosted.org/packages/c3/9a/101b17a28da73b170a21b24e11d05365c4a98e8fc8ab8ba0e51f1440607c/pymongo-3.12.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "f38b35ecd2628bf0267761ed659e48af7e620a7fcccfccf5774e7308fb18325c", - "url": "https://files.pythonhosted.org/packages/d8/50/e6b9f16ec031cdf6a11d31347ada3be4a581337ebd9d3ad644e2cb9e12d8/pymongo-3.12.3-cp38-cp38-manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "71c5c200fd37a5322706080b09c3ec8907cf01c377a7187f354fc9e9e13abc73", - "url": "https://files.pythonhosted.org/packages/e9/87/11ccaf5cd991f7a7406ed947f6c8f1f85a356f074a439bce48d303206baf/pymongo-3.12.3-cp39-cp39-manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/f7/0e/8185c5b8968cc3db6176d5a2f79f245da1bf963a629fda88640441cea90f/pymongo-3.12.3-cp38-cp38-manylinux1_x86_64.whl" - } - ], - "project_name": "pymongo", - "requires_dists": [ - "dnspython<3.0.0,>=1.16.0; extra == \"srv\"", - "pykerberos; extra == \"gssapi\"", - "pymongo-auth-aws<2.0.0; extra == \"aws\"", - "pymongocrypt<2.0.0,>=1.1.0; extra == \"encryption\"", - "pyopenssl>=17.2.0; extra == \"ocsp\"", - "python-snappy; extra == \"snappy\"", - "requests<3.0.0; extra == \"ocsp\"", - "service-identity>=18.1.0; extra == \"ocsp\"", - "zstandard; extra == \"zstd\"" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "3.12.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", - "url": "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", - "url": "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", - "url": "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", - "url": "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", - "url": "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", - "url": "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", - "url": "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", - "url": "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl" - } - ], - "project_name": "pynacl", - "requires_dists": [ - "cffi>=1.4.1", - "hypothesis>=3.27.0; extra == \"tests\"", - "pytest!=3.3.0,>=3.2.1; extra == \"tests\"", - "sphinx-rtd-theme; extra == \"docs\"", - "sphinx>=1.6.5; extra == \"docs\"" - ], - "requires_python": ">=3.6", - "version": "1.5.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742", - "url": "https://files.pythonhosted.org/packages/9d/ea/6d76df31432a0e6fdf81681a895f009a4bb47b3c39036db3e1b528191d52/pyparsing-3.1.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad", - "url": "https://files.pythonhosted.org/packages/46/3a/31fd28064d016a2182584d579e033ec95b809d8e220e74c4af6f0f2e8842/pyparsing-3.1.2.tar.gz" - } - ], - "project_name": "pyparsing", - "requires_dists": [ - "jinja2; extra == \"diagrams\"", - "railroad-diagrams; extra == \"diagrams\"" - ], - "requires_python": ">=3.6.8", - "version": "3.1.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "50b8995fbfde14820ddc97292312c8f0c77054748c2b018138d03d94e400c39c", - "url": "https://files.pythonhosted.org/packages/5d/05/6bc2b8b4c096594eeeb5ca59a1e8e66c44f039592bdb58f0f3df0cce1ce2/pyrabbit-1.1.0.tar.gz" - } - ], - "project_name": "pyrabbit", - "requires_dists": [ - "httplib2" - ], - "requires_python": null, - "version": "1.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c55acc4733aad6560a7f5f818466631f07efc001fd023f34a6c203f8b6df0f0b", - "url": "https://files.pythonhosted.org/packages/23/88/0acd180010aaed4987c85700b7cc17f9505f3edb4e5873e4dc67f613e338/pyrsistent-0.20.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "ca52d1ceae015859d16aded12584c59eb3825f7b50c6cfd621d4231a6cc624ce", - "url": "https://files.pythonhosted.org/packages/18/0c/289126299fcebf54fd01d385fb5176c328fef2c4233139c23dd48346e992/pyrsistent-0.20.0-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "2e14c95c16211d166f59c6611533d0dacce2e25de0f76e4c140fde250997b3ca", - "url": "https://files.pythonhosted.org/packages/19/3c/ab06510f86bc0934b77ade41948924ff1f33dcd3433f32feca2028218837/pyrsistent-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "b318ca24db0f0518630e8b6f3831e9cba78f099ed5c1d65ffe3e023003043ba0", - "url": "https://files.pythonhosted.org/packages/4e/45/62639d53ac09eaafc00f2e5845565e70d3eddb2d296337a77637186ca03e/pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "f920385a11207dc372a028b3f1e1038bb244b3ec38d448e6d8e43c6b3ba20e98", - "url": "https://files.pythonhosted.org/packages/5d/ea/5438a78ba00f2a9cdc6836dcdcd8631b9d802b2bd57d5a61ed9d9ad6f24d/pyrsistent-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/a5/24/3293a2b2bc4b4d645f2f6743e97b329c18dd9d8177f80e52d2b7911bac0f/pyrsistent-0.20.0-cp38-cp38-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "fed2c3216a605dc9a6ea50c7e84c82906e3684c4e80d2908208f662a6cbf9022", - "url": "https://files.pythonhosted.org/packages/ab/12/24b9a6ef7b991b6722756e0aa169a39463af2b8ed0fb526f0a00aae34ea4/pyrsistent-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.20.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5", - "url": "https://files.pythonhosted.org/packages/8d/59/b4572118e098ac8e46e399a1dd0f2d85403ce8bbaad9ec79373ed6badaf9/PySocks-1.7.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0", - "url": "https://files.pythonhosted.org/packages/bd/11/293dd436aea955d45fc4e8a35b6ae7270f5b8e00b53cf6c024c83b657a11/PySocks-1.7.1.tar.gz" - } - ], - "project_name": "pysocks", - "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7", - "version": "1.7.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "129a4294f2c4d681d5875240ef87accc6f1d921e8983737fb0b59642b397951e", - "url": "https://files.pythonhosted.org/packages/43/c3/4dc3d1d029e14bf065f1df9e98e3e503e622de34706a06ab6c3731377e85/pyspnego-0.11.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "e92ed8b0a62765b9d6abbb86a48cf871228ddb97678598dc01c9c39a626823f6", - "url": "https://files.pythonhosted.org/packages/46/f5/1f938a781742d18475ac43a101ec8a9499e1655da0984e08b59e20012c04/pyspnego-0.11.1.tar.gz" - } - ], - "project_name": "pyspnego", - "requires_dists": [ - "cryptography", - "gssapi>=1.6.0; sys_platform != \"win32\" and extra == \"kerberos\"", - "krb5>=0.3.0; sys_platform != \"win32\" and extra == \"kerberos\"", - "ruamel.yaml; extra == \"yaml\"", - "sspilib>=0.1.0; sys_platform == \"win32\"" - ], - "requires_python": ">=3.8", - "version": "0.11.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5", - "url": "https://files.pythonhosted.org/packages/0f/f9/cf155cf32ca7d6fa3601bc4c5dd19086af4b320b706919d48a4c79081cf9/pytest-8.3.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce", - "url": "https://files.pythonhosted.org/packages/b4/8c/9862305bdcd6020bc7b45b1b5e7397a6caf1a33d3025b9a003b39075ffb2/pytest-8.3.2.tar.gz" - } - ], - "project_name": "pytest", - "requires_dists": [ - "argcomplete; extra == \"dev\"", - "attrs>=19.2; extra == \"dev\"", - "colorama; sys_platform == \"win32\"", - "exceptiongroup>=1.0.0rc8; python_version < \"3.11\"", - "hypothesis>=3.56; extra == \"dev\"", - "iniconfig", - "mock; extra == \"dev\"", - "packaging", - "pluggy<2,>=1.5", - "pygments>=2.7.2; extra == \"dev\"", - "requests; extra == \"dev\"", - "setuptools; extra == \"dev\"", - "tomli>=1; python_version < \"3.11\"", - "xmlschema; extra == \"dev\"" - ], - "requires_python": ">=3.8", - "version": "8.3.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", - "url": "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", - "url": "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz" - } - ], - "project_name": "python-dateutil", - "requires_dists": [ - "six>=1.5" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", - "version": "2.9.0.post0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd", - "url": "https://files.pythonhosted.org/packages/35/a6/145655273568ee78a581e734cf35beb9e33a370b29c5d3c8fee3744de29f/python_json_logger-2.0.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c", - "url": "https://files.pythonhosted.org/packages/4f/da/95963cebfc578dabd323d7263958dfb68898617912bb09327dd30e9c8d13/python-json-logger-2.0.7.tar.gz" - } - ], - "project_name": "python-json-logger", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "2.0.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828", - "url": "https://files.pythonhosted.org/packages/fd/8b/1eeb4025dc1d3ac2f16678f38dec9ebdde6271c74955b72db5ce7a4dbfbd/python-ldap-3.4.4.tar.gz" - } - ], - "project_name": "python-ldap", - "requires_dists": [ - "pyasn1-modules>=0.1.5", - "pyasn1>=0.3.7" - ], - "requires_python": ">=3.6", - "version": "3.4.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f0b8b3333a7d474a3b0ece069e4849febdc66d2712d5290aea6ff1189a05fb80", - "url": "https://files.pythonhosted.org/packages/6f/af/224e67da2deda72317aa9afe3445cf849ebd86f4001e20b5d164ef9d05f8/python_statsd-2.1.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d2c573d325d0f015b4d79f0d0f8c88dd8413d7b9ef890c09076a9b6089ab301c", - "url": "https://files.pythonhosted.org/packages/bc/ea/0beeadf66faed4ccdcb48009bb4eebf580ac6c05e55b6fae4032c6c45b9a/python-statsd-2.1.0.tar.gz" - } - ], - "project_name": "python-statsd", - "requires_dists": [ - "changelog; extra == \"docs\"", - "coverage; extra == \"tests\"", - "mock; extra == \"tests\"", - "nose; extra == \"tests\"", - "sphinx>=1.5.0; extra == \"docs\"" - ], - "requires_python": null, - "version": "2.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319", - "url": "https://files.pythonhosted.org/packages/9c/3d/a121f284241f08268b21359bd425f7d4825cffc5ac5cd0e1b3d82ffd2b10/pytz-2024.1-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812", - "url": "https://files.pythonhosted.org/packages/90/26/9f1f00a5d021fff16dee3de13d43e5e978f3d58928e129c3a62cf7eb9738/pytz-2024.1.tar.gz" - } - ], - "project_name": "pytz", - "requires_dists": [], - "requires_python": null, - "version": "2024.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "c267046d281de613fc7c8a528cdd261564d9b99bdb7c2926221eff3263b700c8", - "url": "https://files.pythonhosted.org/packages/0c/45/4340320145c225387f40ce412de1b209d991c322032e4922cc0a9935fd31/pywinrm-0.5.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5428eb1e494af7954546cd4ff15c9ef1a30a75e05b25a39fd606cef22201e9f1", - "url": "https://files.pythonhosted.org/packages/5a/2f/d835c342c4b11e28beaccef74982e7669986c84bf19654c39f53c8b8243c/pywinrm-0.5.0.tar.gz" - } - ], - "project_name": "pywinrm", - "requires_dists": [ - "pykerberos<2.0.0,>=1.2.1; sys_platform != \"win32\" and extra == \"kerberos\"", - "requests-credssp>=1.0.0; extra == \"credssp\"", - "requests-ntlm>=1.1.0", - "requests>=2.9.1", - "winkerberos>=0.5.0; sys_platform == \"win32\" and extra == \"kerberos\"", - "xmltodict" - ], - "requires_python": ">=3.8", - "version": "0.5.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/0d/46/62ae77677e532c0af6c81ddd6f3dbc16bdcc1208b077457354442d220bfb/PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/4a/4b/c71ef18ef83c82f99e6da8332910692af78ea32bd1d1d76c9787dfa36aea/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/7d/39/472f2554a0f1e825bd7c5afc11c817cd7a2f3657460f7159f691fbb37c51/PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/c1/39/47ed4d65beec9ce07267b014be85ed9c204fa373515355d3efa62d19d892/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735", - "url": "https://files.pythonhosted.org/packages/c8/6b/6600ac24725c7388255b2f5add93f91e58a5d7efaf4af244fdbcc11a541b/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", - "url": "https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz" - }, - { - "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", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "6.0.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0bb64dc14f7f5d96597e9a08e185b874a3ea20955a1acce632b87122d66d3d6b", - "url": "https://files.pythonhosted.org/packages/5d/e6/894d3abf2b46ad67a91fc0e11821201777a7a7f3f20d934b31a5610ea7f0/RandomWords-0.4.0.tar.gz" - } - ], - "project_name": "randomwords", - "requires_dists": [ - "pytest; extra == \"testing\"" - ], - "requires_python": null, - "version": "0.4.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0e479e24da960c690be5d9b96d21f7b918a98c0cf49af3b6fafaa0753f93a0db", - "url": "https://files.pythonhosted.org/packages/2f/3b/db091387f25c202a34030de8f7fee26a69c11b83797eecaef5b06e261966/redis-5.0.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8f611490b93c8109b50adc317b31bfd84fff31def3475b92e7e80bf39f48175b", - "url": "https://files.pythonhosted.org/packages/00/e9/cf42d89e68dbfa23bd534177e06c745164f7b694edae0029f6eee57704b6/redis-5.0.7.tar.gz" - } - ], - "project_name": "redis", - "requires_dists": [ - "async-timeout>=4.0.3; python_full_version < \"3.11.3\"", - "cryptography>=36.0.1; extra == \"ocsp\"", - "hiredis>=1.0.0; extra == \"hiredis\"", - "importlib-metadata>=1.0; python_version < \"3.8\"", - "pyopenssl==20.0.1; extra == \"ocsp\"", - "requests>=2.26.0; extra == \"ocsp\"", - "typing-extensions; python_version < \"3.8\"" - ], - "requires_python": ">=3.7", - "version": "5.0.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "f77bf0e1096ea445beadd35f3479c5cff2aa1efe604a133e67150bc8630a62ea", - "url": "https://files.pythonhosted.org/packages/b0/30/6cc0c95f0b59ad4b3b9163bff7cdcf793cc96fac64cf398ff26271f5cf5e/repoze.lru-0.7-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "0429a75e19380e4ed50c0694e26ac8819b4ea7851ee1fc7583c8572db80aff77", - "url": "https://files.pythonhosted.org/packages/12/bc/595a77c4b5e204847fdf19268314ef59c85193a9dc9f83630fc459c0fee5/repoze.lru-0.7.tar.gz" - } - ], - "project_name": "repoze-lru", - "requires_dists": [ - "Sphinx; extra == \"docs\"", - "coverage; extra == \"testing\"", - "nose; extra == \"testing\"" - ], - "requires_python": null, - "version": "0.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", - "url": "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", - "url": "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz" - } - ], - "project_name": "requests", - "requires_dists": [ - "PySocks!=1.5.7,>=1.5.6; extra == \"socks\"", - "certifi>=2017.4.17", - "chardet<6,>=3.0.2; extra == \"use_chardet_on_py3\"", - "charset-normalizer<4,>=2", - "idna<4,>=2.5", - "urllib3<3,>=1.21.1" - ], - "requires_python": ">=3.8", - "version": "2.32.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4c7534a7d0e482bb0928531d621be4b2c74ace437e88c5a357ceb7452d25a510", - "url": "https://files.pythonhosted.org/packages/9e/5d/836b97537a390cf811b0488490c389c5a614f0a93acb23f347bd37a2d914/requests_ntlm-1.3.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "b29cc2462623dffdf9b88c43e180ccb735b4007228a542220e882c58ae56c668", - "url": "https://files.pythonhosted.org/packages/15/74/5d4e1815107e9d78c44c3ad04740b00efd1189e5a9ec11e5275b60864e54/requests_ntlm-1.3.0.tar.gz" - } - ], - "project_name": "requests-ntlm", - "requires_dists": [ - "cryptography>=1.3", - "pyspnego>=0.4.0", - "requests>=2.0.0" - ], - "requires_python": ">=3.8", - "version": "1.3.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8cc4d43cb8e1125e0ff3344e9de678fefd85db3b750b81b2240dc0183af37b35", - "url": "https://files.pythonhosted.org/packages/8f/04/9e36f28be4c0532c0e9207ff9dc01fb13a2b0eb036476a213b0000837d0e/retrying-1.3.4-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "345da8c5765bd982b1d1915deb9102fd3d1f7ad16bd84a9700b85f64d24e8f3e", - "url": "https://files.pythonhosted.org/packages/ce/70/15ce8551d65b324e18c5aa6ef6998880f21ead51ebe5ed743c0950d7d9dd/retrying-1.3.4.tar.gz" - } - ], - "project_name": "retrying", - "requires_dists": [ - "six>=1.7.0" - ], - "requires_python": null, - "version": "1.3.4" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", - "url": "https://files.pythonhosted.org/packages/ff/9a/9afaade874b2fa6c752c36f1548f718b5b83af81ed9b76628329dab81c1b/rfc3986-2.0.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c", - "url": "https://files.pythonhosted.org/packages/85/40/1520d68bfa07ab5a6f065a186815fb6610c86fe957bc065754e47f7b0840/rfc3986-2.0.0.tar.gz" - } - ], - "project_name": "rfc3986", - "requires_dists": [ - "idna; extra == \"idna2008\"" - ], - "requires_python": ">=3.7", - "version": "2.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "10702b1e51e5658843460b189b185c0366d2cf4cff716f13111b0ea9fd2dce53", - "url": "https://files.pythonhosted.org/packages/65/d4/f7407c3d15d5ac779c3dd34fbbc6ea2090f77bd7dd12f207ccf881551208/rfc3987-1.3.8-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "d3c4d257a560d544e9826b38bc81db676890c79ab9d7ac92b39c7a253d5ca733", - "url": "https://files.pythonhosted.org/packages/14/bb/f1395c4b62f251a1cb503ff884500ebd248eed593f41b469f89caa3547bd/rfc3987-1.3.8.tar.gz" - } - ], - "project_name": "rfc3987", - "requires_dists": [], - "requires_python": null, - "version": "1.3.8" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "fab5a042a3a87778eb271d053ca2723cadf43c95b471532a191a48539cb606ea", - "url": "https://files.pythonhosted.org/packages/9b/d4/d3c7d029de6287ff7bd048e628920d4336b4f8d82cfc00ff078bdbb212a3/Routes-2.5.1-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "b6346459a15f0cbab01a45a90c3d25caf980d4733d628b4cc1952b865125d053", - "url": "https://files.pythonhosted.org/packages/62/01/1504b710f68840f4152d460a4ffbc6b8265485b636235ddd72a8dfe686ae/Routes-2.5.1.tar.gz" - } - ], - "project_name": "routes", - "requires_dists": [ - "Sphinx; extra == \"docs\"", - "repoze.lru>=0.3", - "six", - "webob; extra == \"docs\"", - "webob; extra == \"middleware\"" - ], - "requires_python": null, - "version": "2.5.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636", - "url": "https://files.pythonhosted.org/packages/73/67/8ece580cc363331d9a53055130f86b096bf16e38156e33b1d3014fffda6b/ruamel.yaml-0.18.6-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b", - "url": "https://files.pythonhosted.org/packages/29/81/4dfc17eb6ebb1aac314a3eb863c1325b907863a1b8b1382cdffcb6ac0ed9/ruamel.yaml-0.18.6.tar.gz" - } - ], - "project_name": "ruamel-yaml", - "requires_dists": [ - "mercurial>5.7; extra == \"docs\"", - "ruamel.yaml.clib>=0.2.7; platform_python_implementation == \"CPython\" and python_version < \"3.13\"", - "ruamel.yaml.jinja2>=0.2; extra == \"jinja2\"", - "ryd; extra == \"docs\"" - ], - "requires_python": ">=3.7", - "version": "0.18.6" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880", - "url": "https://files.pythonhosted.org/packages/54/61/c18d378caadac66fa97da5d28758c751730dac7510b6a8b8b096da3fff9a/ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337", - "url": "https://files.pythonhosted.org/packages/08/4c/5770b8f318fe404a455141a7a33a5568c27a1f944724e82354c8f3554db2/ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615", - "url": "https://files.pythonhosted.org/packages/18/52/8dc27bbd9ef1d4695975b8dc132c27c431d0186037ad3c731a6dd1c154b9/ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91", - "url": "https://files.pythonhosted.org/packages/22/fa/b2a8fd49c92693e9b9b6b11eef4c2a8aedaca2b521ab3e020aa4778efc23/ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512", - "url": "https://files.pythonhosted.org/packages/46/ab/bab9eb1566cd16f060b54055dd39cf6a34bfa0240c53a7218c43e974295b/ruamel.yaml.clib-0.2.8.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001", - "url": "https://files.pythonhosted.org/packages/56/a9/e3be88fcebe04016c57207260f2b07c5ecacab86e9f585d10daaa2a4074f/ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c", - "url": "https://files.pythonhosted.org/packages/57/e4/f572d7e2502854f15291dfa94eebdc687e04db387559f026995c7697af34/ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1", - "url": "https://files.pythonhosted.org/packages/5a/45/644d839c09c0717c2d7f26b705560ad74b3056085b3bc7f9c2ac2081317b/ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/7c/b2/389b345a60131593028b0263fddaa580edb4081697a3f3aa1f168f67519f/ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "0.2.8" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0980dcbc25aba1505f307ac4f0e9e92cbd0be2a15a1e983ee86c24c87b839dfd", - "url": "https://files.pythonhosted.org/packages/86/d6/17caf2e4af1dec288477a0cbbe4a96fbc9b8a28457dce3f1f452630ce216/runs-1.2.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "9dc1815e2895cfb3a48317b173b9f1eac9ba5549b36a847b5cc60c3bf82ecef1", - "url": "https://files.pythonhosted.org/packages/26/6d/b9aace390f62db5d7d2c77eafce3d42774f27f1829d24fa9b6f598b3ef71/runs-1.2.2.tar.gz" - } - ], - "project_name": "runs", - "requires_dists": [ - "xmod" - ], - "requires_python": ">=3.8", - "version": "1.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b1ea4686fe70b981f85359eda33199d60c53964284e0cfb4977d243e37cf4bf4", - "url": "https://files.pythonhosted.org/packages/9a/77/0cc7a8a3bc7e53d07e8f47f147b92b0960e902b8254859f4aee5c4d7866b/semver-3.0.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc", - "url": "https://files.pythonhosted.org/packages/41/6c/a536cc008f38fd83b3c1b98ce19ead13b746b5588c9a0cb9dd9f6ea434bc/semver-3.0.2.tar.gz" - } - ], - "project_name": "semver", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "3.0.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5a03e1860cf56bb6ef48ce186b0e557fdba433237481a9a625176c2831be15d1", - "url": "https://files.pythonhosted.org/packages/e1/58/e0ef3b9974a04ce9cde2a7a33881ddcb2d68450803745804545cdd8d258f/setuptools-72.1.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8d243eff56d095e5817f796ede6ae32941278f542e0f941867cc05ae52b162ec", - "url": "https://files.pythonhosted.org/packages/5e/11/487b18cc768e2ae25a919f230417983c8d5afa1b6ee0abd8b6db0b89fa1d/setuptools-72.1.0.tar.gz" - } - ], - "project_name": "setuptools", - "requires_dists": [ - "build[virtualenv]>=1.0.3; extra == \"test\"", - "filelock>=3.4.0; extra == \"test\"", - "furo; extra == \"doc\"", - "importlib-metadata; extra == \"test\"", - "importlib-metadata>=6; python_version < \"3.10\" and extra == \"core\"", - "importlib-resources>=5.10.2; python_version < \"3.9\" and extra == \"core\"", - "ini2toml[lite]>=0.14; extra == \"test\"", - "jaraco.develop>=7.21; (python_version >= \"3.9\" and sys_platform != \"cygwin\") and extra == \"test\"", - "jaraco.envs>=2.2; extra == \"test\"", - "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>=8.8; extra == \"core\"", - "mypy==1.11.*; extra == \"test\"", - "ordered-set>=3.1.1; extra == \"core\"", - "packaging>=23.2; extra == \"test\"", - "packaging>=24; extra == \"core\"", - "pip>=19.1; extra == \"test\"", - "platformdirs>=2.6.2; extra == \"core\"", - "pygments-github-lexers==0.0.5; extra == \"doc\"", - "pyproject-hooks!=1.1; extra == \"doc\"", - "pyproject-hooks!=1.1; 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-home>=0.5; extra == \"test\"", - "pytest-mypy; extra == \"test\"", - "pytest-perf; sys_platform != \"cygwin\" and extra == \"test\"", - "pytest-ruff<0.4; platform_system == \"Windows\" and extra == \"test\"", - "pytest-ruff>=0.2.1; sys_platform != \"cygwin\" and extra == \"test\"", - "pytest-ruff>=0.3.2; sys_platform != \"cygwin\" and extra == \"test\"", - "pytest-subprocess; extra == \"test\"", - "pytest-timeout; extra == \"test\"", - "pytest-xdist>=3; extra == \"test\"", - "rst.linker>=1.9; extra == \"doc\"", - "sphinx-favicon; extra == \"doc\"", - "sphinx-inline-tabs; extra == \"doc\"", - "sphinx-lint; extra == \"doc\"", - "sphinx-notfound-page<2,>=1; extra == \"doc\"", - "sphinx-reredirects; extra == \"doc\"", - "sphinx>=3.5; extra == \"doc\"", - "sphinxcontrib-towncrier; extra == \"doc\"", - "tomli-w>=1.0.0; extra == \"test\"", - "tomli; extra == \"test\"", - "tomli>=2.0.1; python_version < \"3.11\" and extra == \"core\"", - "virtualenv>=13.0.0; extra == \"test\"", - "wheel; extra == \"test\"", - "wheel>=0.43.0; extra == \"core\"" - ], - "requires_python": ">=3.8", - "version": "72.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "bcedf4cae0d47839fee7de344f96b5694ca53c786f28b5f773d4f0b265a159eb", - "url": "https://files.pythonhosted.org/packages/56/0e/456e89ef42b82586a4c3b2bc8374142e1ed7bf37f86048fefd134e90fa68/simplejson-3.19.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "ff836cd4041e16003549449cc0a5e372f6b6f871eb89007ab0ee18fb2800fded", - "url": "https://files.pythonhosted.org/packages/01/bf/afbd25fd0379ba755962131c8fa035f2176c406047ddd61fac2c7427633c/simplejson-3.19.2-cp38-cp38-musllinux_1_1_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "16ca9c90da4b1f50f089e14485db8c20cbfff2d55424062791a7392b5a9b3ff9", - "url": "https://files.pythonhosted.org/packages/0d/79/6cbde4f02d6623edc68f697a77315e6f1b45f0480f62d34a406e65145c09/simplejson-3.19.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "af9c7e6669c4d0ad7362f79cb2ab6784d71147503e62b57e3d95c4a0f222c01c", - "url": "https://files.pythonhosted.org/packages/10/8e/e9c836c5bae09853caf64ca0d2d173d34daa46554c1a8782a7550f12c19b/simplejson-3.19.2-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "9453419ea2ab9b21d925d0fd7e3a132a178a191881fab4169b6f96e118cc25bb", - "url": "https://files.pythonhosted.org/packages/12/f7/4db19c4203e0bc927d19b32f89f3b88a022bc982cde32b61e97d16ded121/simplejson-3.19.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "2d022b14d7758bfb98405672953fe5c202ea8a9ccf9f6713c5bd0718eba286fd", - "url": "https://files.pythonhosted.org/packages/1e/25/b7486444b20cc3a4eabfe85090e5662190d49f9dcb17301fec4b99f78d1c/simplejson-3.19.2-cp39-cp39-musllinux_1_1_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "445a96543948c011a3a47c8e0f9d61e9785df2544ea5be5ab3bc2be4bd8a2565", - "url": "https://files.pythonhosted.org/packages/27/9f/76c4a2455ce3bca261e2e0351a3d9b36745a97fd0592680aefd28c3d9290/simplejson-3.19.2-cp39-cp39-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "9e038c615b3906df4c3be8db16b3e24821d26c55177638ea47b3f8f73615111c", - "url": "https://files.pythonhosted.org/packages/2a/b7/a993c7e8d7c61c49e949a9d1a7acefa2edc421786b3537121f086d9379a5/simplejson-3.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "60848ab779195b72382841fc3fa4f71698a98d9589b0a081a9399904487b5832", - "url": "https://files.pythonhosted.org/packages/33/5f/b9506e323ea89737b34c97a6eda9d22ad6b771190df93f6eb72657a3b996/simplejson-3.19.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "11cc3afd8160d44582543838b7e4f9aa5e97865322844b75d51bf4e0e413bb3e", - "url": "https://files.pythonhosted.org/packages/42/4f/eaa30edadca1271a97697a7c1630b9db9471997e56156ee974b45f6d0a09/simplejson-3.19.2-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "0a48679310e1dd5c9f03481799311a65d343748fe86850b7fb41df4e2c00c087", - "url": "https://files.pythonhosted.org/packages/42/b5/33169643f5cd76fd26a2ba5a034f934cdd20ad4884fbd719dabf82a0aef5/simplejson-3.19.2-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "7f2398361508c560d0bf1773af19e9fe644e218f2a814a02210ac2c97ad70db0", - "url": "https://files.pythonhosted.org/packages/49/7d/94ba3f8c2b83a7536f9f62f23246e071eae15c83b5e4d9bd8a165b7f70a6/simplejson-3.19.2-cp310-cp310-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "3848427b65e31bea2c11f521b6fc7a3145d6e501a1038529da2391aff5970f2f", - "url": "https://files.pythonhosted.org/packages/69/79/92c253e6990421cc38d232875231d27a886592922096b79efb53a96feaa3/simplejson-3.19.2-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "e8dd53a8706b15bc0e34f00e6150fbefb35d2fd9235d095b4f83b3c5ed4fa11d", - "url": "https://files.pythonhosted.org/packages/77/4b/9634b2e32af8e14dfc453869ff5b30386871bdcac9081ed847bf90af880f/simplejson-3.19.2-cp39-cp39-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "9eb117db8d7ed733a7317c4215c35993b815bf6aeab67523f1f11e108c040672", - "url": "https://files.pythonhosted.org/packages/79/35/11247b37cc344519847db672c2deb1d237edc44306a879da7882c3d5b7db/simplejson-3.19.2-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9eb442a2442ce417801c912df68e1f6ccfcd41577ae7274953ab3ad24ef7d82c", - "url": "https://files.pythonhosted.org/packages/79/79/3ccb95bb4154952532f280f7a41979fbfb0fbbaee4d609810ecb01650afa/simplejson-3.19.2.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "332c848f02d71a649272b3f1feccacb7e4f7e6de4a2e6dc70a32645326f3d428", - "url": "https://files.pythonhosted.org/packages/7e/f6/886fd5cd90fa8d74950a9bfc6763b5481c2063eea2eaaa95d494a0eece12/simplejson-3.19.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "0436a70d8eb42bea4fe1a1c32d371d9bb3b62c637969cb33970ad624d5a3336a", - "url": "https://files.pythonhosted.org/packages/84/78/448093d7e6c5b07073b5af7e72b72fbe5d5e00774a60f20a77f34b7477a9/simplejson-3.19.2-cp38-cp38-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "febffa5b1eda6622d44b245b0685aff6fb555ce0ed734e2d7b1c3acd018a2cff", - "url": "https://files.pythonhosted.org/packages/8b/9e/0a8003e4235d7c1140334738da4ec82f41696eff8c6e0ff05e6fbb560c0c/simplejson-3.19.2-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9e4c166f743bb42c5fcc60760fb1c3623e8fda94f6619534217b083e08644b46", - "url": "https://files.pythonhosted.org/packages/8c/8d/97ffae81325d29176b718b1a15ba1581069652c707a457f29bc05a44a946/simplejson-3.19.2-cp38-cp38-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "49e0e3faf3070abdf71a5c80a97c1afc059b4f45a5aa62de0c2ca0444b51669b", - "url": "https://files.pythonhosted.org/packages/90/da/54fc4292b320c17030cbddebd0b85cafb7bd0d990e24260979c012a85935/simplejson-3.19.2-cp38-cp38-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "25785d038281cd106c0d91a68b9930049b6464288cea59ba95b35ee37c2d23a5", - "url": "https://files.pythonhosted.org/packages/94/f9/2671ed450a2586262ea2cfffd04bc0b93f0a00963c44356667ad5a0ff940/simplejson-3.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "1018bd0d70ce85f165185d2227c71e3b1e446186f9fa9f971b69eee223e1e3cd", - "url": "https://files.pythonhosted.org/packages/95/b9/e5c85b1cd16acd4faad6afe5424e114c685f8b942db9ad230ea58ed6e794/simplejson-3.19.2-cp39-cp39-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "2c1467d939932901a97ba4f979e8f2642415fcf02ea12f53a4e3206c9c03bc17", - "url": "https://files.pythonhosted.org/packages/99/48/dd888ee60e1e690694c5a6c923ccb059a5a879c9b078da3e33d7e80ef100/simplejson-3.19.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "2f98d918f7f3aaf4b91f2b08c0c92b1774aea113334f7cde4fe40e777114dbe6", - "url": "https://files.pythonhosted.org/packages/a2/72/1dc530055a85eae444b2bbbd37b07ed2edebe14cbb889750795e78c4d894/simplejson-3.19.2-cp310-cp310-macosx_10_9_universal2.whl" - }, - { - "algorithm": "sha256", - "hash": "6ad331349b0b9ca6da86064a3599c425c7a21cd41616e175ddba0866da32df48", - "url": "https://files.pythonhosted.org/packages/b7/75/d097167ad63b1b0b2075259e57a384be85853f268bc715d10c14174f5425/simplejson-3.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "b01fda3e95d07a6148702a641e5e293b6da7863f8bc9b967f62db9461330562c", - "url": "https://files.pythonhosted.org/packages/b9/b8/a1d2fc3fb179d2eb3dd42682c308816991e708dfd4e4dee47291f380e2c5/simplejson-3.19.2-cp310-cp310-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "c0521e0f07cb56415fdb3aae0bbd8701eb31a9dfef47bb57206075a0584ab2a2", - "url": "https://files.pythonhosted.org/packages/bc/9e/5fa8d18275201220f0989d58a2b9567f5f91e8f6c3fdcb900a067d396e30/simplejson-3.19.2-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "0d2d5119b1d7a1ed286b8af37357116072fc96700bce3bec5bb81b2e7057ab41", - "url": "https://files.pythonhosted.org/packages/be/9b/555fb8a5548b7eb465acf2c83fea55fdf72aa445db124e8911f95c702e09/simplejson-3.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "49aaf4546f6023c44d7e7136be84a03a4237f0b2b5fb2b17c3e3770a758fc1a0", - "url": "https://files.pythonhosted.org/packages/c1/9c/e96d1b7bd748a9b39af75d899c7d8ac07e15bb2cef1b4c68ded1da4157ff/simplejson-3.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "064300a4ea17d1cd9ea1706aa0590dcb3be81112aac30233823ee494f02cb78a", - "url": "https://files.pythonhosted.org/packages/c4/da/cf5366b140bfda07494fe4de4cfd2dbadc934d31494c4e45c6b7780d2281/simplejson-3.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "7d74beca677623481810c7052926365d5f07393c72cbf62d6cce29991b676402", - "url": "https://files.pythonhosted.org/packages/ca/c7/a530c9aba6a47823df3d46f20ce09be730d04aeb67aaef057a7c515654bd/simplejson-3.19.2-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "18955c1da6fc39d957adfa346f75226246b6569e096ac9e40f67d102278c3bcb", - "url": "https://files.pythonhosted.org/packages/cb/b6/ed513a0adc3e2c9654864ffb68266dcab5720d5653428d690e7e4fb32a6c/simplejson-3.19.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "778331444917108fa8441f59af45886270d33ce8a23bfc4f9b192c0b2ecef1b3", - "url": "https://files.pythonhosted.org/packages/ea/18/79519b59bf5c752c48c60152c6eda0b98a26b80a47eb6002e9f6ba0f9ed9/simplejson-3.19.2-cp310-cp310-musllinux_1_1_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "4a8c3cc4f9dfc33220246760358c8265dad6e1104f25f0077bbca692d616d358", - "url": "https://files.pythonhosted.org/packages/fd/8d/04fe27f3b61ac4820d27a70a8531de72a813c4d33a6491b9dcc13f04ecbf/simplejson-3.19.2-cp39-cp39-macosx_10_9_x86_64.whl" - } - ], - "project_name": "simplejson", - "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.5", - "version": "3.19.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", - "url": "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "url": "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz" - } - ], - "project_name": "six", - "requires_dists": [], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", - "version": "1.16.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da", - "url": "https://files.pythonhosted.org/packages/a7/a5/10f97f73544edcdef54409f1d839f6049a0d79df68adbc1ceb24d1aaca42/smmap-5.0.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62", - "url": "https://files.pythonhosted.org/packages/88/04/b5bf6d21dc4041000ccba7eb17dd3055feb237e7ffc2c20d3fae3af62baa/smmap-5.0.1.tar.gz" - } - ], - "project_name": "smmap", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "5.0.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7", - "url": "https://files.pythonhosted.org/packages/4c/f3/038b302fdfbe3be7da016777069f26ceefe11a681055ea1f7817546508e3/soupsieve-2.5-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690", - "url": "https://files.pythonhosted.org/packages/ce/21/952a240de1c196c7e3fbcd4e559681f0419b1280c617db21157a0390717b/soupsieve-2.5.tar.gz" - } - ], - "project_name": "soupsieve", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "2.5" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "4ecca6dc0b9f963f8384e9d7fd529bf93dd7d708144c4fb5da0e0a1a926fee83", - "url": "https://files.pythonhosted.org/packages/49/58/97655efdfeb5b4eeab85b1fc5d3fa1023661246c2ab2a26ea8e47402d4f2/sseclient_py-1.8.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "c547c5c1a7633230a38dc599a21a2dc638f9b5c297286b48b46b935c71fac3e8", - "url": "https://files.pythonhosted.org/packages/e8/ed/3df5ab8bb0c12f86c28d0cadb11ed1de44a92ed35ce7ff4fd5518a809325/sseclient-py-1.8.0.tar.gz" - } - ], - "project_name": "sseclient-py", - "requires_dists": [], - "requires_python": null, - "version": "1.8.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "bd5d4cd424bdd671d4c221395a145b219083d6e6a97e25a19dd8b3bea1088cbf", - "url": "git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master" - } - ], - "project_name": "st2-auth-backend-flat-file", - "requires_dists": [ - "passlib<1.8.0,>=1.7.1" - ], - "requires_python": null, - "version": "0.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "1b62240f8004316de753c3e2e20e629d0afb3337ea9a549f9022b4a7ba8c0499", - "url": "git+https://github.com/StackStorm/st2-auth-ldap.git@master" - } - ], - "project_name": "st2-auth-ldap", - "requires_dists": [ - "cachetools<5.4.0,>=3.1", - "python-ldap<3.5.0,>=3.4.0" - ], - "requires_python": null, - "version": "3.9.dev0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "e49a85b9d1ad7cd9e75d53810ddf1e3ec50c83b1e4d8629d80f0566a233e5637", - "url": "git+https://github.com/StackStorm/st2-rbac-backend.git@master" - } - ], - "project_name": "st2-rbac-backend", - "requires_dists": [], - "requires_python": null, - "version": "3.9.dev0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "1c15d95766ca0569cad14cb6272d4d31dae66b011a929d7c18219c176ea1b5c9", - "url": "https://files.pythonhosted.org/packages/eb/f1/c7c6205c367c764ee173537f7eaf070bba4dd0fa11bf081813c2f75285a3/stevedore-5.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "46b93ca40e1114cea93d738a6c1e365396981bb6bb78c27045b7587c9473544d", - "url": "https://files.pythonhosted.org/packages/e7/c1/b210bf1071c96ecfcd24c2eeb4c828a2a24bf74b38af13896d02203b1eec/stevedore-5.2.0.tar.gz" - } - ], - "project_name": "stevedore", - "requires_dists": [ - "pbr!=2.1.0,>=2.0.0" - ], - "requires_python": ">=3.8", - "version": "5.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277", - "url": "https://files.pythonhosted.org/packages/56/e4/879ef1dbd6ddea1c77c0078cd59b503368b0456bcca7d063a870ca2119d3/strict-rfc3339-0.7.tar.gz" - } - ], - "project_name": "strict-rfc3339", - "requires_dists": [], - "requires_python": null, - "version": "0.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f", - "url": "https://files.pythonhosted.org/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c", - "url": "https://files.pythonhosted.org/packages/ec/fe/802052aecb21e3797b8f7902564ab6ea0d60ff8ca23952079064155d1ae1/tabulate-0.9.0.tar.gz" - } - ], - "project_name": "tabulate", - "requires_dists": [ - "wcwidth; extra == \"widechars\"" - ], - "requires_python": ">=3.7", - "version": "0.9.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539", - "url": "https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b", - "url": "https://files.pythonhosted.org/packages/cd/94/91fccdb4b8110642462e653d5dcb27e7b674742ad68efd146367da7bdb10/tenacity-9.0.0.tar.gz" -======= - "hash": "3649f6443dbc0d9b01b9d8020a9c4ec7a1ff5f6f3c6c8a036ef371f573fe9185", - "url": "https://files.pythonhosted.org/packages/61/a1/6bb0cbebefb23641f068bb58a2bc56da9beb2b1c550242e3c540b37698f3/tenacity-8.3.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "953d4e6ad24357bceffbc9707bc74349aca9d245f68eb65419cf0c249a1949a2", - "url": "https://files.pythonhosted.org/packages/32/6c/57df6196ce52c464cf8556e8f697fec5d3469bb8cd319c1685c0a090e0b4/tenacity-8.3.0.tar.gz" ->>>>>>> python_upgrade - } - ], - "project_name": "tenacity", - "requires_dists": [ - "pytest; extra == \"test\"", - "reno; extra == \"doc\"", - "sphinx; extra == \"doc\"", - "tornado>=4.5; extra == \"test\"", - "typeguard; extra == \"test\"" - ], - "requires_python": ">=3.8", -<<<<<<< HEAD - "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" -======= - "version": "8.3.0" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", - "url": "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz" - } - ], - "project_name": "tomli", - "requires_dists": [], - "requires_python": ">=3.7", - "version": "2.0.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "cebdc29a59f0151d20c005b539d723e4ee58215dd00b41a74eaa655edcce1258", - "url": "https://files.pythonhosted.org/packages/74/d9/188ba4ac3ba17986c898312bea14a0c4c053d663a1594f7a1431d24d52df/tooz-6.2.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "90565627ecb8aa793f9fe6eccc178f57cda751eca03dbb2cb31995e9b1e589b5", - "url": "https://files.pythonhosted.org/packages/f3/17/80c981c29af173419d233220ac3294824c297237afc58a417135a5b088ab/tooz-6.2.0.tar.gz" - } - ], - "project_name": "tooz", - "requires_dists": [ - "PyMySQL>=0.6.2; extra == \"mysql\"", - "coverage>=3.6; extra == \"test\"", - "ddt>=1.2.1; extra == \"test\"", - "etcd3gw>=2.3.0; extra == \"etcd3gw\"", - "fasteners>=0.7", - "fixtures>=3.0.0; extra == \"test\"", - "futurist>=1.2.0", - "kazoo>=2.6; extra == \"zookeeper\"", - "msgpack>=0.4.0", - "oslo.serialization>=1.10.0", - "oslo.utils>=4.7.0", - "packaging>=20.4.0; extra == \"redis\"", - "pifpaf>=0.10.0; extra == \"test\"", - "psycopg2>=2.5; extra == \"postgresql\"", - "pymemcache>=1.2.9; extra == \"memcached\"", - "python-consul2>=0.0.16; extra == \"consul\"", - "redis>=4.0.0; extra == \"redis\"", - "requests>=2.10.0; extra == \"etcd\"", - "stestr>=2.0.0; extra == \"test\"", - "stevedore>=1.16.0", - "sysv-ipc>=0.6.8; extra == \"ipc\"", - "tenacity>=5.0.0", - "testtools>=1.4.0; extra == \"test\"", - "voluptuous>=0.8.9", - "zake>=0.1.6; extra == \"zake\"" - ], - "requires_python": ">=3.8", - "version": "6.2.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", - "url": "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", - "url": "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz" - } - ], - "project_name": "typing-extensions", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "4.12.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252", - "url": "https://files.pythonhosted.org/packages/65/58/f9c9e6be752e9fcb8b6a0ee9fb87e6e7a1f6bcab2cdc73f02bb7ba91ada0/tzdata-2024.1-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd", - "url": "https://files.pythonhosted.org/packages/74/5b/e025d02cb3b66b7b76093404392d4b44343c69101cc85f4d180dd5784717/tzdata-2024.1.tar.gz" - } - ], - "project_name": "tzdata", - "requires_dists": [], - "requires_python": ">=2", - "version": "2024.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8", - "url": "https://files.pythonhosted.org/packages/97/3f/c4c51c55ff8487f2e6d0e618dba917e3c3ee2caae6cf0fbb59c9b1876f2e/tzlocal-5.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e", - "url": "https://files.pythonhosted.org/packages/04/d3/c19d65ae67636fe63953b20c2e4a8ced4497ea232c43ff8d01db16de8dc0/tzlocal-5.2.tar.gz" - } - ], - "project_name": "tzlocal", - "requires_dists": [ - "backports.zoneinfo; python_version < \"3.9\"", - "check-manifest; extra == \"devenv\"", - "pytest-cov; extra == \"devenv\"", - "pytest-mock>=3.3; extra == \"devenv\"", - "pytest>=4.3; extra == \"devenv\"", - "tzdata; platform_system == \"Windows\"", - "zest.releaser; extra == \"devenv\"" - ], - "requires_python": ">=3.8", - "version": "5.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "b10bc5570699a438a72e2b5a64e76bd8c28ee3befd16f209387a5507fa0b8301", - "url": "https://files.pythonhosted.org/packages/9f/dc/1fa45a539f3896bcc74d59019636b232ea2e66492ed1cdcf68114af19624/udatetime-0.0.17.tar.gz" - } - ], - "project_name": "udatetime", - "requires_dists": [], - "requires_python": null, - "version": "0.0.17" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e", - "url": "https://files.pythonhosted.org/packages/23/1c/cfefabb5996e21a1a4348852df7eb7cfc69299143739e86e5b1071c78735/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "a984a3131da7f07563057db1c3020b1350a3e27a8ec46ccbfbf21e5928a43050", - "url": "https://files.pythonhosted.org/packages/01/9c/2387820623455ac81781352e095a119250a9f957717490ad57957d875e56/ujson-5.10.0-cp38-cp38-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "d4dc2fd6b3067c0782e7002ac3b38cf48608ee6366ff176bbd02cf969c9c20fe", - "url": "https://files.pythonhosted.org/packages/03/b4/9be6bc48b8396983fa013a244e2f9fc1defcc0c4c55f76707930e749ad14/ujson-5.10.0-cp38-cp38-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "4734ee0745d5928d0ba3a213647f1c4a74a2a28edc6d27b2d6d5bd9fa4319e27", - "url": "https://files.pythonhosted.org/packages/0c/b3/3d2ca621d8dbeaf6c5afd0725e1b4bbd465077acc69eff1e9302735d1432/ujson-5.10.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0", - "url": "https://files.pythonhosted.org/packages/1f/28/bcf6df25c1a9f1989dc2ddc4ac8a80e246857e089f91a9079fd8a0a01459/ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1", - "url": "https://files.pythonhosted.org/packages/32/56/c8be7aa5520b96ffca82ab77112429fa9ed0f805cd33ad3ab3e6fe77c6e6/ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "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": "dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5", - "url": "https://files.pythonhosted.org/packages/5d/dd/b9a6027ba782b0072bf24a70929e15a58686668c32a37aebfcfaa9e00bdd/ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1", - "url": "https://files.pythonhosted.org/packages/63/eb/2a4ea07165cad217bc842bb684b053bafa8ffdb818c47911c621e97a33fc/ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "232cc85f8ee3c454c115455195a205074a56ff42608fd6b942aa4c378ac14dd7", - "url": "https://files.pythonhosted.org/packages/66/0b/d3620932fe5619b51cd05162b7169be2158bde88493d6fa9caad46fefb0b/ujson-5.10.0-cp38-cp38-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "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": "ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996", - "url": "https://files.pythonhosted.org/packages/72/53/d7bdf6afabeba3ed899f89d993c7f202481fa291d8c5be031c98a181eda4/ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "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": "ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4", - "url": "https://files.pythonhosted.org/packages/8d/96/a3a2356ca5a4b67fe32a0c31e49226114d5154ba2464bb1220a93eb383e8/ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "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": "dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b", - "url": "https://files.pythonhosted.org/packages/97/94/50ff2f1b61d668907f20216873640ab19e0eaa77b51e64ee893f6adfb266/ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1", - "url": "https://files.pythonhosted.org/packages/9e/82/89404453a102d06d0937f6807c0a7ef2eec68b200b4ce4386127f3c28156/ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "73814cd1b9db6fc3270e9d8fe3b19f9f89e78ee9d71e8bd6c9a626aeaeaf16bd", - "url": "https://files.pythonhosted.org/packages/b7/8d/0902429667065ee1a30f400ff4f0e97f1139fc958121856d520c35da3d1e/ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "7223f41e5bf1f919cd8d073e35b229295aa8e0f7b5de07ed1c8fddac63a6bc5d", - "url": "https://files.pythonhosted.org/packages/ba/17/940791e0a5fb5e90c2cd44fded53eb666b833918b5e65875dbd3e10812f9/ujson-5.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b", - "url": "https://files.pythonhosted.org/packages/be/14/e435cbe5b5189483adbba5fe328e88418ccd54b2b1f74baa4172384bb5cd/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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": "7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804", - "url": "https://files.pythonhosted.org/packages/e8/d9/b6f4d1e6bec20a3b582b48f64eaa25209fd70dc2892b21656b273bc23434/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.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", - "url": "https://files.pythonhosted.org/packages/1f/28/bcf6df25c1a9f1989dc2ddc4ac8a80e246857e089f91a9079fd8a0a01459/ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1", - "url": "https://files.pythonhosted.org/packages/32/56/c8be7aa5520b96ffca82ab77112429fa9ed0f805cd33ad3ab3e6fe77c6e6/ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/5d/dd/b9a6027ba782b0072bf24a70929e15a58686668c32a37aebfcfaa9e00bdd/ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1", - "url": "https://files.pythonhosted.org/packages/63/eb/2a4ea07165cad217bc842bb684b053bafa8ffdb818c47911c621e97a33fc/ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "232cc85f8ee3c454c115455195a205074a56ff42608fd6b942aa4c378ac14dd7", - "url": "https://files.pythonhosted.org/packages/66/0b/d3620932fe5619b51cd05162b7169be2158bde88493d6fa9caad46fefb0b/ujson-5.10.0-cp38-cp38-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/72/53/d7bdf6afabeba3ed899f89d993c7f202481fa291d8c5be031c98a181eda4/ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/8d/96/a3a2356ca5a4b67fe32a0c31e49226114d5154ba2464bb1220a93eb383e8/ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/97/94/50ff2f1b61d668907f20216873640ab19e0eaa77b51e64ee893f6adfb266/ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1", - "url": "https://files.pythonhosted.org/packages/9e/82/89404453a102d06d0937f6807c0a7ef2eec68b200b4ce4386127f3c28156/ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/b7/8d/0902429667065ee1a30f400ff4f0e97f1139fc958121856d520c35da3d1e/ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "7223f41e5bf1f919cd8d073e35b229295aa8e0f7b5de07ed1c8fddac63a6bc5d", - "url": "https://files.pythonhosted.org/packages/ba/17/940791e0a5fb5e90c2cd44fded53eb666b833918b5e65875dbd3e10812f9/ujson-5.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b", - "url": "https://files.pythonhosted.org/packages/be/14/e435cbe5b5189483adbba5fe328e88418ccd54b2b1f74baa4172384bb5cd/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/e8/d9/b6f4d1e6bec20a3b582b48f64eaa25209fd70dc2892b21656b273bc23434/ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", ->>>>>>> python_upgrade - "hash": "d2c75269f8205b2690db4572a4a36fe47cd1338e4368bc73a7a0e48789e2e35a", - "url": "https://files.pythonhosted.org/packages/ef/6a/5c383afd4b099771fe9ad88699424a0f405f65543b762500e653244d5d04/ujson-5.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1", - "url": "https://files.pythonhosted.org/packages/f0/00/3110fd566786bfa542adb7932d62035e0c0ef662a8ff6544b6643b3d6fd7/ujson-5.10.0.tar.gz" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "cc6139531f13148055d691e442e4bc6601f6dba1e6d521b1585d4788ab0bfad4", - "url": "https://files.pythonhosted.org/packages/f5/cb/475defab49cac018d34ac7d47a2d5c8d764484ce8831d8fa8f523c41349d/ujson-5.10.0-cp38-cp38-musllinux_1_2_x86_64.whl" -======= - "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" ->>>>>>> python_upgrade - } - ], - "project_name": "ujson", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "5.10.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", - "url": "https://files.pythonhosted.org/packages/ca/1c/89ffc63a9605b583d5df2be791a27bc1a42b7c32bab68d3c8f2f73a98cd4/urllib3-2.2.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168", - "url": "https://files.pythonhosted.org/packages/43/6d/fa469ae21497ddc8bc93e5877702dca7cb8f911e337aca7452b5724f1bb6/urllib3-2.2.2.tar.gz" - } - ], - "project_name": "urllib3", - "requires_dists": [ - "brotli>=1.0.9; platform_python_implementation == \"CPython\" and extra == \"brotli\"", - "brotlicffi>=0.8.0; platform_python_implementation != \"CPython\" and extra == \"brotli\"", - "h2<5,>=4; extra == \"h2\"", - "pysocks!=1.5.7,<2.0,>=1.5.6; extra == \"socks\"", - "zstandard>=0.18.0; extra == \"zstd\"" - ], - "requires_python": ">=3.8", - "version": "2.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "784719dc5f780be319cdd185dc85dd93afebdb6ebb943811bc4c7c5f9c72aeaf", - "url": "https://files.pythonhosted.org/packages/84/a0/cb53fb64b52123513d04f9b913b905f3eb6fda7264e639b4573cc715c29f/validate_email-1.3.tar.gz" - } - ], - "project_name": "validate-email", - "requires_dists": [], - "requires_python": null, - "version": "1.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc", - "url": "https://files.pythonhosted.org/packages/03/ff/7c0c86c43b3cbb927e0ccc0255cb4057ceba4799cd44ae95174ce8e8b5b2/vine-5.1.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0", - "url": "https://files.pythonhosted.org/packages/bd/e4/d07b5f29d283596b9727dd5275ccbceb63c44a1a82aa9e4bfd20426762ac/vine-5.1.0.tar.gz" - } - ], - "project_name": "vine", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "5.1.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589", - "url": "https://files.pythonhosted.org/packages/07/4d/410156100224c5e2f0011d435e477b57aed9576fc7fe137abcf14ec16e11/virtualenv-20.26.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a", - "url": "https://files.pythonhosted.org/packages/68/60/db9f95e6ad456f1872486769c55628c7901fb4de5a72c2f7bdd912abf0c1/virtualenv-20.26.3.tar.gz" -======= - "hash": "a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b", - "url": "https://files.pythonhosted.org/packages/0a/02/085eee8570e807db9a1aa905e18c9123efec753ae9021b029115c6e0bb28/virtualenv-20.26.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c", - "url": "https://files.pythonhosted.org/packages/44/5a/cabd5846cb550e2871d9532def625d0771f4e38f765c30dc0d101be33697/virtualenv-20.26.2.tar.gz" ->>>>>>> python_upgrade - } - ], - "project_name": "virtualenv", - "requires_dists": [ - "covdefaults>=2.3; extra == \"test\"", - "coverage-enable-subprocess>=1; extra == \"test\"", - "coverage>=7.2.7; extra == \"test\"", - "distlib<1,>=0.3.7", - "filelock<4,>=3.12.2", - "flaky>=3.7; extra == \"test\"", - "furo>=2023.7.26; extra == \"docs\"", - "importlib-metadata>=6.6; python_version < \"3.8\"", - "packaging>=23.1; extra == \"test\"", - "platformdirs<5,>=3.9.1", - "proselint>=0.13; extra == \"docs\"", - "pytest-env>=0.8.2; extra == \"test\"", - "pytest-freezer>=0.4.8; (platform_python_implementation == \"PyPy\" or (platform_python_implementation == \"CPython\" and sys_platform == \"win32\" and python_version >= \"3.13\")) and extra == \"test\"", - "pytest-mock>=3.11.1; extra == \"test\"", - "pytest-randomly>=3.12; extra == \"test\"", - "pytest-timeout>=2.1; extra == \"test\"", - "pytest>=7.4; extra == \"test\"", - "setuptools>=68; extra == \"test\"", - "sphinx!=7.3,>=7.1.2; extra == \"docs\"", - "sphinx-argparse>=0.4; extra == \"docs\"", - "sphinxcontrib-towncrier>=0.2.1a0; extra == \"docs\"", - "time-machine>=2.10; platform_python_implementation == \"CPython\" and extra == \"test\"", - "towncrier>=23.6; extra == \"docs\"" - ], - "requires_python": ">=3.7", -<<<<<<< HEAD - "version": "20.26.3" -======= - "version": "20.26.2" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "efc1dadc9ae32a30cc622602c1400a17b7bf8ee2770d64f70418144860739c3b", - "url": "https://files.pythonhosted.org/packages/3e/21/0424844b889dccd8f1899f92f239d6eca5f4995f5c86baff094694140828/voluptuous-0.14.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "533e36175967a310f1b73170d091232bf881403e4ebe52a9b4ade8404d151f5d", - "url": "https://files.pythonhosted.org/packages/a1/ce/0733e4d6f870a0e5f4dbb00766b36b71ee0d25f8de33d27fb662f29154b1/voluptuous-0.14.2.tar.gz" - } - ], - "project_name": "voluptuous", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "0.14.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2a06f242f4ba0cc563444ca3d1998959447477363a2d7e9b8b4d75d35cfd1669", - "url": "https://files.pythonhosted.org/packages/5b/a9/485c953a1ac4cb98c28e41fd2c7184072df36bbf99734a51d44d04176878/waitress-3.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "005da479b04134cdd9dd602d1ee7c49d79de0537610d653674cc6cbde222b8a1", - "url": "https://files.pythonhosted.org/packages/70/34/cb77e5249c433eb177a11ab7425056b32d3b57855377fa1e38b397412859/waitress-3.0.0.tar.gz" - } - ], - "project_name": "waitress", - "requires_dists": [ - "Sphinx>=1.8.1; extra == \"docs\"", - "coverage>=5.0; extra == \"testing\"", - "docutils; extra == \"docs\"", - "pylons-sphinx-themes>=1.0.9; extra == \"docs\"", - "pytest-cov; extra == \"testing\"", - "pytest; extra == \"testing\"" - ], - "requires_python": ">=3.8.0", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", - "url": "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", - "url": "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz" - } - ], - "project_name": "wcwidth", - "requires_dists": [ - "backports.functools-lru-cache>=1.2.1; python_version < \"3.2\"" - ], - "requires_python": null, - "version": "0.2.13" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "73aae30359291c14fa3b956f8b5ca31960e420c28c1bec002547fb04928cf89b", - "url": "https://files.pythonhosted.org/packages/62/9c/e94a9982e9f31fc35cf46cdc543a6c2c26cb7174635b5fd25b0bbc6a7bc0/WebOb-1.8.7-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "b64ef5141be559cfade448f044fa45c2260351edcb6a8ef6b7e00c7dcef0c323", - "url": "https://files.pythonhosted.org/packages/c7/45/ee5f034fb4ebe3236fa49e5a4fcbc54444dd22ecf33079cf56f9606d479d/WebOb-1.8.7.tar.gz" - } - ], - "project_name": "webob", - "requires_dists": [ - "Sphinx>=1.7.5; extra == \"docs\"", - "coverage; extra == \"testing\"", - "pylons-sphinx-themes; extra == \"docs\"", - "pytest-cov; extra == \"testing\"", - "pytest-xdist; extra == \"testing\"", - "pytest>=3.1.0; extra == \"testing\"" - ], - "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7", - "version": "1.8.7" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "2a001a9efa40d2a7e5d9cd8d1527c75f41814eb6afce2c3d207402547b1e5ead", - "url": "https://files.pythonhosted.org/packages/41/c7/3897bd62366cb4a50bfb411d37efca9fa33bf07a7c1c22fce8f6ad2664ff/WebTest-3.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "54bd969725838d9861a9fa27f8d971f79d275d94ae255f5c501f53bb6d9929eb", - "url": "https://files.pythonhosted.org/packages/26/c8/8ffba1782700eb06e9b9169156698c6ba95c05b66cda3fc9e025b6b3b649/WebTest-3.0.0.tar.gz" - } - ], - "project_name": "webtest", - "requires_dists": [ - "PasteDeploy; extra == \"tests\"", - "Sphinx>=1.8.1; extra == \"docs\"", - "WSGIProxy2; extra == \"tests\"", - "WebOb>=1.2", - "beautifulsoup4", - "coverage; extra == \"tests\"", - "docutils; extra == \"docs\"", - "pylons-sphinx-themes>=1.0.8; extra == \"docs\"", - "pyquery; extra == \"tests\"", - "pytest-cov; extra == \"tests\"", - "pytest; extra == \"tests\"", - "waitress>=0.8.5" - ], - "requires_python": "<4,>=3.6", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8", - "url": "https://files.pythonhosted.org/packages/9d/6e/e792999e816d19d7fcbfa94c730936750036d65656a76a5a688b57a656c4/werkzeug-3.0.3-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18", - "url": "https://files.pythonhosted.org/packages/02/51/2e0fc149e7a810d300422ab543f87f2bcf64d985eb6f1228c4efd6e4f8d4/werkzeug-3.0.3.tar.gz" - } - ], - "project_name": "werkzeug", - "requires_dists": [ - "MarkupSafe>=2.1.1", - "watchdog>=2.3; extra == \"watchdog\"" - ], - "requires_python": ">=3.8", - "version": "3.0.3" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", - "url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85", - "url": "https://files.pythonhosted.org/packages/b8/d6/ac9cd92ea2ad502ff7c1ab683806a9deb34711a1e2bd8a59814e8fc27e69/wheel-0.43.0.tar.gz" - } - ], - "project_name": "wheel", - "requires_dists": [ - "pytest>=6.0.0; extra == \"test\"", - "setuptools>=65; extra == \"test\"" - ], - "requires_python": ">=3.8", - "version": "0.43.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/4a/cc/3402bcc897978be00fef608cd9e3e39ec8869c973feeb5e1e277670e5ad2/wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e", - "url": "https://files.pythonhosted.org/packages/58/43/d72e625edb5926483c9868214d25b5e7d5858ace6a80c9dfddfbadf4d8f9/wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/70/cc/b92e1da2cad6a9f8ee481000ece07a35e3b24e041e60ff8b850c079f0ebf/wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202", - "url": "https://files.pythonhosted.org/packages/72/b5/0c9be75f826c8e8d583a4ab312552d63d9f7c0768710146a22ac59bda4a9/wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d", - "url": "https://files.pythonhosted.org/packages/95/4c/063a912e20bcef7124e0df97282a8af3ff3e4b603ce84c481d6d7346be0a/wrapt-1.16.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f", - "url": "https://files.pythonhosted.org/packages/96/e8/27ef35cf61e5147c1c3abcb89cfbb8d691b2bb8364803fcc950140bc14d8/wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/b1/e7/459a8a4f40f2fa65eb73cb3f339e6d152957932516d18d0e996c7ae2d7ae/wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537", - "url": "https://files.pythonhosted.org/packages/b6/ad/7a0766341081bfd9f18a7049e4d6d45586ae5c5bb0a640f05e2f558e849c/wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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", - "url": "https://files.pythonhosted.org/packages/ef/c6/56e718e2c58a4078518c14d97e531ef1e9e8a5c1ddafdc0d264a92be1a1a/wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0", - "url": "https://files.pythonhosted.org/packages/fe/9e/d3bc95e75670ba15c5b25ecf07fc49941843e2678d777ca59339348d1c96/wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl" - } - ], - "project_name": "wrapt", - "requires_dists": [], - "requires_python": ">=3.6", - "version": "1.16.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852", - "url": "https://files.pythonhosted.org/packages/94/db/fd0326e331726f07ff7f40675cd86aa804bfd2e5016c727fa761c934990e/xmltodict-0.13.0-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56", - "url": "https://files.pythonhosted.org/packages/39/0d/40df5be1e684bbaecdb9d1e0e40d5d482465de6b00cbb92b84ee5d243c7f/xmltodict-0.13.0.tar.gz" - } - ], - "project_name": "xmltodict", - "requires_dists": [], - "requires_python": ">=3.4", - "version": "0.13.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "a24e9458a4853489042522bdca9e50ee2eac5ab75c809a91150a8a7f40670d48", - "url": "https://files.pythonhosted.org/packages/33/6b/0dc75b64a764ea1cb8e4c32d1fb273c147304d4e5483cd58be482dc62e45/xmod-1.8.1-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "38c76486b9d672c546d57d8035df0beb7f4a9b088bc3fb2de5431ae821444377", - "url": "https://files.pythonhosted.org/packages/72/b2/e3edc608823348e628a919e1d7129e641997afadd946febdd704aecc5881/xmod-1.8.1.tar.gz" - } - ], - "project_name": "xmod", - "requires_dists": [], - "requires_python": ">=3.8", - "version": "1.8.1" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "20f7c16485b31721e2c0ef75e990d613b72a2912d001dcc8e9a85d4934499122", - "url": "https://files.pythonhosted.org/packages/d1/4c/55a6629d077ae297472312c0a4bcfbea42f99bb11be3c64eb38c77857701/yaql-3.0.0-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "869149491b91d1b9cfd48ad183a808a4774272b73d285444fa374ed25962c233", - "url": "https://files.pythonhosted.org/packages/b5/f7/5c7c582fc5d11078391e227afc04e8463c88bfcdaad205e728a0a2741448/yaql-3.0.0.tar.gz" - } - ], - "project_name": "yaql", - "requires_dists": [ - "pbr>=1.8", - "ply", - "python-dateutil>=2.4.2" - ], - "requires_python": ">=3.6", - "version": "3.0.0" - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "hash": "87ba5732d495c4ac863733dcf14926c86c60411dd9c36a886fe1159afbf4ff48", - "url": "https://files.pythonhosted.org/packages/58/38/2655656789f5b22e4d329ce1d4b23519732855459fc277bd718fb1ab89ce/zake-0.2.2-py2.py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "5a50859931c4f666d318b74d1c407a6150dd5194e4c5812d071a5c7c7cefe4e6", - "url": "https://files.pythonhosted.org/packages/ac/00/a322966639ce1b754475d2e83f169d32973be3ebbd6fc19344267d363627/zake-0.2.2.tar.gz" - } - ], - "project_name": "zake", - "requires_dists": [ - "kazoo!=2.1,>=1.3.1", - "six" - ], - "requires_python": null, - "version": "0.2.2" - }, - { - "artifacts": [ - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c", - "url": "https://files.pythonhosted.org/packages/20/38/f5c473fe9b90c8debdd29ea68d5add0289f1936d6f923b6b9cc0b931194c/zipp-3.19.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19", - "url": "https://files.pythonhosted.org/packages/d3/20/b48f58857d98dcb78f9e30ed2cfe533025e2e9827bbd36ea0a64cc00cbc1/zipp-3.19.2.tar.gz" -======= - "hash": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e", - "url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl" - }, - { - "algorithm": "sha256", - "hash": "6278d9ddbcfb1f1089a88fde84481528b07b0e10474e09dcfe53dad4069fa059", - "url": "https://files.pythonhosted.org/packages/16/e5/8efdac4c61bd5fd24f4face2295103f42790ad2ad0f322e3a81bb8391812/zipp-3.18.2.tar.gz" ->>>>>>> python_upgrade - } - ], - "project_name": "zipp", - "requires_dists": [ -<<<<<<< HEAD - "big-O; extra == \"test\"", - "furo; extra == \"doc\"", - "importlib-resources; python_version < \"3.9\" and extra == \"test\"", - "jaraco.functools; extra == \"test\"", - "jaraco.itertools; extra == \"test\"", - "jaraco.packaging>=9.3; extra == \"doc\"", - "jaraco.test; extra == \"test\"", - "jaraco.tidelift>=1.4; extra == \"doc\"", - "more-itertools; 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-ignore-flaky; extra == \"test\"", - "pytest-mypy; extra == \"test\"", - "pytest-ruff>=0.2.1; extra == \"test\"", - "rst.linker>=1.9; extra == \"doc\"", - "sphinx-lint; extra == \"doc\"", - "sphinx>=3.5; extra == \"doc\"" - ], - "requires_python": ">=3.8", - "version": "3.19.2" -======= - "big-O; extra == \"testing\"", - "furo; extra == \"docs\"", - "jaraco.functools; extra == \"testing\"", - "jaraco.itertools; extra == \"testing\"", - "jaraco.packaging>=9.3; extra == \"docs\"", - "jaraco.test; extra == \"testing\"", - "jaraco.tidelift>=1.4; extra == \"docs\"", - "more-itertools; extra == \"testing\"", - "pytest!=8.1.*,>=6; extra == \"testing\"", - "pytest-checkdocs>=2.4; extra == \"testing\"", - "pytest-cov; extra == \"testing\"", - "pytest-enabler>=2.2; extra == \"testing\"", - "pytest-ignore-flaky; 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.8", - "version": "3.18.2" ->>>>>>> python_upgrade - }, - { - "artifacts": [ - { - "algorithm": "sha256", - "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": "61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e", - "url": "https://files.pythonhosted.org/packages/16/f6/d84d95984fb9c8f57747ffeff66677f0a58acf430f9ddff84bc3b9aad35d/zstandard-0.23.0-cp38-cp38-musllinux_1_2_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "4051e406288b8cdbb993798b9a45c59a4896b6ecee2f875424ec10276a895740", - "url": "https://files.pythonhosted.org/packages/19/57/e81579db7740757036e97dc461f4f26a318fe8dfc6b3477dd557b7f85aae/zstandard-0.23.0-cp38-cp38-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "2f146f50723defec2975fb7e388ae3a024eb7151542d1599527ec2aa9cacb152", - "url": "https://files.pythonhosted.org/packages/1c/4b/be9f3f9ed33ff4d5e578cf167c16ac1d8542232d5e4831c49b615b5918a6/zstandard-0.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259", - "url": "https://files.pythonhosted.org/packages/1d/e5/9fe0dd8c85fdc2f635e6660d07872a5dc4b366db566630161e39f9f804e1/zstandard-0.23.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" -======= - "hash": "93e1856c8313bc688d5df069e106a4bc962eef3d13372020cc6e3ebf5e045202", - "url": "https://files.pythonhosted.org/packages/28/fa/60d35409132b101694943043385ecd610c23f30148e8a15af84c46844b03/zstandard-0.22.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "8226a33c542bcb54cd6bd0a366067b610b41713b64c9abec1bc4533d69f51e70", - "url": "https://files.pythonhosted.org/packages/5d/91/2162ab4239b3bd6743e8e407bc2442fca0d326e2d77b3f4a88d90ad5a1fa/zstandard-0.22.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "1a90ba9a4c9c884bb876a14be2b1d216609385efb180393df40e5172e7ecf356", - "url": "https://files.pythonhosted.org/packages/77/2a/910576262607524ff203f5fa849329f8fad6f67b7804a5ef00019f98c390/zstandard-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "d22fdef58976457c65e2796e6730a3ea4a254f3ba83777ecfc8592ff8d77d303", - "url": "https://files.pythonhosted.org/packages/80/76/23caa1fa9de6f59826d0f45085f5d02c84bb98e0073977a5f90ec2b0b2f3/zstandard-0.22.0-cp39-cp39-musllinux_1_1_aarch64.whl" ->>>>>>> python_upgrade - }, - { - "algorithm": "sha256", - "hash": "fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a", - "url": "https://files.pythonhosted.org/packages/34/0f/3dc62db122f6a9c481c335fff6fc9f4e88d8f6e2d47321ee3937328addb4/zstandard-0.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "61f89436cbfede4bc4e91b4397eaa3e2108ebe96d05e93d6ccc95ab5714be512", - "url": "https://files.pythonhosted.org/packages/38/6c/a54e30864aff0cc065c053fbdb581114328f70f45f30fcb0f80b12bb4460/zstandard-0.23.0-cp38-cp38-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "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" -======= - "hash": "fe3390c538f12437b859d815040763abc728955a52ca6ff9c5d4ac707c4ad98e", - "url": "https://files.pythonhosted.org/packages/8e/3b/0284ed7b2612f793d2490339c1b772232c04a6f20dbbdec050020bd730b2/zstandard-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "68953dc84b244b053c0d5f137a21ae8287ecf51b20872eccf8eaac0302d3e3b0", - "url": "https://files.pythonhosted.org/packages/90/81/0e2082b0f6e62f3ac3f5c6f12f2150db9cedf0c8cbed9d350979fd157f76/zstandard-0.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "3db41c5e49ef73641d5111554e1d1d3af106410a6c1fb52cf68912ba7a343a0d", - "url": "https://files.pythonhosted.org/packages/95/6b/aea6911a0dbbd5e67dd4e3db8f6b9b594ba05a0ae62f6f3c88cb609a7878/zstandard-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2fdd53b806786bd6112d97c1f1e7841e5e4daa06810ab4b284026a1a0e484c0b", - "url": "https://files.pythonhosted.org/packages/a3/44/846dd0d14d863c294e94ddb3bb18fc6faa5e32b553ad6b201b55e6b85b7d/zstandard-0.22.0-cp39-cp39-macosx_10_9_x86_64.whl" ->>>>>>> python_upgrade - }, - { - "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": "a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d", - "url": "https://files.pythonhosted.org/packages/60/93/baf7ad86b2258c08c06bdccdaddeb3d6d0918601e16fa9c73c8079c8c816/zstandard-0.23.0-cp38-cp38-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15", - "url": "https://files.pythonhosted.org/packages/72/ed/cacec235c581ebf8c608c7fb3d4b6b70d1b490d0e5128ea6996f809ecaef/zstandard-0.23.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" -======= - "hash": "275df437ab03f8c033b8a2c181e51716c32d831082d93ce48002a5227ec93019", - "url": "https://files.pythonhosted.org/packages/aa/a4/b7cc74e836ec006427d18439c12b7898697c1eae91b06ffdfa63da8cd041/zstandard-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "1958100b8a1cc3f27fa21071a55cb2ed32e9e5df4c3c6e661c193437f171cba2", - "url": "https://files.pythonhosted.org/packages/c9/79/07f6d2670fa2708ae3b79aabb82da78e9cbdb08d9bafadf8638d356775ff/zstandard-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "9501f36fac6b875c124243a379267d879262480bf85b1dbda61f5ad4d01b75a3", - "url": "https://files.pythonhosted.org/packages/d4/f9/2b76671d8fbee77ba18b96f5da3b187bf7bbbce1bdcad59f1bb94a54a2b4/zstandard-0.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" ->>>>>>> python_upgrade - }, - { - "algorithm": "sha256", - "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": "0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916", - "url": "https://files.pythonhosted.org/packages/83/ff/a52ce725be69b86a2967ecba0497a8184540cc284c0991125515449e54e2/zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045", - "url": "https://files.pythonhosted.org/packages/8a/70/ea438a09d757d49c5bb73a895c13492277b83981c08ed294441b1965eaf2/zstandard-0.23.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" - }, - { - "algorithm": "sha256", -<<<<<<< HEAD - "hash": "8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700", - "url": "https://files.pythonhosted.org/packages/8e/f5/30eadde3686d902b5d4692bb5f286977cbc4adc082145eb3f49d834b2eae/zstandard-0.23.0-cp39-cp39-musllinux_1_1_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "379b378ae694ba78cef921581ebd420c938936a153ded602c4fea612b7eaa90d", - "url": "https://files.pythonhosted.org/packages/95/bd/e65f1c1e0185ed0c7f5bda51b0d73fc379a75f5dc2583aac83dd131378dc/zstandard-0.23.0-cp38-cp38-musllinux_1_2_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69", - "url": "https://files.pythonhosted.org/packages/a8/c6/55e666cfbcd032b9e271865e8578fec56e5594d4faeac379d371526514f5/zstandard-0.23.0-cp39-cp39-musllinux_1_2_i686.whl" - }, - { - "algorithm": "sha256", - "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": "53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e", - "url": "https://files.pythonhosted.org/packages/ba/11/32788cc80aa8c1069a9fdc48a60355bd25ac8211b2414dd0ff6ee6bb5ff5/zstandard-0.23.0-cp38-cp38-musllinux_1_2_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2", - "url": "https://files.pythonhosted.org/packages/d8/40/d678db1556e3941d330cd4e95623a63ef235b18547da98fa184cbc028ecf/zstandard-0.23.0-cp39-cp39-musllinux_1_2_s390x.whl" - }, - { - "algorithm": "sha256", - "hash": "82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70", - "url": "https://files.pythonhosted.org/packages/dc/bd/720b65bea63ec9de0ac7414c33b9baf271c8de8996e5ff324dc93fc90ff1/zstandard-0.23.0-cp39-cp39-musllinux_1_2_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "50a80baba0285386f97ea36239855f6020ce452456605f262b2d33ac35c7770b", - "url": "https://files.pythonhosted.org/packages/dc/cf/2dfa4610829c6c1dbc3ce858caed6de13928bec78c1e4d0bedfd4b20589b/zstandard-0.23.0-cp38-cp38-musllinux_1_2_s390x.whl" - }, - { - "algorithm": "sha256", - "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": "b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", - "url": "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz" - }, - { - "algorithm": "sha256", - "hash": "1bfe8de1da6d104f15a60d4a8a768288f66aa953bbe00d027398b93fb9680b26", - "url": "https://files.pythonhosted.org/packages/ef/17/55eff9df9004e1896f2ade19981e7cd24d06b463fe72f9a61f112b8185d0/zstandard-0.23.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" - }, - { - "algorithm": "sha256", - "hash": "2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269", - "url": "https://files.pythonhosted.org/packages/f6/1e/2c589a2930f93946b132fc852c574a19d5edc23fad2b9e566f431050c7ec/zstandard-0.23.0-cp39-cp39-musllinux_1_1_aarch64.whl" - }, - { - "algorithm": "sha256", - "hash": "f83fa6cae3fff8e98691248c9320356971b59678a17f20656a9e59cd32cee6d8", - "url": "https://files.pythonhosted.org/packages/fa/59/ee5a3c4f060c431d3aaa7ff2b435d9723c579bffda274d071c981bf08b17/zstandard-0.23.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" - }, - { - "algorithm": "sha256", - "hash": "3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb", - "url": "https://files.pythonhosted.org/packages/fb/96/4fcafeb7e013a2386d22f974b5b97a0b9a65004ed58c87ae001599bfbd48/zstandard-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl" - }, - { - "algorithm": "sha256", - "hash": "2ef3775758346d9ac6214123887d25c7061c92afe1f2b354f9388e9e4d48acfc", - "url": "https://files.pythonhosted.org/packages/fb/96/867dd4f5e9ee6215f83985c43f4134b28c058617a7af8ad9592669f960dd/zstandard-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl" -======= - "hash": "2ac9957bc6d2403c4772c890916bf181b2653640da98f32e04b96e4d6fb3252a", - "url": "https://files.pythonhosted.org/packages/fc/e5/a1fa6f70764777553cb8ab668690ba793ebf512b3d415e28720d2275d445/zstandard-0.22.0-cp310-cp310-macosx_11_0_arm64.whl" - }, - { - "algorithm": "sha256", - "hash": "36a47636c3de227cd765e25a21dc5dace00539b82ddd99ee36abae38178eff9e", - "url": "https://files.pythonhosted.org/packages/fd/d5/ab90d6c148ecf239ad0a318c9db213235f052de2a33fdee8dcbd088e5d1a/zstandard-0.22.0-cp38-cp38-macosx_11_0_arm64.whl" ->>>>>>> python_upgrade - } - ], - "project_name": "zstandard", - "requires_dists": [ - "cffi>=1.11; extra == \"cffi\"", - "cffi>=1.11; platform_python_implementation == \"PyPy\"" - ], - "requires_python": ">=3.8", - "version": "0.23.0" - } - ], - "platform_tag": null - } - ], - "path_mappings": {}, - "pex_version": "2.1.137", - "pip_version": "23.1.2", - "prefer_older_binary": false, - "requirements": [ - "RandomWords", - "apscheduler", - "argcomplete", - "beautifulsoup4", - "ciso8601", - "cryptography", - "editor", - "eventlet", - "flask", - "flex", - "gitdb", - "gitpython", - "graphviz", - "greenlet", - "gunicorn", - "jinja2", - "jsonpath-rw", - "jsonschema<4,>=3", - "kombu", - "lockfile", - "logshipper", - "mail-parser==3.15.0", - "mock", - "mongoengine<0.24.0,>=0.21.0", - "networkx", - "orjson", - "orquesta", - "oslo.config", - "paramiko", - "pika", - "pip", - "prance", - "prettytable", - "prompt-toolkit", - "psutil", - "pygments", - "pyinotify<=0.10,>=0.9.5; platform_system == \"Linux\"", - "pymongo<3.13.0,>=3.11.0", - "pyrabbit", - "pysocks", - "pytest", - "python-dateutil", - "python-json-logger", - "python-statsd", - "pytz", - "pywinrm", - "pyyaml", - "redis", - "requests", - "retrying", - "routes", - "semver", - "setuptools", - "simplejson", - "six", - "sseclient-py", - "st2-auth-backend-flat-file", - "st2-auth-ldap", - "st2-rbac-backend", - "stevedore", - "tabulate", - "tooz", - "udatetime", - "ujson", - "virtualenv", - "webob", - "webtest", - "wheel", - "zake", - "zstandard" - ], - "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/pants.toml.orig b/pants.toml.orig deleted file mode 100644 index eddfa9989e..0000000000 --- a/pants.toml.orig +++ /dev/null @@ -1,252 +0,0 @@ -[anonymous-telemetry] -# This is opt-in by default, but we explicitly disable here as well. -enabled = false -# repo_id here allows individuals to opt-in on their machine -# To opt-in, use ~/.pants.rc or envrc to set [anonymous-telemetry].enabled=true -repo_id = "de0dea7a-9f6a-4c6e-aa20-6ba5ad969b8a" - -[GLOBAL] -pants_version = "2.18.3" -pythonpath = ["%(buildroot)s/pants-plugins"] -build_file_prelude_globs = ["pants-plugins/macros.py"] -backend_packages = [ - # https://www.pantsbuild.org/2.19/docs/using-pants/validating-dependencies - "pants.backend.experimental.visibility", - - # python - "pants.backend.python", - "pants.backend.experimental.python", # activates twine `publish` support - "pants.backend.experimental.python.framework.stevedore", - "pants.backend.python.mixed_interpreter_constraints", - "pants.backend.python.lint.bandit", - "pants.backend.python.lint.black", - "pants.backend.python.lint.flake8", - "pants.backend.python.lint.pylint", - - # shell - "pants.backend.shell", - "pants.backend.shell.lint.shellcheck", - - # internal plugins in pants-plugins/ - "pants.backend.plugin_development", - "api_spec", - "pack_metadata", - "release", - "sample_conf", - "schemas", - "uses_services", -] -# pants ignores files in .gitignore, .*/ directories, /dist/ directory, and __pycache__. -pants_ignore.add = [ - # TODO: remove these once we start building wheels with pants. - "dist_utils.py", - "setup.py", - # keep tailor from using legacy requirements files (not for pants) - "contrib/examples/requirements.txt", - "contrib/hello_st2/requirements.txt", - "contrib/runners/*/in-requirements.txt", - "contrib/runners/*/requirements.txt", - "st2*/in-requirements.txt", - "st2*/requirements.txt", - "st2common/tests/fixtures/requirements-used-for-tests.txt", - "/fixed-requirements.txt", - "/test-requirements.txt", - # ignore requirements.txt for now, preferring interim files that are decoupled from - # legacy requirements files generation: requirements-pants.txt & lockfiles/st2-constraints.txt - "/requirements.txt", -] - -[source] -# recording each pack individually under root patterns is not great, but resolves these issues: -# - Using a /contrib/* or other glob in root_patterns is dodgy as runners & schemas are in the same dir. -# In particular, with /contrib/* in root_patterns, *_runner imports become ambiguous -# (eg `import noop_runner` should use runners/noop_runner/noop_runner not runners/noop_runner). -# - Using pack.yaml in marker_filenames prevents pants from inferring which fixture packs are -# used by which tests. We import a PACK_NAME and PACK_PATH from fixture.py in each of these -# fixture packs to enable this dependency inferrence. Having fine grained inferrence in-turn -# reduces the number of tests that need to be re-run when we change a fixture. -# - Using another marker_file, like PACK_ROOT, is also problematic because of the core pack. -# /contrib/core is symlinked to /st2tests/st2tests/fixtures/packs/core for use as a fixture. -# It is used in quite a few tests, so it needs to continue living in both places. -# But, overlapping source roots (for st2tests and the pack) make importing from the fixture -# as we do with the other fixtures impossible. -# Thus, we really do need to register each pack in contrib (but never under st2tests) separately. -# We might also need to register packs in st2tests/testpacks. -root_patterns = [ - # root conftest.py - "/", - # core libs - "/st2*", - # runners - "/contrib/runners/*_runner", - # packs (list /contrib/* packs individually; see note above) - "/contrib/chatops", - "/contrib/core", # WARNING: also symlinked to st2tests/st2tests/fixtures/packs/core - "/contrib/default", - "/contrib/examples", - "/contrib/hello_st2", - "/contrib/linux", - "/contrib/packs", - "/st2tests/testpacks/checks", - "/st2tests/testpacks/errorcheck", - # pack common lib directories that ST2 adds to the PATH for actions/sensors - "/contrib/*/lib", - "/contrib/*/actions/lib", - # other special-cased pack directories - "/contrib/examples/actions/ubuntu_pkg_info", # python script runs via shell expecting cwd in PYTHONPATH - # lint plugins - "/pylint_plugins", - # pants plugins - "/pants-plugins", - # misc - "/scripts", - "/tools", - # benchmarks - "/st2common/benchmarks/micro", -] - -# DEFAULT has values that we can reuse/interpolate below -[DEFAULT] -# This is the range of python versions that we support. -st2_interpreter_constraints = "CPython>=3.8,<3.10" - -# 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 -pants_plugins_interpreter_constraints = "CPython==3.9.*" - -# For tools, we have to include python versions for BOTH st2 and pants-plugins -tool_interpreter_constraints = "CPython>=3.8,<3.10" - -[python] -# resolver_version is always "pip-2020-resolver". legacy is not supported. -enable_resolves = true -default_resolve = "st2" -# 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" -# tool and misc other resolves (for most, see //BUILD.tools) -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" -setuptools = "lockfiles/setuptools.lock" -twine = "lockfiles/twine.lock" - -[python.resolves_to_interpreter_constraints] -# 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; -# put indirect/transitive version constraints here: -st2 = "lockfiles/st2-constraints.txt" - -[export] -# When exporting the virtualenv, include editable installs of our sources -# so that the entry_points metadata is available for stevedore's use. -py_editable_in_resolve = ["st2"] -# We need mutable venvs to use the editable installs of our sources. -py_resolve_format = "mutable_virtualenv" - -[python-infer] -# https://www.pantsbuild.org/docs/reference-python-infer#string_imports -# https://www.pantsbuild.org/docs/reference-python-infer#string_imports_min_dots -# Infer a target's dependencies based on strings that look like dynamic deps with >=1 dots. -# To debug the imports and see if a string is used in dep inference or if it is ignored, use: -# pants python-dump-source-analysis --analysis-flavor=raw_dependency_inference | jq '.[].resolved' -string_imports = true -string_imports_min_dots = 1 -# https://www.pantsbuild.org/docs/reference-python-infer#unowned_dependency_behavior -# The default changed from "ignore" to "warning" in pants 2.14. -# The ambiguity_resolution setting/feature (below) added in 2.16 resolves most of -# our ambiguous dependency inference issues, which allowed us to remove the explicit -# deps in various BUILD files. But, there is not a good way to tell pants about our -# custom PYTHONPATH for packs, so actions that import other actions are still showing -# up as unowned. Maybe we can extend pants-plugins/pack_metadata so we can use "warn". -unowned_dependency_behavior = "ignore" -# https://www.pantsbuild.org/v2.16/docs/reference-python-infer#ambiguity_resolution -# When resolving ambiguous deps prefer one that is in the same source root as the -# file that uses it. So, without manually disambiguating the dep in the BUILD file, -# importing tests.unit.base in st2common/tests/unit will get a dep on st2common/tests/unit/base.py -ambiguity_resolution = "by_source_root" - -[setup-py-generation] -# when building the package (with `pants package ::`), pants will, -# by default, generate a setup.py file for use with setuptools. -generate_setup_default = true # true by default - -[bandit] -args = [ - "-lll", # only HIGH severity level - "--exclude", - "build,dist", - "--quiet", # only show output in the case of an error -] -install_from_resolve = "bandit" - -[black] -install_from_resolve = "black" - -[flake8] -install_from_resolve = "flake8" -config = "lint-configs/python/.flake8" - -[generate-lockfiles] -diff = true - -[pylint] -install_from_resolve = "pylint" -config = "lint-configs/python/.pylintrc" -source_plugins = [ - # the /pylint_plugins directory - "pylint_plugins", -] -args = [ - # match the current Makefile usage with -E (TODO: drop this) - "--errors-only", - # needed in st2* components, runners, packs - "--load-plugins=api_models", - # needed in st2* components, runners - "--load-plugins=db_models", -] - -[pytest] -install_from_resolve = "pytest" -args = [ - "--no-header", # don't print pytest version for every tested file -] -execution_slot_var = "ST2TESTS_PARALLEL_SLOT" - -[regex-lint] -config = "@lint-configs/regex-lint.yaml" - -[setuptools] -install_from_resolve = "st2" - -[twine] -install_from_resolve = "twine" - -[cli.alias] ---all-changed = "--changed-since=HEAD --changed-dependents=transitive" diff --git a/st2auth/requirements.txt.orig b/st2auth/requirements.txt.orig deleted file mode 100644 index da3c405612..0000000000 --- a/st2auth/requirements.txt.orig +++ /dev/null @@ -1,21 +0,0 @@ -# Don't edit this file. It's generated automatically! -# If you want to update global dependencies, modify fixed-requirements.txt -# and then run 'make requirements' to update requirements.txt for all -# components. -# 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 -<<<<<<< HEAD -bcrypt==4.2.0 -======= -bcrypt==4.1.3 ->>>>>>> python_upgrade -eventlet==0.36.1 -gunicorn==22.0.0 -oslo.config==9.5.0 -passlib==1.7.4 -pymongo==3.12.3 -six==1.16.0 -st2-auth-backend-flat-file@ git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master -st2-auth-ldap@ git+https://github.com/StackStorm/st2-auth-ldap.git@master -stevedore==5.2.0 From d114898c7fe4306b06af575f71ca89f0350124f6 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 9 Sep 2024 15:50:45 -0400 Subject: [PATCH 074/110] remove more merge conflict files --- contrib/runners/local_runner/tests/unit/BUILD | 4 - .../tests/unit/test_local_runner.py | 20 - .../unit/test_remote_runner_BACKUP_115903.py | 20 - .../unit/test_remote_runner_BASE_115903.py | 0 .../unit/test_remote_runner_LOCAL_115903.py | 20 - .../unit/test_remote_runner_REMOTE_115903.py | 20 - st2client/tests/unit/test_commands.py.orig | 541 ------------------ 7 files changed, 625 deletions(-) delete mode 100644 contrib/runners/local_runner/tests/unit/test_local_runner.py delete mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py delete mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner_BASE_115903.py delete mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner_LOCAL_115903.py delete mode 100644 contrib/runners/remote_runner/tests/unit/test_remote_runner_REMOTE_115903.py delete mode 100644 st2client/tests/unit/test_commands.py.orig diff --git a/contrib/runners/local_runner/tests/unit/BUILD b/contrib/runners/local_runner/tests/unit/BUILD index f4100df4b4..59df096266 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD +++ b/contrib/runners/local_runner/tests/unit/BUILD @@ -2,7 +2,3 @@ __defaults__( {(python_test, python_tests): 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 deleted file mode 100644 index cda3b83408..0000000000 --- a/contrib/runners/local_runner/tests/unit/test_local_runner.py +++ /dev/null @@ -1,20 +0,0 @@ -# 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/test_remote_runner_BACKUP_115903.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py deleted file mode 100644 index cda3b83408..0000000000 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner_BACKUP_115903.py +++ /dev/null @@ -1,20 +0,0 @@ -# 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/test_remote_runner_BASE_115903.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner_BASE_115903.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/contrib/runners/remote_runner/tests/unit/test_remote_runner_LOCAL_115903.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner_LOCAL_115903.py deleted file mode 100644 index ac77014080..0000000000 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner_LOCAL_115903.py +++ /dev/null @@ -1,20 +0,0 @@ -# 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 \ No newline at end of file diff --git a/contrib/runners/remote_runner/tests/unit/test_remote_runner_REMOTE_115903.py b/contrib/runners/remote_runner/tests/unit/test_remote_runner_REMOTE_115903.py deleted file mode 100644 index cda3b83408..0000000000 --- a/contrib/runners/remote_runner/tests/unit/test_remote_runner_REMOTE_115903.py +++ /dev/null @@ -1,20 +0,0 @@ -# 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_commands.py.orig b/st2client/tests/unit/test_commands.py.orig deleted file mode 100644 index 36a830ffbf..0000000000 --- a/st2client/tests/unit/test_commands.py.orig +++ /dev/null @@ -1,541 +0,0 @@ -# Copyright 2020 The StackStorm Authors. -# Copyright 2019 Extreme Networks, Inc. -# -# 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. - -from __future__ import absolute_import - -import os -import mock -import json -import logging -import argparse -import re -import tempfile -import re -import unittest -from collections import namedtuple - -from tests import base -from tests.base import BaseCLITestCase - -from st2client.shell import Shell -from st2client import models -from st2client.utils import httpclient -from st2client.commands import resource -from st2client.commands.resource import ResourceViewCommand - -__all__ = ["TestResourceCommand", "ResourceViewCommandTestCase"] - - -LOG = logging.getLogger(__name__) - - -class TestCommands(base.BaseCLITestCase): - def __init__(self, *args, **kwargs): - super(TestCommands, self).__init__(*args, **kwargs) - self.shell = Shell() - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps({}), 404, "NOT FOUND") - ), - ) - def test_all_resources_get_multi(self): - # 1. Verify that st2 get ... notation works for all get commands - resources = [ - ("action", models.Action), - ("action-alias", models.ActionAlias), - ("rule", models.Rule), - ("sensor", models.Sensor), - ("pack", models.Pack), - ("execution", models.Execution), - ("key", models.KeyValuePair), - ("webhook", models.Webhook), - ("trigger-instance", models.TriggerInstance), - ("trigger", models.TriggerType), - ("apikey", models.ApiKey), - ("inquiry", models.Inquiry), - ("policy", models.Policy), - ("policy-type", models.PolicyType), - ("timer", models.Timer), - ("trace", models.Trace), - ("runner", models.RunnerType), - ("rule-enforcement", models.RuleEnforcement), - ("role", models.Role), - ("role-assignment", models.UserRoleAssignment), - ] - - for command_name, resource_ in resources: - display_name = resource_.get_display_name() - - self._reset_output_streams() - return_code = self.shell.run([command_name, "get", "id1", "id2", "id3"]) - self.assertEqual(return_code, 0) - - stdout = self.stdout.getvalue() - self.assertTrue('%s "id1" is not found.' % (display_name) in stdout) - self.assertTrue('%s "id2" is not found.' % (display_name) in stdout) - self.assertTrue('%s "id3" is not found.' % (display_name) in stdout) - self._reset_output_streams() - - # 2. When a single id is provided, command should return non-zero in case resource is not - # found - for command_name, resource_ in resources: - display_name = resource_.get_display_name() - - self._reset_output_streams() - return_code = self.shell.run([command_name, "get", "id3"]) - self.assertEqual(return_code, 1) - - stdout = self.stdout.getvalue() - self.assertTrue('%s "id3" is not found.' % (display_name) in stdout) - self._reset_output_streams() - - -class TestResourceCommand(unittest.TestCase): - def __init__(self, *args, **kwargs): - super(TestResourceCommand, self).__init__(*args, **kwargs) - self.parser = argparse.ArgumentParser() - self.subparsers = self.parser.add_subparsers() - self.branch = resource.ResourceBranch( - base.FakeResource, "Test Command", base.FakeApp(), self.subparsers - ) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps(base.RESOURCES), 200, "OK") - ), - ) - def test_command_list(self): - args = self.parser.parse_args(["fakeresource", "list"]) - self.assertEqual(args.func, self.branch.commands["list"].run_and_print) - instances = self.branch.commands["list"].run(args) - actual = [instance.serialize() for instance in instances] - expected = json.loads(json.dumps(base.RESOURCES)) - self.assertListEqual(actual, expected) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse("", 500, "INTERNAL SERVER ERROR") - ), - ) - def test_command_list_failed(self): - args = self.parser.parse_args(["fakeresource", "list"]) - self.assertRaises(Exception, self.branch.commands["list"].run, args) - - @mock.patch.object( - models.ResourceManager, "get_by_name", mock.MagicMock(return_value=None) - ) - @mock.patch.object( - models.ResourceManager, - "get_by_id", - mock.MagicMock(return_value=base.FakeResource(**base.RESOURCES[0])), - ) - def test_command_get_by_id(self): - args = self.parser.parse_args(["fakeresource", "get", "123"]) - self.assertEqual(args.func, self.branch.commands["get"].run_and_print) - instances = self.branch.commands["get"].run(args) - actual = instances[0].serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps(base.RESOURCES[0]), 200, "OK") - ), - ) - def test_command_get_single(self): - args = self.parser.parse_args(["fakeresource", "get", "abc"]) - self.assertEqual(args.func, self.branch.commands["get"].run_and_print) - instances = self.branch.commands["get"].run(args) - self.assertEqual(len(instances), 1) - instance = instances[0] - actual = instance.serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - side_effect=[ - base.FakeResponse(json.dumps(base.RESOURCES[0]), 200, "OK"), - base.FakeResponse(json.dumps(base.RESOURCES[1]), 200, "OK"), - ] - ), - ) - def test_command_get_multiple(self): - args = self.parser.parse_args(["fakeresource", "get", "abc", "def"]) - self.assertEqual(args.func, self.branch.commands["get"].run_and_print) - instances = self.branch.commands["get"].run(args) - self.assertEqual(len(instances), 2) - - actual = instances[0].serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - - actual = instances[1].serialize() - expected = json.loads(json.dumps(base.RESOURCES[1])) - self.assertEqual(actual, expected) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock(return_value=base.FakeResponse("", 404, "NOT FOUND")), - ) - def test_command_get_404(self): - args = self.parser.parse_args(["fakeresource", "get", "cba"]) - self.assertEqual(args.func, self.branch.commands["get"].run_and_print) - self.assertRaises( - resource.ResourceNotFoundError, self.branch.commands["get"].run, args - ) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse("", 500, "INTERNAL SERVER ERROR") - ), - ) - def test_command_get_failed(self): - args = self.parser.parse_args(["fakeresource", "get", "cba"]) - self.assertRaises(Exception, self.branch.commands["get"].run, args) - - @mock.patch.object( - httpclient.HTTPClient, - "post", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps(base.RESOURCES[0]), 200, "OK") - ), - ) - def test_command_create(self): - instance = base.FakeResource(name="abc") - fd, path = tempfile.mkstemp(suffix=".json") - try: - with open(path, "a") as f: - f.write(json.dumps(instance.serialize(), indent=4)) - args = self.parser.parse_args(["fakeresource", "create", path]) - self.assertEqual(args.func, self.branch.commands["create"].run_and_print) - instance = self.branch.commands["create"].run(args) - actual = instance.serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - finally: - os.close(fd) - os.unlink(path) - - @mock.patch.object( - httpclient.HTTPClient, - "post", - mock.MagicMock( - return_value=base.FakeResponse("", 500, "INTERNAL SERVER ERROR") - ), - ) - def test_command_create_failed(self): - instance = base.FakeResource(name="abc") - fd, path = tempfile.mkstemp(suffix=".json") - try: - with open(path, "a") as f: - f.write(json.dumps(instance.serialize(), indent=4)) - args = self.parser.parse_args(["fakeresource", "create", path]) - self.assertRaises(Exception, self.branch.commands["create"].run, args) - finally: - os.close(fd) - os.unlink(path) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse( - json.dumps([base.RESOURCES[0]]), 200, "OK", {} - ) - ), - ) - @mock.patch.object( - httpclient.HTTPClient, - "put", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps(base.RESOURCES[0]), 200, "OK") - ), - ) - def test_command_update(self): - instance = base.FakeResource(id="123", name="abc") - fd, path = tempfile.mkstemp(suffix=".json") - try: - with open(path, "a") as f: - f.write(json.dumps(instance.serialize(), indent=4)) - args = self.parser.parse_args(["fakeresource", "update", "123", path]) - self.assertEqual(args.func, self.branch.commands["update"].run_and_print) - instance = self.branch.commands["update"].run(args) - actual = instance.serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - finally: - os.close(fd) - os.unlink(path) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps([base.RESOURCES[0]]), 200, "OK") - ), - ) - @mock.patch.object( - httpclient.HTTPClient, - "put", - mock.MagicMock( - return_value=base.FakeResponse("", 500, "INTERNAL SERVER ERROR") - ), - ) - def test_command_update_failed(self): - instance = base.FakeResource(id="123", name="abc") - fd, path = tempfile.mkstemp(suffix=".json") - try: - with open(path, "a") as f: - f.write(json.dumps(instance.serialize(), indent=4)) - args = self.parser.parse_args(["fakeresource", "update", "123", path]) - self.assertRaises(Exception, self.branch.commands["update"].run, args) - finally: - os.close(fd) - os.unlink(path) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps([base.RESOURCES[0]]), 200, "OK") - ), - ) - def test_command_update_id_mismatch(self): - instance = base.FakeResource(id="789", name="abc") - fd, path = tempfile.mkstemp(suffix=".json") - try: - with open(path, "a") as f: - f.write(json.dumps(instance.serialize(), indent=4)) - args = self.parser.parse_args(["fakeresource", "update", "123", path]) - self.assertRaises(Exception, self.branch.commands["update"].run, args) - finally: - os.close(fd) - os.unlink(path) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse( - json.dumps([base.RESOURCES[0]]), 200, "OK", {} - ) - ), - ) - @mock.patch.object( - httpclient.HTTPClient, - "delete", - mock.MagicMock(return_value=base.FakeResponse("", 204, "NO CONTENT")), - ) - def test_command_delete(self): - args = self.parser.parse_args(["fakeresource", "delete", "abc"]) - self.assertEqual(args.func, self.branch.commands["delete"].run_and_print) - self.branch.commands["delete"].run(args) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock(return_value=base.FakeResponse("", 404, "NOT FOUND")), - ) - def test_command_delete_404(self): - args = self.parser.parse_args(["fakeresource", "delete", "cba"]) - self.assertEqual(args.func, self.branch.commands["delete"].run_and_print) - self.assertRaises( - resource.ResourceNotFoundError, self.branch.commands["delete"].run, args - ) - - @mock.patch.object( - httpclient.HTTPClient, - "get", - mock.MagicMock( - return_value=base.FakeResponse(json.dumps([base.RESOURCES[0]]), 200, "OK") - ), - ) - @mock.patch.object( - httpclient.HTTPClient, - "delete", - mock.MagicMock( - return_value=base.FakeResponse("", 500, "INTERNAL SERVER ERROR") - ), - ) - def test_command_delete_failed(self): - args = self.parser.parse_args(["fakeresource", "delete", "cba"]) - self.assertRaises(Exception, self.branch.commands["delete"].run, args) - - @mock.patch.object( - models.ResourceManager, - "get_by_id", - mock.MagicMock(return_value=base.FakeResource(**base.RESOURCES[0])), - ) - def test_command_get_unicode_primary_key(self): - args = self.parser.parse_args( - ["fakeresource", "get", "examples.test_rule_utf8_náme"] - ) - self.assertEqual(args.func, self.branch.commands["get"].run_and_print) - instances = self.branch.commands["get"].run(args) - actual = instances[0].serialize() - expected = json.loads(json.dumps(base.RESOURCES[0])) - self.assertEqual(actual, expected) - - -class ResourceViewCommandTestCase(unittest.TestCase): - def setUp(self): - ResourceViewCommand.display_attributes = [] - - def test_get_include_attributes(self): - cls = namedtuple("Args", "attr") - - args = cls(attr=[]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, []) - - args = cls(attr=["result"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, ["result"]) - - args = cls(attr=["result", "trigger_instance"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, ["result", "trigger_instance"]) - - args = cls(attr=["result.stdout"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, ["result.stdout"]) - - args = cls(attr=["result.stdout", "result.stderr"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, ["result.stdout", "result.stderr"]) - - args = cls(attr=["result.stdout", "trigger_instance.id"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, ["result.stdout", "trigger_instance.id"]) - - ResourceViewCommand.display_attributes = ["id", "status"] - - args = cls(attr=[]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(set(result), set(["id", "status"])) - - args = cls(attr=["trigger_instance"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(set(result), set(["trigger_instance"])) - - args = cls(attr=["all"]) - result = ResourceViewCommand._get_include_attributes(args=args) - self.assertEqual(result, None) - - -class CommandsHelpStringTestCase(BaseCLITestCase): - """ - Test case which verifies that all the commands support -h / --help flag. - """ - - capture_output = True - - # TODO: Automatically iterate all the available commands - COMMANDS = [ - # action - ["action", "list"], - ["action", "get"], - ["action", "create"], - ["action", "update"], - ["action", "delete"], - ["action", "enable"], - ["action", "disable"], - ["action", "execute"], - # execution - ["execution", "cancel"], - ["execution", "pause"], - ["execution", "resume"], - ["execution", "tail"], - ] - - def test_help_command_line_arg_works_for_supported_commands(self): - shell = Shell() - - for command in self.COMMANDS: - # First test longhang notation - argv = command + ["--help"] - - try: - result = shell.run(argv) - except SystemExit as e: - self.assertEqual(e.code, 0) - else: - self.assertEqual(result, 0) - - stdout = self.stdout.getvalue() - - self.assertIn("usage:", stdout) - self.assertIn(" ".join(command), stdout) -<<<<<<< HEAD - # argparse on py3.8/py3.9 has a different output to py3.10 so the check for - self.assertIn("optional arguments:", stdout) -======= - # argparse on py3.8/py3.9 has a different output to py3.10 so the check for ->>>>>>> python_upgrade - # optional arguments covers both formats. - assert ( - isinstance( - re.search("(optional arguments:|options:)", stdout), re.Match - ) - is True - ) - - # Reset stdout and stderr after each iteration - self._reset_output_streams() - - # Then shorthand notation - argv = command + ["-h"] - - try: - result = shell.run(argv) - except SystemExit as e: - self.assertEqual(e.code, 0) - else: - self.assertEqual(result, 0) - - stdout = self.stdout.getvalue() - - self.assertIn("usage:", stdout) - self.assertIn(" ".join(command), stdout) - # argparse on py3.8/py3.9 has a different output to py3.10 so the check for - # optional arguments covers both formats. - assert ( - isinstance( - re.search("(optional arguments:|options:)", stdout), re.Match - ) - is True - ) - - # Verify that the actual help usage string was triggered and not the invalid - # "too few arguments" which would indicate command doesn't actually correctly handle - # --help flag - self.assertNotIn("too few arguments", stdout) - - self._reset_output_streams() From 868720d1109cc89c456b3ad44d9dd616fa6e03d7 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 11:19:10 -0400 Subject: [PATCH 075/110] fix pytest cov --- .github/workflows/ci.yaml | 2 +- Makefile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 12e0b61ff2..3627f8b38e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -284,7 +284,7 @@ jobs: # nosetests_node_ index: 0 services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 diff --git a/Makefile b/Makefile index dd0da2f428..3bc533c769 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ endif NOSE_OPTS := --rednose --immediate --with-parallel --parallel-strategy=FILE --nocapture --logging-filter=-st2.st2common.bootstrap # https://github.com/pytest-dev/pytest-xdist/issues/71 #PYTEST_OPTS := -n auto --tx 2*popen//execmodel=eventlet -PYTEST_OPTS := "" +PYTEST_OPTS := -s ifndef NOSE_TIME NOSE_TIME := yes @@ -859,7 +859,7 @@ endif 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 '/' '.') \ - pytest --capture=no --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ + pytest --verbose $(PYTEST_OPTS) --cov=$$component --cov-branch \ $$component/tests/unit || exit 1; \ echo "-----------------------------------------------------------"; \ echo "Done running tests in" $$component; \ From 8e653163fd2efb806ecdcb9a9303c9878cde9c8d Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 14:38:11 -0400 Subject: [PATCH 076/110] add a note about conflicts to the readme. lockfiles are a nightmare --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3784c53938..96f3febbc1 100644 --- a/README.md +++ b/README.md @@ -85,9 +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. -pants users behind a proxy must set `export SSL_CERT_FILE=` -## 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 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. From 820001d0a9daa7a7ca7e9788cbed1fbb179d76b2 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 14:55:58 -0400 Subject: [PATCH 077/110] enable redis --- .github/workflows/ci.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3627f8b38e..fa0ea1f32d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -474,18 +474,18 @@ jobs: # 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: + # 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 }}' From 863fd17be2de04937930e97f308b39183b99f847 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 15:03:27 -0400 Subject: [PATCH 078/110] Revert "enable redis" This reverts commit 820001d0a9daa7a7ca7e9788cbed1fbb179d76b2. --- .github/workflows/ci.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fa0ea1f32d..3627f8b38e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -474,18 +474,18 @@ jobs: # 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: + # # 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 }}' From f24533bbe64a387374afade80e74f274bccafdea Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 15:20:39 -0400 Subject: [PATCH 079/110] lint fixes --- README.md | 4 ++-- .../integration/test_python_action_process_wrapper.py | 1 + st2actions/tests/unit/test_workflow_engine.py | 3 +-- st2api/tests/integration/test_gunicorn_configs.py | 2 +- st2client/tests/unit/test_commands.py | 1 - st2common/tests/integration/test_logging.py | 6 ++++-- .../tests/integration/test_rabbitmq_ssl_listener.py | 1 + .../orquesta/test_wiring_pause_and_resume.py | 2 +- st2tests/st2tests/config.py | 10 +++++++--- 9 files changed, 18 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 96f3febbc1..e5d80c788e 100644 --- a/README.md +++ b/README.md @@ -86,8 +86,8 @@ please visit the [Development section](https://docs.stackstorm.com/development/i in our documentation. ### 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: +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 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 5832a0860a..802ef40709 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 diff --git a/st2actions/tests/unit/test_workflow_engine.py b/st2actions/tests/unit/test_workflow_engine.py index 39d7bb08a8..b051edcb94 100644 --- a/st2actions/tests/unit/test_workflow_engine.py +++ b/st2actions/tests/unit/test_workflow_engine.py @@ -219,7 +219,6 @@ def test_process_error_handling_has_error(self, mock_get_lock): 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. @@ -283,7 +282,7 @@ def test_workflow_engine_shutdown(self): 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) diff --git a/st2api/tests/integration/test_gunicorn_configs.py b/st2api/tests/integration/test_gunicorn_configs.py index bd8498adba..e6d7ac9a0a 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 diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index eeb87af13c..459bd8ae71 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -20,7 +20,6 @@ import json import logging import argparse -import re import tempfile import re import unittest diff --git a/st2common/tests/integration/test_logging.py b/st2common/tests/integration/test_logging.py index 4e0c55d275..6d6a3e3422 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 ) - @pytest.mark.skipif(sys.version_info >= (3, 8, 0), "Skipping test under Python >= 3.8") + @pytest.mark.skipif( + sys.version_info >= (3, 8, 0), "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 035213dee7..ba600ee338 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 diff --git a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py index b6d20ea540..54759905ab 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 diff --git a/st2tests/st2tests/config.py b/st2tests/st2tests/config.py index 94b5141a74..be1ff43bab 100644 --- a/st2tests/st2tests/config.py +++ b/st2tests/st2tests/config.py @@ -137,11 +137,15 @@ 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) + 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}" + 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") From 6351c27cde3c50c8a508c98783ffcb4bda5dbc06 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 15:32:32 -0400 Subject: [PATCH 080/110] add back redis --- .github/workflows/ci.yaml | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3627f8b38e..5d39e58b7e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -287,6 +287,19 @@ jobs: 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 @@ -474,18 +487,18 @@ jobs: # 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 }}' From a10c8eb8e07e787ae6f869f0366baf8c0a061336 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 15:42:52 -0400 Subject: [PATCH 081/110] already redis running integration job --- .github/workflows/ci.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5d39e58b7e..227afbb158 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -487,18 +487,18 @@ jobs: # 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-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 + #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 }}' From 77ffa974a5179090c05b12b40d75cb4f3cbcf0b4 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 15:46:44 -0400 Subject: [PATCH 082/110] remove bad comment in ci --- .github/workflows/ci.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 227afbb158..0420ef1495 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -484,9 +484,6 @@ 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-server: # # Docker Hub image # image: redis From 8cf3923cff585e8b35c093a76e9d0de128e1f0da Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 16:19:32 -0400 Subject: [PATCH 083/110] pytest changes: --- Makefile | 47 ++++++++----------- .../integration/test_gunicorn_configs.py | 4 +- 2 files changed, 21 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index 88e0b5dc73..bd5ce17d46 100644 --- a/Makefile +++ b/Makefile @@ -76,19 +76,10 @@ endif # 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 +# NOSETEST_OPTS := --rednose --immediate --with-parallel --parallel-strategy=FILE --nocapture --logging-filter=-st2.st2common.bootstrap # https://github.com/pytest-dev/pytest-xdist/issues/71 #PYTEST_OPTS := -n auto --tx 2*popen//execmodel=eventlet -PYTEST_OPTS := -s - -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 +PYTEST_OPTS := -s --log-level=error ifndef PIP_OPTIONS PIP_OPTIONS := @@ -97,8 +88,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 @@ -106,8 +97,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 @@ -152,13 +143,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 @@ -842,7 +833,7 @@ 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 @@ -869,7 +860,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 @@ -888,14 +879,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 @@ -926,7 +917,7 @@ 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 @@ -956,12 +947,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 @@ -980,14 +971,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 diff --git a/st2api/tests/integration/test_gunicorn_configs.py b/st2api/tests/integration/test_gunicorn_configs.py index e6d7ac9a0a..2a77f4d5ca 100644 --- a/st2api/tests/integration/test_gunicorn_configs.py +++ b/st2api/tests/integration/test_gunicorn_configs.py @@ -32,7 +32,7 @@ class GunicornWSGIEntryPointTestCase(IntegrationTestCase): - @pytest.mark.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) - @pytest.mark.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 = ( From 2f840b9a98bb583ac8bef27881b463472c16330e Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 17:34:22 -0400 Subject: [PATCH 084/110] add local runner test for pytest happyness --- .../tests/unit/test_local_runner.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 contrib/runners/local_runner/tests/unit/test_local_runner.py 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..0117c9444a --- /dev/null +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -0,0 +1,21 @@ + +# 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 From baedd2494a2a5d7927d2195b4a47e7c74e3df57e Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Tue, 10 Sep 2024 17:39:27 -0400 Subject: [PATCH 085/110] black --- contrib/runners/local_runner/tests/unit/test_local_runner.py | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/runners/local_runner/tests/unit/test_local_runner.py b/contrib/runners/local_runner/tests/unit/test_local_runner.py index 0117c9444a..cda3b83408 100644 --- a/contrib/runners/local_runner/tests/unit/test_local_runner.py +++ b/contrib/runners/local_runner/tests/unit/test_local_runner.py @@ -1,4 +1,3 @@ - # Copyright 2024 The StackStorm Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); From a6610758691d39dc4f69ab9f8042044a77e832cc Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 08:42:53 -0400 Subject: [PATCH 086/110] add reason to skip --- st2tests/integration/orquesta/test_wiring_pause_and_resume.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py index 54759905ab..f5353720cd 100644 --- a/st2tests/integration/orquesta/test_wiring_pause_and_resume.py +++ b/st2tests/integration/orquesta/test_wiring_pause_and_resume.py @@ -28,7 +28,7 @@ @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 From 6298a1d9666a5f64211b712f9eb6c0651f10c3ba Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 08:48:04 -0400 Subject: [PATCH 087/110] add missing integration test for pytest --- st2auth/tests/integration/test_st2auth.py | 20 +++++++++++++++++++ st2client/tests/integration/test_st2client.py | 20 +++++++++++++++++++ st2stream/tests/integration/test_st2stream.py | 20 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 st2auth/tests/integration/test_st2auth.py create mode 100644 st2client/tests/integration/test_st2client.py create mode 100644 st2stream/tests/integration/test_st2stream.py 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/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/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 From 0741dc7b12fecea4be058cb13ff8d27c458dcaf2 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 08:56:26 -0400 Subject: [PATCH 088/110] pants lock update --- lockfiles/st2.lock | 44 +++++++++++++++++--------------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 3f6ceb7300..ad58b638d2 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -1950,13 +1950,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", @@ -1971,7 +1971,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\"", @@ -1986,7 +1986,7 @@ "vine==5.1.0" ], "requires_python": ">=3.8", - "version": "5.4.0" + "version": "5.4.1" }, { "artifacts": [ @@ -3067,31 +3067,21 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473", - "url": "https://files.pythonhosted.org/packages/23/7e/5f50d07d5e70a2addbccd90ac2950f81d1edd0783630651d9268d7f1db49/pyasn1-0.6.0-py2.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" - }, - { - "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", @@ -3099,7 +3089,7 @@ "pyasn1<0.7.0,>=0.4.6" ], "requires_python": ">=3.8", - "version": "0.4.0" + "version": "0.4.1" }, { "artifacts": [ @@ -3715,19 +3705,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": [ From 1a54d0b87425f89a7d49bf42a10d519aead6d8be Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 08:57:56 -0400 Subject: [PATCH 089/110] add reason for pytest --- st2common/tests/integration/test_rabbitmq_ssl_listener.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2common/tests/integration/test_rabbitmq_ssl_listener.py b/st2common/tests/integration/test_rabbitmq_ssl_listener.py index ba600ee338..d45b72ee18 100644 --- a/st2common/tests/integration/test_rabbitmq_ssl_listener.py +++ b/st2common/tests/integration/test_rabbitmq_ssl_listener.py @@ -40,7 +40,7 @@ # vagrant dev VM doesn't expose RabbitMQ SSL listener by default @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): From ac4f2aa2a90199f92e536e9bbd394c9b7290c2e0 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 09:00:50 -0400 Subject: [PATCH 090/110] add reason --- st2common/tests/integration/test_logging.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/st2common/tests/integration/test_logging.py b/st2common/tests/integration/test_logging.py index 6d6a3e3422..92069db2da 100644 --- a/st2common/tests/integration/test_logging.py +++ b/st2common/tests/integration/test_logging.py @@ -76,7 +76,7 @@ def test_formatting_with_unicode_data_works_no_stdout_patching_valid_utf8_encodi ) @pytest.mark.skipif( - sys.version_info >= (3, 8, 0), "Skipping test under Python >= 3.8" + 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, From 657ffcb08c28eb18877f05335a18bbd842456480 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 09:10:45 -0400 Subject: [PATCH 091/110] attempt to change st2-run-packs-test with pytest instead of nose --- Makefile | 2 -- st2common/bin/st2-run-pack-tests | 46 +++++++++++++++----------------- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/Makefile b/Makefile index bd5ce17d46..596a41b66c 100644 --- a/Makefile +++ b/Makefile @@ -75,8 +75,6 @@ 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 -# NOSETEST_OPTS := --rednose --immediate --with-parallel --parallel-strategy=FILE --nocapture --logging-filter=-st2.st2common.bootstrap # https://github.com/pytest-dev/pytest-xdist/issues/71 #PYTEST_OPTS := -n auto --tx 2*popen//execmodel=eventlet PYTEST_OPTS := -s --log-level=error diff --git a/st2common/bin/st2-run-pack-tests b/st2common/bin/st2-run-pack-tests index e358aa1e63..7f7274a427 100755 --- a/st2common/bin/st2-run-pack-tests +++ b/st2common/bin/st2-run-pack-tests @@ -34,17 +34,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=( - 'mock' - 'unittest2' - 'nose' - 'nose-timer' + 'pytest', + 'mock', 'coverage' ) PACK_TEST_PYTHON_DEPENDENCIES_VERSIONS=( - '>=4.0.3' - '>=1.1.0,<2.0' - '>=1.3.7' - '>=0.7.0' + '>6', + '>=4.0.3', '>=4.4.1' ) @@ -320,47 +316,47 @@ 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 pytests 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 --exe --immediate) # Is test coverage reporting enabled? if [ "${ENABLE_COVERAGE}" = true ]; then - verbose_log "Enabling nosetests coverage" + verbose_log "Enabling pytests 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) + PYTEST_OPTS+=(--with-coverage --cover-erase) - # Now, by default nosetests reports test coverage for every module found + # Now, by default pytests 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 + # We can restrict pytest 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 # 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 pytests coverage for directory: $pack_sub_dir" + PYTEST_OPTS+=(--cover-package=$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) + verbose_log "Enabling pytests timings" + PYTEST_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 pytests) | grep -q ' -sE$'; then + # workaround pants+pex default of hermetic scripts so we can run pytests 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 +366,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=$? From d6b337cb6b8337a9ae3208947de2d066d312cd7e Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 09:17:50 -0400 Subject: [PATCH 092/110] pants tailor --- contrib/runners/local_runner/tests/unit/BUILD | 4 ++++ st2auth/tests/integration/BUILD | 4 ++++ st2client/tests/integration/BUILD | 4 ++++ st2stream/tests/integration/BUILD | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/contrib/runners/local_runner/tests/unit/BUILD b/contrib/runners/local_runner/tests/unit/BUILD index 59df096266..f4100df4b4 100644 --- a/contrib/runners/local_runner/tests/unit/BUILD +++ b/contrib/runners/local_runner/tests/unit/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["unit"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2auth/tests/integration/BUILD b/st2auth/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/st2auth/tests/integration/BUILD +++ b/st2auth/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2client/tests/integration/BUILD b/st2client/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/st2client/tests/integration/BUILD +++ b/st2client/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/st2stream/tests/integration/BUILD b/st2stream/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/st2stream/tests/integration/BUILD +++ b/st2stream/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) From 02e2a60d430df668d9f6cd8d92cfaa29632b92d1 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 10:10:27 -0400 Subject: [PATCH 093/110] add missing integration tests, fix st2-pack-test --- .../integration/test_announcement_runner.py | 20 +++++++++++++++++++ .../tests/integration/test_http_runner.py | 20 +++++++++++++++++++ .../tests/integration/test_inquirer_runner.py | 20 +++++++++++++++++++ .../tests/integration/test_noop_runner.py | 20 +++++++++++++++++++ .../tests/integration/test_remote_runner.py | 20 +++++++++++++++++++ contrib/runners/test_action_runner.py | 20 +++++++++++++++++++ .../tests/integration/test_winrm_runner.py | 20 +++++++++++++++++++ st2common/bin/st2-run-pack-tests | 8 ++++---- 8 files changed, 144 insertions(+), 4 deletions(-) create mode 100644 contrib/runners/announcement_runner/tests/integration/test_announcement_runner.py create mode 100644 contrib/runners/http_runner/tests/integration/test_http_runner.py create mode 100644 contrib/runners/inquirer_runner/tests/integration/test_inquirer_runner.py create mode 100644 contrib/runners/noop_runner/tests/integration/test_noop_runner.py create mode 100644 contrib/runners/remote_runner/tests/integration/test_remote_runner.py create mode 100644 contrib/runners/test_action_runner.py create mode 100644 contrib/runners/winrm_runner/tests/integration/test_winrm_runner.py 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/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/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/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/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/test_action_runner.py b/contrib/runners/test_action_runner.py new file mode 100644 index 0000000000..cda3b83408 --- /dev/null +++ b/contrib/runners/test_action_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/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/st2common/bin/st2-run-pack-tests b/st2common/bin/st2-run-pack-tests index 7f7274a427..3e7bf68973 100755 --- a/st2common/bin/st2-run-pack-tests +++ b/st2common/bin/st2-run-pack-tests @@ -34,13 +34,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', + 'pytest' + 'mock' 'coverage' ) PACK_TEST_PYTHON_DEPENDENCIES_VERSIONS=( - '>6', - '>=4.0.3', + '>6' + '>=4.0.3' '>=4.4.1' ) From 4779afa6949b3c6aaf3f57213bd781c6f2582c9a Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 10:33:11 -0400 Subject: [PATCH 094/110] remove erroneous file --- contrib/runners/test_action_runner.py | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 contrib/runners/test_action_runner.py diff --git a/contrib/runners/test_action_runner.py b/contrib/runners/test_action_runner.py deleted file mode 100644 index cda3b83408..0000000000 --- a/contrib/runners/test_action_runner.py +++ /dev/null @@ -1,20 +0,0 @@ -# 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 From 608ba989a78f8e62d695987430b8bb9244f43c8c Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 10:53:34 -0400 Subject: [PATCH 095/110] change to pytest args for st2runpackstests --- st2common/bin/st2-run-pack-tests | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/st2common/bin/st2-run-pack-tests b/st2common/bin/st2-run-pack-tests index 3e7bf68973..5e82c394d1 100755 --- a/st2common/bin/st2-run-pack-tests +++ b/st2common/bin/st2-run-pack-tests @@ -318,38 +318,20 @@ fi echo "Running tests..." # Note: We run pytests with "--exe" option so it also runs test files which are executable # (pack install command automatically makes all the files, including test files executable) -PYTEST_OPTS=(-s -v --exe --immediate) +PYTEST_OPTS=(-s -v ) # Is test coverage reporting enabled? if [ "${ENABLE_COVERAGE}" = true ]; then verbose_log "Enabling pytests coverage" - # Base options to enable test coverage reporting - # --with-coverage : enables coverage reporting - # --cover-erase : removes old coverage reports before starting - PYTEST_OPTS+=(--with-coverage --cover-erase) - - # Now, by default pytests 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 pytest 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 - # 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 pytests coverage for directory: $pack_sub_dir" - PYTEST_OPTS+=(--cover-package=$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 pytests timings" - PYTEST_OPTS+=(--with-timer) -fi - PYTEST=(pytest) if head -n 1 $(command -v pytests) | grep -q ' -sE$'; then # workaround pants+pex default of hermetic scripts so we can run pytests with PYTHONPATH From 64ba48a8045f3bcb4c54c40c95dd5cd92d17e570 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 12:04:46 -0400 Subject: [PATCH 096/110] st2-run-pack-tests --- contrib/examples/{ => actions}/lib/BUILD | 0 contrib/examples/{ => actions}/lib/__init__.py | 0 contrib/examples/{ => actions}/lib/environ.py | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename contrib/examples/{ => actions}/lib/BUILD (100%) rename contrib/examples/{ => actions}/lib/__init__.py (100%) rename contrib/examples/{ => actions}/lib/environ.py (100%) 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 From 3623211c374b4e32b3ed4c41133708d5a9f0808b Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 12:05:14 -0400 Subject: [PATCH 097/110] st2 run packs changes --- st2common/bin/st2-run-pack-tests | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/st2common/bin/st2-run-pack-tests b/st2common/bin/st2-run-pack-tests index 5e82c394d1..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. @@ -316,25 +317,25 @@ if [ "${VERBOSE}" = true ]; then fi echo "Running tests..." -# Note: We run pytests 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) PYTEST_OPTS=(-s -v ) # Is test coverage reporting enabled? if [ "${ENABLE_COVERAGE}" = true ]; then - verbose_log "Enabling pytests coverage" + 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 pytests coverage for directory: $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 PYTEST=(pytest) -if head -n 1 $(command -v pytests) | grep -q ' -sE$'; then - # workaround pants+pex default of hermetic scripts so we can run pytests with PYTHONPATH +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 PYTEST=(${STACKSTORM_VIRTUALENV_PYTHON_BINARY} -m "pytest") else From f467b47fb24356c52e89ad124acc702ae43452a1 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 12:15:38 -0400 Subject: [PATCH 098/110] add reason to pytest --- .../tests/integration/test_python_action_process_wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 802ef40709..b2809aa410 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 @@ -66,7 +66,7 @@ TIME_BINARY_AVAILABLE = TIME_BINARY_PATH is not None -@pytest.mark.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 From 8b539af0aea32889bcb4f4dd95e4c9bf4e0a42ee Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 12:57:34 -0400 Subject: [PATCH 099/110] pytest does not support NODE_TOTAL --- .github/workflows/ci.yaml | 40 ++++++--------------------------------- 1 file changed, 6 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0420ef1495..4d1271344b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -252,30 +252,18 @@ 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)' - 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)' + - name: 'Unit Tests' 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)' - task: 'ci-unit' - nosetests_node_total: 2 - nosetests_node_index: 1 - python-version-short: '3.9' - python-version: '3.9.14' # This job is slow so we only run in on a daily basis # - name: 'Micro Benchmarks' # task: 'micro-benchmarks' @@ -313,8 +301,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. @@ -419,16 +405,10 @@ jobs: python-version: '3.8.10' - name: 'Integration Tests (chunk 1)' 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 @@ -437,16 +417,10 @@ jobs: python-version: '3.9.14' - name: 'Integration Tests (chunk 1)' 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)' - task: 'ci-integration' - nosetests_node_total: 2 - nosetests_node_index: 1 - python-version-short: '3.9' - python-version: '3.9.14' services: mongo: image: mongo:4.4 @@ -500,8 +474,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. From 6e7d9c61220095534dc4e739fec4f2258ec9e989 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 13:11:13 -0400 Subject: [PATCH 100/110] mongo 7 --- .github/workflows/ci.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4d1271344b..cea0bdad39 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -120,7 +120,7 @@ jobs: python-version: '3.8.14' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 @@ -403,7 +403,7 @@ 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: 1 nosetests_node_index: 0 @@ -415,7 +415,7 @@ jobs: 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: 1 nosetests_node_index: 0 @@ -423,7 +423,7 @@ jobs: python-version: '3.9.14' services: mongo: - image: mongo:4.4 + image: mongo:7.0 ports: - 27017:27017 From efe1e84e9cb840407f5e6d396cd5f767575d2080 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 13:31:45 -0400 Subject: [PATCH 101/110] extend process execution max time for now --- .../tests/integration/test_python_action_process_wrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 b2809aa410..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 @@ -46,7 +46,7 @@ __all__ = ["PythonRunnerActionWrapperProcessTestCase"] # Maximum limit for the process wrapper script execution time (in seconds) -WRAPPER_PROCESS_RUN_TIME_UPPER_LIMIT = 0.31 +WRAPPER_PROCESS_RUN_TIME_UPPER_LIMIT = 0.70 ASSERTION_ERROR_MESSAGE = """ Python wrapper process script took more than %s seconds to execute (%s). This most likely means From bb75e8ce823452fcf40b9e76271b1ff16a803135 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 13:41:53 -0400 Subject: [PATCH 102/110] add action chain placeholder --- .../integration/test_action_chain_runner.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 contrib/runners/action_chain_runner/tests/integration/test_action_chain_runner.py 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 From 59904975e29acc8c0771747918542638fb91047c Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 15:02:27 -0400 Subject: [PATCH 103/110] add target test for python_tests --- contrib/runners/action_chain_runner/tests/integration/BUILD | 4 ++++ contrib/runners/announcement_runner/tests/integration/BUILD | 4 ++++ contrib/runners/http_runner/tests/integration/BUILD | 4 ++++ contrib/runners/inquirer_runner/tests/integration/BUILD | 4 ++++ contrib/runners/noop_runner/tests/integration/BUILD | 4 ++++ contrib/runners/remote_runner/tests/integration/BUILD | 4 ++++ contrib/runners/winrm_runner/tests/integration/BUILD | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/contrib/runners/action_chain_runner/tests/integration/BUILD b/contrib/runners/action_chain_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 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, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/announcement_runner/tests/integration/BUILD b/contrib/runners/announcement_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/announcement_runner/tests/integration/BUILD +++ b/contrib/runners/announcement_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/http_runner/tests/integration/BUILD b/contrib/runners/http_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/http_runner/tests/integration/BUILD +++ b/contrib/runners/http_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/inquirer_runner/tests/integration/BUILD b/contrib/runners/inquirer_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/inquirer_runner/tests/integration/BUILD +++ b/contrib/runners/inquirer_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/noop_runner/tests/integration/BUILD b/contrib/runners/noop_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/noop_runner/tests/integration/BUILD +++ b/contrib/runners/noop_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/remote_runner/tests/integration/BUILD b/contrib/runners/remote_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/remote_runner/tests/integration/BUILD +++ b/contrib/runners/remote_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) diff --git a/contrib/runners/winrm_runner/tests/integration/BUILD b/contrib/runners/winrm_runner/tests/integration/BUILD index 9cd8ca6eab..36ed6e8c52 100644 --- a/contrib/runners/winrm_runner/tests/integration/BUILD +++ b/contrib/runners/winrm_runner/tests/integration/BUILD @@ -2,3 +2,7 @@ __defaults__( {(python_test, python_tests): dict(tags=["integration"])}, extend=True, ) + +python_tests( + name="tests", +) From 202a4110ab833c5a5549b98cedb2e3e2b27e6500 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Wed, 11 Sep 2024 15:09:22 -0400 Subject: [PATCH 104/110] whitespace fixes --- .github/workflows/ci.yaml | 68 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cea0bdad39..400e514e3c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -70,7 +70,18 @@ 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' + - name: 'Compile (pip deps, pylint, etc.)' + task: 'ci-compile' + python-version-short: '3.12' + python-version: '3.12.6' env: TASK: '${{ matrix.task }}' COLUMNS: '120' @@ -264,6 +275,25 @@ jobs: nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' + - name: 'Unit Tests' + task: 'ci-unit' + 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' + - name: 'Unit Tests' + task: 'ci-unit' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.12' + python-version: '3.12.6' + # This job is slow so we only run in on a daily basis # - name: 'Micro Benchmarks' # task: 'micro-benchmarks' @@ -415,12 +445,48 @@ jobs: nosetests_node_index: 0 python-version-short: '3.9' python-version: '3.9.14' + - name: 'Integration Tests' + task: 'ci-integration' + nosetests_node_total: 1 + nosetests_node_index: 0 + 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: 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' + - name: 'Pack Tests' + task: 'ci-packs-tests' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.12' + python-version: '3.12.6' + - name: 'Integration Tests' + task: 'ci-integration' + nosetests_node_total: 1 + nosetests_node_index: 0 + python-version-short: '3.12' + python-version: '3.12.6' services: mongo: image: mongo:7.0 From 5ad15388e2002498bd4f77c34cb542987c146b4d Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Thu, 12 Sep 2024 14:20:40 -0400 Subject: [PATCH 105/110] remove 3.12; ubuntu doesn't even have an install yet for it --- .github/workflows/ci.yaml | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 400e514e3c..8bbc8acc0c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -78,10 +78,6 @@ jobs: task: 'ci-compile' python-version-short: '3.11' python-version: '3.11.10' - - name: 'Compile (pip deps, pylint, etc.)' - task: 'ci-compile' - python-version-short: '3.12' - python-version: '3.12.6' env: TASK: '${{ matrix.task }}' COLUMNS: '120' @@ -287,12 +283,6 @@ jobs: nosetests_node_index: 0 python-version-short: '3.11' python-version: '3.11.10' - - name: 'Unit Tests' - task: 'ci-unit' - nosetests_node_total: 1 - nosetests_node_index: 0 - python-version-short: '3.12' - python-version: '3.12.6' # This job is slow so we only run in on a daily basis # - name: 'Micro Benchmarks' @@ -475,18 +465,6 @@ jobs: nosetests_node_index: 0 python-version-short: '3.11' python-version: '3.11.10' - - name: 'Pack Tests' - task: 'ci-packs-tests' - nosetests_node_total: 1 - nosetests_node_index: 0 - python-version-short: '3.12' - python-version: '3.12.6' - - name: 'Integration Tests' - task: 'ci-integration' - nosetests_node_total: 1 - nosetests_node_index: 0 - python-version-short: '3.12' - python-version: '3.12.6' services: mongo: image: mongo:7.0 From d92b813b3f4a9ad09ea9aecbb038810f01a429b8 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Fri, 13 Sep 2024 09:59:31 -0400 Subject: [PATCH 106/110] bump mongo --- .github/workflows/microbenchmarks.yaml | 14 +++++++++++++- .github/workflows/orquesta-integration-tests.yaml | 2 +- .github/workflows/test.yaml | 6 +++++- 3 files changed, 19 insertions(+), 3 deletions(-) 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 406645fcf6..c238a080b2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -40,7 +40,11 @@ jobs: python-version: '3.9.14' - name: 'Test (pants runs: pytest)' python-version-short: '3.10' - python-version: '3.10.12' + python-version: '3.10.15' + - name: 'Test (pants runs: pytest)' + python-version-short: '3.11' + python-version: '3.11.10' + services: mongo: From 7554091df5582e05b321f6c52dfa45adb0125345 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Fri, 13 Sep 2024 10:02:15 -0400 Subject: [PATCH 107/110] remove notes --- notes.md | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 notes.md diff --git a/notes.md b/notes.md deleted file mode 100644 index 170bf9ef79..0000000000 --- a/notes.md +++ /dev/null @@ -1,10 +0,0 @@ -# deps - -1. update dnspython version -2. libssl rabbitmq -``` -echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list - -sudo apt-get update -sudo apt-get install libssl1.1 -``` From 2264db0f3b4c7355420f015ae825d31c9762be56 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 16 Sep 2024 09:01:47 -0400 Subject: [PATCH 108/110] update orquesta; update requirements --- README.md | 2 +- lockfiles/st2.lock | 62 ++++++++++++++++++++--------------- requirements.txt | 2 +- st2common/in-requirements.txt | 3 +- st2common/requirements.txt | 2 +- 5 files changed, 40 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index e5d80c788e..209b27e8da 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ 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 generate-lockfiles --resolve=st2` to generate lockfiles +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 diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index ad58b638d2..1080f0133e 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -1261,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", @@ -1284,7 +1284,7 @@ "twine; extra == \"dev\"" ], "requires_python": ">=3.7", - "version": "0.36.1" + "version": "0.37.0" }, { "artifacts": [ @@ -1725,13 +1725,13 @@ "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", @@ -1746,20 +1746,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": [ @@ -3065,6 +3065,11 @@ }, { "artifacts": [ + { + "algorithm": "sha256", + "hash": "0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", + "url": "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl" + }, { "algorithm": "sha256", "hash": "6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", @@ -3078,6 +3083,11 @@ }, { "artifacts": [ + { + "algorithm": "sha256", + "hash": "49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd", + "url": "https://files.pythonhosted.org/packages/77/89/bc88a6711935ba795a679ea6ebee07e128050d6382eaa35a0a47c8032bdc/pyasn1_modules-0.4.1-py3-none-any.whl" + }, { "algorithm": "sha256", "hash": "c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c", @@ -4997,13 +5007,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", @@ -5015,7 +5025,7 @@ "zstandard>=0.18.0; extra == \"zstd\"" ], "requires_python": ">=3.8", - "version": "2.2.2" + "version": "2.2.3" }, { "artifacts": [ @@ -5472,13 +5482,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", @@ -5504,7 +5514,7 @@ "sphinx>=3.5; extra == \"doc\"" ], "requires_python": ">=3.8", - "version": "3.20.1" + "version": "3.20.2" }, { "artifacts": [ diff --git a/requirements.txt b/requirements.txt index 411cd6f71d..9dc6079138 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,7 +35,7 @@ mock==5.1.0 mongoengine==0.23.1 networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat +orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 oslo.config==9.6.0 oslo.utils==7.3.0 paramiko==3.4.1 diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index 30db39d386..1663cab9ff 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -14,8 +14,7 @@ mongoengine networkx # used by networkx decorator -#orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat +orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 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 cdbcd06bc9..17289d18ce 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -27,7 +27,7 @@ lockfile==0.12.2 mongoengine==0.23.1 networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat +orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 oslo.config==9.6.0 paramiko==3.4.1 pyOpenSSL From 88785da462bd89dd13d6ddb37b9c7839e625966b Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 16 Sep 2024 09:28:18 -0400 Subject: [PATCH 109/110] remove double import --- st2client/tests/unit/test_commands.py | 1 - 1 file changed, 1 deletion(-) diff --git a/st2client/tests/unit/test_commands.py b/st2client/tests/unit/test_commands.py index eeb87af13c..e8fa417cb9 100644 --- a/st2client/tests/unit/test_commands.py +++ b/st2client/tests/unit/test_commands.py @@ -22,7 +22,6 @@ import argparse import re import tempfile -import re import unittest from collections import namedtuple From acefb9f08a21f18d3fdde6bcf529746a4b049ee7 Mon Sep 17 00:00:00 2001 From: guzzijones12 Date: Mon, 16 Sep 2024 10:41:11 -0400 Subject: [PATCH 110/110] change orquesta --- .../orquesta_runner/in-requirements.txt | 2 +- .../runners/orquesta_runner/requirements.txt | 2 +- lockfiles/st2.lock | 61 +++++++++++-------- requirements-pants.txt | 2 +- requirements.txt | 2 +- st2common/in-requirements.txt | 2 +- st2common/requirements.txt | 2 +- 7 files changed, 41 insertions(+), 32 deletions(-) diff --git a/contrib/runners/orquesta_runner/in-requirements.txt b/contrib/runners/orquesta_runner/in-requirements.txt index d777ebc9e5..c09e77fd56 100644 --- a/contrib/runners/orquesta_runner/in-requirements.txt +++ b/contrib/runners/orquesta_runner/in-requirements.txt @@ -1,2 +1,2 @@ #orquesta@ git+https://github.com/StackStorm/orquesta.git@v1.6.0 -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat +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 e3240691da..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/nzlosh/orquesta.git@st2v39_compat +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 diff --git a/lockfiles/st2.lock b/lockfiles/st2.lock index 1080f0133e..909b626932 100644 --- a/lockfiles/st2.lock +++ b/lockfiles/st2.lock @@ -35,7 +35,7 @@ // "mongoengine<0.24.0,>=0.21.0", // "networkx", // "orjson", -// "orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat", +// "orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975", // "oslo.config", // "paramiko", // "pika", @@ -1707,19 +1707,24 @@ "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": [ @@ -2606,8 +2611,8 @@ "artifacts": [ { "algorithm": "sha256", - "hash": "b4fe6da88b4f9ecfdcba1f2a94f33dee79a733f404a9b117c01482b41e225881", - "url": "git+https://github.com/nzlosh/orquesta.git@st2v39_compat" + "hash": "cc9f9827d1a062352b80a9b0c2b4b7de12987885e56990f0045f0345dc032e9d", + "url": "git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975" } ], "project_name": "orquesta", @@ -2762,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", @@ -2786,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": [ @@ -2875,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", @@ -2898,7 +2903,7 @@ "sphinx>=8.0.2; extra == \"docs\"" ], "requires_python": ">=3.8", - "version": "4.3.2" + "version": "4.3.3" }, { "artifacts": [ @@ -4222,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", @@ -4240,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\"", @@ -4285,7 +4294,7 @@ "wheel>=0.44.0; extra == \"test\"" ], "requires_python": ">=3.8", - "version": "74.1.2" + "version": "75.1.0" }, { "artifacts": [ @@ -5749,8 +5758,8 @@ "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": [ "RandomWords", diff --git a/requirements-pants.txt b/requirements-pants.txt index 3c6c3ecd3a..d9a68e6a71 100644 --- a/requirements-pants.txt +++ b/requirements-pants.txt @@ -32,7 +32,7 @@ mongoengine>=0.21.0,<0.24.0 networkx orjson # Temporarily use fork until PR #266 is merged. -orquesta@ git+https://github.com/nzlosh/orquesta.git@st2v39_compat +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 diff --git a/requirements.txt b/requirements.txt index 9dc6079138..84c772a678 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,7 +35,7 @@ mock==5.1.0 mongoengine==0.23.1 networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 oslo.config==9.6.0 oslo.utils==7.3.0 paramiko==3.4.1 diff --git a/st2common/in-requirements.txt b/st2common/in-requirements.txt index 1663cab9ff..deef682939 100644 --- a/st2common/in-requirements.txt +++ b/st2common/in-requirements.txt @@ -14,7 +14,7 @@ mongoengine networkx # used by networkx decorator -orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 +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 17289d18ce..4dd15d69b6 100644 --- a/st2common/requirements.txt +++ b/st2common/requirements.txt @@ -27,7 +27,7 @@ lockfile==0.12.2 mongoengine==0.23.1 networkx==3.1 orjson==3.10.7 -orquesta@ git+https://github.com/StackStorm/orquesta.git@197db78 +orquesta@ git+https://github.com/StackStorm/orquesta.git@5ba1467614b2ef8b4709b2ca89e68baa671e8975 oslo.config==9.6.0 paramiko==3.4.1 pyOpenSSL