From 333c30f618b793293b2d5cb6fb07d6ff97990d2d Mon Sep 17 00:00:00 2001 From: "chandr-andr (Kiselev Aleksandr)" Date: Sat, 4 Jan 2025 14:25:02 +0800 Subject: [PATCH 1/4] Added serializer, removed bug with duplicate key Signed-off-by: chandr-andr (Kiselev Aleksandr) --- taskiq_psqlpy/queries.py | 3 +++ taskiq_psqlpy/result_backend.py | 16 ++++++++--- tests/conftest.py | 2 +- tests/test_result_backend.py | 47 +++++++++++++++++++++++++++++---- 4 files changed, 58 insertions(+), 10 deletions(-) diff --git a/taskiq_psqlpy/queries.py b/taskiq_psqlpy/queries.py index 9ab5e18..616adce 100644 --- a/taskiq_psqlpy/queries.py +++ b/taskiq_psqlpy/queries.py @@ -11,6 +11,9 @@ INSERT_RESULT_QUERY = """ INSERT INTO {} VALUES ($1, $2) +ON CONFLICT (task_id) +DO UPDATE +SET result = $2 """ IS_RESULT_EXISTS_QUERY = """ diff --git a/taskiq_psqlpy/result_backend.py b/taskiq_psqlpy/result_backend.py index 2693e34..e6415e7 100644 --- a/taskiq_psqlpy/result_backend.py +++ b/taskiq_psqlpy/result_backend.py @@ -1,4 +1,3 @@ -import pickle from typing import ( Any, Final, @@ -11,6 +10,9 @@ from psqlpy import ConnectionPool from psqlpy.exceptions import RustPSQLDriverPyBaseError from taskiq import AsyncResultBackend, TaskiqResult +from taskiq.abc.serializer import TaskiqSerializer +from taskiq.compat import model_dump, model_validate +from taskiq.serializers import PickleSerializer from taskiq_psqlpy.exceptions import ResultIsMissingError from taskiq_psqlpy.queries import ( @@ -34,12 +36,16 @@ def __init__( keep_results: bool = True, table_name: str = "taskiq_results", field_for_task_id: Literal["VarChar", "Text"] = "VarChar", + serializer: Optional[TaskiqSerializer] = None, **connect_kwargs: Any, ) -> None: """Construct new result backend. :param dsn: connection string to PostgreSQL. :param keep_results: flag to not remove results from Redis after reading. + :param table_name: name of the table to store results. + :param field_for_task_id: type of the field to store task_id. + :param serializer: serializer class to serialize/deserialize result from task. :param connect_kwargs: additional arguments for nats `ConnectionPool` class. """ self.dsn: Final = dsn @@ -47,6 +53,7 @@ def __init__( self.table_name: Final = table_name self.field_for_task_id: Final = field_for_task_id self.connect_kwargs: Final = connect_kwargs + self.serializer = serializer or PickleSerializer() self._database_pool: ConnectionPool @@ -93,7 +100,7 @@ async def set_result( ), parameters=[ task_id, - pickle.dumps(result), + self.serializer.dumpb(model_dump(result)), ], ) @@ -149,8 +156,9 @@ async def get_result( parameters=[task_id], ) - taskiq_result: Final = pickle.loads( # noqa: S301 - result_in_bytes, + taskiq_result: Final = model_validate( + TaskiqResult[_ReturnType], + self.serializer.loadb(result_in_bytes), ) if not with_logs: diff --git a/tests/conftest.py b/tests/conftest.py index 8791a10..fa38cb8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -45,7 +45,7 @@ def postgresql_dsn() -> str: """ return ( os.environ.get("POSTGRESQL_URL") - or "postgresql://postgres:postgres@localhost:5432/taskiqpsqlpy" + or "postgresql://akiselev:12345@localhost:5432/taskiqpsqlpy" ) diff --git a/tests/test_result_backend.py b/tests/test_result_backend.py index 28f2423..9a55217 100644 --- a/tests/test_result_backend.py +++ b/tests/test_result_backend.py @@ -2,6 +2,7 @@ from typing import Any, TypeVar import pytest +from pydantic import BaseModel from taskiq import TaskiqResult from taskiq_psqlpy.exceptions import ResultIsMissingError @@ -11,12 +12,10 @@ pytestmark = pytest.mark.anyio -class ResultForTest: +class ResultForTest(BaseModel): """Just test class for testing.""" - def __init__(self) -> None: - """Generates test class for result testing.""" - self.test_arg = uuid.uuid4() + test_arg: str = uuid.uuid4().hex @pytest.fixture @@ -137,7 +136,7 @@ async def test_success_backend_custom_result( result = await psqlpy_result_backend.get_result(task_id=task_id) assert ( - result.return_value.test_arg # type: ignore + result.return_value["test_arg"] # type: ignore == custom_taskiq_result.return_value.test_arg # type: ignore ) assert result.is_err == custom_taskiq_result.is_err @@ -158,3 +157,41 @@ async def test_success_backend_is_result_ready( ) assert await psqlpy_result_backend.is_result_ready(task_id=task_id) + + +async def test_test_success_backend_custom_result_set_same_task_id( + psqlpy_result_backend: PSQLPyResultBackend[_ReturnType], + custom_taskiq_result: TaskiqResult[_ReturnType], + task_id: str, +) -> None: + await psqlpy_result_backend.set_result( + task_id=task_id, + result=custom_taskiq_result, + ) + result = await psqlpy_result_backend.get_result(task_id=task_id) + + assert ( + result.return_value["test_arg"] # type: ignore + == custom_taskiq_result.return_value.test_arg # type: ignore + ) + + await psqlpy_result_backend.set_result( + task_id=task_id, + result=custom_taskiq_result, + ) + + another_taskiq_res_uuid = uuid.uuid4().hex + another_taskiq_res = TaskiqResult( + is_err=False, + log=None, + return_value=ResultForTest(test_arg=another_taskiq_res_uuid), + execution_time=0.1, + ) + + await psqlpy_result_backend.set_result( + task_id=task_id, + result=another_taskiq_res, # type: ignore[arg-type] + ) + result = await psqlpy_result_backend.get_result(task_id=task_id) + + assert result.return_value["test_arg"] == another_taskiq_res_uuid # type: ignore From 133b4ac8afdb1ade1913ef67ff9c80fc0e19ad6d Mon Sep 17 00:00:00 2001 From: "chandr-andr (Kiselev Aleksandr)" Date: Sat, 4 Jan 2025 14:27:18 +0800 Subject: [PATCH 2/4] Updated deps versions Signed-off-by: chandr-andr (Kiselev Aleksandr) --- poetry.lock | 233 +++++++++++++++++++++++++------------------------ pyproject.toml | 4 +- 2 files changed, 120 insertions(+), 117 deletions(-) diff --git a/poetry.lock b/poetry.lock index 35a17e3..79db3fd 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "annotated-types" @@ -300,8 +300,11 @@ name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" optional = false -python-versions = "*" -files = [] +python-versions = ">=3.7" +files = [ + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, +] [[package]] name = "eradicate" @@ -865,114 +868,114 @@ virtualenv = ">=20.10.0" [[package]] name = "psqlpy" -version = "0.8.4" +version = "0.8.7" description = "Async PostgreSQL driver for Python written in Rust" optional = false python-versions = ">=3.8" files = [ - {file = "psqlpy-0.8.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:edc59d4f8d9b8e4bc12ef75d8972a47abaa8a8a042f1e5dc885ab20ff272e164"}, - {file = "psqlpy-0.8.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5846da4902ae4b09def64a00304d5f9253f4db425e2b2b4faed329fba4950d17"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8586e9438c2d351d4c83c41a2b402183da9e5bdbca62df543ec2d3561548573e"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:994ef3d821e8405919d02b673d6f4e7b12076585c2de594d02dd344b94950389"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:037533d283aa96353c209d6359c93f075effa86c6906321c764b94c6c3e9ea62"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b0c62aaff67aec6a4607605a5ac3e2db5b53cb56ef22e3fa8264995621a2d30"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67fe9281f8c7024c349ca4ebc3b7fad79a0271b00e40052d9cace953be48ab2d"}, - {file = "psqlpy-0.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3676bc4d4c7c66579d5bae89ec0aa2ce6af48bf0e04faa73d8ee14297f9992"}, - {file = "psqlpy-0.8.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b06f24a01d0a92e238097107471aa3c9e5cd7b141fdd9a263e2c6ea7c88beb1c"}, - {file = "psqlpy-0.8.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fe661a7ab7aecfb3c93df25efb7362c753bdedc55ff146977a192ad09ede4b09"}, - {file = "psqlpy-0.8.4-cp310-none-win32.whl", hash = "sha256:b325bec5481c7168eb1563ea3664bd1f6e31cfb9e11579f38c6127cd5257bfc3"}, - {file = "psqlpy-0.8.4-cp310-none-win_amd64.whl", hash = "sha256:6dc379acf0992c1df453f7532a64b4e4feb8c3c4dfb9c4ceffd7ff84b4e6b206"}, - {file = "psqlpy-0.8.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:17f045074cbbb9f995b226d217f10e65a4499168538631d28febe6d2ae769b40"}, - {file = "psqlpy-0.8.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4b3ec2e8731d00b31b7853c6f6f83fb61b3685bdbb0c5bcf93fcfc94d5aac937"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf0a8da64a24b4b58812fa2b26abc5364dcd7966de2c35a307b1b2c5e82d723b"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2d54f79c27730e68eb1507f0681a43556ce9b8006a5ea805a59a409bc5cb9f73"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ae21945ee6514d428079aeb95aa975927233fba50b651ace83c3dbe87b17720"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a92d0709f28d474b4c441b0165aefe9e95a0998197f67b4ed67d1b1e23e7a12"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c76d2c153b0701b848ff848ba67e8374b23f11839efbf3fc8edad0c5bde8c01f"}, - {file = "psqlpy-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f8c5e6b7c92a9a6dd29b8769e9f73e2f935bd27bd297bee0a3928f96a4f35c2"}, - {file = "psqlpy-0.8.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f39749539076b83f00c25cd9ed972461ec2de2be35f887d891a9430b4854c564"}, - {file = "psqlpy-0.8.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8e806b71f0ba928c95c1f22810875ae653a17d1c98a22a936c392e60c08e0803"}, - {file = "psqlpy-0.8.4-cp311-none-win32.whl", hash = "sha256:0f5696f893244dd4583efc188db68f337b97fc5e574c45f63b510a1a8b092bb9"}, - {file = "psqlpy-0.8.4-cp311-none-win_amd64.whl", hash = "sha256:e3f1b6cc76459afd62a46a874f4ec4269d24a5ffcc823a1adb94f406f8e4c004"}, - {file = "psqlpy-0.8.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d8d4a17ead335095a060cb1d54391c8dc1870ce18af6b1ce1942df310f1a67de"}, - {file = "psqlpy-0.8.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:179a28a12f8bc3de21a9c04f608ad678dbc2976647b81eb2073aeb40c4b602c5"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:026be748099ad32313f7f72cb35d1cb54ecfacdf1b7a3fc52e9ff5cce26c869c"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3100b0db74073f5a1dee36d611a64b73625f879aebaf5c9f25868cdf24ca60ed"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8cb3f8e94411fc5493c47c275df12af6c8eadc6eafa0309226526ac4e209618"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18e2bf8b833aa34bd171c395a43adffd1c756002b759b1aeabba798a3f592562"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cbaececb78896170ccd378751aa17b703ca240a11d0093447527cac78b9a16f8"}, - {file = "psqlpy-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5e40d9d439c5fa1ded063cb909d2517b7efcebbf0d4faa0d5b3d3ad790b6629"}, - {file = "psqlpy-0.8.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fdf4ebf65fa6c33c1ca244617486707df69bfd4fd7234fc488d71d637dc73c6"}, - {file = "psqlpy-0.8.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8d265cb15895d2c68348f38f6cdc304af0ba4e697a124d1c9995530b294065f3"}, - {file = "psqlpy-0.8.4-cp312-none-win32.whl", hash = "sha256:7216ce411e8edf616b8b0c113293940c5bc7b321008eb66843ba2ca2eed114fa"}, - {file = "psqlpy-0.8.4-cp312-none-win_amd64.whl", hash = "sha256:a48305d60a5518515930441fd52bcb5a3362b7ee85e3ebf3f0e3db3aebc70f16"}, - {file = "psqlpy-0.8.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:c79b8623462138b69a11a60bd0d745b4e867ac1349b916144cb1401db7bec491"}, - {file = "psqlpy-0.8.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2d910c0a04267c49b8e28daa0281a5dfb766bca3d98a44a55f781342fb8b8792"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06f0525e4d1b2260bd1a8f9771f10fe5426abb7d9c63184d4cba8cd39c5fb74d"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d1be50bd72c55c617fcb4104c1fe4bfa28666a087eee9ff812bd10040740b547"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3763a1deafbbf3ea75ba6655987cb3b319e49bdac86fc589fd974aa4f285e032"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eb7819904292c36aa8dee1d2966ec77161acdcf33a6889e45cdaf1ef0a9799c"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7391629c5f5adb1f56aff67d3f598bb150d387cdaa38378b9f3b11e463977159"}, - {file = "psqlpy-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d7bfb50603410284d04e6b1d79457db2872b7368bb8027728eeb01ad6b108a0"}, - {file = "psqlpy-0.8.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a5e56e7731d06c415e9fcba85081c9f280b756a5970ac01f991ad81a248fae10"}, - {file = "psqlpy-0.8.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:75c0eac5ce6c4be06f5665855c9a23cdca42f25ea979b5d276f1cad1e07fba92"}, - {file = "psqlpy-0.8.4-cp313-none-win32.whl", hash = "sha256:2aa5ffd53880d4c7d044e9317b8cc50a8ce85fc5447a3e7858c4026471c6f198"}, - {file = "psqlpy-0.8.4-cp313-none-win_amd64.whl", hash = "sha256:077fe78f1905ae0e79d89fe0e4bc6d69883793089f9fb61efb6a3852036b7c2b"}, - {file = "psqlpy-0.8.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:9f76ea49932bf1f35c7a7025aeee7e0117e6ee0cf20a710a63ac40eb87a4ad38"}, - {file = "psqlpy-0.8.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c9c0fe6e2bf894ad61276fd7eff93653a90fa23c74ef6fa442c3824e81632677"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c22b69b4ff82befc7116b3e4cf6406fcdae354d46989a3a6a264e1030915aa6f"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d476f0bac47f528fa0949bd90b9c1613dbba4110a45559f9abb13244d8ffb9f8"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86faaeca79745a324282c8d7f577cb000f29c3f51994c6e1a5e99c1cbdf1a5e6"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fcd37590ae9ef77063498e877639979f9a379a4b87fe925bb29a035ee04be19"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a38f307dc188fec3b49cac0ed8b2819c70d37675e460460d1426470bfdcf51e2"}, - {file = "psqlpy-0.8.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2575ed88e104ba656e4b413c5deac970dcbc1c6282db3d501f58ad5a2b11f1e"}, - {file = "psqlpy-0.8.4-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:e0859717b7e7556c36f8be6cd368da0bbfa3ebee37ca3a34ed811a7581f5764a"}, - {file = "psqlpy-0.8.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac80c193b53fb3540d9eda0b41393bae6ba87bf117254949cd0f762fca5bac49"}, - {file = "psqlpy-0.8.4-cp38-none-win32.whl", hash = "sha256:8f21f8d802d47ea61e66c2ac1bd1a9aae0a06f5afc117a3c4f20c2e8a7e72012"}, - {file = "psqlpy-0.8.4-cp38-none-win_amd64.whl", hash = "sha256:5dd786f27c049f2a4adb22e5cd510d7c70db848908e1c201ad89e188ad02fc69"}, - {file = "psqlpy-0.8.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f92f00f5a8722851c3197fb629c1119b562a4c589dc10d101cb9be518a8ab3cb"}, - {file = "psqlpy-0.8.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8a9a06adf26ef2026ca507f36e88ddc94bdc66d0db23f2a7356606e0fd960cb1"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68f88324b821ccbd2c36a2588186d291ce6fa755872397e97fc353ed12510a17"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa5a4bc34e61a40acf33a67fac55b0c93b4679cb63133c609b377bdc3f0358d9"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c56575d27051f6b983a88dd585fcc0e483c6ef282f1359babcbdc2e1b6b244"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbf7f12a5de33f4c1887ce02ba5d893c6d2aabefce8d0c513db6fed293e0d699"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:668fcd931f2324e0d7f1520eaac42693e3591b4d7fd7ef022d46c1bfda5f6e8c"}, - {file = "psqlpy-0.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a39e2c74bdd77952a2c5e4538dbf61ab0bb0fe44cf729be8535f79b1e254a36"}, - {file = "psqlpy-0.8.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8d193269b40f24acafc1c2d791cb9ac3d46224679c6fc4b3bb21bd1f6aa8a545"}, - {file = "psqlpy-0.8.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:23221dbdd4ab8c5bca72922ddafac29e8e225c50f6597532db527c33f386ee60"}, - {file = "psqlpy-0.8.4-cp39-none-win32.whl", hash = "sha256:70f5d1aba095d2c03292160946f08e58eb82f3f7a87c5226ec1b2e8fdc2c2574"}, - {file = "psqlpy-0.8.4-cp39-none-win_amd64.whl", hash = "sha256:a524d3c557491d38e76f750e67c86b07c09052a94abd90377a22498f5aba7baf"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f19ad3a7d0f4373ee2d9c2b08b690d1abe513c29584b4dfe3eca0fe95586d7fb"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:e1ced62f8af9f52acd2572b14370565eb5b3cad7f5c71813858c0b1bc6e09d09"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf16d450ea0e6f643c8d69bbdae478349591277bec1a5b83ef1bf0f4d1833a9b"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c056f5e94c9d0aef6c84e70cd7c3d1d027c4c4f9cd70e7cc0f7c6087af227c7"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de01b42b117e128c98391203b806a4a946a2c8b5d8064fb70330696fffc1d7c5"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae88ec77acc51fe50f9c126d2f06cf5b3a7dc462c779d5767335893487c8268c"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:195df674607b9311d3099cd31e170ca4922c57e5416caf522c06886f32b38c49"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aea28b3e8da8bde2d6a1a37e06becaba41baccb38d7a1ba010eac9dad1f52fb5"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:8e4de1209241bed8a361fbcf63d0058a0876c23f884076978f86e9ff4845d459"}, - {file = "psqlpy-0.8.4-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:630ede8200d7890bdcc6baa68d8a76b5d1fb29fc3a2c58d34c69f2ea4e4b6b2d"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:255e5ea2ca44251945a6e21b7111e897c97126d6ba7e64c728987a5d2cb32c6e"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:f94c51f5478b104a3cd244a07187065a776e45079d6ebe437e16cc4db1a59444"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d38e31fe1fc4ab928430cfb98c651d16db9d1e93d3a97d03152a3fa799d7896"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ca751566d5f9116455f25049da270d3e6165ae018b8066c1024a376eb0c0a13c"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e68cbd80c99c5d5ae8770cf08352721553d195e351d4048af8a31c1d34764de6"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:26e023481661d4480bb5a977c219a90e6fccf2b46c1126854623b1de1898a932"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a279fe96a72c5452707adafa3c561153f844137e36dcea662fc6184c63ec3020"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3b236789b0ab124d375f89c3e49e25700779b04c9bcb7873f0690bef2883977"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:b00407af5b1f3e3d2cdb5e1281be04bc6e6e53de6c8a327271d4587871cbc5df"}, - {file = "psqlpy-0.8.4-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:474e4c2feb76bf2bbb4523a209b899c7b1e109ec6b31f09180e49ce3f1b56ed0"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:af798e26d2186c51176985108e01c0d313e0318eab4d628586138387f13b70c6"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:32b87f1c07604430763f3845d2bcbef8cbd81f12409b47379605b7c388580eb0"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e74bf6214151b508fbf81c8880b46d3d69a99f6535bbe3b9f6dd25527d0d7d"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:afc775a4b2b302907f0e4e8d5491d5f54b5f296f6aecc017165ffc2ea44c5a90"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c56d7e6eeb90985cdfa16bbcdbaa00866e069fb5de80fe07fb073020b1dabee"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa5af21db2b8537b186d0fd6d002a0d75a7f6414da6608f1fd7333117e9b7359"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ab038a212d8762bbf835c8c6ac7ed95d9acddfd192173106ec2210aa0c9b222"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e61221ce0ffd23e45b3be72cfe304520639861bc6e555c39dc0e060026ac5e56"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b0a3d79849fd869cfd487876f0980eb8acb901af796c39bfd3c79a6af6df94c"}, - {file = "psqlpy-0.8.4-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:491f69f00729a1b947e0b57486e6fbcac9f81b77d56ff60326f35acbcf1418ec"}, - {file = "psqlpy-0.8.4.tar.gz", hash = "sha256:debc306deae8e7cf87de57e414d2c8fa5ce84a694e1f87e5ea83c49a32363a6a"}, + {file = "psqlpy-0.8.7-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f60e88b5d6aa5d3f440b5951784f74253b2d3e69a584f1b3d063476242943b37"}, + {file = "psqlpy-0.8.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:752640b1f679289f443812e1756ed491c3d6c7913bac2991a12e45f52ac9c7af"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e2727d816c61164aaace1d1155728498f3508217911cf7292876cacd0dda665"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2ac9a1fe8b6ab30aaaafb12bbec6dfa2452634dd03797996a221858ace6e4815"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a1d90768271967bec1b86286b8a38e71e123fc8743caa5fca11cf0a73b2c7b6"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f0d6cf0310387453a70a075069e211f3ff2052181bbdaa76d59e7b57fd103ce"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3eef60bb63dbcf3dbbd04759e06994fd998353f6098a37ced0519d69736f242f"}, + {file = "psqlpy-0.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da3dc8de2a15a8ddec15db35a7742d83bb281959aaa8195912487884ae785b0e"}, + {file = "psqlpy-0.8.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3b15dce79d99602fa158e660994ebbb231a77aae76360a18ce2659e27cf34d84"}, + {file = "psqlpy-0.8.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c4ca916d578d16ed6bbb9d030b1267fa0953d2543704659948839d4e7ba4a0dd"}, + {file = "psqlpy-0.8.7-cp310-cp310-win32.whl", hash = "sha256:feffebf84658dabe52eca48c1f2b934120af96792c3d8735e3799b3b9ea370cc"}, + {file = "psqlpy-0.8.7-cp310-cp310-win_amd64.whl", hash = "sha256:27e20e24db6090c3f5032d1ac940c851dca5987e7090527e141305ed26f3a2a5"}, + {file = "psqlpy-0.8.7-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:587b379736f74721d177265353f6c9435e30f08907fb21a677502fd5a31b1ab2"}, + {file = "psqlpy-0.8.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4a231d6a9976b4613808acfc2ca68a4f5425891bf12068239ca5c1e3ee9635ad"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deac09e9f3f79327c98e659d7ed35e6b4de0b8c600dcc806e1efb69e2bd93208"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6f701dd59628fd109955c1baf2b76c66a3cf86f3f315988f4ddaae3ab403ad40"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:21dcdee367d500eb8a6f7780b86d8306d8f11a9ac0e98959842345730a2f9cc5"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:273366f8e66e282a5902ffc265c61794f9f242884730a959eb0bd498fa1bd1ed"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffde5f287980e842eec6a4af0b5864a28978889396d054e8eaa37f5aae6516dd"}, + {file = "psqlpy-0.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6f2a2c65e5bebed6107baed64942d4ba315e9a495c4b709bdfedd020cf676e"}, + {file = "psqlpy-0.8.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f12231fc2a1fe326b32fa93d7540f75fd68e9d916dcd8881d9bc61e94d3eaf0d"}, + {file = "psqlpy-0.8.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e2b460a55f7935a5d53a919143be1cfb8406fec2fa0e2d66fbf19c92179e4a8d"}, + {file = "psqlpy-0.8.7-cp311-cp311-win32.whl", hash = "sha256:15a8c0afddabe35e5c501d0af6d9098aa725c528214f806e33a2bcae952f2af7"}, + {file = "psqlpy-0.8.7-cp311-cp311-win_amd64.whl", hash = "sha256:d84e8ffe5aed5a5e5ff2103c96967b605bbb71a16d26606e32c28a1e94abb3b2"}, + {file = "psqlpy-0.8.7-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ecae2101876843446bd3a06d928dc811321776dca2c668411137d12686880656"}, + {file = "psqlpy-0.8.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f885531118bb6cfd02bc4a9150c9303d2c6ff822993b45c6ed1a7bfd1afc3e36"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:503746ee8d3a4ebf7f47fa14e5a2a112d9657267979ecf356876b1c00e5b626b"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8225b7f175cd77aa87f77d360e2e952ab3dabcc66dcc06548ef43295df8fcc33"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:489ce6e5581dd20aab1e53d0ebf3f5fecae4929d5214918cdb0f011ad912a5f1"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2a8d8ec9013dbc871672b763ebbad5f1736dc2aa71e1d667ba7d5bfca6ff626"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0449bd2ca76a943b8d923a9a666c8046665fc80ebfbffdf64e1f2d67423bf76d"}, + {file = "psqlpy-0.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93c8890fde3633b6f52b18a954bd14e23672843daaa9302f3b2340332facc985"}, + {file = "psqlpy-0.8.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c946bf2a868d8d6dcd2349e36e8c1f2933c1ed630b1d3b9f01ee67e31bd4c32b"}, + {file = "psqlpy-0.8.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:912865a07f11de8b59860ca9abc544cc77ac8b2e163a13348ed674363dffcd15"}, + {file = "psqlpy-0.8.7-cp312-cp312-win32.whl", hash = "sha256:bf2a46db0b9c3300e034ad565760a646f8f5b07d8e15b6c7b94fdc6cf3a1d0ac"}, + {file = "psqlpy-0.8.7-cp312-cp312-win_amd64.whl", hash = "sha256:dfc4c87df98d0d3a1be32f3cc4d7c4e3b9b542a557fc3339cdc2e5c2b2b1f51c"}, + {file = "psqlpy-0.8.7-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:a451f8d4b775f3df3b5f88d354a36b0a341119c902a8717c95f08023f2a3e1f6"}, + {file = "psqlpy-0.8.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c43edd1b04e465d87ef0596ec9a07db52f02260ccb4d76211bb6681dc9d369d6"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b50d96c7232970525f04ca4b77c0647ffea93d8d9ab28fdde19a101a50428a8"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:112eda28b4b312b2b9d58c01bc318f73949a7a9c99805aef2e04a5950232f319"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9dfaacb59324177219c833db062a243f333dd6d91f5c41f02bea096c620fc2b0"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:096712fa25bd6dcda8604d4351af06bffb13f4ede6b0a34e151d967df576f443"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b62763d95582d5a310b7b08a574eb324cdba740b6f5e4f56affd2a43121b54d"}, + {file = "psqlpy-0.8.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:600187ac8c233219fa59983713f9249d6d9287f6b0f6d75636c219a46d7bc2aa"}, + {file = "psqlpy-0.8.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b1da73c341da70a377406904fdf29aee85832af3538b5baadc441a7dd3fee24b"}, + {file = "psqlpy-0.8.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6aa44f890afc4076507a453dd4faf27a32e41f7fa952e659da94d5c1551d06d3"}, + {file = "psqlpy-0.8.7-cp313-cp313-win32.whl", hash = "sha256:3929b7292d7c642e6f8bb024c27c7c376789b54ef730a442bbd29df2c1c0b347"}, + {file = "psqlpy-0.8.7-cp313-cp313-win_amd64.whl", hash = "sha256:f48d6ff606db2fef2c5816e598cadc7b9349aa83118f896cd29875853fd83b4e"}, + {file = "psqlpy-0.8.7-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d97f8a683f05d38faa56a2165c822eb725447ab5e8b4d79bc972d6743ddc1d17"}, + {file = "psqlpy-0.8.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:92aaafef0bdd91f19466e268eacea8019a95c0dff2bae93f304c8d0d50652c6e"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:225293c56221ddbb1d580d2251ea61e4677783fe2a267ead4e751a479dc04321"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e668b5c4e51837baaa374ce869dee3ca8f5ae7f2ec819fc6bcb057a3a58269b4"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3de81b7abce2d0a398cb20814b7716ace4f62d82839b98150fb7f6cd92a308e0"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2043508609db80220cf4afa8f0ae49428be331c1b88e18af1642804e8c092ce3"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b4f22f4ccd0165075acdc565a505ce74737e2574e2c5452af79c2d1950f7924"}, + {file = "psqlpy-0.8.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcb925661e4b769a3d6710e5031c079e1eed888628d2fe9b7b9cfcd42f12ba4a"}, + {file = "psqlpy-0.8.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:03de165fc817408466903085e5b1465ac1b0985ae6b18bef0c2196690f23ffd9"}, + {file = "psqlpy-0.8.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f8011f7cd9083b65bf0f09bef25f5e4b6fab0cd9e15bbb48bff56548c78ed612"}, + {file = "psqlpy-0.8.7-cp38-cp38-win32.whl", hash = "sha256:2e6d4471645a7e9674e06d408729fd174709b1b7e24456425616210256714975"}, + {file = "psqlpy-0.8.7-cp38-cp38-win_amd64.whl", hash = "sha256:4e5b91b83a2d153dce8a8c0408e2dadc9f93820170a3d82575796b57badda02e"}, + {file = "psqlpy-0.8.7-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:d93c6f0a170995c1893e4860805eaa07046ba665047d5a2825ed05f76d96feb1"}, + {file = "psqlpy-0.8.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:79df75e711deb3b7cbc915e98f8e45a65df211d1bec12b158c4c12c98996b5e4"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:565ed39b316f3ee66af9237542c3620ced11869fa98560e8ab97e2cb080209c3"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:33f372433d30b4d82f69719ef70f2d80c41bc51b8d2f75d6718ebd20496481e5"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:079a9951418f4f5f75f6f75e308ced87f2f0ec4a438a61acc6bc35dca1fa070c"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:20646eb238e041af6874111dd45bf56d1cb1053c3fd59ab5cad07bcb3ea580e3"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:390934bb8bb2a3e133dc03281fe808b88f03c0ecaa97af0bf88167e7d798845b"}, + {file = "psqlpy-0.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de9aed62f87111c1615d2ccd646d950f91740c2a0dff80ea27f0deb9432a3d92"}, + {file = "psqlpy-0.8.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:00cdf118cd516a43c0473686eda79a3027faa1b79afabaf551338af3e7477f1e"}, + {file = "psqlpy-0.8.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0968a51d03a17cce922731748b3a1071bac6599363a9aef5bb338293e622f1c"}, + {file = "psqlpy-0.8.7-cp39-cp39-win32.whl", hash = "sha256:6eafbdb9b03db5ca2db19e7d3568346ebc65cbe851cb5a1181eab1e13ae51715"}, + {file = "psqlpy-0.8.7-cp39-cp39-win_amd64.whl", hash = "sha256:9d9808b92103ad7058ea19406a9e86ee510250c5ce093b06908e91e06c63e42c"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:859a781607785bd8e7a46ae2cfb84974c386f734817ae1e5cdf141628445dd7f"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c5d070dcf5e84baac3f5e31149f112c5330834c73e52133584b6da13ec9d89fe"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3ed7d278be41b730a72c0219e45b1de91399e0a08a525301e9d4d2e5cdcf179"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b4da8bb7c94a8b6f7d3f719156d8d407faec5b1ac2a901883c9df83859342ac7"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f48967f37a6643563d6cfb10796fafb6cc22a707b3491885ab8e66187cf6146d"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80612eb35c1d91e62f14e7be9fdeff7e0a9f017f7334a85b31b1b5fc829df761"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:addb9857d802944fa8c51ea1481fdba3e0dd19aa8d11b75f9002bf0b438f6234"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd0c8387009c8e627af0eecaa46a1546266f9d7263c3cb1a1f1c851188b5acdf"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0e8c3a3ceb53c3e728e8d0293951041a50053b0ce6981892174e01b80e864c07"}, + {file = "psqlpy-0.8.7-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:cd94077b6f6511fb8c87b8ef55854e9935fe15475562be095c5e82226d58ef6f"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:578637f29478136f219beac95b6ad867c40608dcc35d2c0f5473d4b4ca867b65"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:87d8bc35ce54696d2416801cdd9662e999c6d6ffd0cdee77ee7ccf2069c50bb3"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae93d353b546458e5aa31f993a88bd600932b27ca54f269477818559907525c3"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5030016f90521d3496ce52537aaf145f73ce0786306f215015f43b8883ba658d"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71748c94dc754c0cf659fd639338890e3b5308e84ea32dd4a247e11150b0ce60"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:027cb7eb6c5817fbfe253bd1703d59e0710213451c0ccf4128e8765324e7fdf7"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2b41265ed914a536d66944dee5c2fc189807bfae05a35d541f0ddb1ac53e7ee"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447b8de785805cac81677a2fd8f3d2ad8d0e66b89c66b952d1e1ca7bfdc9d33"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:37360884103c1a0977be9b7d48b83ae377a37727a302ed4695f62a228daa2a18"}, + {file = "psqlpy-0.8.7-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc2d1bf1f8721c7b17b91a71e510ff2db98a2758409febd49a237b834c092575"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:86ac1a3edfeca0a7c2a20bfcf7fa77ea76cb74e126c1c1040332f8049e983672"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:eb47deed2bd7c104f5676c62c9bd52c3561454f903c632cfb769015699890e95"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cc823f556846e94bb691f175191086c792a95eec196d32f4b9cd564c8ad0d2e"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a4cab6add99093fbfadc183715a45f6b443c8ee0738b75c84cfe09657fa972b1"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03774a1be5922892cc0c54e08fb27833c19fe7d294e75910f722bb5781cb2622"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94e4e8740aa920d3f8f96b5f40617e7410c482fec2e9be57852251090f290b27"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f7896592b74b996aac3954ee3555a060010c5c37774c4aff679390a24b3e770b"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9afd28f30084e51279077962506ed8a84346c384dff6d2111782a164ba887d5"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:304f3395ed930ce85a873169649a06057d1c63e91de657c7d6d4894cce6def6a"}, + {file = "psqlpy-0.8.7-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:df55e811d0802f0f56353e4b93eeac5be29ff042eda708ef9508ca892e4b4627"}, + {file = "psqlpy-0.8.7.tar.gz", hash = "sha256:510f3d66a99d40242224ac97f90dd8d19c91407ab6ad042cbf8d5864a4afe6ea"}, ] [[package]] @@ -1411,13 +1414,13 @@ pbr = ">=2.0.0" [[package]] name = "taskiq" -version = "0.11.7" +version = "0.11.10" description = "Distributed task queue with full async support" optional = false python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "taskiq-0.11.7-py3-none-any.whl", hash = "sha256:15f741ca03e812724985333a327a2344ab720e7d54daaa932e1d3df7639558da"}, - {file = "taskiq-0.11.7.tar.gz", hash = "sha256:dcb43960de0309b10bda814ce4da3963e532d50c132687a43edffa3f60da440a"}, + {file = "taskiq-0.11.10-py3-none-any.whl", hash = "sha256:2b656c34231bf6947a6020098c94f93d6c45d15688d9e6bb8b3fbf54088e7717"}, + {file = "taskiq-0.11.10.tar.gz", hash = "sha256:d3ce40ccf399b38aa656614ecab6e5bbcc222b61fee654927822fc97ef4418a6"}, ] [package.dependencies] @@ -1431,13 +1434,13 @@ taskiq_dependencies = ">=1.3.1,<2" typing-extensions = ">=3.10.0.0" [package.extras] -cbor = ["cbor2 (>=5.4.6,<6.0.0)"] +cbor = ["cbor2 (>=5,<6)"] metrics = ["prometheus_client (>=0,<1)"] msgpack = ["msgpack (>=1.0.7,<2.0.0)"] -orjson = ["orjson (>=3.9.9,<4.0.0)"] -reload = ["gitignore-parser (>=0,<1)", "watchdog (>=2.1.9,<3.0.0)"] +orjson = ["orjson (>=3,<4)"] +reload = ["gitignore-parser (>=0,<1)", "watchdog (>=4,<5)"] uv = ["uvloop (>=0.16.0,<1)"] -zmq = ["pyzmq (>=23.2.0,<24.0.0)"] +zmq = ["pyzmq (>=26,<27)"] [[package]] name = "taskiq-dependencies" @@ -1577,4 +1580,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.8.1" -content-hash = "44d5b0de1aba20f05a0997d4da0433dfb43abccce387a4d8671398ec7c857002" +content-hash = "72f6ee5f6bc15ee40caa7dd00920754308046f8026b7910f2f07f1f98e03ca25" diff --git a/pyproject.toml b/pyproject.toml index 61d3ebb..ba6808e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,8 +29,8 @@ keywords = [ [tool.poetry.dependencies] python = "^3.8.1" -psqlpy = "^0.8.4" -taskiq = "^0.11.0" +psqlpy = "^0.8.7" +taskiq = "^0.11.10" [tool.poetry.group.dev.dependencies] black = "^23.1.0" From 37a414423ec0a16687b294836b8e2220e9e52762 Mon Sep 17 00:00:00 2001 From: "chandr-andr (Kiselev Aleksandr)" Date: Sat, 4 Jan 2025 14:27:41 +0800 Subject: [PATCH 3/4] Fix Signed-off-by: chandr-andr (Kiselev Aleksandr) --- tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index fa38cb8..8791a10 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -45,7 +45,7 @@ def postgresql_dsn() -> str: """ return ( os.environ.get("POSTGRESQL_URL") - or "postgresql://akiselev:12345@localhost:5432/taskiqpsqlpy" + or "postgresql://postgres:postgres@localhost:5432/taskiqpsqlpy" ) From 95de8b05c71e3d4c0a26cefb0bc52067f23ad7cd Mon Sep 17 00:00:00 2001 From: "chandr-andr (Kiselev Aleksandr)" Date: Sat, 4 Jan 2025 14:28:33 +0800 Subject: [PATCH 4/4] poetry lock no update Signed-off-by: chandr-andr (Kiselev Aleksandr) --- poetry.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 79db3fd..fb3ae6e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1580,4 +1580,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.8.1" -content-hash = "72f6ee5f6bc15ee40caa7dd00920754308046f8026b7910f2f07f1f98e03ca25" +content-hash = "389f523846fb945f8876cb954ff695aeab4928f40d2ba6f4ade566a3e23a167f"