From 42c424f8fb9f2368bfe39e0469cffc7c8f9aa7fc Mon Sep 17 00:00:00 2001 From: Brandon Date: Sun, 1 Feb 2026 19:49:35 -0500 Subject: [PATCH 1/7] flow enhancement --- src/form/models.py | 1 + src/form/serializers.py | 1 + src/form/util.py | 17 +++++++---------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/form/models.py b/src/form/models.py index 21528c9e..28278a37 100644 --- a/src/form/models.py +++ b/src/form/models.py @@ -131,6 +131,7 @@ class FlowQuestion(models.Model): flow = models.ForeignKey(Flow, models.PROTECT) question = models.ForeignKey(Question, models.PROTECT) order = models.IntegerField() + press_to_continue = models.BooleanField(default=False) active = models.CharField(max_length=1, default="y") void_ind = models.CharField(max_length=1, default="n") diff --git a/src/form/serializers.py b/src/form/serializers.py index b4a0f210..bd044125 100644 --- a/src/form/serializers.py +++ b/src/form/serializers.py @@ -131,6 +131,7 @@ class FlowQuestionSerializer(serializers.Serializer): id = serializers.IntegerField(required=False, allow_null=True) flow_id = serializers.IntegerField(required=False, allow_null=True) question = QuestionSerializer() + press_to_continue = serializers.BooleanField() order = serializers.IntegerField() active = serializers.CharField() diff --git a/src/form/util.py b/src/form/util.py index 4c7f7d5d..d7fa2e9c 100644 --- a/src/form/util.py +++ b/src/form/util.py @@ -52,7 +52,7 @@ def get_questions( ) -> list[dict[str, Any]]: """ Get questions filtered by various criteria. - + Args: form_typ: Filter by form type ('field', 'pit', etc.) active: Filter by active status ('y' or 'n') @@ -61,7 +61,7 @@ def get_questions( is_conditional: If True, only return questions that have conditions is_not_conditional: If True, only return questions without active conditions qid: Filter to a specific question ID - + Returns: List of dictionaries containing parsed question data """ @@ -156,10 +156,10 @@ def get_questions( def parse_question(in_question: Question) -> dict[str, Any]: """ Parse a Question object into a comprehensive dictionary with all related data. - + Args: in_question: The Question object to parse - + Returns: Dictionary containing question details, options, conditions, and related data """ @@ -964,6 +964,7 @@ def save_flow(data): else: question_flow = FlowQuestion.objects.get(id=data_flow_question["id"]) + question_flow.press_to_continue = data_flow_question["press_to_continue"] question_flow.order = data_flow_question["order"] question_flow.save() @@ -1802,9 +1803,7 @@ def graph_responses(graph_id, responses, aggregate_responses=None): flow_answer.question.question_typ.question_typ == "mnt-psh-btn" ): - map_entry["points"].append( - loads(flow_answer.value) - ) + map_entry["points"].append(loads(flow_answer.value)) else: raise Exception("not accounted for yet") value = flow_answer.value @@ -2096,9 +2095,7 @@ def aggregate_answers(question_aggregate, response_question_answers): case "median": return median([median(values) for values in responses_values]) case "stdev": - return stdev( - [stdev(values) for values in responses_values] - ) + return stdev([stdev(values) for values in responses_values]) case "difference": i = 0 for value_list in responses_values: From b523f745c446be0027234a9f74d0991b535e205a Mon Sep 17 00:00:00 2001 From: Brandon Date: Sun, 1 Feb 2026 20:14:28 -0500 Subject: [PATCH 2/7] only continue if not in a group with press to continue --- .../0064_flowquestion_press_to_continue.py | 18 ++++++++++++++++++ src/form/util.py | 1 + 2 files changed, 19 insertions(+) create mode 100644 src/form/migrations/0064_flowquestion_press_to_continue.py diff --git a/src/form/migrations/0064_flowquestion_press_to_continue.py b/src/form/migrations/0064_flowquestion_press_to_continue.py new file mode 100644 index 00000000..2d303333 --- /dev/null +++ b/src/form/migrations/0064_flowquestion_press_to_continue.py @@ -0,0 +1,18 @@ +# Generated by Django 5.2.9 on 2026-02-02 00:52 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('form', '0063_rename_response_id_historicalresponse_id_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='flowquestion', + name='press_to_continue', + field=models.BooleanField(default=False), + ), + ] diff --git a/src/form/util.py b/src/form/util.py index d7fa2e9c..219825df 100644 --- a/src/form/util.py +++ b/src/form/util.py @@ -759,6 +759,7 @@ def format_flow_values(flow: Flow): "id": qf.id, "flow_id": flow.id, "question": parse_question(qf.question), + "press_to_continue": qf.press_to_continue, "order": qf.order, "active": qf.active, } From 1af0b14426228973d0d7ca88e1ef537f243307c7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 01:32:42 +0000 Subject: [PATCH 3/7] Initial plan From 9ddb125a907a57dbdd94acd85c31120942a6e8c7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 01:34:42 +0000 Subject: [PATCH 4/7] Replace PostgreSQL with MySQL for UAT environment Co-authored-by: bduke-dev <7875574+bduke-dev@users.noreply.github.com> --- Dockerfile | 2 +- docker-compose.yml | 31 ++++++++++++++++++++++++++++--- pyproject.toml | 2 +- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index aee82bbf..1f74b1f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -103,7 +103,7 @@ ENV PYTHONUNBUFFERED=1 \ # ── Runtime dependencies (no build‑deps) ───────────────────────────────────── RUN RUN_DEPS=" \ - postgresql-client \ + default-mysql-client \ libxml2 \ cron \ curl \ diff --git a/docker-compose.yml b/docker-compose.yml index d58c342b..44511dcf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,38 @@ services: + mysql: + image: mysql:8.0 + container_name: ${MYSQL_CONTAINER_NAME:-parts_mysql} + environment: + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword} + MYSQL_DATABASE: ${DB_NAME} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + volumes: + - mysql_data:/var/lib/mysql + ports: + - "${MYSQL_PORT:-3306}:3306" + restart: always + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD:-rootpassword}"] + interval: 10s + timeout: 5s + retries: 5 + parts_webapi: container_name: ${CONTAINER_NAME} image: bduke97/parts_webapi:${TAG} + depends_on: + mysql: + condition: service_healthy environment: DJANGO_MANAGEPY_MIGRATE: "on" SECRET_KEY: ${SECRET_KEY} DB_NAME: ${DB_NAME} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} - DB_HOST: ${DB_HOST} - DB_PORT: ${DB_PORT} - DB_ENGINE: ${DB_ENGINE} + DB_HOST: ${DB_HOST:-mysql} + DB_PORT: ${DB_PORT:-3306} + DB_ENGINE: ${DB_ENGINE:-django.db.backends.mysql} EMAIL_FROM: ${EMAIL_FROM} EMAIL_HOST: ${EMAIL_HOST} EMAIL_HOST_USER: ${EMAIL_HOST_USER} @@ -35,3 +57,6 @@ services: restart: always labels: com.centurylinklabs.watchtower.enable: false + +volumes: + mysql_data: diff --git a/pyproject.toml b/pyproject.toml index 3f37dded..1f89cf43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -81,7 +81,7 @@ optional = true [tool.poetry.group.uat.dependencies] gunicorn = "23.0.0" uwsgi = "2.0.30" -psycopg2-binary = "*" +mysqlclient = "2.2.7" [build-system] requires = ["poetry-core"] From b45818e70247fa4b4d2869c717d67346c924686f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 01:35:19 +0000 Subject: [PATCH 5/7] Improve MySQL health check security Co-authored-by: bduke-dev <7875574+bduke-dev@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 44511dcf..456d0cfb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: - "${MYSQL_PORT:-3306}:3306" restart: always healthcheck: - test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_ROOT_PASSWORD:-rootpassword}"] + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "${DB_USER}", "-p${DB_PASSWORD}"] interval: 10s timeout: 5s retries: 5 From 6e2e8405744b7c358f42cebf14878ee6ea036911 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 2 Feb 2026 21:21:10 -0500 Subject: [PATCH 6/7] variables --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 456d0cfb..cf5af164 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ services: mysql: image: mysql:8.0 - container_name: ${MYSQL_CONTAINER_NAME:-parts_mysql} + container_name: ${DB_CONTAINER_NAME:-parts_mysql} environment: MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootpassword} MYSQL_DATABASE: ${DB_NAME} From c0c19bee7bd5b6a5e57235b45b9962e868bf91f6 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 2 Feb 2026 21:21:32 -0500 Subject: [PATCH 7/7] update lock file --- poetry.lock | 81 ++--------------------------------------------------- 1 file changed, 2 insertions(+), 79 deletions(-) diff --git a/poetry.lock b/poetry.lock index 1889279e..e03ae293 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1127,7 +1127,7 @@ version = "2.2.7" description = "Python interface to MySQL" optional = false python-versions = ">=3.8" -groups = ["wvnet"] +groups = ["uat", "wvnet"] files = [ {file = "mysqlclient-2.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:2e3c11f7625029d7276ca506f8960a7fd3c5a0a0122c9e7404e6a8fe961b3d22"}, {file = "mysqlclient-2.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:a22d99d26baf4af68ebef430e3131bb5a9b722b79a9fcfac6d9bbf8a88800687"}, @@ -1480,83 +1480,6 @@ files = [ {file = "propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d"}, ] -[[package]] -name = "psycopg2-binary" -version = "2.9.11" -description = "psycopg2 - Python-PostgreSQL Database Adapter" -optional = false -python-versions = ">=3.9" -groups = ["uat"] -files = [ - {file = "psycopg2-binary-2.9.11.tar.gz", hash = "sha256:b6aed9e096bf63f9e75edf2581aa9a7e7186d97ab5c177aa6c87797cd591236c"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6fe6b47d0b42ce1c9f1fa3e35bb365011ca22e39db37074458f27921dca40f2"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a6c0e4262e089516603a09474ee13eabf09cb65c332277e39af68f6233911087"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c47676e5b485393f069b4d7a811267d3168ce46f988fa602658b8bb901e9e64d"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a28d8c01a7b27a1e3265b11250ba7557e5f72b5ee9e5f3a2fa8d2949c29bf5d2"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5f3f2732cf504a1aa9e9609d02f79bea1067d99edf844ab92c247bbca143303b"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:865f9945ed1b3950d968ec4690ce68c55019d79e4497366d36e090327ce7db14"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:91537a8df2bde69b1c1db01d6d944c831ca793952e4f57892600e96cee95f2cd"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4dca1f356a67ecb68c81a7bc7809f1569ad9e152ce7fd02c2f2036862ca9f66b"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0da4de5c1ac69d94ed4364b6cbe7190c1a70d325f112ba783d83f8440285f152"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37d8412565a7267f7d79e29ab66876e55cb5e8e7b3bbf94f8206f6795f8f7e7e"}, - {file = "psycopg2_binary-2.9.11-cp310-cp310-win_amd64.whl", hash = "sha256:c665f01ec8ab273a61c62beeb8cce3014c214429ced8a308ca1fc410ecac3a39"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0e8480afd62362d0a6a27dd09e4ca2def6fa50ed3a4e7c09165266106b2ffa10"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:763c93ef1df3da6d1a90f86ea7f3f806dc06b21c198fa87c3c25504abec9404a"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2e164359396576a3cc701ba8af4751ae68a07235d7a380c631184a611220d9a4"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:d57c9c387660b8893093459738b6abddbb30a7eab058b77b0d0d1c7d521ddfd7"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2c226ef95eb2250974bf6fa7a842082b31f68385c4f3268370e3f3870e7859ee"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a311f1edc9967723d3511ea7d2708e2c3592e3405677bf53d5c7246753591fbb"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ebb415404821b6d1c47353ebe9c8645967a5235e6d88f914147e7fd411419e6f"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f07c9c4a5093258a03b28fab9b4f151aa376989e7f35f855088234e656ee6a94"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:00ce1830d971f43b667abe4a56e42c1e2d594b32da4802e44a73bacacb25535f"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cffe9d7697ae7456649617e8bb8d7a45afb71cd13f7ab22af3e5c61f04840908"}, - {file = "psycopg2_binary-2.9.11-cp311-cp311-win_amd64.whl", hash = "sha256:304fd7b7f97eef30e91b8f7e720b3db75fee010b520e434ea35ed1ff22501d03"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:be9b840ac0525a283a96b556616f5b4820e0526addb8dcf6525a0fa162730be4"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f090b7ddd13ca842ebfe301cd587a76a4cf0913b1e429eb92c1be5dbeb1a19bc"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ab8905b5dcb05bf3fb22e0cf90e10f469563486ffb6a96569e51f897c750a76a"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:bf940cd7e7fec19181fdbc29d76911741153d51cab52e5c21165f3262125685e"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fa0f693d3c68ae925966f0b14b8edda71696608039f4ed61b1fe9ffa468d16db"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a1cf393f1cdaf6a9b57c0a719a1068ba1069f022a59b8b1fe44b006745b59757"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ef7a6beb4beaa62f88592ccc65df20328029d721db309cb3250b0aae0fa146c3"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:31b32c457a6025e74d233957cc9736742ac5a6cb196c6b68499f6bb51390bd6a"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:edcb3aeb11cb4bf13a2af3c53a15b3d612edeb6409047ea0b5d6a21a9d744b34"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b6d93d7c0b61a1dd6197d208ab613eb7dcfdcca0a49c42ceb082257991de9d"}, - {file = "psycopg2_binary-2.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:b33fabeb1fde21180479b2d4667e994de7bbf0eec22832ba5d9b5e4cf65b6c6d"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b8fb3db325435d34235b044b199e56cdf9ff41223a4b9752e8576465170bb38c"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:366df99e710a2acd90efed3764bb1e28df6c675d33a7fb40df9b7281694432ee"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8c55b385daa2f92cb64b12ec4536c66954ac53654c7f15a203578da4e78105c0"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c0377174bf1dd416993d16edc15357f6eb17ac998244cca19bc67cdc0e2e5766"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5c6ff3335ce08c75afaed19e08699e8aacf95d4a260b495a4a8545244fe2ceb3"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:84011ba3109e06ac412f95399b704d3d6950e386b7994475b231cf61eec2fc1f"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba34475ceb08cccbdd98f6b46916917ae6eeb92b5ae111df10b544c3a4621dc4"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b31e90fdd0f968c2de3b26ab014314fe814225b6c324f770952f7d38abf17e3c"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:d526864e0f67f74937a8fce859bd56c979f5e2ec57ca7c627f5f1071ef7fee60"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04195548662fa544626c8ea0f06561eb6203f1984ba5b4562764fbeb4c3d14b1"}, - {file = "psycopg2_binary-2.9.11-cp313-cp313-win_amd64.whl", hash = "sha256:efff12b432179443f54e230fdf60de1f6cc726b6c832db8701227d089310e8aa"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:92e3b669236327083a2e33ccfa0d320dd01b9803b3e14dd986a4fc54aa00f4e1"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e0deeb03da539fa3577fcb0b3f2554a97f7e5477c246098dbb18091a4a01c16f"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b52a3f9bb540a3e4ec0f6ba6d31339727b2950c9772850d6545b7eae0b9d7c5"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:db4fd476874ccfdbb630a54426964959e58da4c61c9feba73e6094d51303d7d8"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:47f212c1d3be608a12937cc131bd85502954398aaa1320cb4c14421a0ffccf4c"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e35b7abae2b0adab776add56111df1735ccc71406e56203515e228a8dc07089f"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fcf21be3ce5f5659daefd2b3b3b6e4727b028221ddc94e6c1523425579664747"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:9bd81e64e8de111237737b29d68039b9c813bdf520156af36d26819c9a979e5f"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:32770a4d666fbdafab017086655bcddab791d7cb260a16679cc5a7338b64343b"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c3cb3a676873d7506825221045bd70e0427c905b9c8ee8d6acd70cfcbd6e576d"}, - {file = "psycopg2_binary-2.9.11-cp314-cp314-win_amd64.whl", hash = "sha256:4012c9c954dfaccd28f94e84ab9f94e12df76b4afb22331b1f0d3154893a6316"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:20e7fb94e20b03dcc783f76c0865f9da39559dcc0c28dd1a3fce0d01902a6b9c"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4bdab48575b6f870f465b397c38f1b415520e9879fdf10a53ee4f49dcbdf8a21"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9d3a9edcfbe77a3ed4bc72836d466dfce4174beb79eda79ea155cc77237ed9e8"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:44fc5c2b8fa871ce7f0023f619f1349a0aa03a0857f2c96fbc01c657dcbbdb49"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9c55460033867b4622cda1b6872edf445809535144152e5d14941ef591980edf"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2d11098a83cca92deaeaed3d58cfd150d49b3b06ee0d0852be466bf87596899e"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:691c807d94aecfbc76a14e1408847d59ff5b5906a04a23e12a89007672b9e819"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b81627b691f29c4c30a8f322546ad039c40c328373b11dff7490a3e1b517855"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:b637d6d941209e8d96a072d7977238eea128046effbf37d1d8b2c0764750017d"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:41360b01c140c2a03d346cec3280cf8a71aa07d94f3b1509fa0161c366af66b4"}, - {file = "psycopg2_binary-2.9.11-cp39-cp39-win_amd64.whl", hash = "sha256:875039274f8a2361e5207857899706da840768e2a775bf8c65e82f60b197df02"}, -] - [[package]] name = "py-vapid" version = "1.9.2" @@ -2056,4 +1979,4 @@ propcache = ">=0.2.1" [metadata] lock-version = "2.1" python-versions = "^3.11" -content-hash = "dfe82ce05918c171c3a1fedec905f19cc0ae31a90982c66f4d003d9f679593ab" +content-hash = "c510698eca1593297275d67373c0b24758dee126d100dfc52f04d0050c6a044f"