From f465705d471ad984d0b2e02ceca7219063152f6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 11 Sep 2024 10:11:10 -0600 Subject: [PATCH 01/49] packaging: Added a constraint on setuptools <= 70.3.0 to fix incompatibility with some dependencies (#2664) * packaging: Added a constraint on setuptools <= 70.3.0 to fix incompatibility with some dependencies * Make deptry happy --- poetry.lock | 209 +++++++++++++++++++++++++------------------------ pyproject.toml | 4 + 2 files changed, 112 insertions(+), 101 deletions(-) diff --git a/poetry.lock b/poetry.lock index 8744ad8fe..683c58543 100644 --- a/poetry.lock +++ b/poetry.lock @@ -129,17 +129,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.13" +version = "1.35.16" description = "The AWS SDK for Python" optional = true python-versions = ">=3.8" files = [ - {file = "boto3-1.35.13-py3-none-any.whl", hash = "sha256:6e220eae161a4c0ed21e2561edcb0fd9603fa621692c50bc099db318ed3e3ad4"}, - {file = "boto3-1.35.13.tar.gz", hash = "sha256:4af17bd7bada591ddaa835d774b242705210e5d45133e25bd73417daa42e53e7"}, + {file = "boto3-1.35.16-py3-none-any.whl", hash = "sha256:9c5b0ce4a25bb78d659478d1c552f1dbb7ff275aab3263bb41cdbef8bca28693"}, + {file = "boto3-1.35.16.tar.gz", hash = "sha256:9b96c210678cf430b16b49dee87db30f46044602bb9a605a465e1900f468a43f"}, ] [package.dependencies] -botocore = ">=1.35.13,<1.36.0" +botocore = ">=1.35.16,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -148,13 +148,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.13" +version = "1.35.16" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" files = [ - {file = "botocore-1.35.13-py3-none-any.whl", hash = "sha256:dd8a8bb1946187c8eb902a3b856d3b24df63917e4f2c61a6bce7f3ea9f112761"}, - {file = "botocore-1.35.13.tar.gz", hash = "sha256:f7ae62eab44d731a5ad8917788378316c79c7bceb530a8307ed0f3bca7037341"}, + {file = "botocore-1.35.16-py3-none-any.whl", hash = "sha256:3564a980d95ff2861a6ca74313173d8778aa659125c63cf49c93ad23896c63b1"}, + {file = "botocore-1.35.16.tar.gz", hash = "sha256:1b48c94e8a4bbe23143f3d1c21a32b9ffc7476b651ef42371ab45d678f6dbfbc"}, ] [package.dependencies] @@ -166,7 +166,7 @@ urllib3 = [ ] [package.extras] -crt = ["awscrt (==0.21.2)"] +crt = ["awscrt (==0.21.5)"] [[package]] name = "certifi" @@ -670,19 +670,19 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.15.4" +version = "3.16.0" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, - {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, + {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, + {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] -typing = ["typing-extensions (>=4.8)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "fs" @@ -738,69 +738,77 @@ sphinx-basic-ng = ">=1.0.0.beta2" [[package]] name = "greenlet" -version = "3.0.3" +version = "3.1.0" description = "Lightweight in-process concurrent programming" optional = false python-versions = ">=3.7" files = [ - {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, - {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, - {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, - {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, - {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, - {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, - {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, - {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, - {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, - {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, - {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, - {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, - {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, - {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, - {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, - {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, - {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, - {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, - {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, - {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, - {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, - {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, - {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, - {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, - {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, - {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, - {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, - {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, + {file = "greenlet-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a814dc3100e8a046ff48faeaa909e80cdb358411a3d6dd5293158425c684eda8"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a771dc64fa44ebe58d65768d869fcfb9060169d203446c1d446e844b62bdfdca"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e49a65d25d7350cca2da15aac31b6f67a43d867448babf997fe83c7505f57bc"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cd8518eade968bc52262d8c46727cfc0826ff4d552cf0430b8d65aaf50bb91d"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76dc19e660baea5c38e949455c1181bc018893f25372d10ffe24b3ed7341fb25"}, + {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0a5b1c22c82831f56f2f7ad9bbe4948879762fe0d59833a4a71f16e5fa0f682"}, + {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2651dfb006f391bcb240635079a68a261b227a10a08af6349cba834a2141efa1"}, + {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3e7e6ef1737a819819b1163116ad4b48d06cfdd40352d813bb14436024fcda99"}, + {file = "greenlet-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:ffb08f2a1e59d38c7b8b9ac8083c9c8b9875f0955b1e9b9b9a965607a51f8e54"}, + {file = "greenlet-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9730929375021ec90f6447bff4f7f5508faef1c02f399a1953870cdb78e0c345"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:713d450cf8e61854de9420fb7eea8ad228df4e27e7d4ed465de98c955d2b3fa6"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c3446937be153718250fe421da548f973124189f18fe4575a0510b5c928f0cc"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ddc7bcedeb47187be74208bc652d63d6b20cb24f4e596bd356092d8000da6d6"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44151d7b81b9391ed759a2f2865bbe623ef00d648fed59363be2bbbd5154656f"}, + {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cea1cca3be76c9483282dc7760ea1cc08a6ecec1f0b6ca0a94ea0d17432da19"}, + {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:619935a44f414274a2c08c9e74611965650b730eb4efe4b2270f91df5e4adf9a"}, + {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:221169d31cada333a0c7fd087b957c8f431c1dba202c3a58cf5a3583ed973e9b"}, + {file = "greenlet-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:01059afb9b178606b4b6e92c3e710ea1635597c3537e44da69f4531e111dd5e9"}, + {file = "greenlet-3.1.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:24fc216ec7c8be9becba8b64a98a78f9cd057fd2dc75ae952ca94ed8a893bf27"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d07c28b85b350564bdff9f51c1c5007dfb2f389385d1bc23288de51134ca303"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:243a223c96a4246f8a30ea470c440fe9db1f5e444941ee3c3cd79df119b8eebf"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26811df4dc81271033a7836bc20d12cd30938e6bd2e9437f56fa03da81b0f8fc"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9d86401550b09a55410f32ceb5fe7efcd998bd2dad9e82521713cb148a4a15f"}, + {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26d9c1c4f1748ccac0bae1dbb465fb1a795a75aba8af8ca871503019f4285e2a"}, + {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:cd468ec62257bb4544989402b19d795d2305eccb06cde5da0eb739b63dc04665"}, + {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a53dfe8f82b715319e9953330fa5c8708b610d48b5c59f1316337302af5c0811"}, + {file = "greenlet-3.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:28fe80a3eb673b2d5cc3b12eea468a5e5f4603c26aa34d88bf61bba82ceb2f9b"}, + {file = "greenlet-3.1.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:76b3e3976d2a452cba7aa9e453498ac72240d43030fdc6d538a72b87eaff52fd"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655b21ffd37a96b1e78cc48bf254f5ea4b5b85efaf9e9e2a526b3c9309d660ca"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6f4c2027689093775fd58ca2388d58789009116844432d920e9147f91acbe64"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76e5064fd8e94c3f74d9fd69b02d99e3cdb8fc286ed49a1f10b256e59d0d3a0b"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a4bf607f690f7987ab3291406e012cd8591a4f77aa54f29b890f9c331e84989"}, + {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037d9ac99540ace9424cb9ea89f0accfaff4316f149520b4ae293eebc5bded17"}, + {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:90b5bbf05fe3d3ef697103850c2ce3374558f6fe40fd57c9fac1bf14903f50a5"}, + {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:726377bd60081172685c0ff46afbc600d064f01053190e4450857483c4d44484"}, + {file = "greenlet-3.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:d46d5069e2eeda111d6f71970e341f4bd9aeeee92074e649ae263b834286ecc0"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81eeec4403a7d7684b5812a8aaa626fa23b7d0848edb3a28d2eb3220daddcbd0"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a3dae7492d16e85ea6045fd11cb8e782b63eac8c8d520c3a92c02ac4573b0a6"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b5ea3664eed571779403858d7cd0a9b0ebf50d57d2cdeafc7748e09ef8cd81a"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22f4e26400f7f48faef2d69c20dc055a1f3043d330923f9abe08ea0aecc44df"}, + {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13ff8c8e54a10472ce3b2a2da007f915175192f18e6495bad50486e87c7f6637"}, + {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9671e7282d8c6fcabc32c0fb8d7c0ea8894ae85cee89c9aadc2d7129e1a9954"}, + {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:184258372ae9e1e9bddce6f187967f2e08ecd16906557c4320e3ba88a93438c3"}, + {file = "greenlet-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:a0409bc18a9f85321399c29baf93545152d74a49d92f2f55302f122007cfda00"}, + {file = "greenlet-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9eb4a1d7399b9f3c7ac68ae6baa6be5f9195d1d08c9ddc45ad559aa6b556bce6"}, + {file = "greenlet-3.1.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a8870983af660798dc1b529e1fd6f1cefd94e45135a32e58bd70edd694540f33"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfcfb73aed40f550a57ea904629bdaf2e562c68fa1164fa4588e752af6efdc3f"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9482c2ed414781c0af0b35d9d575226da6b728bd1a720668fa05837184965b7"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d58ec349e0c2c0bc6669bf2cd4982d2f93bf067860d23a0ea1fe677b0f0b1e09"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd65695a8df1233309b701dec2539cc4b11e97d4fcc0f4185b4a12ce54db0491"}, + {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:665b21e95bc0fce5cab03b2e1d90ba9c66c510f1bb5fdc864f3a377d0f553f6b"}, + {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3c59a06c2c28a81a026ff11fbf012081ea34fb9b7052f2ed0366e14896f0a1d"}, + {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415b9494ff6240b09af06b91a375731febe0090218e2898d2b85f9b92abcda0"}, + {file = "greenlet-3.1.0-cp38-cp38-win32.whl", hash = "sha256:1544b8dd090b494c55e60c4ff46e238be44fdc472d2589e943c241e0169bcea2"}, + {file = "greenlet-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:7f346d24d74c00b6730440f5eb8ec3fe5774ca8d1c9574e8e57c8671bb51b910"}, + {file = "greenlet-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:db1b3ccb93488328c74e97ff888604a8b95ae4f35f4f56677ca57a4fc3a4220b"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cd313629ded43bb3b98737bba2f3e2c2c8679b55ea29ed73daea6b755fe8e7"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fad7a051e07f64e297e6e8399b4d6a3bdcad3d7297409e9a06ef8cbccff4f501"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3967dcc1cd2ea61b08b0b276659242cbce5caca39e7cbc02408222fb9e6ff39"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d45b75b0f3fd8d99f62eb7908cfa6d727b7ed190737dec7fe46d993da550b81a"}, + {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2d004db911ed7b6218ec5c5bfe4cf70ae8aa2223dffbb5b3c69e342bb253cb28"}, + {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9505a0c8579899057cbefd4ec34d865ab99852baf1ff33a9481eb3924e2da0b"}, + {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fd6e94593f6f9714dbad1aaba734b5ec04593374fa6638df61592055868f8b8"}, + {file = "greenlet-3.1.0-cp39-cp39-win32.whl", hash = "sha256:d0dd943282231480aad5f50f89bdf26690c995e8ff555f26d8a5b9887b559bcc"}, + {file = "greenlet-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:ac0adfdb3a21dc2a24ed728b61e72440d297d0fd3a577389df566651fcd08f97"}, + {file = "greenlet-3.1.0.tar.gz", hash = "sha256:b395121e9bbe8d02a750886f108d540abe66075e61e22f7353d9acb0b81be0f0"}, ] [package.extras] @@ -831,32 +839,36 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.4.0" +version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, - {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "importlib-resources" -version = "6.4.4" +version = "6.4.5" description = "Read resources from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.4.4-py3-none-any.whl", hash = "sha256:dda242603d1c9cd836c3368b1174ed74cb4049ecd209e7a1a0104620c18c5c11"}, - {file = "importlib_resources-6.4.4.tar.gz", hash = "sha256:20600c8b7361938dc0bb2d5ec0297802e575df486f5a544fa414da65e13721f7"}, + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] [package.dependencies] @@ -1078,13 +1090,13 @@ files = [ [[package]] name = "mdit-py-plugins" -version = "0.4.1" +version = "0.4.2" description = "Collection of plugins for markdown-it-py" optional = true python-versions = ">=3.8" files = [ - {file = "mdit_py_plugins-0.4.1-py3-none-any.whl", hash = "sha256:1020dfe4e6bfc2c79fb49ae4e3f5b297f5ccd20f010187acc52af2921e27dc6a"}, - {file = "mdit_py_plugins-0.4.1.tar.gz", hash = "sha256:834b8ac23d1cd60cec703646ffd22ae97b7955a6d596eb1d304be1e251ae499c"}, + {file = "mdit_py_plugins-0.4.2-py3-none-any.whl", hash = "sha256:0c673c3f889399a33b95e88d2f0d111b4447bdfea7f237dab2d488f459835636"}, + {file = "mdit_py_plugins-0.4.2.tar.gz", hash = "sha256:5f2cd1fdb606ddf152d37ec30e46101a60512bc0e5fa1a7002c36647b09e26b5"}, ] [package.dependencies] @@ -1497,13 +1509,13 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -1603,13 +1615,13 @@ cli = ["click (>=5.0)"] [[package]] name = "pytz" -version = "2024.1" +version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] @@ -1872,23 +1884,18 @@ crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "setuptools" -version = "74.1.2" +version = "70.3.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-74.1.2-py3-none-any.whl", hash = "sha256:5f4c08aa4d3ebcb57a50c33b1b07e94315d7fc7230f7115e47fc99776c8ce308"}, - {file = "setuptools-74.1.2.tar.gz", hash = "sha256:95b40ed940a1c67eb70fc099094bd6e99c6ee7c23aa2306f4d2697ba7916f9c6"}, + {file = "setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc"}, + {file = "setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] [[package]] name = "simpleeval" @@ -2601,4 +2608,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "34a80dcb1e59005ff2d6e534b2fed2cf683cf8c0b4a54ce5af6e779cf07090d0" +content-hash = "5ce14d58274c3f56d84c8787fefb42b26868bd191298df945fe99dc45e545fce" diff --git a/pyproject.toml b/pyproject.toml index d13255b57..2a5c80b88 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,9 @@ python-dotenv = ">=0.20" PyYAML = ">=6.0" referencing = ">=0.30.0" requests = ">=2.25.1" +# TODO: remove this constraint once we get rid of the `fs` dependency +# newer setuptools versions are incompatible with some dependencies (fs) +setuptools = "<=70.3.0" simpleeval = ">=0.9.13" simplejson = ">=3.17.6" sqlalchemy = ">=1.4,<3.0" @@ -252,6 +255,7 @@ types-requests = "requests" DEP002 = [ # Transitive constraints "numpy", + "setuptools", "urllib3", # Python version-specific dependencies "backports-datetime-fromisoformat", From 6b3869d875bda141c15c82d66c9ff213eef5c88c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 11 Sep 2024 10:21:25 -0600 Subject: [PATCH 02/49] fix: Properties dropped using `None` or `__NULL__` in stream maps are now also removed from the schema `required` array (#2663) * Mark property as required * Remove from `required` --- singer_sdk/mapper.py | 6 ++++++ tests/core/test_mapper.py | 2 +- tests/snapshots/mapped_stream/aliased_stream.jsonl | 2 +- tests/snapshots/mapped_stream/drop_property.jsonl | 2 +- .../snapshots/mapped_stream/drop_property_null_string.jsonl | 2 +- tests/snapshots/mapped_stream/flatten_all.jsonl | 2 +- tests/snapshots/mapped_stream/flatten_depth_0.jsonl | 2 +- tests/snapshots/mapped_stream/flatten_depth_1.jsonl | 2 +- tests/snapshots/mapped_stream/keep_all_fields.jsonl | 2 +- tests/snapshots/mapped_stream/map_and_flatten.jsonl | 2 +- tests/snapshots/mapped_stream/no_map.jsonl | 2 +- tests/snapshots/mapped_stream/record_to_column.jsonl | 2 +- tests/snapshots/mapped_stream/sourced_stream_1.jsonl | 2 +- .../mapped_stream/sourced_stream_1_null_string.jsonl | 2 +- tests/snapshots/mapped_stream/sourced_stream_2.jsonl | 2 +- 15 files changed, 20 insertions(+), 14 deletions(-) diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index 0214fe9e9..a0de52e01 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -484,6 +484,12 @@ def _init_functions_and_schema( # noqa: PLR0912, PLR0915, C901 ) raise StreamMapConfigError(msg) transformed_schema["properties"].pop(prop_key, None) + if "required" in transformed_schema: + transformed_schema["required"] = [ + item + for item in transformed_schema["required"] + if item != prop_key + ] stream_map_parsed.append((prop_key, prop_def, None)) elif isinstance(prop_def, str): default_type: th.JSONTypeHelper = th.StringType() # Fallback to string diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index 2d691725b..96c277436 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -610,7 +610,7 @@ class MappedStream(Stream): name = "mystream" schema = PropertiesList( - Property("email", StringType), + Property("email", StringType, required=True), Property("count", IntegerType), Property( "user", diff --git a/tests/snapshots/mapped_stream/aliased_stream.jsonl b/tests/snapshots/mapped_stream/aliased_stream.jsonl index 8956e8020..31534b633 100644 --- a/tests/snapshots/mapped_stream/aliased_stream.jsonl +++ b/tests/snapshots/mapped_stream/aliased_stream.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"aliased_stream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"aliased_stream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"aliased_stream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"aliased_stream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"aliased_stream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/drop_property.jsonl b/tests/snapshots/mapped_stream/drop_property.jsonl index 9b6c9b61a..f9d032b74 100644 --- a/tests/snapshots/mapped_stream/drop_property.jsonl +++ b/tests/snapshots/mapped_stream/drop_property.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":[]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/drop_property_null_string.jsonl b/tests/snapshots/mapped_stream/drop_property_null_string.jsonl index 9b6c9b61a..f9d032b74 100644 --- a/tests/snapshots/mapped_stream/drop_property_null_string.jsonl +++ b/tests/snapshots/mapped_stream/drop_property_null_string.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":[]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/flatten_all.jsonl b/tests/snapshots/mapped_stream/flatten_all.jsonl index 79f981ac5..cb0a6d157 100644 --- a/tests/snapshots/mapped_stream/flatten_all.jsonl +++ b/tests/snapshots/mapped_stream/flatten_all.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub__num":{"type":["integer","null"]},"user__sub__custom_obj":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub__num":{"type":["integer","null"]},"user__sub__custom_obj":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user__id":1,"user__sub__num":1,"user__sub__custom_obj":"obj-hello","user__some_numbers":"[3.14,2.718]"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user__id":2,"user__sub__num":2,"user__sub__custom_obj":"obj-world","user__some_numbers":"[10.32,1.618]"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user__id":3,"user__sub__num":3,"user__sub__custom_obj":"obj-hello","user__some_numbers":"[1.414,1.732]"},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/flatten_depth_0.jsonl b/tests/snapshots/mapped_stream/flatten_depth_0.jsonl index aaec30f1b..3b7964a4c 100644 --- a/tests/snapshots/mapped_stream/flatten_depth_0.jsonl +++ b/tests/snapshots/mapped_stream/flatten_depth_0.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/flatten_depth_1.jsonl b/tests/snapshots/mapped_stream/flatten_depth_1.jsonl index 4dd18f86d..d289099b9 100644 --- a/tests/snapshots/mapped_stream/flatten_depth_1.jsonl +++ b/tests/snapshots/mapped_stream/flatten_depth_1.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user__id":1,"user__sub":"{\"num\":1,\"custom_obj\":\"obj-hello\"}","user__some_numbers":"[3.14,2.718]"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user__id":2,"user__sub":"{\"num\":2,\"custom_obj\":\"obj-world\"}","user__some_numbers":"[10.32,1.618]"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user__id":3,"user__sub":"{\"num\":3,\"custom_obj\":\"obj-hello\"}","user__some_numbers":"[1.414,1.732]"},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/keep_all_fields.jsonl b/tests/snapshots/mapped_stream/keep_all_fields.jsonl index 7c9d13622..4b6ffcfb2 100644 --- a/tests/snapshots/mapped_stream/keep_all_fields.jsonl +++ b/tests/snapshots/mapped_stream/keep_all_fields.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]},"email_hash":{"type":["string","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]},"email_hash":{"type":["string","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]},"email_hash":"c160f8cc69a4f0bf2b0362752353d060"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]},"email_hash":"4b9bb80620f03eb3719e0a061c14283d"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]},"email_hash":"426b189df1e2f359efe6ee90f2d2030f"},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/map_and_flatten.jsonl b/tests/snapshots/mapped_stream/map_and_flatten.jsonl index 5bc3b7f42..06e1576b9 100644 --- a/tests/snapshots/mapped_stream/map_and_flatten.jsonl +++ b/tests/snapshots/mapped_stream/map_and_flatten.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub__num":{"type":["integer","null"]},"user__sub__custom_obj":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]},"email_hash":{"type":["string","null"]}},"type":"object"},"key_properties":["email_hash"]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user__id":{"type":["integer","null"]},"user__sub__num":{"type":["integer","null"]},"user__sub__custom_obj":{"type":["string","null"]},"user__some_numbers":{"type":["string","null"]},"email_hash":{"type":["string","null"]}},"type":"object","required":["email"]},"key_properties":["email_hash"]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user__id":1,"user__sub__num":1,"user__sub__custom_obj":"obj-hello","user__some_numbers":"[3.14,2.718]","email_hash":"c160f8cc69a4f0bf2b0362752353d060"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user__id":2,"user__sub__num":2,"user__sub__custom_obj":"obj-world","user__some_numbers":"[10.32,1.618]","email_hash":"4b9bb80620f03eb3719e0a061c14283d"},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user__id":3,"user__sub__num":3,"user__sub__custom_obj":"obj-hello","user__some_numbers":"[1.414,1.732]","email_hash":"426b189df1e2f359efe6ee90f2d2030f"},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/no_map.jsonl b/tests/snapshots/mapped_stream/no_map.jsonl index aaec30f1b..3b7964a4c 100644 --- a/tests/snapshots/mapped_stream/no_map.jsonl +++ b/tests/snapshots/mapped_stream/no_map.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/record_to_column.jsonl b/tests/snapshots/mapped_stream/record_to_column.jsonl index 622f5f23b..3ee82a85f 100644 --- a/tests/snapshots/mapped_stream/record_to_column.jsonl +++ b/tests/snapshots/mapped_stream/record_to_column.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"_data":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":["object","null"]}}},"key_properties":[]} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"_data":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":["object","null"],"required":["email"]}}},"key_properties":[]} {"type":"RECORD","stream":"mystream","record":{"_data":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"_data":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"mystream","record":{"_data":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/sourced_stream_1.jsonl b/tests/snapshots/mapped_stream/sourced_stream_1.jsonl index d5dac940b..9e841394b 100644 --- a/tests/snapshots/mapped_stream/sourced_stream_1.jsonl +++ b/tests/snapshots/mapped_stream/sourced_stream_1.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"sourced_stream_1","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"sourced_stream_1","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/sourced_stream_1_null_string.jsonl b/tests/snapshots/mapped_stream/sourced_stream_1_null_string.jsonl index d5dac940b..9e841394b 100644 --- a/tests/snapshots/mapped_stream/sourced_stream_1_null_string.jsonl +++ b/tests/snapshots/mapped_stream/sourced_stream_1_null_string.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"sourced_stream_1","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"sourced_stream_1","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_1","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} diff --git a/tests/snapshots/mapped_stream/sourced_stream_2.jsonl b/tests/snapshots/mapped_stream/sourced_stream_2.jsonl index 530c2c31f..7d9efc5e2 100644 --- a/tests/snapshots/mapped_stream/sourced_stream_2.jsonl +++ b/tests/snapshots/mapped_stream/sourced_stream_2.jsonl @@ -1,5 +1,5 @@ {"type":"STATE","value":{}} -{"type":"SCHEMA","stream":"sourced_stream_2","schema":{"properties":{"email":{"type":["string","null"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object"},"key_properties":[]} +{"type":"SCHEMA","stream":"sourced_stream_2","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} {"type":"RECORD","stream":"sourced_stream_2","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_2","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} {"type":"RECORD","stream":"sourced_stream_2","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} From 998083aa3178d8062f7bcb5d089107a8fd41475b Mon Sep 17 00:00:00 2001 From: Greg Koutsimpogiorgos <38937533+gregkoutsimp@users.noreply.github.com> Date: Wed, 11 Sep 2024 20:55:14 +0200 Subject: [PATCH 03/49] fix: Mapped datetime values are now typed as `date-time` strings in the schema message (#2665) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * check for date and datetime in stream_maps * expr.endswith(".date()") * Update mapper.py --------- Co-authored-by: Greg Koutsimpogiorgos Co-authored-by: Edgar Ramírez Mondragón <16805946+edgarrmondragon@users.noreply.github.com> --- singer_sdk/mapper.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index a0de52e01..c222acc67 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -359,7 +359,7 @@ def _eval( return result - def _eval_type( + def _eval_type( # noqa: PLR0911 self, expr: str, default: th.JSONTypeHelper | None = None, @@ -398,6 +398,12 @@ def _eval_type( if expr.startswith("bool("): return th.BooleanType() + if expr.startswith("datetime.date") or expr.endswith(".date()"): + return th.DateType() + + if expr.startswith("datetime.datetime"): + return th.DateTimeType() + return th.StringType() if expr[0] == "'" and expr[-1] == "'" else default def _init_functions_and_schema( # noqa: PLR0912, PLR0915, C901 From 170f5bc512aab088560d90e6c646c53be30986c9 Mon Sep 17 00:00:00 2001 From: ReubenFrankel <60552974+ReubenFrankel@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:00:34 +0100 Subject: [PATCH 04/49] refactor: Remove non-functional `record-flattening` capability (#2666) * Document missing `schema-flattening` base capability * Remove unused `record-flattening` capability --- .../target-template/{{cookiecutter.target_id}}/meltano.yml | 2 +- docs/capabilities.rst | 2 +- singer_sdk/helpers/capabilities.py | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml index dab8bf213..dc1a71bc5 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/meltano.yml @@ -21,7 +21,7 @@ plugins: capabilities: - about - stream-maps - - record-flattening + - schema-flattening # TODO: Declare settings and their types here: settings: diff --git a/docs/capabilities.rst b/docs/capabilities.rst index de3565777..b71df4c67 100644 --- a/docs/capabilities.rst +++ b/docs/capabilities.rst @@ -14,6 +14,7 @@ The following capabilities are supported by default. .. autoattribute:: PluginCapabilities.ABOUT .. autoattribute:: PluginCapabilities.BATCH .. autoattribute:: PluginCapabilities.STREAM_MAPS +.. autoattribute:: PluginCapabilities.FLATTENING ======================== Custom base capabilities @@ -60,5 +61,4 @@ The following capabilities have to be implemented in the target. .. autoattribute:: TargetCapabilities.SOFT_DELETE .. autoattribute:: TargetCapabilities.HARD_DELETE .. autoattribute:: TargetCapabilities.DATATYPE_FAILSAFE -.. autoattribute:: TargetCapabilities.RECORD_FLATTENING .. autoattribute:: TargetCapabilities.TARGET_SCHEMA diff --git a/singer_sdk/helpers/capabilities.py b/singer_sdk/helpers/capabilities.py index 3445c5bc6..76d7fcffb 100644 --- a/singer_sdk/helpers/capabilities.py +++ b/singer_sdk/helpers/capabilities.py @@ -365,9 +365,6 @@ class TargetCapabilities(CapabilitiesEnum): #: Fail safe for unknown JSON Schema types. DATATYPE_FAILSAFE = "datatype-failsafe" - #: Allow denesting complex properties. - RECORD_FLATTENING = "record-flattening" - #: Allow setting the target schema. TARGET_SCHEMA = "target-schema" From d4a27a34821178c49f45ed91fe98c51a63557a9c Mon Sep 17 00:00:00 2001 From: ReubenFrankel <60552974+ReubenFrankel@users.noreply.github.com> Date: Fri, 13 Sep 2024 19:08:41 +0100 Subject: [PATCH 05/49] feat: Support stream aliasing of `BATCH` messages via stream maps (#2667) * Support stream aliasing of `BATCH` messages via stream maps * Ensure support at target * Satisfy pre-commit --- singer_sdk/streams/core.py | 31 ++++++++++++++----- singer_sdk/target_base.py | 16 +++++----- tests/core/test_mapper.py | 16 ++++++++++ .../mapped_stream/aliased_stream_batch.jsonl | 5 +++ 4 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 tests/snapshots/mapped_stream/aliased_stream_batch.jsonl diff --git a/singer_sdk/streams/core.py b/singer_sdk/streams/core.py index e65f577f2..c65bc87dc 100644 --- a/singer_sdk/streams/core.py +++ b/singer_sdk/streams/core.py @@ -880,6 +880,27 @@ def _generate_record_messages( time_extracted=utc_now(), ) + def _generate_batch_messages( + self, + encoding: BaseBatchFileEncoding, + manifest: list[str], + ) -> t.Generator[SDKBatchMessage, None, None]: + """Write out a BATCH message. + + Args: + encoding: The encoding to use for the batch. + manifest: A list of filenames for the batch. + + Yields: + Batch message objects. + """ + for stream_map in self.stream_maps: + yield SDKBatchMessage( + stream=stream_map.stream_alias, + encoding=encoding, + manifest=manifest, + ) + def _write_record_message(self, record: types.Record) -> None: """Write out a RECORD message. @@ -902,13 +923,9 @@ def _write_batch_message( encoding: The encoding to use for the batch. manifest: A list of filenames for the batch. """ - self._tap.write_message( - SDKBatchMessage( - stream=self.name, - encoding=encoding, - manifest=manifest, - ), - ) + for batch_message in self._generate_batch_messages(encoding, manifest): + self._tap.write_message(batch_message) + self._is_state_flushed = False def _log_metric(self, point: metrics.Point) -> None: diff --git a/singer_sdk/target_base.py b/singer_sdk/target_base.py index 22ad28176..8907b6201 100644 --- a/singer_sdk/target_base.py +++ b/singer_sdk/target_base.py @@ -462,14 +462,16 @@ def _process_batch_message(self, message_dict: dict) -> None: Args: message_dict: TODO """ - sink = self.get_sink(message_dict["stream"]) - + stream_name = message_dict["stream"] encoding = BaseBatchFileEncoding.from_dict(message_dict["encoding"]) - sink.process_batch_files( - encoding, - message_dict["manifest"], - ) - self._handle_max_record_age() + + for stream_map in self.mapper.stream_maps[stream_name]: + sink = self.get_sink(stream_map.stream_alias) + sink.process_batch_files( + encoding, + message_dict["manifest"], + ) + self._handle_max_record_age() # Sink drain methods diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index 96c277436..abec1c7ff 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -657,6 +657,9 @@ def get_records(self, context): # noqa: ARG002 }, } + def get_batches(self, batch_config, context): # noqa: ARG002 + yield batch_config.encoding, ["file:///tmp/stream.json.gz"] + class MappedTap(Tap): """A tap with mapped streams.""" @@ -752,6 +755,19 @@ def discover_streams(self): "aliased_stream.jsonl", id="aliased_stream", ), + pytest.param( + {"mystream": {"__alias__": "aliased_stream"}}, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "batch_config": { + "encoding": {"format": "jsonl", "compression": "gzip"}, + "storage": {"root": "file:///tmp"}, + }, + }, + "aliased_stream_batch.jsonl", + id="aliased_stream_batch", + ), pytest.param( {}, {"flattening_enabled": True, "flattening_max_depth": 0}, diff --git a/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl b/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl new file mode 100644 index 000000000..c28e8b9e2 --- /dev/null +++ b/tests/snapshots/mapped_stream/aliased_stream_batch.jsonl @@ -0,0 +1,5 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"aliased_stream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"BATCH","stream":"aliased_stream","encoding":{"format":"jsonl","compression":"gzip"},"manifest":["file:///tmp/stream.json.gz"]} +{"type":"STATE","value":{}} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} From f0b79e8aa1b044e7ef47db082ec8063a23e84cd1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 08:15:01 -0600 Subject: [PATCH 06/49] chore(deps-dev): bump types-pytz from 2024.1.0.20240417 to 2024.2.0.20240913 in the development-dependencies group (#2672) chore(deps-dev): bump types-pytz in the development-dependencies group Bumps the development-dependencies group with 1 update: [types-pytz](https://github.com/python/typeshed). Updates `types-pytz` from 2024.1.0.20240417 to 2024.2.0.20240913 - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-pytz dependency-type: direct:development update-type: version-update:semver-minor dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 683c58543..da7c6ec99 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2468,13 +2468,13 @@ referencing = "*" [[package]] name = "types-pytz" -version = "2024.1.0.20240417" +version = "2024.2.0.20240913" description = "Typing stubs for pytz" optional = false python-versions = ">=3.8" files = [ - {file = "types-pytz-2024.1.0.20240417.tar.gz", hash = "sha256:6810c8a1f68f21fdf0f4f374a432487c77645a0ac0b31de4bf4690cf21ad3981"}, - {file = "types_pytz-2024.1.0.20240417-py3-none-any.whl", hash = "sha256:8335d443310e2db7b74e007414e74c4f53b67452c0cb0d228ca359ccfba59659"}, + {file = "types-pytz-2024.2.0.20240913.tar.gz", hash = "sha256:4433b5df4a6fc587bbed41716d86a5ba5d832b4378e506f40d34bc9c81df2c24"}, + {file = "types_pytz-2024.2.0.20240913-py3-none-any.whl", hash = "sha256:a1eebf57ebc6e127a99d2fa2ba0a88d2b173784ef9b3defcc2004ab6855a44df"}, ] [[package]] From be8b1013aabf20fe13b3b479687fe70e947be3d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 14:16:19 +0000 Subject: [PATCH 07/49] chore(deps): bump backports-datetime-fromisoformat from 2.0.1 to 2.0.2 in the runtime-dependencies group (#2673) chore(deps): bump backports-datetime-fromisoformat Bumps the runtime-dependencies group with 1 update: [backports-datetime-fromisoformat](https://github.com/movermeyer/backports.datetime_fromisoformat). Updates `backports-datetime-fromisoformat` from 2.0.1 to 2.0.2 - [Release notes](https://github.com/movermeyer/backports.datetime_fromisoformat/releases) - [Changelog](https://github.com/movermeyer/backports.datetime_fromisoformat/blob/main/CHANGELOG.md) - [Commits](https://github.com/movermeyer/backports.datetime_fromisoformat/compare/v2.0.1...v2.0.2) --- updated-dependencies: - dependency-name: backports-datetime-fromisoformat dependency-type: direct:production update-type: version-update:semver-patch dependency-group: runtime-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 80 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 32 deletions(-) diff --git a/poetry.lock b/poetry.lock index da7c6ec99..df697b5ce 100644 --- a/poetry.lock +++ b/poetry.lock @@ -68,42 +68,58 @@ files = [ [[package]] name = "backports-datetime-fromisoformat" -version = "2.0.1" +version = "2.0.2" description = "Backport of Python 3.11's datetime.fromisoformat" optional = false python-versions = ">3" files = [ - {file = "backports-datetime-fromisoformat-2.0.1.tar.gz", hash = "sha256:1b6afca7f47019c22df43062cde73c1af65fbdebc66520f352c690d52fd27127"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b739ccd3f36244f618f1fbc21d89894d9dc9d1d75a68762fcf917d433df38ae3"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:afd072ca32f2ca4e838e0f7b61a56168d98837ee9a182c567a49a834e07c2b98"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a136d85f8b1db4747aa9e56a8caa0ba77c5c25b761b18e2169ea7b1b516f012"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d3a0579958ade7db62c8238163e05d46a4de61c99cebb40031ed7409a44d5f6"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:199df62af8feff5da0f4953fdc4a6994bcd7dbfe1db95901d8b93d05feda2ab5"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afe32e60a471831058ede14fc226d9f14120e6dc67d66fbbd36e1724826ad70b"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:a1ba7e226a9694b20b713867f71b5ed2f662603c39875f14f968608d331fc96a"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:403f155deecbe94d43d0679a74abb5c9ac441422a9ececcfde030fb133865659"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4d2ee049997d3aa2e714489cb3c34864fb0f25786e7a4ff04ac9d82af58b453"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:20aa422769af9f72ca41d83238d4a3a008d6cd74bcff0a08befb11b0018d6aa5"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8ea8d85c3c9afa4ad51b6644d26516d43493f44c2131c12a2ba959433f4417f6"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:812b8c34e88a7d9615c604f1a0473a4e6d664aba94086bffb0c55627f9e3fb68"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:df5365930320b7a9d404cd6f7bc13988e28355e812aa42e21aa5c93443dcdd2e"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:fe3e3968c8dce4a44da2da81a6031e992a4ee62d130c2536696d215a4db2ce3c"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:36a4abb678ab0d6a1965d70e21e424bcf7a52086a7afb1c5f13243a3d44fa2dd"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96b7e806ade09a91d8ce195c197fc799d8fbe6b8ea9cde21f8a01f1090e51e33"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:002a77bd4f549ff5e80f1ef4a9b69982746dd6190786b90abe3d9c69c9883ce4"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:7b4ad0013a96b656ebf85079921ffb211623a1e28ff4981b3927690a2ed6df54"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:065421723e735ce8f68dbb4486f07562ce8556ed543ceaa012189b9aa209f303"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a4bf1bec08bc84095ee379202466c948fe12cff1442f58ee1a91fac4c5164c97"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1836aff09b8317e179cc7288856b61a450515d4b411f0ab723dc9692dfa5362e"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:815f85a581b142bcf34632c3ce26f7e21003f101ce88b5649631330e334bbe35"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a6986cfd3bc40b41465a6c54c18a30ca8110333d0b71f6062af136db11c8ff0"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:82741e732d71f78b44a8c3b95f33b3630e7bfbdb02e3fede3938cdf15d5b6a83"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4eac27abb51ee84e08d1dd1e908c16cae2078c217ff5b54092e6cb92107b4c6c"}, - {file = "backports_datetime_fromisoformat-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:3b730d72061523be9600bcd281ef353f7f73b1df095adbbdc364aac8f430c44c"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e8f28f4a68539192473f427ed86794931502d186e2fffa1926250550c1335a"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0cef151f1df77e413dc179607edb5bee11949ca5890e81c0bb742d96fec753fe"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c28c95d6df2a44fa3540e18e484596c03e8ff7112e2f93b664f482fe3a88720b"}, - {file = "backports_datetime_fromisoformat-2.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91042b53de903e3725209ad6d69b6994ae4819614c0decd62d05dfea23f35e2b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:09e70210726a70f3dd02ab9725bf2fcf469bda6d7554ea955588202e43e45b7d"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:ec971f93353e0ee957b3bbb037d58371331eedb9bee1b6676a866f8be97289a4"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:191b0d327838eb21818e94a66b89118c086ada8f77ac9e6161980ef486fe0cbb"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00441807d47dec7b89acafaa6570f561c43f5c7b7934d86f101b783a365a0f0c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba0af8719e161ce2fa5f5e426cceef1ff04b611c69a61636c8a7bf25d687cfa0"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5afc32e1cdac293b054af04187d4adafcaceca99e12e5ff7807aee08074d85cb"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:70b044fdd274e32ece726d30b1728b4a21bc78fed0be6294091c6f04228b39ec"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6f493622b06e23e10646df7ea23e0d8350e8b1caccb5509ea82f8c3e64db32c7"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:55f59c88511dd15dabccf7916cbf23f8610203ac026454588084ddabf46127ee"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:65ca1f21319d78145456a70301396483ceebf078353641233494ea548ccc47db"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:79fc695afd66989f28e73de0ad91019abad789045577180dd482b6ede5bdca1e"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019a87bd234734c2badb4c3e1ce4e807c5f2081f398a45a320e0c4919e5cee13"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea2b77e8810b691f1dd347d5c3d4ad829d18a9e81a04a0ebbc958d431967db31"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:944c987b777d7a81d97c94cdee2a8597bf6bdc94090094689456d3b02760cb73"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:30a2ab8c1fe4eb0013e7fcca29906fbe54e89f9120731ea71032b048dcf2fa17"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e23b602892827e15b1b4f94c61d4872b03b5d13417344d9a8daec80277244a32"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64ec1ee18bc839847b067ab21a34a27e0d2cc4c6d041e4b05218cf6fed787740"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:54a3df9d6ae0e64b7677b9e3bba4fc7dce3ad56a3fa6bd66fb26796f8911de67"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:e54fa5663efcba6122bca037fd49220b7311e94cf6cc72e2f2a6f5d05c700bef"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00ecff906ed4eb19808d8e4f0b141c14a1963d3688ba318c9e00aa7da7f71301"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e85f1ad56e2bcb24408e420de5508be47e54b0912ebe1325134e71837ec23a08"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:36d5cbece09dff2a3f8f517f3cda64f2ccec56db07808714b1f122326cd76fbd"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d47e186dcc366e6063248730a137a90de0472b2aaa5047ef39104fcacbcbcdbe"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:3e9c81c6acc21953ffa9a627f15c4afcdbce6e456ca1d03e0d6dbf131429bd56"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5a2574f4b542b9679db2b8a786c779249d2d5057dad01f9433cfb79a921da92c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:e62aa2eb6dc87a76a29b88601747925db439f793de7a8d2bbca4355e805088a6"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:964ec2d2c23908e96f1064560def1547b355e33e7c1ab418265e7e6242d25841"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8003f0cebeb6a5c47a1a871d0d09897d3dd54a9e1bcbe313f3e0463d470eed97"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c88e6660e1fb96476cb9df17d6f5002a2fb5c87546d62b2daa3642aa537e144"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7124cda6acdc66755df916c1f52b4e2e9cad85591d40bcd4a80341144fd98b32"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c2b0a4a407479964b3f79fde080aad066fe64a350a3fcbb729d3c44b0db21240"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:5616519470bc8131429266a869c3c5eeee5817a9a8357e2dd9c521383b774d1b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2eb563509f19e803dbbef3e4901d9553c9c3ea2b73c8d8fb85219fc57f16787a"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:d37d2f4238e0f412e56fe2c41e8e60bda93be0230d0ee846823b54254ccb95e0"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:7dcefbba71194c73b3b26593c2ea4ad254b19084d0eb83e98e2541651a692703"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:352f6b793cb402cc62c5b60ceab13d30c06fad1372869c716d4d07927b5c7c43"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7d6a21b482001a9ea44f277dc21d9fb6590e543146aaabe816407d1b87cf41b"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f97285e80ea192357380cfd2fb2dce056ec65672597172f3af549dcf5d019b1e"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a5cfff34bf80f0cd2771da88bd898be1fa60250d6f2dd9e4a59885dbcb7aa7c"}, + {file = "backports_datetime_fromisoformat-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:ed392607d457b1ed50a88dcaf459e11d81c30a2f2d8dab818a1564de6897e76f"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0f24d2c596991e39dfaa60c685b8c69bc9b1da77e9baf2c453882adeec483b"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0083552588270acfaa31ac8de81b29786a1515d7608ff11ccdfcdffc2486212e"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f367b7d7bc00aa6738c95eb48b90817f7f9bd9c61592ceedda29ece97983ee3f"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e0914e357d8559f1821e46fd5ef5d3bd22ec568125ba9e680b6e70cdc352910"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d5a7cf9cdee221b7721544f424c69747a04091cbff53aa6ae8454644b59f9"}, + {file = "backports_datetime_fromisoformat-2.0.2-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a5e4c77a91db6f434c2eec46c0199d3617c19c812f0c74f7ed8e0f9779da9f0"}, + {file = "backports_datetime_fromisoformat-2.0.2.tar.gz", hash = "sha256:142313bde1f93b0ea55f20f5a6ea034f84c79713daeb252dc47d40019db3812f"}, ] [[package]] From 4641361dcdbdf6ccaa518a37e571248fe379a11a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 14:19:08 +0000 Subject: [PATCH 08/49] chore(deps): bump the ci group in /.github/workflows with 2 updates (#2671) Bumps the ci group in /.github/workflows with 2 updates: [griffe](https://github.com/mkdocstrings/griffe) and [poetry-dynamic-versioning](https://github.com/mtkennerly/poetry-dynamic-versioning). Updates `griffe` from 1.2.0 to 1.3.1 - [Release notes](https://github.com/mkdocstrings/griffe/releases) - [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/griffe/compare/1.2.0...1.3.1) Updates `poetry-dynamic-versioning` from 1.4.0 to 1.4.1 - [Release notes](https://github.com/mtkennerly/poetry-dynamic-versioning/releases) - [Changelog](https://github.com/mtkennerly/poetry-dynamic-versioning/blob/master/CHANGELOG.md) - [Commits](https://github.com/mtkennerly/poetry-dynamic-versioning/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: griffe dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ci - dependency-name: poetry-dynamic-versioning dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ci ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/constraints.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/constraints.txt b/.github/workflows/constraints.txt index 52415d85b..4dfd4edc8 100644 --- a/.github/workflows/constraints.txt +++ b/.github/workflows/constraints.txt @@ -1,8 +1,8 @@ -griffe==1.2.0 +griffe==1.3.1 pip==24.2 poetry==1.8.3 poetry-plugin-export==1.8.0 -poetry-dynamic-versioning==1.4.0 +poetry-dynamic-versioning==1.4.1 pre-commit==3.8.0 nox==2024.4.15 nox-poetry==1.0.3 From 708c828f662cb4888237a12d7fd1722e3b3bf403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 16 Sep 2024 09:43:53 -0600 Subject: [PATCH 09/49] refactor: Deprecated `Faker` class in stream maps (#2670) * refactor: Deprecated `Faker` class in stream maps * Update docs * Update singer_sdk/mapper.py --- docs/stream_maps.md | 12 +++--- singer_sdk/mapper.py | 8 ++++ tests/core/test_mapper.py | 37 +++++++++++++++++++ .../mapped_stream/fake_email_seed_class.jsonl | 6 +++ .../fake_email_seed_instance.jsonl | 6 +++ 5 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 tests/snapshots/mapped_stream/fake_email_seed_class.jsonl create mode 100644 tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 94d9ac72a..e31a9b634 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -249,11 +249,9 @@ can be referenced directly by mapping expressions. - `fake` - a [`Faker`](inv:faker:std:doc#index) instance, configurable via `faker_config` (see previous example) - see the built-in [standard providers](inv:faker:std:doc#providers) for available methods -- `Faker` - the [`Faker`](inv:faker:std:doc#fakerclass) class. This was made available to enable consistent data - masking by allowing users to call `Faker.seed()`. ```{tip} - The `fake` object and `Faker` are only available if the plugin specifies `faker` as an additional dependency (through the `singer-sdk` `faker` extra, or directly). + The `fake` object is only available if the plugin specifies `faker` as an additional dependency (through the `singer-sdk` `faker` extra, or directly). ``` :::{versionadded} 0.35.0 @@ -264,6 +262,10 @@ The `faker` object. The `Faker` class. ::: +:::{versionchanged} TODO +The `Faker` class was deprecated in favor of instance methods on the `fake` object. +::: + #### Automatic Schema Detection For performance reasons, type detection is performed at runtime using text analysis @@ -475,9 +477,9 @@ To generate consistent masked values, you must provide the **same seed each time stream_maps: customers: # will always generate the same value for the same seed - first_name: Faker.seed(_['first_name']) or fake.first_name() + first_name: fake.seed_instance(_['first_name']) or fake.first_name() faker_config: - # IMPORTANT: `fake` and `Faker` names are only available if faker_config is defined. + # IMPORTANT: `fake` is only available if the `faker` extra is installed locale: en_US ``` diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index c222acc67..b613b78ec 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -14,7 +14,9 @@ import importlib.util import json import logging +import sys import typing as t +import warnings import simpleeval # type: ignore[import-untyped] @@ -515,6 +517,12 @@ def _init_functions_and_schema( # noqa: PLR0912, PLR0915, C901 self._eval_type(prop_def, default=default_type), ).to_dict(), ) + if "Faker" in prop_def: + warnings.warn( + "Class 'Faker' is deprecated in stream maps. Use instance methods, like 'fake.seed_instance.'", # noqa: E501 + DeprecationWarning, + stacklevel=2, + ) try: parsed_def: ast.Expr = ast.parse(prop_def).body[0] # type: ignore[assignment] stream_map_parsed.append((prop_key, prop_def, parsed_def)) diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index abec1c7ff..a776689a1 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -853,6 +853,43 @@ def discover_streams(self): "fake_credit_card_number.jsonl", id="fake_credit_card_number", ), + pytest.param( + { + "mystream": { + "email": "Faker.seed(email) or fake.email()", + "__else__": None, + }, + }, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "faker_config": { + "locale": "en_US", + }, + }, + "fake_email_seed_class.jsonl", + id="fake_email_seed_class", + marks=pytest.mark.filterwarnings( + "default:Class 'Faker' is deprecated:DeprecationWarning" + ), + ), + pytest.param( + { + "mystream": { + "email": "fake.seed_instance(email) or fake.email()", + "__else__": None, + }, + }, + { + "flattening_enabled": False, + "flattening_max_depth": 0, + "faker_config": { + "locale": "en_US", + }, + }, + "fake_email_seed_instance.jsonl", + id="fake_email_seed_instance", + ), ], ) def test_mapped_stream( diff --git a/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl b/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl new file mode 100644 index 000000000..e27c2e53f --- /dev/null +++ b/tests/snapshots/mapped_stream/fake_email_seed_class.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"zwells@example.org"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"josephcunningham@example.com"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"lydia62@example.net"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl b/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl new file mode 100644 index 000000000..e27c2e53f --- /dev/null +++ b/tests/snapshots/mapped_stream/fake_email_seed_instance.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"zwells@example.org"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"josephcunningham@example.com"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"lydia62@example.net"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} From 7f736188b8ee117b03abd5b7af26ef4c8a12efd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 16 Sep 2024 09:52:10 -0600 Subject: [PATCH 10/49] chore: Run `poetry lock` (#2675) --- poetry.lock | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/poetry.lock b/poetry.lock index df697b5ce..1d4a0981d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -145,17 +145,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.16" +version = "1.35.19" description = "The AWS SDK for Python" optional = true python-versions = ">=3.8" files = [ - {file = "boto3-1.35.16-py3-none-any.whl", hash = "sha256:9c5b0ce4a25bb78d659478d1c552f1dbb7ff275aab3263bb41cdbef8bca28693"}, - {file = "boto3-1.35.16.tar.gz", hash = "sha256:9b96c210678cf430b16b49dee87db30f46044602bb9a605a465e1900f468a43f"}, + {file = "boto3-1.35.19-py3-none-any.whl", hash = "sha256:84b3fe1727945bc3cada832d969ddb3dc0d08fce1677064ca8bdc13a89c1a143"}, + {file = "boto3-1.35.19.tar.gz", hash = "sha256:9979fe674780a0b7100eae9156d74ee374cd1638a9f61c77277e3ce712f3e496"}, ] [package.dependencies] -botocore = ">=1.35.16,<1.36.0" +botocore = ">=1.35.19,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -164,13 +164,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.16" +version = "1.35.19" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" files = [ - {file = "botocore-1.35.16-py3-none-any.whl", hash = "sha256:3564a980d95ff2861a6ca74313173d8778aa659125c63cf49c93ad23896c63b1"}, - {file = "botocore-1.35.16.tar.gz", hash = "sha256:1b48c94e8a4bbe23143f3d1c21a32b9ffc7476b651ef42371ab45d678f6dbfbc"}, + {file = "botocore-1.35.19-py3-none-any.whl", hash = "sha256:c83f7f0cacfe7c19b109b363ebfa8736e570d24922f16ed371681f58ebab44a9"}, + {file = "botocore-1.35.19.tar.gz", hash = "sha256:42d6d8db7250cbd7899f786f9861e02cab17dc238f64d6acb976098ed9809625"}, ] [package.dependencies] @@ -833,15 +833,18 @@ test = ["objgraph", "psutil"] [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -2596,13 +2599,13 @@ tests-strict = ["pytest (==4.6.0)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)"] [[package]] name = "zipp" -version = "3.20.1" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, - {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] From 065929504a830ff0527bc08dca2fb671a88187ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 16 Sep 2024 12:18:34 -0600 Subject: [PATCH 11/49] chore: Fix the `warnings.deprecated` import in Python 3.13 (#2676) --- singer_sdk/typing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/singer_sdk/typing.py b/singer_sdk/typing.py index 31788989b..d4cfd46cd 100644 --- a/singer_sdk/typing.py +++ b/singer_sdk/typing.py @@ -69,7 +69,7 @@ if sys.version_info < (3, 13): from typing_extensions import deprecated else: - from typing import deprecated # noqa: ICN003 # pragma: no cover + from warnings import deprecated # pragma: no cover if t.TYPE_CHECKING: From 12f98d59f163182985eb0432ec169c50bb5a3bbf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 16:32:49 -0600 Subject: [PATCH 12/49] chore: pre-commit autoupdate (#2677) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.6.4 → v0.6.5](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.4...v0.6.5) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 22a0b74c7..67348c734 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: - id: check-readthedocs - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.5 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] From 83b3d49d4d4bac67c09c11dc429435f873aaee5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 17 Sep 2024 12:26:31 -0600 Subject: [PATCH 13/49] chore: Cache responses of sample HTTP taps (#2678) --- .github/workflows/test.yml | 6 + poetry.lock | 208 +++++++++++++----- pyproject.toml | 1 + .../sample_tap_countries/countries_streams.py | 7 + 4 files changed, 161 insertions(+), 61 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf0602a29..b300f89b4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -90,6 +90,12 @@ jobs: pipx inject nox nox-poetry nox --version + - uses: actions/cache@v4 + if: always() && (matrix.session == 'tests') + with: + path: http_cache.sqlite + key: http_cache-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.session }}-${{ matrix.sqlalchemy }} + - name: Run Nox env: SQLALCHEMY_VERSION: ${{ matrix.sqlalchemy }} diff --git a/poetry.lock b/poetry.lock index 1d4a0981d..28180d0a3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -145,17 +145,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.19" +version = "1.35.20" description = "The AWS SDK for Python" optional = true python-versions = ">=3.8" files = [ - {file = "boto3-1.35.19-py3-none-any.whl", hash = "sha256:84b3fe1727945bc3cada832d969ddb3dc0d08fce1677064ca8bdc13a89c1a143"}, - {file = "boto3-1.35.19.tar.gz", hash = "sha256:9979fe674780a0b7100eae9156d74ee374cd1638a9f61c77277e3ce712f3e496"}, + {file = "boto3-1.35.20-py3-none-any.whl", hash = "sha256:aaddbeb8c37608492f2c8286d004101464833d4c6e49af44601502b8b18785ed"}, + {file = "boto3-1.35.20.tar.gz", hash = "sha256:47e89d95964f10beee21ee723c3290874fddf364269bd97d200e8bfa9bf93a06"}, ] [package.dependencies] -botocore = ">=1.35.19,<1.36.0" +botocore = ">=1.35.20,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -164,13 +164,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.19" +version = "1.35.20" description = "Low-level, data-driven core of boto 3." optional = true python-versions = ">=3.8" files = [ - {file = "botocore-1.35.19-py3-none-any.whl", hash = "sha256:c83f7f0cacfe7c19b109b363ebfa8736e570d24922f16ed371681f58ebab44a9"}, - {file = "botocore-1.35.19.tar.gz", hash = "sha256:42d6d8db7250cbd7899f786f9861e02cab17dc238f64d6acb976098ed9809625"}, + {file = "botocore-1.35.20-py3-none-any.whl", hash = "sha256:62412038f960691a299e60492f9ee7e8e75af563f2eca7f3640b3b54b8f5d236"}, + {file = "botocore-1.35.20.tar.gz", hash = "sha256:82ad8a73fcd5852d127461c8dadbe40bf679f760a4efb0dde8d4d269ad3f126f"}, ] [package.dependencies] @@ -184,6 +184,32 @@ urllib3 = [ [package.extras] crt = ["awscrt (==0.21.5)"] +[[package]] +name = "cattrs" +version = "24.1.1" +description = "Composable complex class support for attrs and dataclasses." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cattrs-24.1.1-py3-none-any.whl", hash = "sha256:ec8ce8fdc725de9d07547cd616f968670687c6fa7a2e263b088370c46d834d97"}, + {file = "cattrs-24.1.1.tar.gz", hash = "sha256:16e94a13f9aaf6438bd5be5df521e072b1b00481b4cf807bcb1acbd49f814c08"}, +] + +[package.dependencies] +attrs = ">=23.1.0" +exceptiongroup = {version = ">=1.1.1", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.1.0,<4.6.3 || >4.6.3", markers = "python_version < \"3.11\""} + +[package.extras] +bson = ["pymongo (>=4.4.0)"] +cbor2 = ["cbor2 (>=5.4.6)"] +msgpack = ["msgpack (>=1.0.5)"] +msgspec = ["msgspec (>=0.18.5)"] +orjson = ["orjson (>=3.9.2)"] +pyyaml = ["pyyaml (>=6.0)"] +tomlkit = ["tomlkit (>=0.11.8)"] +ujson = ["ujson (>=5.7.0)"] + [[package]] name = "certifi" version = "2024.8.30" @@ -1396,6 +1422,22 @@ files = [ {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, ] +[[package]] +name = "platformdirs" +version = "4.3.4" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.4-py3-none-any.whl", hash = "sha256:8b4ba85412f5065dae40aa19feaa02ac2be584c8b14abd70712b5cd11ad80034"}, + {file = "platformdirs-4.3.4.tar.gz", hash = "sha256:9e8a037c36fe1b1f1b5de4482e60464272cc8dca725e40b568bf2c285f7509cf"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + [[package]] name = "pluggy" version = "1.5.0" @@ -1741,6 +1783,36 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] +[[package]] +name = "requests-cache" +version = "1.2.1" +description = "A persistent cache for python requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "requests_cache-1.2.1-py3-none-any.whl", hash = "sha256:1285151cddf5331067baa82598afe2d47c7495a1334bfe7a7d329b43e9fd3603"}, + {file = "requests_cache-1.2.1.tar.gz", hash = "sha256:68abc986fdc5b8d0911318fbb5f7c80eebcd4d01bfacc6685ecf8876052511d1"}, +] + +[package.dependencies] +attrs = ">=21.2" +cattrs = ">=22.2" +platformdirs = ">=2.5" +requests = ">=2.22" +url-normalize = ">=1.4" +urllib3 = ">=1.25.5" + +[package.extras] +all = ["boto3 (>=1.15)", "botocore (>=1.18)", "itsdangerous (>=2.0)", "pymongo (>=3)", "pyyaml (>=6.0.1)", "redis (>=3)", "ujson (>=5.4)"] +bson = ["bson (>=0.5)"] +docs = ["furo (>=2023.3,<2024.0)", "linkify-it-py (>=2.0,<3.0)", "myst-parser (>=1.0,<2.0)", "sphinx (>=5.0.2,<6.0.0)", "sphinx-autodoc-typehints (>=1.19)", "sphinx-automodapi (>=0.14)", "sphinx-copybutton (>=0.5)", "sphinx-design (>=0.2)", "sphinx-notfound-page (>=0.8)", "sphinxcontrib-apidoc (>=0.3)", "sphinxext-opengraph (>=0.9)"] +dynamodb = ["boto3 (>=1.15)", "botocore (>=1.18)"] +json = ["ujson (>=5.4)"] +mongodb = ["pymongo (>=3)"] +redis = ["redis (>=3)"] +security = ["itsdangerous (>=2.0)"] +yaml = ["pyyaml (>=6.0.1)"] + [[package]] name = "requests-mock" version = "1.12.1" @@ -2296,60 +2368,60 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.34" +version = "2.0.35" description = "Database Abstraction Library" optional = false python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:95d0b2cf8791ab5fb9e3aa3d9a79a0d5d51f55b6357eecf532a120ba3b5524db"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:243f92596f4fd4c8bd30ab8e8dd5965afe226363d75cab2468f2c707f64cd83b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ea54f7300553af0a2a7235e9b85f4204e1fc21848f917a3213b0e0818de9a24"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:173f5f122d2e1bff8fbd9f7811b7942bead1f5e9f371cdf9e670b327e6703ebd"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:196958cde924a00488e3e83ff917be3b73cd4ed8352bbc0f2989333176d1c54d"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bd90c221ed4e60ac9d476db967f436cfcecbd4ef744537c0f2d5291439848768"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win32.whl", hash = "sha256:3166dfff2d16fe9be3241ee60ece6fcb01cf8e74dd7c5e0b64f8e19fab44911b"}, - {file = "SQLAlchemy-2.0.34-cp310-cp310-win_amd64.whl", hash = "sha256:6831a78bbd3c40f909b3e5233f87341f12d0b34a58f14115c9e94b4cdaf726d3"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7db3db284a0edaebe87f8f6642c2b2c27ed85c3e70064b84d1c9e4ec06d5d84"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:430093fce0efc7941d911d34f75a70084f12f6ca5c15d19595c18753edb7c33b"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79cb400c360c7c210097b147c16a9e4c14688a6402445ac848f296ade6283bbc"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb1b30f31a36c7f3fee848391ff77eebdd3af5750bf95fbf9b8b5323edfdb4ec"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fddde2368e777ea2a4891a3fb4341e910a056be0bb15303bf1b92f073b80c02"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:80bd73ea335203b125cf1d8e50fef06be709619eb6ab9e7b891ea34b5baa2287"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win32.whl", hash = "sha256:6daeb8382d0df526372abd9cb795c992e18eed25ef2c43afe518c73f8cccb721"}, - {file = "SQLAlchemy-2.0.34-cp311-cp311-win_amd64.whl", hash = "sha256:5bc08e75ed11693ecb648b7a0a4ed80da6d10845e44be0c98c03f2f880b68ff4"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:53e68b091492c8ed2bd0141e00ad3089bcc6bf0e6ec4142ad6505b4afe64163e"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bcd18441a49499bf5528deaa9dee1f5c01ca491fc2791b13604e8f972877f812"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:165bbe0b376541092bf49542bd9827b048357f4623486096fc9aaa6d4e7c59a2"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3330415cd387d2b88600e8e26b510d0370db9b7eaf984354a43e19c40df2e2b"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97b850f73f8abbffb66ccbab6e55a195a0eb655e5dc74624d15cff4bfb35bd74"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7cee4c6917857fd6121ed84f56d1dc78eb1d0e87f845ab5a568aba73e78adf83"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win32.whl", hash = "sha256:fbb034f565ecbe6c530dff948239377ba859420d146d5f62f0271407ffb8c580"}, - {file = "SQLAlchemy-2.0.34-cp312-cp312-win_amd64.whl", hash = "sha256:707c8f44931a4facd4149b52b75b80544a8d824162602b8cd2fe788207307f9a"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:24af3dc43568f3780b7e1e57c49b41d98b2d940c1fd2e62d65d3928b6f95f021"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e60ed6ef0a35c6b76b7640fe452d0e47acc832ccbb8475de549a5cc5f90c2c06"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:413c85cd0177c23e32dee6898c67a5f49296640041d98fddb2c40888fe4daa2e"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:25691f4adfb9d5e796fd48bf1432272f95f4bbe5f89c475a788f31232ea6afba"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:526ce723265643dbc4c7efb54f56648cc30e7abe20f387d763364b3ce7506c82"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win32.whl", hash = "sha256:13be2cc683b76977a700948411a94c67ad8faf542fa7da2a4b167f2244781cf3"}, - {file = "SQLAlchemy-2.0.34-cp37-cp37m-win_amd64.whl", hash = "sha256:e54ef33ea80d464c3dcfe881eb00ad5921b60f8115ea1a30d781653edc2fd6a2"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:43f28005141165edd11fbbf1541c920bd29e167b8bbc1fb410d4fe2269c1667a"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b68094b165a9e930aedef90725a8fcfafe9ef95370cbb54abc0464062dbf808f"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1e03db964e9d32f112bae36f0cc1dcd1988d096cfd75d6a588a3c3def9ab2b"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:203d46bddeaa7982f9c3cc693e5bc93db476ab5de9d4b4640d5c99ff219bee8c"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ae92bebca3b1e6bd203494e5ef919a60fb6dfe4d9a47ed2453211d3bd451b9f5"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9661268415f450c95f72f0ac1217cc6f10256f860eed85c2ae32e75b60278ad8"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win32.whl", hash = "sha256:895184dfef8708e15f7516bd930bda7e50ead069280d2ce09ba11781b630a434"}, - {file = "SQLAlchemy-2.0.34-cp38-cp38-win_amd64.whl", hash = "sha256:6e7cde3a2221aa89247944cafb1b26616380e30c63e37ed19ff0bba5e968688d"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dbcdf987f3aceef9763b6d7b1fd3e4ee210ddd26cac421d78b3c206d07b2700b"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ce119fc4ce0d64124d37f66a6f2a584fddc3c5001755f8a49f1ca0a177ef9796"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a17d8fac6df9835d8e2b4c5523666e7051d0897a93756518a1fe101c7f47f2f0"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ebc11c54c6ecdd07bb4efbfa1554538982f5432dfb8456958b6d46b9f834bb7"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e6965346fc1491a566e019a4a1d3dfc081ce7ac1a736536367ca305da6472a8"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:220574e78ad986aea8e81ac68821e47ea9202b7e44f251b7ed8c66d9ae3f4278"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win32.whl", hash = "sha256:b75b00083e7fe6621ce13cfce9d4469c4774e55e8e9d38c305b37f13cf1e874c"}, - {file = "SQLAlchemy-2.0.34-cp39-cp39-win_amd64.whl", hash = "sha256:c29d03e0adf3cc1a8c3ec62d176824972ae29b67a66cbb18daff3062acc6faa8"}, - {file = "SQLAlchemy-2.0.34-py3-none-any.whl", hash = "sha256:7286c353ee6475613d8beff83167374006c6b3e3f0e6491bfe8ca610eb1dec0f"}, - {file = "sqlalchemy-2.0.34.tar.gz", hash = "sha256:10d8f36990dd929690666679b0f42235c159a7051534adb135728ee52828dd22"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67219632be22f14750f0d1c70e62f204ba69d28f62fd6432ba05ab295853de9b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4668bd8faf7e5b71c0319407b608f278f279668f358857dbfd10ef1954ac9f90"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb8bea573863762bbf45d1e13f87c2d2fd32cee2dbd50d050f83f87429c9e1ea"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f552023710d4b93d8fb29a91fadf97de89c5926c6bd758897875435f2a939f33"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:016b2e665f778f13d3c438651dd4de244214b527a275e0acf1d44c05bc6026a9"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7befc148de64b6060937231cbff8d01ccf0bfd75aa26383ffdf8d82b12ec04ff"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win32.whl", hash = "sha256:22b83aed390e3099584b839b93f80a0f4a95ee7f48270c97c90acd40ee646f0b"}, + {file = "SQLAlchemy-2.0.35-cp310-cp310-win_amd64.whl", hash = "sha256:a29762cd3d116585278ffb2e5b8cc311fb095ea278b96feef28d0b423154858e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e21f66748ab725ade40fa7af8ec8b5019c68ab00b929f6643e1b1af461eddb60"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a6219108a15fc6d24de499d0d515c7235c617b2540d97116b663dade1a54d62"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:042622a5306c23b972192283f4e22372da3b8ddf5f7aac1cc5d9c9b222ab3ff6"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:627dee0c280eea91aed87b20a1f849e9ae2fe719d52cbf847c0e0ea34464b3f7"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4fdcd72a789c1c31ed242fd8c1bcd9ea186a98ee8e5408a50e610edfef980d71"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:89b64cd8898a3a6f642db4eb7b26d1b28a497d4022eccd7717ca066823e9fb01"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win32.whl", hash = "sha256:6a93c5a0dfe8d34951e8a6f499a9479ffb9258123551fa007fc708ae2ac2bc5e"}, + {file = "SQLAlchemy-2.0.35-cp311-cp311-win_amd64.whl", hash = "sha256:c68fe3fcde03920c46697585620135b4ecfdfc1ed23e75cc2c2ae9f8502c10b8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:eb60b026d8ad0c97917cb81d3662d0b39b8ff1335e3fabb24984c6acd0c900a2"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6921ee01caf375363be5e9ae70d08ce7ca9d7e0e8983183080211a062d299468"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cdf1a0dbe5ced887a9b127da4ffd7354e9c1a3b9bb330dce84df6b70ccb3a8d"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93a71c8601e823236ac0e5d087e4f397874a421017b3318fd92c0b14acf2b6db"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e04b622bb8a88f10e439084486f2f6349bf4d50605ac3e445869c7ea5cf0fa8c"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1b56961e2d31389aaadf4906d453859f35302b4eb818d34a26fab72596076bb8"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win32.whl", hash = "sha256:0f9f3f9a3763b9c4deb8c5d09c4cc52ffe49f9876af41cc1b2ad0138878453cf"}, + {file = "SQLAlchemy-2.0.35-cp312-cp312-win_amd64.whl", hash = "sha256:25b0f63e7fcc2a6290cb5f7f5b4fc4047843504983a28856ce9b35d8f7de03cc"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f021d334f2ca692523aaf7bbf7592ceff70c8594fad853416a81d66b35e3abf9"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05c3f58cf91683102f2f0265c0db3bd3892e9eedabe059720492dbaa4f922da1"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:032d979ce77a6c2432653322ba4cbeabf5a6837f704d16fa38b5a05d8e21fa00"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:2e795c2f7d7249b75bb5f479b432a51b59041580d20599d4e112b5f2046437a3"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:cc32b2990fc34380ec2f6195f33a76b6cdaa9eecf09f0c9404b74fc120aef36f"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win32.whl", hash = "sha256:9509c4123491d0e63fb5e16199e09f8e262066e58903e84615c301dde8fa2e87"}, + {file = "SQLAlchemy-2.0.35-cp37-cp37m-win_amd64.whl", hash = "sha256:3655af10ebcc0f1e4e06c5900bb33e080d6a1fa4228f502121f28a3b1753cde5"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4c31943b61ed8fdd63dfd12ccc919f2bf95eefca133767db6fbbd15da62078ec"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a62dd5d7cc8626a3634208df458c5fe4f21200d96a74d122c83bc2015b333bc1"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0630774b0977804fba4b6bbea6852ab56c14965a2b0c7fc7282c5f7d90a1ae72"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d625eddf7efeba2abfd9c014a22c0f6b3796e0ffb48f5d5ab106568ef01ff5a"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ada603db10bb865bbe591939de854faf2c60f43c9b763e90f653224138f910d9"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c41411e192f8d3ea39ea70e0fae48762cd11a2244e03751a98bd3c0ca9a4e936"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win32.whl", hash = "sha256:d299797d75cd747e7797b1b41817111406b8b10a4f88b6e8fe5b5e59598b43b0"}, + {file = "SQLAlchemy-2.0.35-cp38-cp38-win_amd64.whl", hash = "sha256:0375a141e1c0878103eb3d719eb6d5aa444b490c96f3fedab8471c7f6ffe70ee"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccae5de2a0140d8be6838c331604f91d6fafd0735dbdcee1ac78fc8fbaba76b4"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2a275a806f73e849e1c309ac11108ea1a14cd7058577aba962cd7190e27c9e3c"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:732e026240cdd1c1b2e3ac515c7a23820430ed94292ce33806a95869c46bd139"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890da8cd1941fa3dab28c5bac3b9da8502e7e366f895b3b8e500896f12f94d11"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c0d8326269dbf944b9201911b0d9f3dc524d64779a07518199a58384c3d37a44"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b76d63495b0508ab9fc23f8152bac63205d2a704cd009a2b0722f4c8e0cba8e0"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win32.whl", hash = "sha256:69683e02e8a9de37f17985905a5eca18ad651bf592314b4d3d799029797d0eb3"}, + {file = "SQLAlchemy-2.0.35-cp39-cp39-win_amd64.whl", hash = "sha256:aee110e4ef3c528f3abbc3c2018c121e708938adeeff9006428dd7c8555e9b3f"}, + {file = "SQLAlchemy-2.0.35-py3-none-any.whl", hash = "sha256:2ab3f0336c0387662ce6221ad30ab3a5e6499aab01b9790879b6578fd9b8faa1"}, + {file = "sqlalchemy-2.0.35.tar.gz", hash = "sha256:e11d7ea4d24f0a262bccf9a7cd6284c976c5369dac21db237cff59586045ab9f"}, ] [package.dependencies] @@ -2498,13 +2570,13 @@ files = [ [[package]] name = "types-pyyaml" -version = "6.0.12.20240808" +version = "6.0.12.20240917" description = "Typing stubs for PyYAML" optional = false python-versions = ">=3.8" files = [ - {file = "types-PyYAML-6.0.12.20240808.tar.gz", hash = "sha256:b8f76ddbd7f65440a8bda5526a9607e4c7a322dc2f8e1a8c405644f9a6f4b9af"}, - {file = "types_PyYAML-6.0.12.20240808-py3-none-any.whl", hash = "sha256:deda34c5c655265fc517b546c902aa6eed2ef8d3e921e4765fe606fe2afe8d35"}, + {file = "types-PyYAML-6.0.12.20240917.tar.gz", hash = "sha256:d1405a86f9576682234ef83bcb4e6fff7c9305c8b1fbad5e0bcd4f7dbdc9c587"}, + {file = "types_PyYAML-6.0.12.20240917-py3-none-any.whl", hash = "sha256:392b267f1c0fe6022952462bf5d6523f31e37f6cea49b14cee7ad634b6301570"}, ] [[package]] @@ -2554,6 +2626,20 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "url-normalize" +version = "1.4.3" +description = "URL normalization for Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +files = [ + {file = "url-normalize-1.4.3.tar.gz", hash = "sha256:d23d3a070ac52a67b83a1c59a0e68f8608d1cd538783b401bc9de2c0fac999b2"}, + {file = "url_normalize-1.4.3-py2.py3-none-any.whl", hash = "sha256:ec3c301f04e5bb676d333a7fa162fa977ad2ca04b7e652bfc9fac4e405728eed"}, +] + +[package.dependencies] +six = "*" + [[package]] name = "urllib3" version = "1.26.20" @@ -2627,4 +2713,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "5ce14d58274c3f56d84c8787fefb42b26868bd191298df945fe99dc45e545fce" +content-hash = "c951c963a600931c41fbf584967ba4e1ccd6cd832a63fce856c4936d8cd00508" diff --git a/pyproject.toml b/pyproject.toml index 2a5c80b88..f1d8ed830 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -132,6 +132,7 @@ fastjsonschema = ">=2.19.1" pytest-benchmark = ">=4.0.0" pytest-snapshot = ">=0.9.0" pytz = ">=2022.2.1" +requests-cache = ">=1.2.1" requests-mock = ">=1.10.0" rfc3339-validator = ">=0.1.4" time-machine = ">=2.10.0" diff --git a/samples/sample_tap_countries/countries_streams.py b/samples/sample_tap_countries/countries_streams.py index c55775b0c..2b3ebfa90 100644 --- a/samples/sample_tap_countries/countries_streams.py +++ b/samples/sample_tap_countries/countries_streams.py @@ -10,6 +10,9 @@ import abc import sys +import typing as t + +from requests_cache.session import CachedSession from singer_sdk import typing as th from singer_sdk.streams.graphql import GraphQLStream @@ -31,6 +34,10 @@ class CountriesAPIStream(GraphQLStream, metaclass=abc.ABCMeta): url_base = "https://countries.trevorblades.com/" + def __init__(self, *args: t.Any, **kwargs: t.Any) -> None: + super().__init__(*args, **kwargs) + self._requests_session = CachedSession() + class CountriesStream(CountriesAPIStream): """Countries API stream.""" From 3d3ac7b816297b75430b89c0f667a60afea74d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:04:14 -0600 Subject: [PATCH 14/49] chore: Add a file (CSV) tap for testing (WIP!) (#2668) * chore: Add a file (CSV) tap for testing * Implement and test tap * Add fixture files * Incremental replication * Formalize default stream name * Update cache keys * Enable more tests * gitignore cache file * More tests --- .github/workflows/test.yml | 6 +- .gitignore | 3 + fixtures/csv/customers.csv | 1001 ++++++++++++++++++++++ fixtures/csv/employees.csv | 51 ++ samples/sample_tap_csv/__init__.py | 0 samples/sample_tap_csv/__main__.py | 5 + samples/sample_tap_csv/client.py | 91 ++ samples/sample_tap_csv/sample_tap_csv.py | 106 +++ tests/samples/test_tap_csv.py | 36 + 9 files changed, 1296 insertions(+), 3 deletions(-) create mode 100644 fixtures/csv/customers.csv create mode 100644 fixtures/csv/employees.csv create mode 100644 samples/sample_tap_csv/__init__.py create mode 100644 samples/sample_tap_csv/__main__.py create mode 100644 samples/sample_tap_csv/client.py create mode 100644 samples/sample_tap_csv/sample_tap_csv.py create mode 100644 tests/samples/test_tap_csv.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b300f89b4..1613ebc5e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,10 +91,10 @@ jobs: nox --version - uses: actions/cache@v4 - if: always() && (matrix.session == 'tests') + if: matrix.session == 'tests' with: path: http_cache.sqlite - key: http_cache-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.session }}-${{ matrix.sqlalchemy }} + key: http_cache-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.sqlalchemy }} - name: Run Nox env: @@ -106,7 +106,7 @@ jobs: if: always() && (matrix.session == 'tests') with: include-hidden-files: true - name: coverage-data-nox_${{ matrix.session }}-${{ matrix.os }}-py${{ matrix.python-version }}_sqlalchemy_${{ matrix.sqlalchemy }} + name: coverage-data-nox_-${{ matrix.os }}-py${{ matrix.python-version }}_sqlalchemy_${{ matrix.sqlalchemy }} path: ".coverage.*" tests-external: diff --git a/.gitignore b/.gitignore index d6a92f65e..e10d0f06a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# HTTP cache +http_cache.sqlite + # Local Poetry configuration file poetry.toml diff --git a/fixtures/csv/customers.csv b/fixtures/csv/customers.csv new file mode 100644 index 000000000..6de28da5d --- /dev/null +++ b/fixtures/csv/customers.csv @@ -0,0 +1,1001 @@ +id,first_name,last_name,email,ip_address +1,Ethe,Book,ebook0@twitter.com,67.61.243.220 +2,Myranda,Tire,mtire1@vkontakte.ru,151.194.73.229 +3,Remus,Dorian,rdorian2@twitpic.com,204.220.73.121 +4,Stesha,Suddock,ssuddock3@ycombinator.com,113.182.132.211 +5,Serge,Daws,sdaws4@usgs.gov,111.173.74.111 +6,Ettie,Maddison,emaddison5@fastcompany.com,35.1.210.212 +7,Giffy,Biernat,gbiernat6@fastcompany.com,52.23.72.93 +8,Vitoria,Ommundsen,vommundsen7@narod.ru,94.239.171.99 +9,Mirella,Wisden,mwisden8@homestead.com,104.209.4.89 +10,Ami,Santus,asantus9@archive.org,235.3.35.99 +11,Otto,Hursthouse,ohursthousea@wordpress.com,84.230.160.212 +12,Sherrie,Pelos,spelosb@ucsd.edu,115.16.84.201 +13,Doreen,Loyndon,dloyndonc@columbia.edu,154.58.216.20 +14,Raddy,Maber,rmaberd@ihg.com,179.253.223.80 +15,Coralie,Pechan,cpechane@netlog.com,83.224.237.7 +16,Ira,Allmann,iallmannf@ucoz.com,209.175.60.153 +17,Silvester,Siseland,ssiselandg@smh.com.au,5.12.55.221 +18,Raviv,Dwane,rdwaneh@amazon.co.jp,178.115.168.254 +19,Rianon,Wansbury,rwansburyi@marketwatch.com,250.153.130.70 +20,Zacharie,Vardey,zvardeyj@wufoo.com,91.69.105.86 +21,Ofelia,Meriet,omerietk@domainmarket.com,118.193.26.70 +22,Minta,Du Fray,mdufrayl@cmu.edu,224.152.143.125 +23,Baillie,McDougal,bmcdougalm@dagondesign.com,118.36.198.87 +24,Dunstan,Schimpke,dschimpken@nih.gov,39.137.225.135 +25,Ab,Dackombe,adackombeo@un.org,163.98.82.166 +26,Cyrillus,Lakin,clakinp@indiegogo.com,154.155.120.48 +27,Jori,Gully,jgullyq@flickr.com,186.239.179.225 +28,Brod,Besse,bbesser@taobao.com,62.50.230.144 +29,Edie,Corderoy,ecorderoys@nationalgeographic.com,57.217.190.44 +30,Zach,Babbs,zbabbst@squidoo.com,84.65.12.93 +31,Burnaby,Claridge,bclaridgeu@mapy.cz,139.27.7.79 +32,Cam,Kieff,ckieffv@skyrock.com,135.73.189.82 +33,Cathi,Rolstone,crolstonew@biglobe.ne.jp,251.171.34.73 +34,Henrieta,Beastall,hbeastallx@state.gov,116.208.99.100 +35,Martie,Noble,mnobley@europa.eu,51.9.91.187 +36,Mildred,Durtnal,mdurtnalz@psu.edu,39.190.64.147 +37,Adrea,Nazer,anazer10@google.com,13.20.52.92 +38,Baxy,Beardsworth,bbeardsworth11@sfgate.com,110.83.233.13 +39,Rabbi,Brownsett,rbrownsett12@arstechnica.com,73.49.174.230 +40,Isiahi,Muino,imuino13@constantcontact.com,141.134.130.104 +41,Woodrow,Freeborn,wfreeborn14@usgs.gov,95.44.56.52 +42,Roseanne,Rankcom,rrankcom15@cnbc.com,71.254.39.163 +43,Desmond,Aynold,daynold16@zdnet.com,2.133.82.174 +44,Christel,Landre,clandre17@auda.org.au,186.14.74.159 +45,Kari,McKeurtan,kmckeurtan18@reference.com,163.110.86.97 +46,Bartholemy,Bulward,bbulward19@utexas.edu,175.44.136.142 +47,Evelyn,Walesa,ewalesa1a@hhs.gov,103.98.34.217 +48,Leroi,Rapier,lrapier1b@blogspot.com,179.247.125.22 +49,Floyd,Blease,fblease1c@canalblog.com,89.55.211.210 +50,Ondrea,Rotherham,orotherham1d@linkedin.com,143.80.13.255 +51,Arluene,Barfoot,abarfoot1e@clickbank.net,115.217.54.28 +52,Giulietta,Oaks,goaks1f@army.mil,4.250.68.73 +53,Jacquelynn,Rain,jrain1g@google.es,150.114.39.236 +54,Emlyn,Bawle,ebawle1h@timesonline.co.uk,46.180.27.230 +55,Shandy,Mandy,smandy1i@europa.eu,53.157.154.153 +56,Goldina,Gush,ggush1j@disqus.com,213.215.73.23 +57,Bryan,Moat,bmoat1k@mapy.cz,55.236.218.220 +58,Douglas,Bannerman,dbannerman1l@princeton.edu,237.32.119.149 +59,Adolphe,Hug,ahug1m@google.com,224.235.209.252 +60,Melessa,Pitkin,mpitkin1n@upenn.edu,100.165.210.253 +61,Michell,Swalwell,mswalwell1o@ucoz.ru,155.123.84.35 +62,Leona,Brodway,lbrodway1p@friendfeed.com,198.230.211.36 +63,Spence,Willas,swillas1q@tmall.com,174.104.61.20 +64,Griselda,Heavy,gheavy1r@instagram.com,1.135.2.166 +65,Lovell,Offill,loffill1s@e-recht24.de,234.143.13.61 +66,Clare,Lomaz,clomaz1t@google.co.jp,50.141.52.216 +67,Price,Milmo,pmilmo1u@sohu.com,59.186.62.238 +68,Neddie,Mcasparan,nmcasparan1v@scribd.com,254.141.50.152 +69,Barron,Maffin,bmaffin1w@theguardian.com,25.151.2.46 +70,Marve,Newcome,mnewcome1x@accuweather.com,212.96.253.98 +71,Beltran,Errichiello,berrichiello1y@unblog.fr,1.206.223.9 +72,Janine,Scotts,jscotts1z@pcworld.com,141.132.42.151 +73,Laurie,Pritchard,lpritchard20@squarespace.com,147.185.204.160 +74,Celestina,Crockley,ccrockley21@disqus.com,8.222.246.118 +75,Verla,Darrell,vdarrell22@quantcast.com,23.203.205.28 +76,Rupert,Collicott,rcollicott23@yale.edu,185.73.121.164 +77,Lonni,Brandino,lbrandino24@noaa.gov,116.86.14.240 +78,Sydelle,Soles,ssoles25@goo.gl,189.220.248.29 +79,Fergus,Matyukon,fmatyukon26@fc2.com,190.205.190.125 +80,Henderson,Conry,hconry27@newsvine.com,254.103.39.6 +81,Bernardine,Matteuzzi,bmatteuzzi28@cdbaby.com,49.177.58.201 +82,Kalina,Kitching,kkitching29@hatena.ne.jp,145.116.81.53 +83,Agnola,Coller,acoller2a@apache.org,205.173.237.76 +84,Pattin,Leinster,pleinster2b@shareasale.com,200.148.58.63 +85,Lorrie,Summerson,lsummerson2c@pen.io,224.222.232.187 +86,Normand,Ducker,nducker2d@earthlink.net,233.180.61.254 +87,Kristyn,Hillam,khillam2e@clickbank.net,100.239.61.160 +88,Kriste,Chatters,kchatters2f@lycos.com,9.119.212.73 +89,Mikael,Bastide,mbastide2g@tripod.com,227.59.45.166 +90,Consuelo,Renner,crenner2h@shop-pro.jp,194.219.125.57 +91,Cassondra,Matussevich,cmatussevich2i@google.com.br,31.213.26.253 +92,Harlin,Gissing,hgissing2j@ihg.com,56.231.244.201 +93,Rick,Deekes,rdeekes2k@sogou.com,81.199.104.110 +94,Cullen,Vidineev,cvidineev2l@ameblo.jp,197.23.66.210 +95,Fancie,Litt,flitt2m@admin.ch,138.60.214.187 +96,Gayler,Bernardi,gbernardi2n@goodreads.com,195.127.1.29 +97,Chan,Edscer,cedscer2o@arizona.edu,5.134.182.165 +98,Isa,Broun,ibroun2p@bbb.org,176.47.202.207 +99,Liuka,Aberdein,laberdein2q@reddit.com,159.104.205.207 +100,Marcelo,Daintry,mdaintry2r@4shared.com,17.232.250.180 +101,Katina,Mehmet,kmehmet2s@diigo.com,104.208.9.151 +102,Hank,Southernwood,hsouthernwood2t@nature.com,199.156.116.77 +103,Filmore,Fulmen,ffulmen2u@springer.com,155.213.68.172 +104,Cal,Mayes,cmayes2v@nature.com,116.148.235.40 +105,Francois,Brozsset,fbrozsset2w@multiply.com,141.171.53.209 +106,Monty,Mayou,mmayou2x@tamu.edu,110.182.213.71 +107,Miquela,Brine,mbrine2y@skype.com,143.50.240.107 +108,Kahlil,Nursey,knursey2z@china.com.cn,65.226.155.158 +109,Glendon,Soutar,gsoutar30@dmoz.org,176.164.229.115 +110,Idalia,Gutowski,igutowski31@livejournal.com,70.12.7.137 +111,Lee,Howkins,lhowkins32@economist.com,73.75.176.65 +112,Gwyneth,Jiggle,gjiggle33@blog.com,225.131.13.14 +113,Sheffie,Munby,smunby34@bluehost.com,150.143.194.197 +114,Mahala,Arnauduc,marnauduc35@symantec.com,20.92.174.130 +115,Angelica,Merrick,amerrick36@reference.com,56.39.40.33 +116,Halsy,Carpe,hcarpe37@vk.com,4.80.117.170 +117,Arch,Espinel,aespinel38@hibu.com,168.14.58.76 +118,Kelcie,Quig,kquig39@123-reg.co.uk,90.91.100.136 +119,Geoffrey,Dorant,gdorant3a@newyorker.com,124.49.113.92 +120,Pollyanna,Swetenham,pswetenham3b@yale.edu,13.141.62.94 +121,Liam,Tiltman,ltiltman3c@stumbleupon.com,84.134.143.214 +122,Tory,Craven,tcraven3d@fotki.com,51.46.141.71 +123,Dene,MacKessock,dmackessock3e@360.cn,184.180.226.89 +124,Hogan,Nezey,hnezey3f@indiatimes.com,244.25.250.175 +125,Deina,Scotfurth,dscotfurth3g@salon.com,51.20.213.72 +126,Jessie,Cardoo,jcardoo3h@fotki.com,140.171.175.173 +127,Kala,Fallows,kfallows3i@sogou.com,4.52.196.103 +128,Berenice,Marie,bmarie3j@ucsd.edu,79.76.8.157 +129,Dirk,Donaghy,ddonaghy3k@wired.com,179.200.212.84 +130,Lucia,Boshier,lboshier3l@gravatar.com,221.227.100.251 +131,Hatty,Elwin,helwin3m@netvibes.com,128.37.135.27 +132,Bonnie,Petyt,bpetyt3n@jugem.jp,21.61.201.112 +133,Phillipe,Martyntsev,pmartyntsev3o@netvibes.com,183.24.176.139 +134,Powell,Enrique,penrique3p@loc.gov,252.38.153.48 +135,Rey,Southward,rsouthward3q@dion.ne.jp,162.192.135.104 +136,Aluin,Brew,abrew3r@flavors.me,220.50.126.30 +137,Arielle,Aspin,aaspin3s@about.me,174.175.140.183 +138,Irene,Hackin,ihackin3t@oakley.com,71.111.61.36 +139,Abba,Fley,afley3u@etsy.com,147.156.189.24 +140,Lola,Cluatt,lcluatt3v@addthis.com,243.238.95.192 +141,Sallee,Laflin,slaflin3w@meetup.com,144.167.83.204 +142,Noami,Fergusson,nfergusson3x@ox.ac.uk,95.254.111.247 +143,Craig,Kolakowski,ckolakowski3y@goodreads.com,136.90.91.227 +144,Axel,Gianneschi,agianneschi3z@guardian.co.uk,64.32.17.203 +145,Ennis,Runge,erunge40@bluehost.com,68.54.122.19 +146,Tanney,Preshaw,tpreshaw41@simplemachines.org,211.64.133.182 +147,Shirley,Humbee,shumbee42@histats.com,150.61.218.72 +148,Claire,Casperri,ccasperri43@disqus.com,190.105.217.249 +149,Alvinia,Quibell,aquibell44@latimes.com,211.175.91.74 +150,Cristine,Larmet,clarmet45@prweb.com,219.213.234.203 +151,Fransisco,Snazle,fsnazle46@ed.gov,132.154.64.233 +152,Malchy,By,mby47@unesco.org,39.132.111.147 +153,Jeniffer,Leiden,jleiden48@usa.gov,167.209.132.123 +154,Laraine,Glasard,lglasard49@opensource.org,108.104.117.93 +155,Sandie,Woollam,swoollam4a@pinterest.com,165.125.58.90 +156,Ossie,Carle,ocarle4b@aboutads.info,252.93.125.66 +157,Ahmed,Lloyd-Williams,alloydwilliams4c@cnn.com,142.92.98.91 +158,Fifi,Pescod,fpescod4d@ftc.gov,184.222.148.241 +159,Hunfredo,Coton,hcoton4e@barnesandnoble.com,133.131.166.250 +160,Benjamen,Tort,btort4f@indiegogo.com,185.198.145.238 +161,Odelia,Grindall,ogrindall4g@creativecommons.org,133.188.232.235 +162,Ermanno,Danson,edanson4h@cbc.ca,13.43.126.215 +163,Netti,Wolters,nwolters4i@feedburner.com,229.127.153.246 +164,Krissy,Upham,kupham4j@privacy.gov.au,45.158.194.218 +165,Andra,Wyard,awyard4k@hugedomains.com,241.13.177.238 +166,Ennis,Peterson,epeterson4l@google.co.uk,42.112.253.18 +167,Michael,Jotham,mjotham4m@gov.uk,235.189.5.120 +168,Ruby,Shenton,rshenton4n@mozilla.com,169.205.79.220 +169,Eugenie,Tidd,etidd4o@dion.ne.jp,134.53.25.174 +170,Cammie,Belsher,cbelsher4p@scientificamerican.com,185.138.254.30 +171,Almire,Mabbett,amabbett4q@arizona.edu,23.166.132.13 +172,Karlie,De Carteret,kdecarteret4r@economist.com,76.53.116.99 +173,Stafford,Uphill,suphill4s@bbc.co.uk,141.105.29.43 +174,Omero,Copins,ocopins4t@altervista.org,223.73.36.52 +175,Tye,Beeston,tbeeston4u@lulu.com,16.38.192.124 +176,Kayla,Truelock,ktruelock4v@mac.com,189.112.196.88 +177,Kelcy,Mavin,kmavin4w@bloglines.com,0.114.85.73 +178,Alonso,Mapother,amapother4x@discovery.com,255.92.160.115 +179,Shelton,Spellard,sspellard4y@icio.us,171.103.162.9 +180,Arin,Geany,ageany4z@w3.org,181.19.214.187 +181,Bernetta,Isakov,bisakov50@virginia.edu,218.183.145.140 +182,Boone,Garrard,bgarrard51@irs.gov,46.26.5.24 +183,Edgardo,Pleasaunce,epleasaunce52@globo.com,59.126.148.239 +184,Arch,Gaddesby,agaddesby53@friendfeed.com,249.59.113.51 +185,Brandy,Gorries,bgorries54@ehow.com,255.199.133.203 +186,Christiana,Howsam,chowsam55@usda.gov,181.20.166.184 +187,Vin,Momery,vmomery56@free.fr,65.42.186.56 +188,Perry,Cullotey,pcullotey57@yellowbook.com,120.12.63.104 +189,Cherise,De Biasi,cdebiasi58@goodreads.com,190.114.2.70 +190,Hanny,Stubbes,hstubbes59@chronoengine.com,137.90.146.109 +191,Monah,Boutton,mboutton5a@homestead.com,140.69.12.115 +192,Hamid,Calloway,hcalloway5b@nhs.uk,60.220.17.117 +193,Miner,Epgrave,mepgrave5c@mapquest.com,151.67.233.50 +194,Bertrando,Mallabar,bmallabar5d@timesonline.co.uk,180.63.24.173 +195,Merci,Sturton,msturton5e@cloudflare.com,30.128.226.38 +196,Roland,Astlet,rastlet5f@spiegel.de,53.57.186.191 +197,Nathalia,Durdle,ndurdle5g@bloglovin.com,231.199.154.107 +198,Lissie,Rouzet,lrouzet5h@cbsnews.com,53.222.142.148 +199,Camellia,Elstone,celstone5i@noaa.gov,42.69.82.116 +200,Kaja,Conklin,kconklin5j@slate.com,79.82.90.4 +201,Saunderson,Hun,shun5k@creativecommons.org,16.157.179.142 +202,Roby,Clemetts,rclemetts5l@boston.com,140.123.99.70 +203,Corinna,Tidmarsh,ctidmarsh5m@yellowbook.com,133.208.20.165 +204,Maude,Regitz,mregitz5n@netlog.com,219.141.22.123 +205,Elaina,Braidwood,ebraidwood5o@unicef.org,248.58.91.45 +206,Corrianne,Whitelaw,cwhitelaw5p@mediafire.com,118.18.114.16 +207,Eberto,Swyndley,eswyndley5q@geocities.com,27.236.40.116 +208,Christiano,Minucci,cminucci5r@examiner.com,156.189.56.97 +209,Malachi,Revell,mrevell5s@soup.io,207.107.110.198 +210,Annadiana,Tysack,atysack5t@discuz.net,233.37.29.6 +211,Federico,Giovanardi,fgiovanardi5u@ycombinator.com,243.150.14.238 +212,Caty,Christon,cchriston5v@creativecommons.org,130.23.247.197 +213,Maryanne,Gradon,mgradon5w@wufoo.com,93.232.255.99 +214,Jack,Laurence,jlaurence5x@usda.gov,208.254.160.155 +215,Lauraine,Peplay,lpeplay5y@domainmarket.com,75.25.167.2 +216,Ortensia,Stouther,ostouther5z@mozilla.org,113.76.175.213 +217,Iago,Tunstall,itunstall60@amazon.com,99.202.202.181 +218,Georas,Lace,glace61@usa.gov,169.132.20.130 +219,Peter,Peggs,ppeggs62@twitpic.com,180.204.244.2 +220,Aviva,Fruchon,afruchon63@amazon.co.uk,53.206.106.56 +221,Tirrell,Guillou,tguillou64@webnode.com,74.166.194.83 +222,Temple,Wisniewski,twisniewski65@instagram.com,227.60.79.73 +223,Giorgi,Beddo,gbeddo66@baidu.com,139.14.44.66 +224,Davie,Ranking,dranking67@ft.com,136.84.98.59 +225,Terrence,Dunnett,tdunnett68@deliciousdays.com,61.26.160.251 +226,Katha,Greasley,kgreasley69@hubpages.com,138.139.214.118 +227,Agnese,Cardenas,acardenas6a@cdbaby.com,172.89.183.52 +228,Devonne,Gregg,dgregg6b@shareasale.com,101.231.151.202 +229,Zandra,Muggleton,zmuggleton6c@1688.com,118.196.56.164 +230,Brandyn,Arnold,barnold6d@fema.gov,32.15.169.236 +231,Vivie,Rubel,vrubel6e@google.nl,36.14.201.192 +232,Alex,Linney,alinney6f@slate.com,184.180.199.186 +233,Dimitry,Delouch,ddelouch6g@ucsd.edu,149.49.16.223 +234,Tedd,Sweynson,tsweynson6h@opera.com,98.124.176.147 +235,Antonio,Lawfull,alawfull6i@networkadvertising.org,198.67.237.250 +236,Beverlee,Penni,bpenni6j@comcast.net,140.51.191.227 +237,Rosemary,Minor,rminor6k@vk.com,94.93.169.60 +238,Abbie,Deason,adeason6l@berkeley.edu,147.14.18.158 +239,Ileane,Friday,ifriday6m@wiley.com,188.172.47.190 +240,Stephenie,Woolatt,swoolatt6n@infoseek.co.jp,3.176.184.203 +241,Angel,Moden,amoden6o@nasa.gov,255.57.108.58 +242,Chevy,Croley,ccroley6p@wufoo.com,132.248.149.49 +243,Gaylor,Wiltshear,gwiltshear6q@jimdo.com,82.92.128.187 +244,Hagen,Benda,hbenda6r@boston.com,249.202.180.209 +245,Nickie,Sprake,nsprake6s@cloudflare.com,229.141.64.215 +246,Ulberto,Lakenden,ulakenden6t@kickstarter.com,111.8.12.119 +247,Annnora,Bunworth,abunworth6u@mysql.com,12.100.167.66 +248,Lesli,McFall,lmcfall6v@thetimes.co.uk,39.86.103.227 +249,Creight,Wogden,cwogden6w@google.de,8.71.1.35 +250,Evey,End,eend6x@reuters.com,250.254.194.206 +251,Ranna,Glazyer,rglazyer6y@wikimedia.org,80.0.51.83 +252,Francisco,Elcoate,felcoate6z@wired.com,102.116.100.0 +253,Selig,Pepler,spepler70@github.io,134.103.190.178 +254,Hamel,Peasee,hpeasee71@kickstarter.com,238.90.201.30 +255,Louise,Hasney,lhasney72@hibu.com,199.137.135.110 +256,Dahlia,Georgeou,dgeorgeou73@studiopress.com,162.209.224.126 +257,Chase,Hapke,chapke74@fastcompany.com,154.159.242.2 +258,Ring,Fluin,rfluin75@discovery.com,237.233.233.27 +259,Virginia,Marland,vmarland76@miibeian.gov.cn,143.192.114.83 +260,Paxon,Warbey,pwarbey77@51.la,125.7.220.195 +261,Liana,Stanworth,lstanworth78@miitbeian.gov.cn,110.25.203.26 +262,Karina,Chalmers,kchalmers79@angelfire.com,252.100.183.152 +263,Frazer,Knoton,fknoton7a@arstechnica.com,218.62.101.165 +264,Fairlie,Herkess,fherkess7b@diigo.com,59.53.7.215 +265,Binnie,Eadon,beadon7c@prlog.org,199.212.166.40 +266,Fannie,Eldin,feldin7d@exblog.jp,123.145.220.3 +267,Thaxter,Beamand,tbeamand7e@techcrunch.com,101.127.7.155 +268,Marcile,Coverley,mcoverley7f@123-reg.co.uk,247.143.32.95 +269,Evan,Hawkwood,ehawkwood7g@phpbb.com,178.45.110.151 +270,Tiphani,Aldhous,taldhous7h@is.gd,174.230.79.189 +271,Gertruda,Cawood,gcawood7i@google.it,28.209.45.209 +272,Auberon,Loveland,aloveland7j@homestead.com,211.149.5.147 +273,Salmon,McMickan,smcmickan7k@clickbank.net,38.13.110.150 +274,Lotta,McDougle,lmcdougle7l@pagesperso-orange.fr,20.240.225.225 +275,Uta,Percy,upercy7m@who.int,250.139.21.183 +276,Rori,Southward,rsouthward7n@sina.com.cn,166.107.196.142 +277,Janna,Barneville,jbarneville7o@sogou.com,68.173.71.94 +278,Heather,Earle,hearle7p@nbcnews.com,33.160.255.99 +279,Hartley,Goulborn,hgoulborn7q@adobe.com,96.176.133.88 +280,Alli,Di Franceschi,adifranceschi7r@reference.com,10.163.229.86 +281,Noelyn,Juleff,njuleff7s@vk.com,87.159.235.164 +282,Gay,Derham,gderham7t@soundcloud.com,32.46.181.78 +283,Evvy,Burkill,eburkill7u@phoca.cz,5.177.33.95 +284,Nobe,Fery,nfery7v@berkeley.edu,124.14.138.141 +285,Carey,Lockner,clockner7w@infoseek.co.jp,236.98.79.192 +286,Patrice,De Lorenzo,pdelorenzo7x@epa.gov,59.104.71.225 +287,Norine,Costigan,ncostigan7y@blogspot.com,33.34.125.123 +288,Eveline,Hutable,ehutable7z@alexa.com,83.232.125.97 +289,Mackenzie,Sholem,msholem80@wired.com,66.232.214.142 +290,Ardelia,Gammage,agammage81@lycos.com,81.47.84.39 +291,Hakim,Pestricke,hpestricke82@sciencedirect.com,6.211.189.173 +292,Alphonso,Lazarus,alazarus83@lulu.com,9.143.238.133 +293,Fred,Broxton,fbroxton84@studiopress.com,200.196.89.145 +294,Florencia,Bilt,fbilt85@bloomberg.com,126.140.143.159 +295,Tanner,Blumfield,tblumfield86@thetimes.co.uk,177.202.37.42 +296,Phil,Duplan,pduplan87@networkadvertising.org,78.98.30.138 +297,Marty,Rother,mrother88@reuters.com,92.189.95.115 +298,Carree,Oxford,coxford89@deliciousdays.com,150.176.219.1 +299,Carolynn,Drance,cdrance8a@fotki.com,186.44.48.162 +300,Yoko,Perree,yperree8b@hibu.com,142.63.125.237 +301,Phyllis,Jikovsky,pjikovsky8c@independent.co.uk,7.3.177.62 +302,Blinny,Scatchard,bscatchard8d@blogtalkradio.com,126.130.223.95 +303,Tracey,Aharoni,taharoni8e@ustream.tv,248.64.74.236 +304,Bernadina,Freeburn,bfreeburn8f@amazon.co.uk,19.69.151.159 +305,Stacee,Feeham,sfeeham8g@aol.com,43.191.101.169 +306,Josy,Ridgedell,jridgedell8h@apache.org,30.31.250.117 +307,Hiram,Willgrass,hwillgrass8i@symantec.com,80.128.69.234 +308,Yalonda,Laxtonne,ylaxtonne8j@livejournal.com,133.181.128.162 +309,Tiebout,Kupper,tkupper8k@reuters.com,204.104.124.81 +310,Marian,Gutch,mgutch8l@zdnet.com,129.56.44.92 +311,Justis,Charlesworth,jcharlesworth8m@t.co,127.92.113.240 +312,Jacquelynn,Glass,jglass8n@behance.net,7.101.43.182 +313,Mayor,Husband,mhusband8o@upenn.edu,3.1.193.229 +314,Kev,Hubbold,khubbold8p@flavors.me,70.50.10.83 +315,Horatius,Trudgion,htrudgion8q@shareasale.com,151.227.23.28 +316,Myrtia,Cordes,mcordes8r@globo.com,218.202.183.118 +317,Reagen,Lapre,rlapre8s@cyberchimps.com,132.173.255.42 +318,Guy,Osgardby,gosgardby8t@baidu.com,119.67.94.65 +319,Jori,Arrault,jarrault8u@zimbio.com,59.21.94.35 +320,Hill,Crampsey,hcrampsey8v@ebay.co.uk,3.170.10.72 +321,Jo ann,Francom,jfrancom8w@multiply.com,111.249.41.24 +322,Clive,Frascone,cfrascone8x@goo.ne.jp,181.191.42.104 +323,Carl,Charer,ccharer8y@ask.com,253.185.128.82 +324,Margarita,Pledger,mpledger8z@globo.com,251.58.128.251 +325,Mord,Matthessen,mmatthessen90@about.me,207.59.70.244 +326,Rina,Osbiston,rosbiston91@ameblo.jp,34.153.172.87 +327,Alexina,Stuchbery,astuchbery92@vimeo.com,4.254.53.179 +328,Duncan,Perford,dperford93@fda.gov,130.47.86.144 +329,Glynnis,Yarrington,gyarrington94@loc.gov,8.136.79.187 +330,Paige,Filippi,pfilippi95@symantec.com,31.136.6.109 +331,Almire,Curnokk,acurnokk96@ca.gov,161.194.173.84 +332,Helena,Andreacci,handreacci97@chron.com,249.232.236.206 +333,Berti,Fearfull,bfearfull98@over-blog.com,210.247.197.92 +334,Lula,Joburn,ljoburn99@people.com.cn,119.56.63.228 +335,Urson,Chown,uchown9a@ycombinator.com,221.93.156.233 +336,Morlee,Myhill,mmyhill9b@ehow.com,93.75.196.247 +337,Glynda,Kayley,gkayley9c@examiner.com,160.84.170.80 +338,Vally,Eslinger,veslinger9d@boston.com,174.164.207.3 +339,Edouard,Schubart,eschubart9e@cornell.edu,7.23.150.142 +340,Dollie,Hargerie,dhargerie9f@yahoo.com,13.176.70.32 +341,Raphaela,Hasluck,rhasluck9g@cdbaby.com,255.251.180.175 +342,Fransisco,Szabo,fszabo9h@goodreads.com,159.114.236.220 +343,Quinn,Mordie,qmordie9i@marketwatch.com,32.14.40.214 +344,Nicoline,Behrens,nbehrens9j@posterous.com,130.8.213.242 +345,Vito,Bromby,vbromby9k@bloglovin.com,56.34.49.131 +346,Horacio,Tremberth,htremberth9l@ocn.ne.jp,148.195.78.183 +347,Heidie,Sawle,hsawle9m@1688.com,14.87.253.125 +348,Mina,Delph,mdelph9n@gravatar.com,3.44.2.51 +349,Jennie,Gerleit,jgerleit9o@cpanel.net,144.194.96.157 +350,Nelie,Ault,nault9p@tmall.com,132.215.199.16 +351,Myrtle,Casely,mcasely9q@angelfire.com,17.12.205.133 +352,Ashli,Gristwood,agristwood9r@studiopress.com,91.212.98.169 +353,Armstrong,Libermore,alibermore9s@nhs.uk,176.56.230.231 +354,Paule,Sprowson,psprowson9t@google.de,162.67.240.94 +355,Donovan,Pearlman,dpearlman9u@cargocollective.com,158.54.166.121 +356,Isabeau,Goranov,igoranov9v@smugmug.com,239.137.92.63 +357,Zeb,Shane,zshane9w@eepurl.com,30.4.128.139 +358,Kaitlin,Bladon,kbladon9x@nhs.uk,98.41.113.137 +359,Georgie,Westmancoat,gwestmancoat9y@eepurl.com,107.62.32.180 +360,Laraine,Jaumet,ljaumet9z@mac.com,101.140.100.140 +361,Artemis,Flannigan,aflannigana0@nyu.edu,163.59.229.174 +362,Kalvin,Cortin,kcortina1@microsoft.com,227.69.2.127 +363,Gavin,Hassell,ghassella2@google.it,149.135.149.206 +364,Gabbi,Widger,gwidgera3@salon.com,73.191.239.172 +365,Huntlee,Cummings,hcummingsa4@amazon.de,95.213.192.155 +366,Dora,Carlisi,dcarlisia5@histats.com,33.241.105.150 +367,Stefa,Langsdon,slangsdona6@ycombinator.com,166.197.172.22 +368,Grier,Kennealy,gkennealya7@phoca.cz,215.124.143.143 +369,Othilia,Gulvin,ogulvina8@theatlantic.com,1.181.101.218 +370,Ax,Gulk,agulka9@facebook.com,109.220.189.0 +371,Pedro,Roncelli,proncelliaa@addthis.com,220.105.19.192 +372,Sara-ann,Utteridge,sutteridgeab@slideshare.net,122.105.134.161 +373,Enoch,Shepcutt,eshepcuttac@cafepress.com,134.95.17.100 +374,Elsie,Peasegood,epeasegoodad@bing.com,148.53.172.79 +375,Esme,Mallock,emallockae@simplemachines.org,78.203.230.34 +376,Thalia,MacNally,tmacnallyaf@craigslist.org,219.198.35.102 +377,Hartley,Zoane,hzoaneag@canalblog.com,216.237.105.88 +378,Thorsten,Samett,tsamettah@histats.com,207.219.108.26 +379,Whitby,Pattini,wpattiniai@cbslocal.com,207.82.202.30 +380,Drugi,Robson,drobsonaj@networksolutions.com,23.89.17.112 +381,Myron,Cape,mcapeak@csmonitor.com,66.250.132.88 +382,Jehu,Navarre,jnavarreal@shareasale.com,199.29.252.132 +383,Gerty,Shavel,gshavelam@ning.com,23.147.185.39 +384,Orbadiah,Baughen,obaughenan@goo.ne.jp,27.220.204.144 +385,Danell,Dinneen,ddinneenao@merriam-webster.com,117.86.100.127 +386,Craggie,Winson,cwinsonap@hatena.ne.jp,160.85.146.160 +387,Andonis,MacGille,amacgilleaq@wired.com,48.14.157.131 +388,Claudine,Box,cboxar@etsy.com,187.54.28.196 +389,Igor,Jacox,ijacoxas@slate.com,179.246.14.189 +390,Leeland,Ingleton,lingletonat@umich.edu,201.181.2.90 +391,Wilma,Sybry,wsybryau@economist.com,150.96.210.188 +392,Sherwin,Schapiro,sschapiroav@ox.ac.uk,159.218.191.196 +393,Jeannie,Innes,jinnesaw@ocn.ne.jp,35.94.133.115 +394,Barbra,Jeschner,bjeschnerax@home.pl,120.115.31.214 +395,Dasie,Ludlam,dludlamay@usa.gov,197.60.159.215 +396,Cleo,Franz,cfranzaz@cafepress.com,10.4.172.62 +397,Sascha,Seelbach,sseelbachb0@constantcontact.com,26.24.82.168 +398,Nissy,Hallahan,nhallahanb1@csmonitor.com,98.190.108.251 +399,Boote,Stemp,bstempb2@cnn.com,128.253.30.32 +400,Markos,Bertram,mbertramb3@behance.net,128.15.252.63 +401,Flor,Paramore,fparamoreb4@ow.ly,164.46.95.215 +402,Harman,Minthorpe,hminthorpeb5@wikipedia.org,48.203.63.31 +403,Neilla,Goggey,ngoggeyb6@reverbnation.com,56.67.211.58 +404,Allin,Noddings,anoddingsb7@globo.com,208.31.112.60 +405,Cassi,Roles,crolesb8@people.com.cn,119.237.74.26 +406,Zuzana,Cliss,zclissb9@guardian.co.uk,89.132.183.2 +407,Margo,Pendreigh,mpendreighba@forbes.com,198.114.121.203 +408,Yehudi,Arnecke,yarneckebb@wix.com,41.171.29.12 +409,Caye,Geering,cgeeringbc@nsw.gov.au,60.107.73.28 +410,Jess,Pattini,jpattinibd@utexas.edu,110.17.160.73 +411,Olvan,Blackleech,oblackleechbe@rambler.ru,183.228.3.230 +412,Heidie,Piegrome,hpiegromebf@soundcloud.com,10.219.76.120 +413,Annmaria,Sandom,asandombg@disqus.com,252.217.161.38 +414,Nollie,Friary,nfriarybh@drupal.org,173.208.66.240 +415,Krystyna,Skitch,kskitchbi@newsvine.com,248.227.29.64 +416,Lanna,Banfill,lbanfillbj@ycombinator.com,52.61.113.79 +417,Antoine,Skuse,askusebk@github.com,254.163.19.172 +418,Janith,Kingsland,jkingslandbl@digg.com,252.188.219.179 +419,Malory,Neller,mnellerbm@soundcloud.com,123.70.66.220 +420,Rutherford,Goodwin,rgoodwinbn@springer.com,62.186.229.16 +421,Felita,Fleckney,ffleckneybo@zimbio.com,6.46.133.160 +422,Gratia,Van Arsdale,gvanarsdalebp@cargocollective.com,122.147.178.146 +423,Madeleine,Angrick,mangrickbq@kickstarter.com,70.196.180.152 +424,Rurik,Bernakiewicz,rbernakiewiczbr@lycos.com,30.160.101.66 +425,Ferdinande,Tinline,ftinlinebs@last.fm,181.249.213.202 +426,Kenyon,Branigan,kbraniganbt@imageshack.us,204.176.54.190 +427,Arley,Cursey,acurseybu@latimes.com,17.58.82.43 +428,Abramo,Crossingham,acrossinghambv@myspace.com,192.236.31.231 +429,Sayres,Risso,srissobw@theglobeandmail.com,115.236.192.45 +430,Andrew,Horwell,ahorwellbx@blinklist.com,110.235.15.207 +431,Loella,Hegden,lhegdenby@biglobe.ne.jp,177.37.227.253 +432,Gerek,Barrass,gbarrassbz@people.com.cn,80.202.217.115 +433,Pace,Wickstead,pwicksteadc0@state.gov,68.139.125.142 +434,Thedrick,Took,ttookc1@rakuten.co.jp,233.204.174.146 +435,Venita,Trotter,vtrotterc2@indiegogo.com,147.116.118.189 +436,Carmencita,Motto,cmottoc3@123-reg.co.uk,132.48.107.69 +437,Marion,Fortie,mfortiec4@ebay.com,254.15.201.135 +438,Lorrie,Borlease,lborleasec5@sfgate.com,216.74.2.87 +439,Iormina,Jaycox,ijaycoxc6@so-net.ne.jp,156.105.28.5 +440,Ollie,Siggens,osiggensc7@gravatar.com,170.190.165.81 +441,Jeniffer,Klimentov,jklimentovc8@storify.com,22.231.192.37 +442,Giulietta,Sloss,gslossc9@dagondesign.com,70.103.164.246 +443,Dirk,Oldacres,doldacresca@technorati.com,153.82.103.2 +444,Thane,Klimke,tklimkecb@people.com.cn,51.39.234.210 +445,Dalston,Wakelam,dwakelamcc@usa.gov,83.197.236.115 +446,Robyn,Topham,rtophamcd@sourceforge.net,42.178.182.2 +447,Jamima,Donaghie,jdonaghiece@mysql.com,203.43.208.108 +448,Shanta,Whatman,swhatmancf@purevolume.com,149.93.188.6 +449,Caroline,Gorries,cgorriescg@123-reg.co.uk,82.137.166.26 +450,Filmore,De Beauchamp,fdebeauchampch@sfgate.com,214.41.248.185 +451,Lila,Coltman,lcoltmanci@craigslist.org,31.70.118.118 +452,Elijah,Mackinder,emackindercj@digg.com,110.87.4.138 +453,Bunny,Rudledge,brudledgeck@cnbc.com,121.99.176.158 +454,Rebeca,Stienton,rstientoncl@macromedia.com,125.55.195.206 +455,Dalston,Rubinowitch,drubinowitchcm@sakura.ne.jp,220.145.118.199 +456,Feodor,Gosland,fgoslandcn@narod.ru,0.103.87.144 +457,Isak,Attock,iattockco@mediafire.com,48.129.121.205 +458,Kathleen,Venes,kvenescp@hhs.gov,71.224.38.76 +459,Lucille,Jodrellec,ljodrelleccq@topsy.com,228.24.118.202 +460,Fernanda,Trill,ftrillcr@furl.net,44.61.125.200 +461,Harley,Masterson,hmastersoncs@newyorker.com,252.69.52.235 +462,Lazar,Lightman,llightmanct@github.com,146.200.165.16 +463,Haskell,Abbis,habbiscu@google.cn,152.228.9.168 +464,Hurley,Midford,hmidfordcv@sbwire.com,129.151.32.245 +465,Jemimah,Pressey,jpresseycw@a8.net,183.62.242.244 +466,Carrissa,Friary,cfriarycx@google.it,92.55.177.71 +467,Maryanna,Paulsen,mpaulsency@nationalgeographic.com,181.209.180.227 +468,Giraud,Gronav,ggronavcz@taobao.com,105.213.114.225 +469,Chancey,Pettifer,cpettiferd0@sohu.com,130.9.209.119 +470,Frannie,Gloyens,fgloyensd1@redcross.org,19.191.0.75 +471,Jasen,Costock,jcostockd2@about.me,87.179.47.67 +472,Welch,Tomaszczyk,wtomaszczykd3@blogger.com,38.44.135.32 +473,Luciano,Mc Meekin,lmcmeekind4@comcast.net,254.164.180.49 +474,Del,Hentzer,dhentzerd5@skyrock.com,230.94.237.132 +475,Gretel,Vassman,gvassmand6@about.me,182.239.129.59 +476,Milty,Reicharz,mreicharzd7@mozilla.com,199.208.140.143 +477,Whitney,Sendall,wsendalld8@edublogs.org,76.27.135.149 +478,Tim,Glison,tglisond9@usgs.gov,46.203.89.135 +479,Maurice,Blooman,mbloomanda@senate.gov,120.94.254.9 +480,Ysabel,Eagles,yeaglesdb@oakley.com,223.168.236.122 +481,Nicolle,Menci,nmencidc@fema.gov,14.67.226.38 +482,Agnes,Shutte,ashuttedd@xinhuanet.com,71.215.246.206 +483,Emlynn,Calder,ecalderde@mail.ru,139.138.245.83 +484,Jorry,Kedslie,jkedsliedf@mozilla.org,87.35.218.149 +485,Manuel,Downey,mdowneydg@walmart.com,89.51.120.229 +486,Caro,Ambrosio,cambrosiodh@addthis.com,85.126.54.39 +487,Welch,Yeskov,wyeskovdi@blogs.com,192.89.209.194 +488,Gerrard,McLorinan,gmclorinandj@xinhuanet.com,75.245.44.64 +489,Briny,Garret,bgarretdk@microsoft.com,223.195.222.201 +490,Mark,Charte,mchartedl@reddit.com,239.202.60.94 +491,Luci,Dzenisenka,ldzenisenkadm@tinypic.com,82.253.61.134 +492,Kelbee,Larchier,klarchierdn@quantcast.com,221.163.28.162 +493,Mozelle,Chritchlow,mchritchlowdo@technorati.com,198.81.173.161 +494,Jarvis,Iorillo,jiorillodp@studiopress.com,93.101.150.11 +495,Netta,Reape,nreapedq@gnu.org,51.144.222.128 +496,Bing,Gerardot,bgerardotdr@parallels.com,50.104.129.117 +497,Corny,Odcroft,codcroftds@gnu.org,208.131.76.86 +498,Cirstoforo,Danilishin,cdanilishindt@i2i.jp,81.71.29.231 +499,Winni,Fonzone,wfonzonedu@pagesperso-orange.fr,224.208.253.44 +500,Greta,Charlesworth,gcharlesworthdv@cdc.gov,189.92.249.105 +501,Davita,Nattriss,dnattrissdw@usnews.com,104.76.94.84 +502,Jacky,Merrington,jmerringtondx@clickbank.net,32.186.87.6 +503,Levin,Brightling,lbrightlingdy@amazon.co.uk,244.155.255.27 +504,Nari,Tenny,ntennydz@ocn.ne.jp,225.68.188.123 +505,Shem,Benthall,sbenthalle0@webeden.co.uk,78.171.218.118 +506,Austine,Sygroves,asygrovese1@gov.uk,131.187.101.74 +507,Armando,Totterdell,atotterdelle2@gravatar.com,158.38.141.117 +508,Barde,Sibbs,bsibbse3@mit.edu,211.78.171.181 +509,Marcelia,Castagna,mcastagnae4@theguardian.com,4.99.134.90 +510,Marybelle,Hamelyn,mhamelyne5@yahoo.com,52.67.130.95 +511,Deana,Whittington,dwhittingtone6@mediafire.com,72.58.213.232 +512,Ashley,Waggett,awaggette7@delicious.com,108.85.79.77 +513,Ernestus,Mayling,emaylinge8@goodreads.com,124.56.40.59 +514,Roanne,Mullinder,rmullindere9@trellian.com,201.53.105.68 +515,Lodovico,Voules,lvoulesea@amazon.com,61.179.48.169 +516,Colas,Rollinson,crollinsoneb@bbc.co.uk,53.246.111.221 +517,Stefania,Heasly,sheaslyec@zdnet.com,187.226.144.94 +518,Demetra,Aizik,daiziked@sfgate.com,73.115.216.63 +519,Munroe,Pillans,mpillansee@buzzfeed.com,7.214.116.110 +520,Kaela,Bilbee,kbilbeeef@twitter.com,56.232.67.129 +521,Philippa,Pachmann,ppachmanneg@diigo.com,100.156.152.139 +522,Symon,Beazer,sbeazereh@ted.com,144.22.117.218 +523,Debi,Bonifacio,dbonifacioei@icio.us,95.128.45.154 +524,Cristi,Cumberledge,ccumberledgeej@google.com.au,17.253.21.244 +525,Jocelyne,Humm,jhummek@sphinn.com,5.193.76.122 +526,Inna,Erni,ierniel@weibo.com,162.244.156.206 +527,Edik,Studdard,estuddardem@amazon.de,112.108.204.147 +528,Jo,Howard,jhowarden@blinklist.com,252.90.29.4 +529,Marcelo,Springall,mspringalleo@zimbio.com,146.82.70.138 +530,Roxanne,Baggs,rbaggsep@biblegateway.com,43.59.252.117 +531,Josiah,Priditt,jpriditteq@goo.gl,128.191.182.166 +532,Margit,Forsdicke,mforsdickeer@ox.ac.uk,105.146.197.153 +533,Derril,Ambridge,dambridgees@facebook.com,25.99.66.38 +534,Eryn,Cohrs,ecohrset@geocities.jp,127.15.106.240 +535,Boone,Brient,bbrienteu@acquirethisname.com,135.74.238.119 +536,Barry,Cale,bcaleev@ucoz.com,15.154.159.133 +537,Carey,Sparhawk,csparhawkew@bloglines.com,129.132.63.205 +538,Tammy,Charley,tcharleyex@livejournal.com,151.198.50.157 +539,Walsh,Leggin,wlegginey@narod.ru,45.190.220.196 +540,Matthiew,Espinoza,mespinozaez@epa.gov,153.158.117.40 +541,Bekki,Lindwall,blindwallf0@jiathis.com,110.99.162.3 +542,Virgie,MacMychem,vmacmychemf1@mozilla.com,251.42.243.242 +543,Liv,Boundey,lboundeyf2@washingtonpost.com,13.30.208.83 +544,Dirk,Feld,dfeldf3@unesco.org,245.189.172.75 +545,Nikki,Boorne,nboornef4@discovery.com,19.92.231.218 +546,Brynna,Smeath,bsmeathf5@springer.com,34.139.205.63 +547,Erica,Laraway,elarawayf6@va.gov,0.19.56.89 +548,Gill,Kubczak,gkubczakf7@mtv.com,58.189.26.134 +549,Stefa,Klicher,sklicherf8@cocolog-nifty.com,212.250.35.126 +550,Ric,Matteini,rmatteinif9@google.com,76.40.210.171 +551,Renate,Clendennen,rclendennenfa@paginegialle.it,155.128.125.241 +552,Aryn,Housden,ahousdenfb@elegantthemes.com,218.187.212.50 +553,Denice,Haimes,dhaimesfc@tiny.cc,127.43.110.137 +554,Clarette,Brookfield,cbrookfieldfd@simplemachines.org,5.22.2.135 +555,Gabbey,Bradbrook,gbradbrookfe@tripod.com,100.103.183.118 +556,Chicky,Cordier,ccordierff@tripod.com,252.64.158.116 +557,Barton,Collick,bcollickfg@netlog.com,74.6.198.84 +558,Olivie,Fibbens,ofibbensfh@exblog.jp,62.227.196.134 +559,Donny,Wibrow,dwibrowfi@hubpages.com,46.77.170.143 +560,Dory,Williment,dwillimentfj@csmonitor.com,31.82.168.122 +561,Elayne,Cranmer,ecranmerfk@google.pl,12.148.73.45 +562,Corby,Vaz,cvazfl@weather.com,47.184.29.175 +563,Annmarie,Bisterfeld,abisterfeldfm@huffingtonpost.com,9.167.215.142 +564,Emelda,Blasius,eblasiusfn@vkontakte.ru,223.61.226.54 +565,Paloma,Hulke,phulkefo@canalblog.com,201.194.32.92 +566,Bertie,Del Checolo,bdelchecolofp@jimdo.com,243.210.15.79 +567,Cullen,Summerton,csummertonfq@blogtalkradio.com,117.160.26.233 +568,Algernon,Backshell,abackshellfr@squidoo.com,35.184.102.214 +569,Nevin,Cicculi,ncicculifs@microsoft.com,54.140.7.38 +570,Kelcey,Olrenshaw,kolrenshawft@comcast.net,219.11.78.3 +571,Benny,Curtayne,bcurtaynefu@addthis.com,134.236.253.152 +572,Florie,Magenny,fmagennyfv@bbb.org,236.226.233.115 +573,Tabor,Clench,tclenchfw@google.cn,58.188.164.129 +574,Renato,Langmuir,rlangmuirfx@ed.gov,224.245.61.255 +575,Timoteo,Megarry,tmegarryfy@businesswire.com,87.56.232.131 +576,Saba,Trace,stracefz@cnn.com,172.20.254.18 +577,Martin,Hardin,mharding0@uiuc.edu,59.94.197.156 +578,Che,Bosma,cbosmag1@example.com,171.9.149.230 +579,Lorenzo,Kingshott,lkingshottg2@wikipedia.org,134.33.44.254 +580,Dorise,Paige,dpaigeg3@jugem.jp,20.161.148.227 +581,Elana,Knocker,eknockerg4@biblegateway.com,118.187.107.81 +582,Loralie,Gabala,lgabalag5@time.com,204.62.248.40 +583,Gerrard,Hofler,ghoflerg6@mapquest.com,21.90.212.249 +584,Meade,Mee,mmeeg7@edublogs.org,243.160.122.66 +585,Lucille,Hardbattle,lhardbattleg8@acquirethisname.com,185.202.79.158 +586,Brigham,Garrison,bgarrisong9@icq.com,100.197.243.236 +587,Gabrila,Gartsyde,ggartsydega@berkeley.edu,218.166.227.41 +588,Angel,Audas,aaudasgb@youtu.be,45.36.137.219 +589,Babara,Blenkensop,bblenkensopgc@163.com,69.160.69.41 +590,Odelle,MacNess,omacnessgd@1688.com,189.134.207.88 +591,Normy,Luney,nluneyge@yahoo.co.jp,175.173.13.106 +592,Billie,Westnedge,bwestnedgegf@soup.io,87.242.196.167 +593,Gusella,Trevers,gtreversgg@printfriendly.com,165.221.104.240 +594,Sergei,Headey,sheadeygh@smh.com.au,249.88.42.65 +595,Page,Suggate,psuggategi@cbsnews.com,46.36.122.173 +596,Frasier,Beards,fbeardsgj@illinois.edu,112.199.28.40 +597,Cristy,Kuhnt,ckuhntgk@ezinearticles.com,242.113.62.65 +598,Hyacintha,Marriot,hmarriotgl@stanford.edu,144.224.32.129 +599,Tish,Simyson,tsimysongm@hp.com,55.111.3.192 +600,Kimmy,Cookman,kcookmangn@ftc.gov,110.100.123.66 +601,Fee,Trenaman,ftrenamango@stanford.edu,125.132.183.122 +602,Harold,Spreckley,hspreckleygp@nature.com,115.186.25.105 +603,Ophelie,Spinnace,ospinnacegq@miibeian.gov.cn,255.234.255.18 +604,Aymer,MacGowan,amacgowangr@booking.com,214.162.180.214 +605,Elliot,Brownsword,ebrownswordgs@ihg.com,76.84.225.105 +606,Christabel,Riedel,criedelgt@nationalgeographic.com,91.92.75.188 +607,Mercie,Gaukrodge,mgaukrodgegu@nasa.gov,8.66.116.234 +608,Jordan,Doiley,jdoileygv@themeforest.net,119.34.164.200 +609,Guenna,Dearnly,gdearnlygw@people.com.cn,40.147.212.167 +610,Rosalind,Doreward,rdorewardgx@hao123.com,76.93.185.142 +611,Stearne,Siddall,ssiddallgy@apache.org,206.2.186.251 +612,Maible,Vigurs,mvigursgz@smugmug.com,233.89.155.231 +613,Carry,Curuclis,ccuruclish0@cyberchimps.com,237.4.137.235 +614,Dacia,Shoobridge,dshoobridgeh1@sphinn.com,97.220.159.59 +615,Illa,Townson,itownsonh2@slashdot.org,36.57.197.202 +616,Mirilla,Spehr,mspehrh3@virginia.edu,2.230.213.20 +617,Afton,Clout,aclouth4@php.net,148.51.103.239 +618,Zia,Niccols,zniccolsh5@umn.edu,111.92.244.233 +619,Harlan,Care,hcareh6@geocities.jp,147.165.253.105 +620,Nealy,Kelby,nkelbyh7@java.com,199.17.128.183 +621,Hurlee,Rosel,hroselh8@aboutads.info,148.83.117.93 +622,Oates,Jurkowski,ojurkowskih9@domainmarket.com,51.168.198.177 +623,Tymon,Emerson,temersonha@gravatar.com,58.135.8.221 +624,Stacy,Katzmann,skatzmannhb@tumblr.com,27.51.250.240 +625,Aksel,Udden,auddenhc@reverbnation.com,8.179.159.178 +626,Brooke,Lourenco,blourencohd@google.com,215.41.155.94 +627,Clarita,Kolczynski,ckolczynskihe@unicef.org,211.79.208.231 +628,Emlyn,Glassman,eglassmanhf@stumbleupon.com,163.116.32.117 +629,Lucian,Gowrich,lgowrichhg@utexas.edu,190.40.48.107 +630,Rozamond,O'Kielt,rokielthh@answers.com,15.240.42.203 +631,Estel,McGeever,emcgeeverhi@paypal.com,125.220.7.209 +632,Meryl,Yakovitch,myakovitchhj@ca.gov,26.167.145.250 +633,Barty,Sneden,bsnedenhk@blogtalkradio.com,4.137.5.75 +634,Alex,McCord,amccordhl@hud.gov,73.247.18.192 +635,Edwina,Rubbert,erubberthm@tamu.edu,119.125.97.104 +636,Dicky,Bernette,dbernettehn@weebly.com,66.168.252.37 +637,Cirilo,Withey,cwitheyho@nytimes.com,114.36.203.75 +638,Ewell,Gillbard,egillbardhp@omniture.com,87.64.26.114 +639,Jephthah,Larver,jlarverhq@whitehouse.gov,195.113.125.231 +640,Tracee,Hanalan,thanalanhr@devhub.com,149.247.21.125 +641,Martino,Aucutt,maucutths@wp.com,183.226.21.75 +642,Carmel,Tilbury,ctilburyht@hubpages.com,237.24.250.230 +643,Phillida,Gonin,pgoninhu@wiley.com,21.135.44.11 +644,Grenville,Davenport,gdavenporthv@symantec.com,161.214.152.192 +645,Roland,Quinton,rquintonhw@dot.gov,187.116.110.29 +646,Oralla,Joffe,ojoffehx@diigo.com,194.12.78.19 +647,Franky,Bratch,fbratchhy@sciencedirect.com,95.101.50.215 +648,Tally,Strass,tstrasshz@ucoz.com,189.105.115.183 +649,Kaja,Dulwitch,kdulwitchi0@wordpress.com,24.47.243.10 +650,Charley,MacMoyer,cmacmoyeri1@ezinearticles.com,125.232.95.204 +651,Erena,Meegin,emeegini2@blinklist.com,113.139.104.92 +652,Shamus,McCalister,smccalisteri3@youtu.be,185.48.230.243 +653,Kenna,Johnes,kjohnesi4@adobe.com,199.246.105.153 +654,Kermie,Minchinden,kminchindeni5@mlb.com,188.192.235.227 +655,Nyssa,Moff,nmoffi6@google.fr,181.77.162.156 +656,Sandro,Eltone,seltonei7@sitemeter.com,238.214.156.50 +657,Gonzales,Gilchrist,ggilchristi8@123-reg.co.uk,183.186.33.93 +658,Giles,Hearnshaw,ghearnshawi9@oakley.com,41.172.162.150 +659,Aileen,Kaming,akamingia@bandcamp.com,210.182.117.208 +660,Viv,O'Shiel,voshielib@amazon.com,26.61.162.9 +661,Urson,Goodlip,ugoodlipic@studiopress.com,15.113.125.212 +662,Milty,Haggerston,mhaggerstonid@independent.co.uk,152.219.3.253 +663,Sallie,Elegood,selegoodie@jiathis.com,160.171.175.184 +664,Franny,Vigors,fvigorsif@japanpost.jp,118.37.205.205 +665,Adham,Blaxley,ablaxleyig@spiegel.de,30.116.133.169 +666,Maison,Kester,mkesterih@nymag.com,106.1.202.54 +667,Jesselyn,Luchetti,jluchettiii@dion.ne.jp,62.142.116.199 +668,Lina,Rowth,lrowthij@ezinearticles.com,157.196.248.45 +669,Ashlie,Denkin,adenkinik@fda.gov,50.184.255.159 +670,Stefan,Larking,slarkingil@hugedomains.com,117.121.10.196 +671,Tarra,Siddon,tsiddonim@nyu.edu,38.211.247.49 +672,Birk,Ellsbury,bellsburyin@storify.com,137.63.23.220 +673,Kurtis,Cason,kcasonio@mlb.com,230.97.231.3 +674,Misti,Gout,mgoutip@tmall.com,151.17.163.109 +675,Westbrook,O'dell,wodelliq@jimdo.com,87.175.119.82 +676,Tilda,Louiset,tlouisetir@slate.com,170.149.37.43 +677,Marcille,Matts,mmattsis@lycos.com,144.79.136.126 +678,Welch,Gopsall,wgopsallit@istockphoto.com,50.11.182.169 +679,Annabella,Whyberd,awhyberdiu@sitemeter.com,35.92.32.199 +680,Christian,Lory,cloryiv@ocn.ne.jp,252.121.51.34 +681,Odella,Strain,ostrainiw@123-reg.co.uk,8.207.56.131 +682,Elfie,Portt,eporttix@mysql.com,163.185.104.244 +683,Henrik,Grebbin,hgrebbiniy@bizjournals.com,201.159.100.117 +684,Helyn,Jordanson,hjordansoniz@nydailynews.com,246.11.98.116 +685,Olag,Parkyns,oparkynsj0@washington.edu,141.66.101.12 +686,Dru,Molson,dmolsonj1@typepad.com,203.111.32.244 +687,Skell,Donizeau,sdonizeauj2@yandex.ru,5.141.75.227 +688,Alma,Voak,avoakj3@qq.com,125.145.71.113 +689,Hamlin,Pask,hpaskj4@cbsnews.com,118.59.32.174 +690,Harper,Ollett,hollettj5@weather.com,246.156.222.76 +691,Jerrold,Peppin,jpeppinj6@auda.org.au,20.217.61.240 +692,Esmaria,Sheal,eshealj7@kickstarter.com,239.225.184.81 +693,Brenden,Mehew,bmehewj8@webnode.com,8.46.14.81 +694,Henrie,Kenchington,hkenchingtonj9@answers.com,37.152.228.120 +695,Eve,Ponter,eponterja@arstechnica.com,220.49.183.33 +696,Thorin,Stoltz,tstoltzjb@cbc.ca,173.140.3.165 +697,Tammara,Corkan,tcorkanjc@xinhuanet.com,176.233.206.87 +698,Adelle,Avieson,aaviesonjd@wikispaces.com,147.173.134.183 +699,Ania,Evens,aevensje@java.com,157.244.22.10 +700,Lianne,Rollason,lrollasonjf@gizmodo.com,143.48.158.150 +701,Cariotta,Hamfleet,chamfleetjg@vistaprint.com,235.23.137.164 +702,Jakie,Denziloe,jdenziloejh@posterous.com,53.216.193.58 +703,Hope,Luckes,hluckesji@g.co,93.92.237.226 +704,Arley,Stickels,astickelsjj@typepad.com,56.182.90.21 +705,Dennet,Bedo,dbedojk@wikispaces.com,159.42.172.82 +706,Byron,Jagels,bjagelsjl@google.de,191.5.191.36 +707,Fianna,Whitby,fwhitbyjm@webs.com,120.48.54.228 +708,Odette,Marcq,omarcqjn@arizona.edu,253.116.251.36 +709,Elsy,Carcas,ecarcasjo@ed.gov,232.158.13.197 +710,Mickie,Mascall,mmascalljp@zdnet.com,104.67.40.134 +711,Karlie,Linggard,klinggardjq@statcounter.com,42.214.94.91 +712,Catha,Fredy,cfredyjr@sbwire.com,9.111.166.228 +713,Brinn,Caso,bcasojs@seattletimes.com,183.21.58.124 +714,Hynda,Adamczyk,hadamczykjt@biglobe.ne.jp,99.200.137.45 +715,Krystyna,Tweede,ktweedeju@constantcontact.com,185.90.38.188 +716,Janaya,Fowler,jfowlerjv@so-net.ne.jp,100.240.187.165 +717,Noll,Pawelczyk,npawelczykjw@gmpg.org,199.238.195.115 +718,Elia,Troutbeck,etroutbeckjx@wikispaces.com,17.203.214.69 +719,Sholom,Juliano,sjulianojy@pcworld.com,80.185.95.197 +720,Cullin,Lindsay,clindsayjz@foxnews.com,242.255.112.218 +721,Kelcie,Filyaev,kfilyaevk0@indiegogo.com,161.44.77.219 +722,Rodie,Bigham,rbighamk1@google.fr,35.107.24.127 +723,Sigmund,Rayson,sraysonk2@gov.uk,30.12.252.247 +724,Sonny,Triggol,striggolk3@biglobe.ne.jp,82.161.194.245 +725,Morty,Witsey,mwitseyk4@chronoengine.com,86.214.192.200 +726,Benito,Dowe,bdowek5@topsy.com,229.7.48.41 +727,Nikolaos,Wrixon,nwrixonk6@indiegogo.com,66.50.167.14 +728,Will,Poyntz,wpoyntzk7@bluehost.com,196.186.176.79 +729,Myrtia,Jellis,mjellisk8@theguardian.com,28.124.249.59 +730,Jeanine,Dionsetti,jdionsettik9@msn.com,229.45.171.95 +731,Mackenzie,Buy,mbuyka@dell.com,55.167.107.27 +732,Mikaela,Salvidge,msalvidgekb@liveinternet.ru,17.50.40.21 +733,Sapphira,Gebuhr,sgebuhrkc@plala.or.jp,227.224.204.43 +734,Grethel,Garralts,ggarraltskd@ycombinator.com,134.204.105.246 +735,Merrili,Dougher,mdougherke@springer.com,247.246.194.178 +736,Kasper,Taudevin,ktaudevinkf@japanpost.jp,212.159.34.22 +737,Dorris,Nichols,dnicholskg@aboutads.info,33.198.95.121 +738,Jacquelynn,Assel,jasselkh@tinyurl.com,194.67.28.241 +739,Sarita,Hertwell,shertwellki@sogou.com,123.103.85.60 +740,Drusi,Eastcott,deastcottkj@nytimes.com,235.97.253.211 +741,Cornall,Mullarkey,cmullarkeykk@imgur.com,77.162.225.76 +742,Luisa,Ullrich,lullrichkl@omniture.com,62.174.214.46 +743,Marvin,Broske,mbroskekm@scientificamerican.com,91.15.204.79 +744,Danielle,Astbery,dastberykn@businessinsider.com,72.29.253.119 +745,Stephanus,Conochie,sconochieko@wikispaces.com,198.170.198.88 +746,Olimpia,Essame,oessamekp@techcrunch.com,168.81.119.110 +747,Arney,Mann,amannkq@newsvine.com,245.63.210.99 +748,Haslett,Aspland,hasplandkr@simplemachines.org,6.76.138.82 +749,Lethia,Blind,lblindks@imageshack.us,129.151.127.39 +750,Clive,Emanuelli,cemanuellikt@homestead.com,229.194.26.101 +751,Shelbi,Beare,sbeareku@youku.com,175.95.178.52 +752,Faustina,Tackes,ftackeskv@soup.io,109.209.97.22 +753,Christie,Janus,cjanuskw@purevolume.com,219.158.228.112 +754,Marline,Reynoollds,mreynoolldskx@furl.net,106.236.16.155 +755,Iris,Dorrell,idorrellky@behance.net,73.227.163.147 +756,Gearard,Allgood,gallgoodkz@imageshack.us,149.113.235.145 +757,Davin,Battman,dbattmanl0@amazonaws.com,196.229.219.39 +758,Kennith,Hurtic,khurticl1@wiley.com,251.34.249.123 +759,Russell,Leckey,rleckeyl2@sitemeter.com,66.220.77.162 +760,Vivyan,Erik,verikl3@google.es,206.69.34.16 +761,Ewell,Carty,ecartyl4@army.mil,219.105.52.216 +762,Chiarra,Vanin,cvaninl5@yolasite.com,168.223.79.4 +763,Matilda,Pinnell,mpinnelll6@g.co,35.4.117.50 +764,Jimmie,Pitt,jpittl7@multiply.com,122.36.128.215 +765,Jerrold,Giles,jgilesl8@sun.com,171.75.33.7 +766,Aura,Blonden,ablondenl9@paginegialle.it,132.76.205.221 +767,Corny,Dartnall,cdartnallla@wordpress.com,67.66.120.225 +768,Lizzy,Dene,ldenelb@wix.com,88.71.136.27 +769,Pammie,Tuckey,ptuckeylc@dailymotion.com,13.114.234.200 +770,Gillan,Thornham,gthornhamld@gov.uk,130.73.184.25 +771,Bobby,Rebeiro,brebeirole@google.ca,59.84.193.224 +772,Morris,Wellings,mwellingslf@usgs.gov,8.93.132.103 +773,Henka,Dabbs,hdabbslg@patch.com,103.11.47.245 +774,Merwin,Bubbins,mbubbinslh@dailymotion.com,252.201.20.88 +775,Adorne,MacFadden,amacfaddenli@fc2.com,151.92.155.153 +776,Arlen,Orthmann,aorthmannlj@ftc.gov,146.140.43.202 +777,Devland,Wickens,dwickenslk@alibaba.com,12.124.30.158 +778,Janeczka,Ossenna,jossennall@squidoo.com,223.38.238.12 +779,Karil,Eaglen,keaglenlm@disqus.com,205.107.227.221 +780,Roger,Dumpleton,rdumpletonln@e-recht24.de,92.165.141.137 +781,Adora,Van Der Vlies,avandervlieslo@deliciousdays.com,107.101.120.65 +782,Terrel,Varvara,tvarvaralp@posterous.com,6.61.4.193 +783,Aloisia,Rainbow,arainbowlq@latimes.com,203.83.216.69 +784,Willis,Gedney,wgedneylr@discovery.com,192.112.210.170 +785,Muffin,Schaumaker,mschaumakerls@devhub.com,3.65.7.244 +786,Martyn,Beckson,mbecksonlt@japanpost.jp,173.129.27.218 +787,Julia,Gilhooly,jgilhoolylu@cnn.com,245.73.152.144 +788,Bartholemy,Presland,bpreslandlv@cbslocal.com,223.154.197.67 +789,Pancho,Cregg,pcregglw@homestead.com,196.81.72.189 +790,Petrina,Curle,pcurlelx@census.gov,224.163.155.80 +791,Ebony,Maundrell,emaundrellly@google.cn,45.2.253.163 +792,Brietta,Chastang,bchastanglz@xinhuanet.com,20.3.115.139 +793,Emile,Philippson,ephilippsonm0@wsj.com,143.150.227.75 +794,Gabrila,Houten,ghoutenm1@hexun.com,224.51.106.107 +795,Sheela,Klasing,sklasingm2@barnesandnoble.com,182.181.244.197 +796,Grenville,Dinan,gdinanm3@hubpages.com,84.100.158.174 +797,Ariana,Gidney,agidneym4@smh.com.au,243.210.79.166 +798,Donetta,Morter,dmorterm5@php.net,200.153.89.27 +799,Rosalinda,Greswell,rgreswellm6@taobao.com,37.66.42.192 +800,Corey,Greve,cgrevem7@bravesites.com,225.218.179.24 +801,Wanda,Lambal,wlambalm8@constantcontact.com,141.162.228.187 +802,Franz,Coppins,fcoppinsm9@thetimes.co.uk,39.161.2.61 +803,Tildy,Quinby,tquinbyma@indiatimes.com,235.11.214.76 +804,Bellina,Piddock,bpiddockmb@apache.org,161.8.126.26 +805,Mathilde,Denney,mdenneymc@purevolume.com,228.208.12.222 +806,Shae,Stapleford,sstaplefordmd@go.com,31.157.172.26 +807,Bernadine,Ortiger,bortigerme@purevolume.com,15.230.62.15 +808,Chen,Wyeth,cwyethmf@reuters.com,127.203.14.248 +809,Lynnet,Mebius,lmebiusmg@naver.com,242.246.161.85 +810,Monica,Traice,mtraicemh@hexun.com,111.72.54.67 +811,Bamby,Bernardi,bbernardimi@netvibes.com,117.13.43.223 +812,Thorny,Swarbrick,tswarbrickmj@topsy.com,40.220.155.44 +813,Bryna,Knock,bknockmk@slate.com,164.239.162.100 +814,Valaria,Jirka,vjirkaml@fema.gov,164.78.230.97 +815,Loria,Scarfe,lscarfemm@edublogs.org,79.110.28.105 +816,Christalle,Acory,cacorymn@csmonitor.com,192.39.189.63 +817,Natassia,Barbrook,nbarbrookmo@squarespace.com,162.97.237.82 +818,Roxy,Rojel,rrojelmp@sakura.ne.jp,14.230.72.57 +819,Drud,Dincke,ddinckemq@jimdo.com,164.163.79.162 +820,Bunnie,Lillie,blilliemr@hhs.gov,167.76.84.198 +821,Nathalia,Piesing,npiesingms@adobe.com,48.181.6.5 +822,Gian,Godlonton,ggodlontonmt@storify.com,170.135.16.245 +823,Genvieve,Accum,gaccummu@google.ru,32.123.201.150 +824,Nichole,Gee,ngeemv@arizona.edu,187.226.20.105 +825,Aldus,Sweetman,asweetmanmw@blogs.com,156.32.15.195 +826,Jo ann,Yeoman,jyeomanmx@hao123.com,98.137.164.28 +827,Corrine,Bonafacino,cbonafacinomy@mashable.com,226.8.92.141 +828,Elga,Aubery,eauberymz@wired.com,135.11.25.227 +829,Ettie,Mogra,emogran0@hubpages.com,104.104.13.216 +830,Hillary,Blacket,hblacketn1@youtu.be,146.68.142.149 +831,Blondell,Sevitt,bsevittn2@earthlink.net,62.26.144.186 +832,Sawyere,Danelet,sdaneletn3@buzzfeed.com,97.20.13.250 +833,Shena,Castagnaro,scastagnaron4@list-manage.com,38.7.233.64 +834,Keir,Mochan,kmochann5@house.gov,70.177.107.177 +835,Lovell,Beceril,lbeceriln6@tripadvisor.com,167.234.99.212 +836,Florinda,Parmiter,fparmitern7@europa.eu,193.203.140.42 +837,Thornton,Dyster,tdystern8@adobe.com,225.216.130.235 +838,Mildrid,Crennan,mcrennann9@hostgator.com,236.59.17.73 +839,Aubree,Hallihan,ahallihanna@nasa.gov,229.86.16.71 +840,Liva,Pettitt,lpettittnb@icq.com,185.157.127.113 +841,Valentin,Grob,vgrobnc@163.com,218.75.120.145 +842,Clark,Mousdall,cmousdallnd@bbb.org,130.169.222.221 +843,Dorothy,Corney,dcorneyne@scribd.com,244.73.141.178 +844,Torie,Badman,tbadmannf@alexa.com,215.112.15.225 +845,Marcelle,Kennerknecht,mkennerknechtng@cnn.com,119.122.7.42 +846,Rayna,Lamacraft,rlamacraftnh@comsenz.com,224.33.169.205 +847,Marmaduke,Tallboy,mtallboyni@timesonline.co.uk,207.39.45.105 +848,Harmonia,Paffot,hpaffotnj@digg.com,212.115.141.56 +849,Bord,Rosso,brossonk@icq.com,184.64.217.200 +850,Cornall,Immings,cimmingsnl@tripadvisor.com,108.72.96.252 +851,Cris,Fortnon,cfortnonnm@smugmug.com,181.191.217.186 +852,Ezra,Anfrey,eanfreynn@posterous.com,234.74.58.251 +853,Tania,Bruggeman,tbruggemanno@1688.com,167.26.98.82 +854,Jedidiah,Holby,jholbynp@sciencedirect.com,199.234.10.4 +855,Bernard,Hollerin,bhollerinnq@yale.edu,212.190.179.50 +856,Francesco,Abelovitz,fabelovitznr@fotki.com,154.39.144.57 +857,Lib,Gillbanks,lgillbanksns@prweb.com,250.123.87.142 +858,Giavani,Brumby,gbrumbynt@aol.com,242.169.197.61 +859,Chic,Carder,ccardernu@blogspot.com,244.68.133.118 +860,Lucine,Scurrell,lscurrellnv@smh.com.au,241.177.177.92 +861,Theresa,Houdhury,thoudhurynw@cocolog-nifty.com,234.77.132.96 +862,Kacie,Ratray,kratraynx@skype.com,3.97.166.243 +863,Fowler,Fenix,ffenixny@senate.gov,31.253.81.69 +864,Putnem,Munroe,pmunroenz@xing.com,59.66.177.29 +865,Ediva,Dominik,edominiko0@networkadvertising.org,71.242.120.164 +866,Web,Favell,wfavello1@arstechnica.com,225.38.194.178 +867,Larry,Geill,lgeillo2@xinhuanet.com,201.111.234.86 +868,Tamarra,Melanaphy,tmelanaphyo3@bbc.co.uk,165.78.76.237 +869,Dorian,Kinrade,dkinradeo4@amazon.de,3.152.33.75 +870,Hillier,Jacobsson,hjacobssono5@theglobeandmail.com,164.87.243.1 +871,Ewan,Rive,eriveo6@odnoklassniki.ru,35.248.130.63 +872,Aaren,Beany,abeanyo7@acquirethisname.com,114.88.68.209 +873,Devland,Harness,dharnesso8@dropbox.com,90.84.14.97 +874,Nada,Beckmann,nbeckmanno9@tumblr.com,31.65.246.138 +875,Clayborn,Sheeran,csheeranoa@baidu.com,142.99.177.6 +876,Katuscha,Linfield,klinfieldob@istockphoto.com,98.148.185.27 +877,Dani,Widdison,dwiddisonoc@intel.com,178.152.181.71 +878,Fidel,MacGillavery,fmacgillaveryod@nyu.edu,55.131.105.243 +879,Danielle,Revie,drevieoe@imageshack.us,58.55.9.16 +880,Saunders,Guillem,sguillemof@prweb.com,129.149.55.191 +881,Brucie,Springell,bspringellog@mozilla.com,202.46.30.66 +882,Lee,Menier,lmenieroh@sina.com.cn,145.161.94.135 +883,Beilul,Jatczak,bjatczakoi@techcrunch.com,20.170.73.202 +884,Donn,Ondracek,dondracekoj@jugem.jp,193.224.145.30 +885,Jocelyne,Ravenshear,jravenshearok@pagesperso-orange.fr,173.66.110.77 +886,Candida,Millichip,cmillichipol@huffingtonpost.com,123.136.19.240 +887,Leisha,MacMichael,lmacmichaelom@zimbio.com,39.228.254.54 +888,Farly,Rounsefull,frounsefullon@yahoo.co.jp,122.244.240.215 +889,Loleta,Swannick,lswannickoo@google.ca,89.56.96.205 +890,Lester,Ventam,lventamop@china.com.cn,27.209.125.66 +891,Annetta,Pancast,apancastoq@51.la,216.35.37.97 +892,Cindie,Torrecilla,ctorrecillaor@typepad.com,239.142.216.203 +893,Glyn,Igounet,gigounetos@goo.gl,116.167.125.10 +894,Olympie,Cullinane,ocullinaneot@paypal.com,225.2.50.215 +895,Shara,Panyer,spanyerou@nydailynews.com,211.97.133.207 +896,Sigmund,Dorrian,sdorrianov@state.gov,217.156.31.250 +897,Merilyn,Eastby,meastbyow@omniture.com,246.56.58.156 +898,Natasha,Jaquemar,njaquemarox@goodreads.com,195.106.120.250 +899,Gene,Heavens,gheavensoy@histats.com,214.73.215.76 +900,Menard,Calderonello,mcalderonellooz@xrea.com,35.65.10.57 +901,Elbert,Risson,erissonp0@geocities.com,101.152.215.19 +902,Vern,Sabatini,vsabatinip1@disqus.com,61.86.243.226 +903,Tommie,Sapauton,tsapautonp2@theglobeandmail.com,114.217.29.95 +904,Toddy,Da Costa,tdacostap3@walmart.com,158.128.77.31 +905,Beatriz,Dursley,bdursleyp4@independent.co.uk,235.46.171.234 +906,Ferdinand,McDarmid,fmcdarmidp5@ning.com,27.27.105.68 +907,Odette,Lilley,olilleyp6@nba.com,10.83.178.123 +908,Augusta,Niessen,aniessenp7@vinaora.com,185.98.39.208 +909,Dara,Benwell,dbenwellp8@europa.eu,234.235.158.146 +910,Kristan,Luckie,kluckiep9@yelp.com,200.90.57.225 +911,Ashlin,Carbin,acarbinpa@bbb.org,230.163.209.111 +912,Jere,Habishaw,jhabishawpb@issuu.com,244.236.152.43 +913,Page,Follows,pfollowspc@usda.gov,232.35.241.17 +914,Currey,Galiford,cgalifordpd@instagram.com,69.233.24.215 +915,Jan,Coan,jcoanpe@google.it,232.151.71.96 +916,Curr,Hollyland,chollylandpf@walmart.com,201.7.244.6 +917,Marni,Moxon,mmoxonpg@blogger.com,248.192.188.101 +918,Baron,Ryland,brylandph@youku.com,215.121.122.0 +919,Zena,Strutton,zstruttonpi@microsoft.com,85.122.33.201 +920,Ilaire,Geddis,igeddispj@home.pl,184.75.155.156 +921,Cindee,McMonies,cmcmoniespk@yolasite.com,180.242.214.212 +922,Brocky,Urvoy,burvoypl@timesonline.co.uk,12.32.241.187 +923,Roseanne,McGrail,rmcgrailpm@merriam-webster.com,128.172.7.169 +924,Elga,Stoyles,estoylespn@smugmug.com,47.50.177.20 +925,Reggis,Lovelock,rlovelockpo@slashdot.org,83.253.6.198 +926,Kameko,Harly,kharlypp@infoseek.co.jp,4.224.190.78 +927,Marjory,Keller,mkellerpq@examiner.com,0.193.71.169 +928,Temple,Suett,tsuettpr@last.fm,228.178.247.154 +929,Erroll,Douty,edoutyps@pbs.org,72.216.143.103 +930,Maritsa,Bruford,mbrufordpt@va.gov,228.7.185.49 +931,Cecilia,Breewood,cbreewoodpu@163.com,173.244.177.139 +932,Ryann,Twine,rtwinepv@bloglines.com,253.192.163.184 +933,Lyle,Mauger,lmaugerpw@goo.gl,16.187.217.51 +934,Vanna,Wix,vwixpx@comcast.net,4.80.90.125 +935,Chrissie,Nimmo,cnimmopy@edublogs.org,28.41.138.178 +936,Clara,Gilhooly,cgilhoolypz@google.it,112.121.211.73 +937,Timmi,Farens,tfarensq0@uiuc.edu,136.42.64.49 +938,Julius,Falshaw,jfalshawq1@omniture.com,181.177.178.201 +939,Corey,Dwire,cdwireq2@mlb.com,116.254.75.56 +940,Corny,MacLaughlin,cmaclaughlinq3@ow.ly,161.121.120.157 +941,Cecile,Toma,ctomaq4@rambler.ru,239.55.216.51 +942,Baxie,Ledur,bledurq5@reverbnation.com,151.135.162.234 +943,Beck,Hustings,bhustingsq6@businessinsider.com,43.246.219.111 +944,Robbert,Robrow,rrobrowq7@github.io,226.195.166.40 +945,Weider,Tie,wtieq8@buzzfeed.com,94.179.160.139 +946,Kacie,Merriton,kmerritonq9@smugmug.com,208.77.59.123 +947,Alano,Vannoni,avannoniqa@goo.ne.jp,6.164.27.66 +948,Symon,Prine,sprineqb@jalbum.net,17.57.160.81 +949,Barris,Pimerick,bpimerickqc@google.nl,210.253.171.62 +950,Dedie,Clell,dclellqd@sun.com,65.230.192.163 +951,Lida,Brager,lbragerqe@tinypic.com,212.228.89.59 +952,Darsie,McGarel,dmcgarelqf@businesswire.com,32.185.31.122 +953,Dorris,Ruslinge,druslingeqg@studiopress.com,38.235.239.50 +954,Whitby,Reddie,wreddieqh@canalblog.com,71.194.86.60 +955,Maxwell,Allridge,mallridgeqi@tuttocitta.it,23.88.163.47 +956,Royal,Gavey,rgaveyqj@xinhuanet.com,111.145.148.115 +957,Adena,Jump,ajumpqk@cnn.com,67.70.197.167 +958,Davidde,Naismith,dnaismithql@goodreads.com,26.172.219.88 +959,Ferdinande,Tellenbroker,ftellenbrokerqm@nsw.gov.au,207.198.43.114 +960,Nettle,Edwins,nedwinsqn@gnu.org,186.171.29.254 +961,Marmaduke,Kedward,mkedwardqo@booking.com,106.221.52.105 +962,Winifield,Dechelle,wdechelleqp@va.gov,144.93.20.66 +963,Armin,Gogay,agogayqq@va.gov,63.248.234.242 +964,Garrett,Skerritt,gskerrittqr@webnode.com,246.230.249.143 +965,Grady,Ditty,gdittyqs@about.com,75.222.1.233 +966,Clarance,Aysh,cayshqt@wordpress.org,186.92.62.46 +967,Kirbie,Punshon,kpunshonqu@github.io,210.103.228.24 +968,Dimitri,Derobert,dderobertqv@plala.or.jp,165.229.97.73 +969,Jaimie,Tetsall,jtetsallqw@yolasite.com,70.227.5.120 +970,Jewell,Tonks,jtonksqx@histats.com,177.139.25.89 +971,Raddie,Boone,rbooneqy@sogou.com,190.91.78.84 +972,Davita,Maddyson,dmaddysonqz@php.net,27.254.112.46 +973,Kamila,Philpin,kphilpinr0@merriam-webster.com,230.56.120.64 +974,Simon,Lawday,slawdayr1@miitbeian.gov.cn,41.34.62.115 +975,Ame,Sallnow,asallnowr2@nature.com,42.19.246.11 +976,Catina,Shier,cshierr3@g.co,92.168.225.102 +977,Dina,Shoebottom,dshoebottomr4@digg.com,30.254.218.176 +978,Alden,Bicheno,abichenor5@ucoz.com,152.230.77.68 +979,Doro,Burlingame,dburlingamer6@gizmodo.com,116.55.114.230 +980,Yasmeen,Goundrill,ygoundrillr7@bbb.org,64.231.202.114 +981,Lynea,Boniface,lbonifacer8@etsy.com,248.188.64.4 +982,Olympe,Myring,omyringr9@cdbaby.com,34.244.192.242 +983,Gnni,Swanton,gswantonra@csmonitor.com,93.129.19.228 +984,Jordana,Roja,jrojarb@yelp.com,37.182.170.218 +985,Latrina,Kubala,lkubalarc@behance.net,16.180.74.53 +986,Laura,Mound,lmoundrd@e-recht24.de,9.252.101.27 +987,Catharine,Taylor,ctaylorre@istockphoto.com,104.3.204.36 +988,Brunhilda,Dorian,bdorianrf@wikimedia.org,52.81.132.101 +989,Augy,Gwilt,agwiltrg@twitter.com,39.25.165.212 +990,Nola,Carde,ncarderh@chronoengine.com,79.228.210.36 +991,Trista,Kuzemka,tkuzemkari@dot.gov,154.36.63.90 +992,Agustin,Hyndman,ahyndmanrj@auda.org.au,95.78.72.191 +993,Sherwynd,McGonnell,smcgonnellrk@nasa.gov,14.160.79.162 +994,Con,Smeath,csmeathrl@telegraph.co.uk,141.72.39.41 +995,Abigale,Toone,atoonerm@dyndns.org,133.5.61.95 +996,Wenonah,MacArd,wmacardrn@guardian.co.uk,206.42.244.179 +997,Alanson,Fearns,afearnsro@omniture.com,246.91.72.145 +998,Tiphany,Murkus,tmurkusrp@umn.edu,200.218.3.234 +999,Winnah,Pock,wpockrq@godaddy.com,192.155.247.2 +1000,Ravi,Angear,rangearrr@umich.edu,6.67.79.92 diff --git a/fixtures/csv/employees.csv b/fixtures/csv/employees.csv new file mode 100644 index 000000000..4f0050fd1 --- /dev/null +++ b/fixtures/csv/employees.csv @@ -0,0 +1,51 @@ +id,first_name,last_name,email,ip_address +1,Tobye,Tallach,ttallach0@icq.com,159.80.54.64 +2,Bret,Auchterlonie,bauchterlonie1@t-online.de,63.179.228.179 +3,Chester,Leban,cleban2@arstechnica.com,109.23.123.220 +4,Weston,Venny,wvenny3@about.com,80.78.0.69 +5,Alejoa,Hassen,ahassen4@narod.ru,193.70.126.231 +6,Otes,Ioselevich,oioselevich5@pen.io,55.238.240.160 +7,Dolley,Mc Ilwrick,dmcilwrick6@vistaprint.com,225.224.151.67 +8,Cliff,Druitt,cdruitt7@earthlink.net,216.35.85.142 +9,Alfreda,Parysiak,aparysiak8@google.com.br,234.124.93.69 +10,Alfonso,Wotherspoon,awotherspoon9@cafepress.com,34.94.1.132 +11,Jemmy,Gavriel,jgavriela@wikispaces.com,69.13.142.245 +12,Ezechiel,Binion,ebinionb@princeton.edu,85.203.127.191 +13,Burk,Blowfelde,bblowfeldec@theglobeandmail.com,74.133.42.177 +14,Danette,Brealey,dbrealeyd@tumblr.com,249.85.157.243 +15,Brent,Collcutt,bcollcutte@twitpic.com,68.202.67.52 +16,Filbert,Wane,fwanef@mozilla.org,51.190.146.189 +17,Amory,Brewers,abrewersg@sciencedirect.com,147.155.225.194 +18,Giraud,Reen,greenh@themeforest.net,134.254.177.66 +19,Burtie,Siebert,bsieberti@reuters.com,47.194.48.217 +20,Adam,Maddick,amaddickj@theguardian.com,165.16.248.228 +21,Callean,Vernall,cvernallk@google.pl,243.145.198.197 +22,Olympie,Itzakovitz,oitzakovitzl@addthis.com,40.55.240.15 +23,Jacky,Emney,jemneym@cbslocal.com,216.72.80.81 +24,Isidoro,Novello,inovellon@symantec.com,153.171.11.150 +25,Kora,Liversedge,kliversedgeo@godaddy.com,131.126.97.242 +26,Salaidh,McMenamie,smcmenamiep@yolasite.com,228.231.31.219 +27,Corey,Dowdeswell,cdowdeswellq@a8.net,203.73.30.64 +28,Brodie,Holwell,bholwellr@china.com.cn,64.200.225.25 +29,Trudey,Ungerer,tungerers@friendfeed.com,122.82.88.41 +30,Doralin,Maxted,dmaxtedt@photobucket.com,37.78.14.199 +31,Maurie,Marklin,mmarklinu@gizmodo.com,22.181.178.6 +32,Hermann,Voase,hvoasev@gnu.org,155.126.157.84 +33,Fanchette,Callaway,fcallawayw@naver.com,121.161.80.246 +34,Sara-ann,Birdall,sbirdallx@hexun.com,35.64.166.83 +35,Harriot,Clipsham,hclipshamy@redcross.org,78.103.253.219 +36,Bonita,Woolway,bwoolwayz@artisteer.com,70.114.50.135 +37,Arleyne,MacComiskey,amaccomiskey10@oracle.com,80.22.221.216 +38,Ethelbert,Covill,ecovill11@blogs.com,52.66.186.124 +39,Irita,Knee,iknee12@skyrock.com,239.247.34.120 +40,Naoma,Janca,njanca13@washington.edu,189.63.152.60 +41,Kayne,Mizzen,kmizzen14@jalbum.net,84.133.236.10 +42,Estell,Stuckford,estuckford15@nationalgeographic.com,246.168.153.22 +43,Larine,Stack,lstack16@bravesites.com,197.176.195.68 +44,Rikki,Newbold,rnewbold17@omniture.com,27.245.43.243 +45,Romonda,Charer,rcharer18@ifeng.com,137.144.236.93 +46,Letizia,Monksfield,lmonksfield19@ebay.com,209.47.5.147 +47,Sinclare,McAreavey,smcareavey1a@cnn.com,251.250.216.206 +48,Athene,Haysham,ahaysham1b@ifeng.com,81.227.231.240 +49,Gale,Tracy,gtracy1c@squidoo.com,93.138.226.205 +50,Dareen,O'Shields,doshields1d@nymag.com,27.226.127.240 diff --git a/samples/sample_tap_csv/__init__.py b/samples/sample_tap_csv/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/samples/sample_tap_csv/__main__.py b/samples/sample_tap_csv/__main__.py new file mode 100644 index 000000000..91f500424 --- /dev/null +++ b/samples/sample_tap_csv/__main__.py @@ -0,0 +1,5 @@ +from __future__ import annotations + +from samples.sample_tap_csv.sample_tap_csv import SampleTapCSV + +SampleTapCSV.cli() diff --git a/samples/sample_tap_csv/client.py b/samples/sample_tap_csv/client.py new file mode 100644 index 000000000..a35fd3510 --- /dev/null +++ b/samples/sample_tap_csv/client.py @@ -0,0 +1,91 @@ +from __future__ import annotations + +import csv +import datetime +import os +import typing as t + +from singer_sdk import Stream +from singer_sdk.streams.core import REPLICATION_INCREMENTAL + +if t.TYPE_CHECKING: + from singer_sdk.helpers.types import Context, Record + from singer_sdk.tap_base import Tap + +SDC_META_FILEPATH = "_sdc_path" +SDC_META_MODIFIED_AT = "_sdc_modified_at" + + +def _to_datetime(value: float) -> str: + return datetime.datetime.fromtimestamp(value).astimezone() + + +class CSVStream(Stream): + """CSV stream class.""" + + def __init__( + self, + tap: Tap, + name: str | None = None, + *, + partitions: list[str] | None = None, + ) -> None: + # TODO(edgarmondragon): Build schema from CSV file. + schema = { + "type": ["object"], + "properties": { + SDC_META_FILEPATH: {"type": "string"}, + SDC_META_MODIFIED_AT: {"type": "string", "format": "date-time"}, + }, + "required": [], + "additionalProperties": {"type": "string"}, + } + super().__init__(tap, schema, name) + + # TODO(edgarrmondragon): Make this None if the filesytem does not support it. + self.replication_key = SDC_META_MODIFIED_AT + + self._partitions = partitions or [] + + @property + def partitions(self) -> list[Context]: + return self._partitions + + def _read_file(self, path: str) -> t.Iterable[Record]: # noqa: PLR6301 + # Make these configurable. + delimiter = "," + quotechar = '"' + escapechar = None + doublequote = True + lineterminator = "\r\n" + + # TODO: Use filesytem-specific file open method. + with open(path, encoding="utf-8") as file: # noqa: PTH123 + reader = csv.DictReader( + file, + delimiter=delimiter, + quotechar=quotechar, + escapechar=escapechar, + doublequote=doublequote, + lineterminator=lineterminator, + ) + yield from reader + + def get_records( + self, + context: Context | None, + ) -> t.Iterable[Record | tuple[Record, Context | None]]: + path: str = context[SDC_META_FILEPATH] + mtime = os.path.getmtime(path) # noqa: PTH204 + + if ( + self.replication_method is REPLICATION_INCREMENTAL + and (previous_bookmark := self.get_starting_timestamp(context)) + and _to_datetime(mtime) < previous_bookmark + ): + self.logger.info("File has not been modified since last read, skipping") + return + + for record in self._read_file(path): + record[SDC_META_MODIFIED_AT] = _to_datetime(mtime) + yield record diff --git a/samples/sample_tap_csv/sample_tap_csv.py b/samples/sample_tap_csv/sample_tap_csv.py new file mode 100644 index 000000000..94b904ab1 --- /dev/null +++ b/samples/sample_tap_csv/sample_tap_csv.py @@ -0,0 +1,106 @@ +"""Sample Tap for CSV files.""" + +from __future__ import annotations + +import enum +import functools +import os + +import singer_sdk.typing as th +from samples.sample_tap_csv.client import SDC_META_FILEPATH, CSVStream +from singer_sdk import Tap + +DEFAULT_MERGE_STREAM_NAME = "files" + + +def file_path_to_stream_name(file_path: str) -> str: + """Convert a file path to a stream name.""" + return os.path.basename(file_path).replace(".csv", "").replace(os.sep, "__") # noqa: PTH119 + + +class ReadMode(str, enum.Enum): + """Sync mode for the tap.""" + + one_stream_per_file = "one_stream_per_file" + merge = "merge" + + +class SampleTapCSV(Tap): + """Sample Tap for CSV files.""" + + name = "sample-tap-csv" + + config_jsonschema = th.PropertiesList( + th.Property( + "path", + th.StringType, + required=True, + description="Path to CSV files.", + ), + th.Property( + "read_mode", + th.StringType, + required=True, + description=( + "Use `one_stream_per_file` to read each file as a separate stream, or " + "`merge` to merge all files into a single stream." + ), + allowed_values=[ + ReadMode.one_stream_per_file, + ReadMode.merge, + ], + ), + th.Property( + "stream_name", + th.StringType, + required=True, + default=DEFAULT_MERGE_STREAM_NAME, + description="Name of the stream to use when `read_mode` is `merge`.", + ), + # TODO(edgarmondragon): Other configuration options. + ).to_dict() + + @functools.cached_property + def read_mode(self) -> ReadMode: + return ReadMode(self.config["read_mode"]) + + def discover_streams(self) -> list: + # TODO(edgarmondragon): Implement stream discovery, based on the configured path + # and read mode. + path: str = self.config[ + "path" + ] # a directory for now, but could be a glob pattern + + # One stream per file + if self.read_mode == ReadMode.one_stream_per_file: + if os.path.isdir(path): # noqa: PTH112 + return [ + CSVStream( + tap=self, + name=file_path_to_stream_name(member), + partitions=[{SDC_META_FILEPATH: os.path.join(path, member)}], # noqa: PTH118 + ) + for member in os.listdir(path) + if member.endswith(".csv") + ] + + msg = f"Path {path} is not a directory." + raise ValueError(msg) + + # Merge + if os.path.isdir(path): # noqa: PTH112 + contexts = [ + { + SDC_META_FILEPATH: os.path.join(path, member), # noqa: PTH118 + } + for member in os.listdir(path) + if member.endswith(".csv") + ] + return [ + CSVStream( + tap=self, + name=self.config["stream_name"], + partitions=contexts, + ) + ] + return [] diff --git a/tests/samples/test_tap_csv.py b/tests/samples/test_tap_csv.py new file mode 100644 index 000000000..d7f3ae088 --- /dev/null +++ b/tests/samples/test_tap_csv.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +import pytest + +from samples.sample_tap_csv.sample_tap_csv import SampleTapCSV +from singer_sdk.testing import get_tap_test_class + +_TestCSVMerge = get_tap_test_class( + tap_class=SampleTapCSV, + config={ + "path": "fixtures/csv", + "read_mode": "merge", + "stream_name": "people", + }, +) + + +class TestCSVMerge(_TestCSVMerge): + @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) + def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): + super().test_tap_stream_record_schema_matches_transformed_catalog(stream) + + +TestCSVOneStreamPerFile = get_tap_test_class( + tap_class=SampleTapCSV, + config={ + "path": "fixtures/csv", + "read_mode": "one_stream_per_file", + }, +) + + +class TestCSVOneStreamPerFile(TestCSVOneStreamPerFile): + @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) + def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): + super().test_tap_stream_record_schema_matches_transformed_catalog(stream) From 7149be08d854f4a3cbff6e1c89e8463b015135e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 07:12:03 -0600 Subject: [PATCH 15/49] chore(deps): bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.2 in the actions group (#2682) chore(deps): bump pypa/gh-action-pypi-publish in the actions group Bumps the actions group with 1 update: [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish). Updates `pypa/gh-action-pypi-publish` from 1.10.1 to 1.10.2 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.1...v1.10.2) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df63a80aa..2c08df46e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: name: Packages path: dist - name: Publish - uses: pypa/gh-action-pypi-publish@v1.10.1 + uses: pypa/gh-action-pypi-publish@v1.10.2 upload-to-release: name: Upload files to release From 765a37841e8b1dcc454c53d65b3a46336a94691c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 23 Sep 2024 12:12:12 -0600 Subject: [PATCH 16/49] chore: Use a single session to handle authentication steps in DummyJSON (#2684) --- samples/sample_tap_dummy_json/tap_dummyjson/auth.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/samples/sample_tap_dummy_json/tap_dummyjson/auth.py b/samples/sample_tap_dummy_json/tap_dummyjson/auth.py index 4f21f432f..613d9a7aa 100644 --- a/samples/sample_tap_dummy_json/tap_dummyjson/auth.py +++ b/samples/sample_tap_dummy_json/tap_dummyjson/auth.py @@ -20,6 +20,7 @@ def __init__(self, auth_url, refresh_token_url, username, password): self.refresh_token = None self.expires = 0 + self.session = requests.Session() def __call__(self, request): if not self.refresh_token: @@ -45,13 +46,13 @@ def _handle_response(self, response): response.raise_for_status() data = response.json() - self.token = data["token"] + self.token = data["accessToken"] self.refresh_token = data["refreshToken"] self.expires = time.time() + EXPIRES_IN_MINS * 60 logger.info("Authenticated") def refresh(self): - response = requests.post( + response = self.session.post( self.refresh_token_url, json={ "refreshToken": self.refresh_token, @@ -61,7 +62,7 @@ def refresh(self): self._handle_response(response) def auth(self): - response = requests.post( + response = self.session.post( self.auth_url, json={ "username": self.username, From e997deb4f62a11718270c3159470406b4189b0d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 23 Sep 2024 12:21:07 -0600 Subject: [PATCH 17/49] fix: A clear error message is now emitted when flattening is enable but `flattening_max_depth` is not set (#2683) --- singer_sdk/helpers/_flattening.py | 10 +++++++++- tests/core/test_flattening.py | 15 ++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/singer_sdk/helpers/_flattening.py b/singer_sdk/helpers/_flattening.py index 79ca50fdc..883d8a1a7 100644 --- a/singer_sdk/helpers/_flattening.py +++ b/singer_sdk/helpers/_flattening.py @@ -11,6 +11,7 @@ import inflection from singer_sdk._singerlib.json import serialize_json +from singer_sdk.exceptions import ConfigValidationError DEFAULT_FLATTENING_SEPARATOR = "__" @@ -35,7 +36,14 @@ def get_flattening_options( A new FlatteningOptions object or None if flattening is disabled. """ if plugin_config.get("flattening_enabled", False): - return FlatteningOptions(max_level=int(plugin_config["flattening_max_depth"])) + if (max_depth := plugin_config.get("flattening_max_depth")) is not None: + return FlatteningOptions(max_level=int(max_depth)) + + msg = "Flattening is misconfigured" + raise ConfigValidationError( + msg, + errors=["flattening_max_depth is required when flattening is enabled"], + ) return None diff --git a/tests/core/test_flattening.py b/tests/core/test_flattening.py index 1e0466986..f56abc8be 100644 --- a/tests/core/test_flattening.py +++ b/tests/core/test_flattening.py @@ -2,7 +2,8 @@ import pytest -from singer_sdk.helpers._flattening import flatten_record +from singer_sdk.exceptions import ConfigValidationError +from singer_sdk.helpers._flattening import flatten_record, get_flattening_options @pytest.mark.parametrize( @@ -72,3 +73,15 @@ def test_flatten_record(flattened_schema, max_level, expected): record, max_level=max_level, flattened_schema=flattened_schema ) assert expected == result + + +def test_get_flattening_options_missing_max_depth(): + with pytest.raises( + ConfigValidationError, match="Flattening is misconfigured" + ) as exc: + get_flattening_options({"flattening_enabled": True}) + + assert ( + exc.value.errors[0] + == "flattening_max_depth is required when flattening is enabled" + ) From 64bf58e1d38b27771e1a4b3701380fdda92a1534 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 16:36:24 -0600 Subject: [PATCH 18/49] chore: pre-commit autoupdate (#2685) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.6.5 → v0.6.7](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.5...v0.6.7) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 67348c734..b47ae9272 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: - id: check-readthedocs - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.5 + rev: v0.6.7 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] From f1e81148177176b4424db00b16018cd4f447714a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:40:13 -0600 Subject: [PATCH 19/49] refactor(templates): Drop support for Python 3.8 in templates (#2661) --- .../.github/workflows/test.yml | 1 - .../{{cookiecutter.mapper_id}}/pyproject.toml | 5 ++-- .../{{cookiecutter.mapper_id}}/tox.ini | 4 +-- .../{{cookiecutter.library_name}}/mapper.py | 3 +-- .../.github/workflows/test.yml | 1 - .../{{cookiecutter.tap_id}}/pyproject.toml | 5 ++-- .../{{cookiecutter.tap_id}}/tox.ini | 4 +-- .../graphql-client.py | 6 ++--- .../other-client.py | 6 ++--- .../rest-client.py | 25 ++++++++----------- .../sql-client.py | 4 +-- .../{{cookiecutter.library_name}}/streams.py | 10 ++------ .../.github/workflows/test.yml | 1 - .../{{cookiecutter.target_id}}/pyproject.toml | 5 ++-- .../{{cookiecutter.target_id}}/tox.ini | 4 +-- samples/sample_tap_dummy_json/pyproject.toml | 9 +++---- 16 files changed, 37 insertions(+), 56 deletions(-) diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml index 1399f9f8c..731c51a14 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml @@ -33,7 +33,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml index b397face4..40c8a9b17 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml @@ -16,7 +16,6 @@ keywords = [ classifiers = [ "Intended Audience :: Developers", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -30,7 +29,7 @@ packages = [ {%- endif %} [tool.poetry.dependencies] -python = ">=3.8" +python = ">=3.9" singer-sdk = { version="~=0.40.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } fs-s3fs = { version = "~=1.1.1", optional = true } @@ -50,7 +49,7 @@ warn_unused_configs = true [tool.ruff] src = ["{{cookiecutter.library_name}}"] -target-version = "py38" +target-version = "py39" [tool.ruff.lint] ignore = [ diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini index 6be1c116a..59d5dd083 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini @@ -1,7 +1,7 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} isolated_build = true [testenv] @@ -13,7 +13,7 @@ commands = [testenv:pytest] # Run the python tests. # To execute, run `tox -e pytest` -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} commands = poetry install -v poetry run pytest diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py index c8c3d23ec..8e6ea991e 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py @@ -3,14 +3,13 @@ from __future__ import annotations import typing as t -from typing import TYPE_CHECKING import singer_sdk.typing as th from singer_sdk import _singerlib as singer from singer_sdk.mapper import PluginMapper from singer_sdk.mapper_base import InlineMapper -if TYPE_CHECKING: +if t.TYPE_CHECKING: from pathlib import PurePath diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml index 85aba9d26..f6f11b0e7 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml @@ -33,7 +33,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 3037bcabf..4163251a1 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -15,7 +15,6 @@ keywords = [ classifiers = [ "Intended Audience :: Developers", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -29,7 +28,7 @@ packages = [ {%- endif %} [tool.poetry.dependencies] -python = ">=3.8" +python = ">=3.9" importlib-resources = { version = "==6.4.*", python = "<3.9" } singer-sdk = { version="~=0.40.0", extras = [ {%- if cookiecutter.auth_method == "JWT" -%}"jwt", {% endif -%} @@ -65,7 +64,7 @@ plugins = "sqlmypy" [tool.ruff] src = ["{{cookiecutter.library_name}}"] -target-version = "py38" +target-version = "py39" [tool.ruff.lint] ignore = [ diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini index 6be1c116a..59d5dd083 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini @@ -1,7 +1,7 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} isolated_build = true [testenv] @@ -13,7 +13,7 @@ commands = [testenv:pytest] # Run the python tests. # To execute, run `tox -e pytest` -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} commands = poetry install -v poetry run pytest diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/graphql-client.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/graphql-client.py index 4e878cb23..d1289efa4 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/graphql-client.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/graphql-client.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Iterable +import typing as t import requests # noqa: TCH002 from singer_sdk.streams import {{ cookiecutter.stream_type }}Stream @@ -12,7 +12,7 @@ from {{ cookiecutter.library_name }}.auth import {{ cookiecutter.source_name }}Authenticator {%- endif %} -if TYPE_CHECKING: +if t.TYPE_CHECKING: from singer_sdk.helpers.types import Context @@ -54,7 +54,7 @@ def http_headers(self) -> dict: {%- endif %} return headers - def parse_response(self, response: requests.Response) -> Iterable[dict]: + def parse_response(self, response: requests.Response) -> t.Iterable[dict]: """Parse the response and return an iterator of result records. Args: diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/other-client.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/other-client.py index 1952579d7..bf7e2536d 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/other-client.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/other-client.py @@ -2,11 +2,11 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Iterable +import typing as t from singer_sdk.streams import Stream -if TYPE_CHECKING: +if t.TYPE_CHECKING: from singer_sdk.helpers.types import Context @@ -16,7 +16,7 @@ class {{ cookiecutter.source_name }}Stream(Stream): def get_records( self, context: Context | None, # noqa: ARG002 - ) -> Iterable[dict]: + ) -> t.Iterable[dict]: """Return a generator of record-type dictionary objects. The optional `context` argument is used to identify a specific slice of the diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/rest-client.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/rest-client.py index fb805ad55..c1aa634a5 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/rest-client.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/rest-client.py @@ -2,11 +2,11 @@ from __future__ import annotations -import sys -{%- if cookiecutter.auth_method in ("OAuth2", "JWT") %} +import typing as t +{% if cookiecutter.auth_method in ("OAuth2", "JWT") -%} from functools import cached_property -{%- endif %} -from typing import TYPE_CHECKING, Any, Iterable +{% endif -%} +from importlib import resources {% if cookiecutter.auth_method == "API Key" -%} from singer_sdk.authenticators import APIKeyAuthenticator @@ -40,12 +40,7 @@ {% endif -%} -if sys.version_info >= (3, 9): - import importlib.resources as importlib_resources -else: - import importlib_resources - -if TYPE_CHECKING: +if t.TYPE_CHECKING: import requests {%- if cookiecutter.auth_method in ("OAuth2", "JWT") %} from singer_sdk.helpers.types import Auth, Context @@ -55,7 +50,7 @@ # TODO: Delete this is if not using json files for schema definition -SCHEMAS_DIR = importlib_resources.files(__package__) / "schemas" +SCHEMAS_DIR = resources.files(__package__) / "schemas" class {{ cookiecutter.source_name }}Stream({{ cookiecutter.stream_type }}Stream): @@ -164,8 +159,8 @@ def get_new_paginator(self) -> BaseAPIPaginator: def get_url_params( self, context: Context | None, # noqa: ARG002 - next_page_token: Any | None, # noqa: ANN401 - ) -> dict[str, Any]: + next_page_token: t.Any | None, # noqa: ANN401 + ) -> dict[str, t.Any]: """Return a dictionary of values to be used in URL parameterization. Args: @@ -186,7 +181,7 @@ def get_url_params( def prepare_request_payload( self, context: Context | None, # noqa: ARG002 - next_page_token: Any | None, # noqa: ARG002, ANN401 + next_page_token: t.Any | None, # noqa: ARG002, ANN401 ) -> dict | None: """Prepare the data payload for the REST API request. @@ -202,7 +197,7 @@ def prepare_request_payload( # TODO: Delete this method if no payload is required. (Most REST APIs.) return None - def parse_response(self, response: requests.Response) -> Iterable[dict]: + def parse_response(self, response: requests.Response) -> t.Iterable[dict]: """Parse the response and return an iterator of result records. Args: diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/sql-client.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/sql-client.py index a34cee4d0..886b0d8f7 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/sql-client.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/sql-client.py @@ -5,7 +5,7 @@ from __future__ import annotations -from typing import Any, Iterable +import typing as t import sqlalchemy # noqa: TCH002 from singer_sdk import SQLConnector, SQLStream @@ -77,7 +77,7 @@ class {{ cookiecutter.source_name }}Stream(SQLStream): connector_class = {{ cookiecutter.source_name }}Connector - def get_records(self, partition: dict | None) -> Iterable[dict[str, Any]]: + def get_records(self, partition: dict | None) -> t.Iterable[dict[str, t.Any]]: """Return a generator of record-type dictionary objects. Developers may optionally add custom logic before calling the default diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/streams.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/streams.py index 69c955e6f..6e296a259 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/streams.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/streams.py @@ -2,21 +2,15 @@ from __future__ import annotations -import sys import typing as t +from importlib import resources from singer_sdk import typing as th # JSON Schema typing helpers from {{ cookiecutter.library_name }}.client import {{ cookiecutter.source_name }}Stream -if sys.version_info >= (3, 9): - import importlib.resources as importlib_resources -else: - import importlib_resources - - # TODO: Delete this is if not using json files for schema definition -SCHEMAS_DIR = importlib_resources.files(__package__) / "schemas" +SCHEMAS_DIR = resources.files(__package__) / "schemas" {%- if cookiecutter.stream_type == "GraphQL" %} diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml index 2ed7a8bc5..c5baeaa0f 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml @@ -33,7 +33,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml index 42d71ae99..0ede63ffb 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml @@ -15,7 +15,6 @@ keywords = [ classifiers = [ "Intended Audience :: Developers", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -29,7 +28,7 @@ packages = [ {%- endif %} [tool.poetry.dependencies] -python = ">=3.8" +python = ">=3.9" singer-sdk = { version="~=0.40.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } fs-s3fs = { version = "~=1.1.1", optional = true } {%- if cookiecutter.serialization_method != "SQL" %} @@ -52,7 +51,7 @@ warn_unused_configs = true [tool.ruff] src = ["{{cookiecutter.library_name}}"] -target-version = "py38" +target-version = "py39" [tool.ruff.lint] ignore = [ diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini index 6be1c116a..59d5dd083 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini @@ -1,7 +1,7 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} isolated_build = true [testenv] @@ -13,7 +13,7 @@ commands = [testenv:pytest] # Run the python tests. # To execute, run `tox -e pytest` -envlist = py{38,39,310,311,312} +envlist = py{39,310,311,312} commands = poetry install -v poetry run pytest diff --git a/samples/sample_tap_dummy_json/pyproject.toml b/samples/sample_tap_dummy_json/pyproject.toml index 1263b3ca4..c72347748 100644 --- a/samples/sample_tap_dummy_json/pyproject.toml +++ b/samples/sample_tap_dummy_json/pyproject.toml @@ -11,7 +11,6 @@ keywords = [ classifiers = [ "Intended Audience :: Developers", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -20,13 +19,13 @@ classifiers = [ license = "Apache-2.0" [tool.poetry.dependencies] -python = ">=3.8" +python = ">=3.9" requests = "~=2.32.3" -singer-sdk = { version="~=0.38.0", extras = [] } +singer-sdk = {path = "../..", develop = true} [tool.poetry.group.dev.dependencies] pytest = ">=8" -singer-sdk = { version="~=0.38.0", extras = ["testing"] } +singer-sdk = {path = "../..", develop = true, extras = ["testing"]} [tool.poetry.extras] s3 = ["fs-s3fs"] @@ -36,7 +35,7 @@ python_version = "3.12" warn_unused_configs = true [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] From f49f25b1cd530c01d885c50ffac9656ae4ea9c9a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 07:34:07 -0600 Subject: [PATCH 20/49] chore(deps): bump faker from 28.4.1 to 30.0.0 (#2691) Bumps [faker](https://github.com/joke2k/faker) from 28.4.1 to 30.0.0. - [Release notes](https://github.com/joke2k/faker/releases) - [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md) - [Commits](https://github.com/joke2k/faker/compare/v28.4.1...v30.0.0) --- updated-dependencies: - dependency-name: faker dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 28180d0a3..571d03f41 100644 --- a/poetry.lock +++ b/poetry.lock @@ -684,13 +684,13 @@ test = ["pytest (>=6)"] [[package]] name = "faker" -version = "28.4.1" +version = "30.0.0" description = "Faker is a Python package that generates fake data for you." optional = true python-versions = ">=3.8" files = [ - {file = "Faker-28.4.1-py3-none-any.whl", hash = "sha256:e59c01d1e8b8e20a83255ab8232c143cb2af3b4f5ab6a3f5ce495f385ad8ab4c"}, - {file = "faker-28.4.1.tar.gz", hash = "sha256:4294d169255a045990720d6f3fa4134b764a4cdf46ef0d3c7553d2506f1adaa1"}, + {file = "Faker-30.0.0-py3-none-any.whl", hash = "sha256:f0a60009150736c1c033bea31aa19ae63071c9dcf10adfaf9f1a87a3add84bc8"}, + {file = "faker-30.0.0.tar.gz", hash = "sha256:bf0207af5777950054a2a3b43f4b5bdc33b585918d2b28f1dab52ac0ffe2bac0"}, ] [package.dependencies] From 56b496f50f46ee31c202f6ceb9ec57060843ffbb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 09:06:54 -0600 Subject: [PATCH 21/49] chore(deps-dev): bump duckdb from 1.1.0 to 1.1.1 in the development-dependencies group (#2690) chore(deps-dev): bump duckdb in the development-dependencies group Bumps the development-dependencies group with 1 update: [duckdb](https://github.com/duckdb/duckdb). Updates `duckdb` from 1.1.0 to 1.1.1 - [Release notes](https://github.com/duckdb/duckdb/releases) - [Changelog](https://github.com/duckdb/duckdb/blob/main/tools/release-pip.py) - [Commits](https://github.com/duckdb/duckdb/compare/v1.1.0...v1.1.1) --- updated-dependencies: - dependency-name: duckdb dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development-dependencies ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 100 ++++++++++++++++++++++++++++------------------------ 1 file changed, 53 insertions(+), 47 deletions(-) diff --git a/poetry.lock b/poetry.lock index 571d03f41..68a5d81a4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -599,57 +599,63 @@ files = [ [[package]] name = "duckdb" -version = "1.1.0" +version = "1.1.1" description = "DuckDB in-process database" optional = false python-versions = ">=3.7.0" files = [ - {file = "duckdb-1.1.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:5e4cbc408e6e41146dea89b9044dae7356e353db0c96b183e5583ee02bc6ae5d"}, - {file = "duckdb-1.1.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:6370ae27ec8167ccfbefb94f58ad9fdc7bac142399960549d6d367f233189868"}, - {file = "duckdb-1.1.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4e1c3414f7fd01f4810dc8b335deffc91933a159282d65fef11c1286bc0ded04"}, - {file = "duckdb-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6bc2a58689adf5520303c5f68b065b9f980bd31f1366c541b8c7490abaf55cd"}, - {file = "duckdb-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d02be208d2885ca085d4c852b911493b8cdac9d6eae893259da32bd72a437c25"}, - {file = "duckdb-1.1.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:655df442ceebfc6f3fd6c8766e04b60d44dddedfa90275d794f9fab2d3180879"}, - {file = "duckdb-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6e183729bb64be7798ccbfda6283ebf423c869268c25af2b56929e48f763be2f"}, - {file = "duckdb-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:61fb838da51e07ceb0222c4406b059b90e10efcc453c19a3650b73c0112138c4"}, - {file = "duckdb-1.1.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:7807e2f0d3344668e433f0dc1f54bfaddd410589611393e9a7ed56f8dec9514f"}, - {file = "duckdb-1.1.0-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:3da30b7b466f710d52caa1fdc3ef0bf4176ad7f115953cd9f8b0fbf0f723778f"}, - {file = "duckdb-1.1.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:b9b6a77ef0183f561b1fc2945fcc762a71570ffd33fea4e3a855d413ed596fe4"}, - {file = "duckdb-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16243e66a9fd0e64ee265f2634d137adc6593f54ddf3ef55cb8a29e1decf6e54"}, - {file = "duckdb-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42b910a149e00f40a1766dc74fa309d4255b912a5d2fdcc387287658048650f6"}, - {file = "duckdb-1.1.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:47849d546dc4238c0f20e95fe53b621aa5b08684e68fff91fd84a7092be91a17"}, - {file = "duckdb-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11ec967b67159361ceade34095796a8d19368ea5c30cad988f44896b082b0816"}, - {file = "duckdb-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:510b5885ed6c267b9c0e1e7c6138fdffc2dd6f934a5a95b76da85da127213338"}, - {file = "duckdb-1.1.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:657bc7ac64d5faf069a782ae73afac51ef30ae2e5d0e09ce6a09d03db84ab35e"}, - {file = "duckdb-1.1.0-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:89f3de8cba57d19b41cd3c47dd06d979bd2a2ffead115480e37afbe72b02896d"}, - {file = "duckdb-1.1.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:f6486323ab20656d22ffa8f3c6e109dde30d0b327b7c831f22ebcfe747f97fb0"}, - {file = "duckdb-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78a4510f82431ee3f14db689fe8727a4a9062c8f2fbb3bcfe3bfad3c1a198004"}, - {file = "duckdb-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64bf2a6e23840d662bd2ac09206a9bd4fa657418884d69e5c352d4456dc70b3c"}, - {file = "duckdb-1.1.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23fc9aa0af74e3803ed90c8d98280fd5bcac8c940592bf6288e8fd60fb051d00"}, - {file = "duckdb-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1f3aea31341ce400640dd522e4399b941f66df17e39884f446638fe958d6117c"}, - {file = "duckdb-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:3db4ab31c20de4edaef152930836b38e7662cd71370748fdf2c38ba9cf854dc4"}, - {file = "duckdb-1.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3b6b4fe1edfe35f64f403a9f0ab75258cee35abd964356893ee37424174b7e4"}, - {file = "duckdb-1.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aad02f50d5a2020822d1638fc1a9bcf082056f11d2e15ccfc1c1ed4d0f85a3be"}, - {file = "duckdb-1.1.0-cp37-cp37m-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb66e9e7391801928ea134dcab12d2e4c97f2ce0391c603a3e480bbb15830bc8"}, - {file = "duckdb-1.1.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:069fb7bca459e31edb32a61f0eea95d7a8a766bef7b8318072563abf8e939593"}, - {file = "duckdb-1.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e39f9b7b62e64e10d421ff04480290a70129c38067d1a4f600e9212b10542c5a"}, - {file = "duckdb-1.1.0-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:55ef98bcc7ba745752607f1b926e8d9b7ce32c42c423bbad10c44820aefe23a7"}, - {file = "duckdb-1.1.0-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:e2a08175e43b865c1e9611efd18cacd29ddd69093de442b1ebdf312071df7719"}, - {file = "duckdb-1.1.0-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:0e3644b1f034012d82b9baa12a7ea306fe71dc6623731b28c753c4a617ff9499"}, - {file = "duckdb-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:211a33c1ddb5cc609f75eb43772b0b03b45d2fa89bec107e4715267ca907806a"}, - {file = "duckdb-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e74b6f8a5145abbf7e6c1a2a61f0adbcd493c19b358f524ec9a3cebdf362abb"}, - {file = "duckdb-1.1.0-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:58f1633dd2c5af5088ae2d119418e200855d0699d84f2fae9d46d30f404bcead"}, - {file = "duckdb-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d18caea926b1e301c29b140418fca697aad728129e269b4f82c2795a184549e1"}, - {file = "duckdb-1.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:cd9fb1408942411ad360f8414bc3fbf0091c396ca903d947a10f2e31324d5cbd"}, - {file = "duckdb-1.1.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bd11bc899cebf5ff936d1276a2dfb7b7db08aba3bcc42924afeafc2163bddb43"}, - {file = "duckdb-1.1.0-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:53825a63193c582a78c152ea53de8d145744ddbeea18f452625a82ebc33eb14a"}, - {file = "duckdb-1.1.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:29dc18087de47563b3859a6b98bbed96e1c96ce5db829646dc3b16a916997e7d"}, - {file = "duckdb-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecb19319883564237a7a03a104dbe7f445e73519bb67108fcab3d19b6b91fe30"}, - {file = "duckdb-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aac2fcabe2d5072c252d0b3087365f431de812d8199705089fb073e4d039d19c"}, - {file = "duckdb-1.1.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d89eaaa5df8a57e7d2bc1f4c46493bb1fee319a00155f2015810ad2ace6570ae"}, - {file = "duckdb-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d86a6926313913cd2cc7e08816d3e7f72ba340adf2959279b1a80058be6526d9"}, - {file = "duckdb-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8333f3e85fa2a0f1c222b752c2bd42ea875235ff88492f7bcbb6867d0f644eb"}, - {file = "duckdb-1.1.0.tar.gz", hash = "sha256:b4d4c12b1f98732151bd31377753e0da1a20f6423016d2d097d2e31953ec7c23"}, + {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e310610b692d30aa7f1f40d7878b26978a5b191f23fa8fa082bd17092c67c2fd"}, + {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:7acc97c3cc995850a4fa59dfa6ce713d7ea187c9696632161aa09d898f001a2b"}, + {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:c0a09d78daea0de7ddf3d6d1113e80ceed8c15537e93f8efaad53024ffbde245"}, + {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50c3b1667b0c73cb076b1b1f8fa0fd88fcef5c2bbb2b9acdef79e2eae429c248"}, + {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1499a9b159d4675ea46786b7ebdbabd8287c62b6b116ccfd529112318d47184e"}, + {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:876deda2ce97f4a9005a9ac862f0ebee9e5956d51d589a24955802ca91726d49"}, + {file = "duckdb-1.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:40be901b38c709076f699b0c2f42a0c5663a496647eba350530e3a77f46a239b"}, + {file = "duckdb-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:5cb7642c5b21b8165b60029c274fc931c7c29cae3124b9a95ed73d050dd23584"}, + {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:959716b65cf1c94fc117ac9c9692eea0bd64ae53bc8ab6538d459087b474dbeb"}, + {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:6ff3c52ce0f8d25478155eb01de043ad0a25badbd10e684a2cd74363f1b86cde"}, + {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:430294cf11ce866d3b726cf4530462316e20b773fed3cf2de3cf63eb89650da6"}, + {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc9d48f772fafeea52568a0568cd11314cd79a10214069f3700dbcb31ebdf511"}, + {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:572095739024d9a5aa2dd8336c289af6a624c203004213e49b7e2469275e940f"}, + {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:660d9baf637b9a15e1ba74bbe02d3b4a20d82e8cbbd7d0712e0d59e3e9d6efea"}, + {file = "duckdb-1.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b91973605c8a30a38c4381a27895e7768cb3caa6700b2534ab76cc6b72cac390"}, + {file = "duckdb-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:f57c9e070cecf42d379145a75f325ec57fb1d410d6ff6592b5a28c2ff2b5792c"}, + {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:926a99b81c50b9a4a43ca26dcb781f934d35e773d22913548396601ab8d44c12"}, + {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:55a2632d27b5a965f1d9fc74b03383e80a3f8e3dc9596807dfb02c8db08cfcb7"}, + {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:8d8174fe47caf48d830dc477a45cedc8c970722df09dc1456bddc760ff6ccf68"}, + {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ad84023399002222fa8d5264a8dc2083053027910df728da92cabb07494a489"}, + {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c8adbc8b37444424c72043288f1521c860555a4f151ee4b744e6125f5d05729"}, + {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:550524c1b423eeb7ca0fdf1c2e6d29e723d7ec7cfab3050b9feb55a620ae927f"}, + {file = "duckdb-1.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4064243e4d3f445975b78773677de0ccbe924f9c7058a7c2cfedb24bba2ba939"}, + {file = "duckdb-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:4f64516dc62dd0fcbb9785c5bc7532a4fca3e6016bbcc92a2b235aa972c631f6"}, + {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4bf75a64c927470b6618496adcfbf0f316ef09d46a44cfe8e38b78e9ff40c8a0"}, + {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:5c8cd6fd7107299b9a243836cd8163e4c08d6228f18cbee4ed9f535f53300096"}, + {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:fc81c02b4d73533a438a9bbae19499531d85b752233c905facc4df41bbde043c"}, + {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baff4014caf6553b624a296e4db2926602670bd9be6e0fc75f3e970b085631b0"}, + {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e21b75a9a60f10b5b5033138c317d929018c92f355fadae5949b310a9179e0a7"}, + {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8220f039c5ea06dc126232464ab9b77197f80ae53d4611b0a41f73c54f6f3931"}, + {file = "duckdb-1.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:07384414ceae585d4106a7dc154331ae42f45390ed675ec81e3d01f2252a6b01"}, + {file = "duckdb-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:82776b3999e71a962db0bdc3f0258407ef41453f63eb47c33da29b644f8eb530"}, + {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35d4323655be4053fb90d47e85222c93fd56aea0e8ab0ac44bd8f7249ba85697"}, + {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:990d0799e0f543a4369413dc6caf7782cbbab49955c08c28ac56d5dab5ccef11"}, + {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ef3ba36b317abe000f502702eaaefdd8c3651a25aa0ad409f9487b286e2fb28"}, + {file = "duckdb-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:2c6e513a572967cd2bab0f20ce265f8eaf95ea7b554eecf1c233717c38569abc"}, + {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:567471cb964a0e54a7874c578e81af7b6ab474676ae6469ae1c33c2353f76fb1"}, + {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:a41d8eb4dc538d17660b78f2f4ecd0ba29666a396453bb71d6f4972bf2b3959e"}, + {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:31be0b9bc1909fb60abda7cd30615fe0224d1e451160d79e8e0313d6205417b0"}, + {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:541fb49da108e080d4f2984d2fdabaee36d65967a33642f8bce03373b29952f0"}, + {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c54f836dac5eddbe369fa654811e979bb07688638a52d1c006172feb5b75a5"}, + {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afb97970ee72e554b507c6f2e40b356bdbf8fc1f466e7c4d1797183eb66c0809"}, + {file = "duckdb-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:a2cdcb68247f02017a35a0b617ceb1d36a02a7c0588d7e2ed91c9a4e9f14c3f6"}, + {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:36d71969cb98d10dc2391d8755921258d197995cc8c69e6c82fc377c2f71940a"}, + {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:3693f464409379a21aff4e35b5f67eb6c96fc402649d9ffddbda4ee9ee9ba9b6"}, + {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:06ca7f4ca785cc86e9f9aa23d16b67b82dc454b14c396b2e0ff4c09698c7838e"}, + {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ed92f3229bf70897a742e7648f648aa8b0c81a7489072aec5515c5635f3303c"}, + {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80ebf52c03f81265b67720abc06a5c7770d08df82b30cabbe266012bd526229"}, + {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:402a42b992227ebb371a48681ce71b6d1c0661385454b269e6aa379f77a8a83a"}, + {file = "duckdb-1.1.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a182d3cbf2e352aaddf392887331bbac460c473cbd55c65d6b6121ef7b43f174"}, + {file = "duckdb-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:fafc7d1ec4401787597a5f983d4ef8a9b0638f31e1674a458c57383911166f27"}, + {file = "duckdb-1.1.1.tar.gz", hash = "sha256:74fb07c1334a73e0ead1b0a03646d349921dac655762d916c8e45194c8218d30"}, ] [[package]] From 524a56d65340f188c32d4205698f12fa292e1523 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 16:52:26 -0600 Subject: [PATCH 22/49] chore: pre-commit autoupdate (#2693) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/python-jsonschema/check-jsonschema: 0.29.2 → 0.29.3](https://github.com/python-jsonschema/check-jsonschema/compare/0.29.2...0.29.3) - [github.com/astral-sh/ruff-pre-commit: v0.6.7 → v0.6.8](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.7...v0.6.8) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b47ae9272..4acaba7b9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -43,14 +43,14 @@ repos: )$ - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - id: check-readthedocs - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.7 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] From a4a071fd2b74a4aa02a7485b5ebe13511c7f8708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 12:48:58 -0600 Subject: [PATCH 23/49] packaging(templates): Remove unused backport `importlib_resources` dependency in tap template (#2694) --- cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 4163251a1..49abd849d 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -29,7 +29,6 @@ packages = [ [tool.poetry.dependencies] python = ">=3.9" -importlib-resources = { version = "==6.4.*", python = "<3.9" } singer-sdk = { version="~=0.40.0", extras = [ {%- if cookiecutter.auth_method == "JWT" -%}"jwt", {% endif -%} {%- if cookiecutter.faker_extra -%}"faker",{%- endif -%} From 5c68b09fb7ddc41296f14d499fe408de7d30a1d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:56:09 -0600 Subject: [PATCH 24/49] refactor(templates): Update dependencies in templates (#2695) * refactor(templates): Update dependencies in templates * Simpler Ruff config --- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.mapper_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.mapper_id}}/tox.ini | 19 ++++++------------- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.tap_id}}/README.md | 2 +- .../{{cookiecutter.tap_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.tap_id}}/tox.ini | 19 ++++++------------- .../.github/workflows/build.yml | 2 +- .../.github/workflows/test.yml | 5 +++-- .../.pre-commit-config.yaml | 4 ++-- .../{{cookiecutter.target_id}}/pyproject.toml | 6 +----- .../{{cookiecutter.target_id}}/tox.ini | 19 ++++++------------- 16 files changed, 40 insertions(+), 70 deletions(-) diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml index 731c51a14..929567e8c 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml index 9e35a5cbe..58f0f5b0e 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml index 40c8a9b17..7214c8c25 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml @@ -48,7 +48,6 @@ python_version = "3.12" warn_unused_configs = true [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -63,14 +62,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs} diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml index f6f11b0e7..d8772f156 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml index 45093ce09..4acde2515 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md index 0454d048c..2136340ef 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/README.md @@ -122,7 +122,7 @@ Now you can test and orchestrate using Meltano: # Test invocation: meltano invoke {{ cookiecutter.tap_id }} --version # OR run a test `elt` pipeline: -meltano elt {{ cookiecutter.tap_id }} target-jsonl +meltano run {{ cookiecutter.tap_id }} target-jsonl ``` ### SDK Dev Guide diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 49abd849d..05454067a 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -62,7 +62,6 @@ plugins = "sqlmypy" {%- endif %} [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -77,14 +76,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs} diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml index f9503baf6..425f733a6 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/build.yml @@ -42,4 +42,4 @@ jobs: - name: Publish ## TODO: create a trusted publisher on PyPI ## https://docs.pypi.org/trusted-publishers/ - uses: pypa/gh-action-pypi-publish@v1.9.0 + uses: pypa/gh-action-pypi-publish@v1.10.2 diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml index c5baeaa0f..01362f096 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml @@ -24,11 +24,12 @@ on: - tox.ini workflow_dispatch: +env: + FORCE_COLOR: 1 + jobs: pytest: runs-on: ubuntu-latest - env: - GITHUB_TOKEN: {{ '${{secrets.GITHUB_TOKEN}}' }} strategy: fail-fast: false matrix: diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml index ee72f1515..13e74461c 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.pre-commit-config.yaml @@ -18,13 +18,13 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.2 + rev: 0.29.3 hooks: - id: check-dependabot - id: check-github-workflows - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.4 + rev: v0.6.8 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml index 0ede63ffb..8fd9baf44 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml @@ -50,7 +50,6 @@ python_version = "3.12" warn_unused_configs = true [tool.ruff] -src = ["{{cookiecutter.library_name}}"] target-version = "py39" [tool.ruff.lint] @@ -65,14 +64,11 @@ select = ["ALL"] [tool.ruff.lint.flake8-annotations] allow-star-arg-any = true -[tool.ruff.lint.isort] -known-first-party = ["{{cookiecutter.library_name}}"] - [tool.ruff.lint.pydocstyle] convention = "google" [build-system] -requires = ["poetry-core==1.9.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini index 59d5dd083..fb5b1cf87 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/tox.ini @@ -1,19 +1,12 @@ # This file can be used to customize tox tests as well as other test frameworks like flake8 and mypy [tox] -envlist = py{39,310,311,312} -isolated_build = true +envlist = py3{9,10,11,12} +requires = + tox>=4.19 [testenv] -allowlist_externals = poetry +deps = + pytest commands = - poetry install -v - poetry run pytest - -[testenv:pytest] -# Run the python tests. -# To execute, run `tox -e pytest` -envlist = py{39,310,311,312} -commands = - poetry install -v - poetry run pytest + pytest {posargs} From 1442536f47ac83fc4b76ab8dd559b7bebebb734b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:13:23 -0600 Subject: [PATCH 25/49] refactor: Added a generic `FileStream` (still in active development!) (#2654) * Initial impl * Implement a simple local file and directory * Fix types * Fix order * Creation and modification time * Implement S3 file and directory * Implement filesystem root * Read bytes * Use a different caching approach * Deptry DEP001 * Change S3 list_contents implementation * Add boto3 as an extra dep * Simpler interface * Use fsspec * Start abstracting away a `FileStream` * Move implementation upstream * Use preferred fsspec abstraction * Use fsspec to list directory contents * Test incremental extraction * Fix types * Clean up * Increase coverage * Move tap logic upstream * Fix imports * Add no cover comment * Configure filesystem name * Update settings docs * CSV-specific settings * Test custom delimiter * Implement schema discovery * Add pragma: no cover * Move ReadMode * Implement FTP and SFTP configurations * Make deptry happy * Link to docs * Update pyproject.toml * Implement primary keys --- fixtures/csv/customers.csv | 2002 ++++++++++----------- fixtures/csv/employees.csv | 102 +- poetry.lock | 863 ++++++++- pyproject.toml | 18 +- samples/sample_tap_csv/client.py | 107 +- samples/sample_tap_csv/sample_tap_csv.py | 110 +- singer_sdk/contrib/filesystem/__init__.py | 8 + singer_sdk/contrib/filesystem/config.py | 99 + singer_sdk/contrib/filesystem/stream.py | 141 ++ singer_sdk/contrib/filesystem/tap.py | 193 ++ singer_sdk/streams/core.py | 6 +- tests/samples/test_tap_csv.py | 67 +- 12 files changed, 2468 insertions(+), 1248 deletions(-) create mode 100644 singer_sdk/contrib/filesystem/__init__.py create mode 100644 singer_sdk/contrib/filesystem/config.py create mode 100644 singer_sdk/contrib/filesystem/stream.py create mode 100644 singer_sdk/contrib/filesystem/tap.py diff --git a/fixtures/csv/customers.csv b/fixtures/csv/customers.csv index 6de28da5d..57d8d2953 100644 --- a/fixtures/csv/customers.csv +++ b/fixtures/csv/customers.csv @@ -1,1001 +1,1001 @@ -id,first_name,last_name,email,ip_address -1,Ethe,Book,ebook0@twitter.com,67.61.243.220 -2,Myranda,Tire,mtire1@vkontakte.ru,151.194.73.229 -3,Remus,Dorian,rdorian2@twitpic.com,204.220.73.121 -4,Stesha,Suddock,ssuddock3@ycombinator.com,113.182.132.211 -5,Serge,Daws,sdaws4@usgs.gov,111.173.74.111 -6,Ettie,Maddison,emaddison5@fastcompany.com,35.1.210.212 -7,Giffy,Biernat,gbiernat6@fastcompany.com,52.23.72.93 -8,Vitoria,Ommundsen,vommundsen7@narod.ru,94.239.171.99 -9,Mirella,Wisden,mwisden8@homestead.com,104.209.4.89 -10,Ami,Santus,asantus9@archive.org,235.3.35.99 -11,Otto,Hursthouse,ohursthousea@wordpress.com,84.230.160.212 -12,Sherrie,Pelos,spelosb@ucsd.edu,115.16.84.201 -13,Doreen,Loyndon,dloyndonc@columbia.edu,154.58.216.20 -14,Raddy,Maber,rmaberd@ihg.com,179.253.223.80 -15,Coralie,Pechan,cpechane@netlog.com,83.224.237.7 -16,Ira,Allmann,iallmannf@ucoz.com,209.175.60.153 -17,Silvester,Siseland,ssiselandg@smh.com.au,5.12.55.221 -18,Raviv,Dwane,rdwaneh@amazon.co.jp,178.115.168.254 -19,Rianon,Wansbury,rwansburyi@marketwatch.com,250.153.130.70 -20,Zacharie,Vardey,zvardeyj@wufoo.com,91.69.105.86 -21,Ofelia,Meriet,omerietk@domainmarket.com,118.193.26.70 -22,Minta,Du Fray,mdufrayl@cmu.edu,224.152.143.125 -23,Baillie,McDougal,bmcdougalm@dagondesign.com,118.36.198.87 -24,Dunstan,Schimpke,dschimpken@nih.gov,39.137.225.135 -25,Ab,Dackombe,adackombeo@un.org,163.98.82.166 -26,Cyrillus,Lakin,clakinp@indiegogo.com,154.155.120.48 -27,Jori,Gully,jgullyq@flickr.com,186.239.179.225 -28,Brod,Besse,bbesser@taobao.com,62.50.230.144 -29,Edie,Corderoy,ecorderoys@nationalgeographic.com,57.217.190.44 -30,Zach,Babbs,zbabbst@squidoo.com,84.65.12.93 -31,Burnaby,Claridge,bclaridgeu@mapy.cz,139.27.7.79 -32,Cam,Kieff,ckieffv@skyrock.com,135.73.189.82 -33,Cathi,Rolstone,crolstonew@biglobe.ne.jp,251.171.34.73 -34,Henrieta,Beastall,hbeastallx@state.gov,116.208.99.100 -35,Martie,Noble,mnobley@europa.eu,51.9.91.187 -36,Mildred,Durtnal,mdurtnalz@psu.edu,39.190.64.147 -37,Adrea,Nazer,anazer10@google.com,13.20.52.92 -38,Baxy,Beardsworth,bbeardsworth11@sfgate.com,110.83.233.13 -39,Rabbi,Brownsett,rbrownsett12@arstechnica.com,73.49.174.230 -40,Isiahi,Muino,imuino13@constantcontact.com,141.134.130.104 -41,Woodrow,Freeborn,wfreeborn14@usgs.gov,95.44.56.52 -42,Roseanne,Rankcom,rrankcom15@cnbc.com,71.254.39.163 -43,Desmond,Aynold,daynold16@zdnet.com,2.133.82.174 -44,Christel,Landre,clandre17@auda.org.au,186.14.74.159 -45,Kari,McKeurtan,kmckeurtan18@reference.com,163.110.86.97 -46,Bartholemy,Bulward,bbulward19@utexas.edu,175.44.136.142 -47,Evelyn,Walesa,ewalesa1a@hhs.gov,103.98.34.217 -48,Leroi,Rapier,lrapier1b@blogspot.com,179.247.125.22 -49,Floyd,Blease,fblease1c@canalblog.com,89.55.211.210 -50,Ondrea,Rotherham,orotherham1d@linkedin.com,143.80.13.255 -51,Arluene,Barfoot,abarfoot1e@clickbank.net,115.217.54.28 -52,Giulietta,Oaks,goaks1f@army.mil,4.250.68.73 -53,Jacquelynn,Rain,jrain1g@google.es,150.114.39.236 -54,Emlyn,Bawle,ebawle1h@timesonline.co.uk,46.180.27.230 -55,Shandy,Mandy,smandy1i@europa.eu,53.157.154.153 -56,Goldina,Gush,ggush1j@disqus.com,213.215.73.23 -57,Bryan,Moat,bmoat1k@mapy.cz,55.236.218.220 -58,Douglas,Bannerman,dbannerman1l@princeton.edu,237.32.119.149 -59,Adolphe,Hug,ahug1m@google.com,224.235.209.252 -60,Melessa,Pitkin,mpitkin1n@upenn.edu,100.165.210.253 -61,Michell,Swalwell,mswalwell1o@ucoz.ru,155.123.84.35 -62,Leona,Brodway,lbrodway1p@friendfeed.com,198.230.211.36 -63,Spence,Willas,swillas1q@tmall.com,174.104.61.20 -64,Griselda,Heavy,gheavy1r@instagram.com,1.135.2.166 -65,Lovell,Offill,loffill1s@e-recht24.de,234.143.13.61 -66,Clare,Lomaz,clomaz1t@google.co.jp,50.141.52.216 -67,Price,Milmo,pmilmo1u@sohu.com,59.186.62.238 -68,Neddie,Mcasparan,nmcasparan1v@scribd.com,254.141.50.152 -69,Barron,Maffin,bmaffin1w@theguardian.com,25.151.2.46 -70,Marve,Newcome,mnewcome1x@accuweather.com,212.96.253.98 -71,Beltran,Errichiello,berrichiello1y@unblog.fr,1.206.223.9 -72,Janine,Scotts,jscotts1z@pcworld.com,141.132.42.151 -73,Laurie,Pritchard,lpritchard20@squarespace.com,147.185.204.160 -74,Celestina,Crockley,ccrockley21@disqus.com,8.222.246.118 -75,Verla,Darrell,vdarrell22@quantcast.com,23.203.205.28 -76,Rupert,Collicott,rcollicott23@yale.edu,185.73.121.164 -77,Lonni,Brandino,lbrandino24@noaa.gov,116.86.14.240 -78,Sydelle,Soles,ssoles25@goo.gl,189.220.248.29 -79,Fergus,Matyukon,fmatyukon26@fc2.com,190.205.190.125 -80,Henderson,Conry,hconry27@newsvine.com,254.103.39.6 -81,Bernardine,Matteuzzi,bmatteuzzi28@cdbaby.com,49.177.58.201 -82,Kalina,Kitching,kkitching29@hatena.ne.jp,145.116.81.53 -83,Agnola,Coller,acoller2a@apache.org,205.173.237.76 -84,Pattin,Leinster,pleinster2b@shareasale.com,200.148.58.63 -85,Lorrie,Summerson,lsummerson2c@pen.io,224.222.232.187 -86,Normand,Ducker,nducker2d@earthlink.net,233.180.61.254 -87,Kristyn,Hillam,khillam2e@clickbank.net,100.239.61.160 -88,Kriste,Chatters,kchatters2f@lycos.com,9.119.212.73 -89,Mikael,Bastide,mbastide2g@tripod.com,227.59.45.166 -90,Consuelo,Renner,crenner2h@shop-pro.jp,194.219.125.57 -91,Cassondra,Matussevich,cmatussevich2i@google.com.br,31.213.26.253 -92,Harlin,Gissing,hgissing2j@ihg.com,56.231.244.201 -93,Rick,Deekes,rdeekes2k@sogou.com,81.199.104.110 -94,Cullen,Vidineev,cvidineev2l@ameblo.jp,197.23.66.210 -95,Fancie,Litt,flitt2m@admin.ch,138.60.214.187 -96,Gayler,Bernardi,gbernardi2n@goodreads.com,195.127.1.29 -97,Chan,Edscer,cedscer2o@arizona.edu,5.134.182.165 -98,Isa,Broun,ibroun2p@bbb.org,176.47.202.207 -99,Liuka,Aberdein,laberdein2q@reddit.com,159.104.205.207 -100,Marcelo,Daintry,mdaintry2r@4shared.com,17.232.250.180 -101,Katina,Mehmet,kmehmet2s@diigo.com,104.208.9.151 -102,Hank,Southernwood,hsouthernwood2t@nature.com,199.156.116.77 -103,Filmore,Fulmen,ffulmen2u@springer.com,155.213.68.172 -104,Cal,Mayes,cmayes2v@nature.com,116.148.235.40 -105,Francois,Brozsset,fbrozsset2w@multiply.com,141.171.53.209 -106,Monty,Mayou,mmayou2x@tamu.edu,110.182.213.71 -107,Miquela,Brine,mbrine2y@skype.com,143.50.240.107 -108,Kahlil,Nursey,knursey2z@china.com.cn,65.226.155.158 -109,Glendon,Soutar,gsoutar30@dmoz.org,176.164.229.115 -110,Idalia,Gutowski,igutowski31@livejournal.com,70.12.7.137 -111,Lee,Howkins,lhowkins32@economist.com,73.75.176.65 -112,Gwyneth,Jiggle,gjiggle33@blog.com,225.131.13.14 -113,Sheffie,Munby,smunby34@bluehost.com,150.143.194.197 -114,Mahala,Arnauduc,marnauduc35@symantec.com,20.92.174.130 -115,Angelica,Merrick,amerrick36@reference.com,56.39.40.33 -116,Halsy,Carpe,hcarpe37@vk.com,4.80.117.170 -117,Arch,Espinel,aespinel38@hibu.com,168.14.58.76 -118,Kelcie,Quig,kquig39@123-reg.co.uk,90.91.100.136 -119,Geoffrey,Dorant,gdorant3a@newyorker.com,124.49.113.92 -120,Pollyanna,Swetenham,pswetenham3b@yale.edu,13.141.62.94 -121,Liam,Tiltman,ltiltman3c@stumbleupon.com,84.134.143.214 -122,Tory,Craven,tcraven3d@fotki.com,51.46.141.71 -123,Dene,MacKessock,dmackessock3e@360.cn,184.180.226.89 -124,Hogan,Nezey,hnezey3f@indiatimes.com,244.25.250.175 -125,Deina,Scotfurth,dscotfurth3g@salon.com,51.20.213.72 -126,Jessie,Cardoo,jcardoo3h@fotki.com,140.171.175.173 -127,Kala,Fallows,kfallows3i@sogou.com,4.52.196.103 -128,Berenice,Marie,bmarie3j@ucsd.edu,79.76.8.157 -129,Dirk,Donaghy,ddonaghy3k@wired.com,179.200.212.84 -130,Lucia,Boshier,lboshier3l@gravatar.com,221.227.100.251 -131,Hatty,Elwin,helwin3m@netvibes.com,128.37.135.27 -132,Bonnie,Petyt,bpetyt3n@jugem.jp,21.61.201.112 -133,Phillipe,Martyntsev,pmartyntsev3o@netvibes.com,183.24.176.139 -134,Powell,Enrique,penrique3p@loc.gov,252.38.153.48 -135,Rey,Southward,rsouthward3q@dion.ne.jp,162.192.135.104 -136,Aluin,Brew,abrew3r@flavors.me,220.50.126.30 -137,Arielle,Aspin,aaspin3s@about.me,174.175.140.183 -138,Irene,Hackin,ihackin3t@oakley.com,71.111.61.36 -139,Abba,Fley,afley3u@etsy.com,147.156.189.24 -140,Lola,Cluatt,lcluatt3v@addthis.com,243.238.95.192 -141,Sallee,Laflin,slaflin3w@meetup.com,144.167.83.204 -142,Noami,Fergusson,nfergusson3x@ox.ac.uk,95.254.111.247 -143,Craig,Kolakowski,ckolakowski3y@goodreads.com,136.90.91.227 -144,Axel,Gianneschi,agianneschi3z@guardian.co.uk,64.32.17.203 -145,Ennis,Runge,erunge40@bluehost.com,68.54.122.19 -146,Tanney,Preshaw,tpreshaw41@simplemachines.org,211.64.133.182 -147,Shirley,Humbee,shumbee42@histats.com,150.61.218.72 -148,Claire,Casperri,ccasperri43@disqus.com,190.105.217.249 -149,Alvinia,Quibell,aquibell44@latimes.com,211.175.91.74 -150,Cristine,Larmet,clarmet45@prweb.com,219.213.234.203 -151,Fransisco,Snazle,fsnazle46@ed.gov,132.154.64.233 -152,Malchy,By,mby47@unesco.org,39.132.111.147 -153,Jeniffer,Leiden,jleiden48@usa.gov,167.209.132.123 -154,Laraine,Glasard,lglasard49@opensource.org,108.104.117.93 -155,Sandie,Woollam,swoollam4a@pinterest.com,165.125.58.90 -156,Ossie,Carle,ocarle4b@aboutads.info,252.93.125.66 -157,Ahmed,Lloyd-Williams,alloydwilliams4c@cnn.com,142.92.98.91 -158,Fifi,Pescod,fpescod4d@ftc.gov,184.222.148.241 -159,Hunfredo,Coton,hcoton4e@barnesandnoble.com,133.131.166.250 -160,Benjamen,Tort,btort4f@indiegogo.com,185.198.145.238 -161,Odelia,Grindall,ogrindall4g@creativecommons.org,133.188.232.235 -162,Ermanno,Danson,edanson4h@cbc.ca,13.43.126.215 -163,Netti,Wolters,nwolters4i@feedburner.com,229.127.153.246 -164,Krissy,Upham,kupham4j@privacy.gov.au,45.158.194.218 -165,Andra,Wyard,awyard4k@hugedomains.com,241.13.177.238 -166,Ennis,Peterson,epeterson4l@google.co.uk,42.112.253.18 -167,Michael,Jotham,mjotham4m@gov.uk,235.189.5.120 -168,Ruby,Shenton,rshenton4n@mozilla.com,169.205.79.220 -169,Eugenie,Tidd,etidd4o@dion.ne.jp,134.53.25.174 -170,Cammie,Belsher,cbelsher4p@scientificamerican.com,185.138.254.30 -171,Almire,Mabbett,amabbett4q@arizona.edu,23.166.132.13 -172,Karlie,De Carteret,kdecarteret4r@economist.com,76.53.116.99 -173,Stafford,Uphill,suphill4s@bbc.co.uk,141.105.29.43 -174,Omero,Copins,ocopins4t@altervista.org,223.73.36.52 -175,Tye,Beeston,tbeeston4u@lulu.com,16.38.192.124 -176,Kayla,Truelock,ktruelock4v@mac.com,189.112.196.88 -177,Kelcy,Mavin,kmavin4w@bloglines.com,0.114.85.73 -178,Alonso,Mapother,amapother4x@discovery.com,255.92.160.115 -179,Shelton,Spellard,sspellard4y@icio.us,171.103.162.9 -180,Arin,Geany,ageany4z@w3.org,181.19.214.187 -181,Bernetta,Isakov,bisakov50@virginia.edu,218.183.145.140 -182,Boone,Garrard,bgarrard51@irs.gov,46.26.5.24 -183,Edgardo,Pleasaunce,epleasaunce52@globo.com,59.126.148.239 -184,Arch,Gaddesby,agaddesby53@friendfeed.com,249.59.113.51 -185,Brandy,Gorries,bgorries54@ehow.com,255.199.133.203 -186,Christiana,Howsam,chowsam55@usda.gov,181.20.166.184 -187,Vin,Momery,vmomery56@free.fr,65.42.186.56 -188,Perry,Cullotey,pcullotey57@yellowbook.com,120.12.63.104 -189,Cherise,De Biasi,cdebiasi58@goodreads.com,190.114.2.70 -190,Hanny,Stubbes,hstubbes59@chronoengine.com,137.90.146.109 -191,Monah,Boutton,mboutton5a@homestead.com,140.69.12.115 -192,Hamid,Calloway,hcalloway5b@nhs.uk,60.220.17.117 -193,Miner,Epgrave,mepgrave5c@mapquest.com,151.67.233.50 -194,Bertrando,Mallabar,bmallabar5d@timesonline.co.uk,180.63.24.173 -195,Merci,Sturton,msturton5e@cloudflare.com,30.128.226.38 -196,Roland,Astlet,rastlet5f@spiegel.de,53.57.186.191 -197,Nathalia,Durdle,ndurdle5g@bloglovin.com,231.199.154.107 -198,Lissie,Rouzet,lrouzet5h@cbsnews.com,53.222.142.148 -199,Camellia,Elstone,celstone5i@noaa.gov,42.69.82.116 -200,Kaja,Conklin,kconklin5j@slate.com,79.82.90.4 -201,Saunderson,Hun,shun5k@creativecommons.org,16.157.179.142 -202,Roby,Clemetts,rclemetts5l@boston.com,140.123.99.70 -203,Corinna,Tidmarsh,ctidmarsh5m@yellowbook.com,133.208.20.165 -204,Maude,Regitz,mregitz5n@netlog.com,219.141.22.123 -205,Elaina,Braidwood,ebraidwood5o@unicef.org,248.58.91.45 -206,Corrianne,Whitelaw,cwhitelaw5p@mediafire.com,118.18.114.16 -207,Eberto,Swyndley,eswyndley5q@geocities.com,27.236.40.116 -208,Christiano,Minucci,cminucci5r@examiner.com,156.189.56.97 -209,Malachi,Revell,mrevell5s@soup.io,207.107.110.198 -210,Annadiana,Tysack,atysack5t@discuz.net,233.37.29.6 -211,Federico,Giovanardi,fgiovanardi5u@ycombinator.com,243.150.14.238 -212,Caty,Christon,cchriston5v@creativecommons.org,130.23.247.197 -213,Maryanne,Gradon,mgradon5w@wufoo.com,93.232.255.99 -214,Jack,Laurence,jlaurence5x@usda.gov,208.254.160.155 -215,Lauraine,Peplay,lpeplay5y@domainmarket.com,75.25.167.2 -216,Ortensia,Stouther,ostouther5z@mozilla.org,113.76.175.213 -217,Iago,Tunstall,itunstall60@amazon.com,99.202.202.181 -218,Georas,Lace,glace61@usa.gov,169.132.20.130 -219,Peter,Peggs,ppeggs62@twitpic.com,180.204.244.2 -220,Aviva,Fruchon,afruchon63@amazon.co.uk,53.206.106.56 -221,Tirrell,Guillou,tguillou64@webnode.com,74.166.194.83 -222,Temple,Wisniewski,twisniewski65@instagram.com,227.60.79.73 -223,Giorgi,Beddo,gbeddo66@baidu.com,139.14.44.66 -224,Davie,Ranking,dranking67@ft.com,136.84.98.59 -225,Terrence,Dunnett,tdunnett68@deliciousdays.com,61.26.160.251 -226,Katha,Greasley,kgreasley69@hubpages.com,138.139.214.118 -227,Agnese,Cardenas,acardenas6a@cdbaby.com,172.89.183.52 -228,Devonne,Gregg,dgregg6b@shareasale.com,101.231.151.202 -229,Zandra,Muggleton,zmuggleton6c@1688.com,118.196.56.164 -230,Brandyn,Arnold,barnold6d@fema.gov,32.15.169.236 -231,Vivie,Rubel,vrubel6e@google.nl,36.14.201.192 -232,Alex,Linney,alinney6f@slate.com,184.180.199.186 -233,Dimitry,Delouch,ddelouch6g@ucsd.edu,149.49.16.223 -234,Tedd,Sweynson,tsweynson6h@opera.com,98.124.176.147 -235,Antonio,Lawfull,alawfull6i@networkadvertising.org,198.67.237.250 -236,Beverlee,Penni,bpenni6j@comcast.net,140.51.191.227 -237,Rosemary,Minor,rminor6k@vk.com,94.93.169.60 -238,Abbie,Deason,adeason6l@berkeley.edu,147.14.18.158 -239,Ileane,Friday,ifriday6m@wiley.com,188.172.47.190 -240,Stephenie,Woolatt,swoolatt6n@infoseek.co.jp,3.176.184.203 -241,Angel,Moden,amoden6o@nasa.gov,255.57.108.58 -242,Chevy,Croley,ccroley6p@wufoo.com,132.248.149.49 -243,Gaylor,Wiltshear,gwiltshear6q@jimdo.com,82.92.128.187 -244,Hagen,Benda,hbenda6r@boston.com,249.202.180.209 -245,Nickie,Sprake,nsprake6s@cloudflare.com,229.141.64.215 -246,Ulberto,Lakenden,ulakenden6t@kickstarter.com,111.8.12.119 -247,Annnora,Bunworth,abunworth6u@mysql.com,12.100.167.66 -248,Lesli,McFall,lmcfall6v@thetimes.co.uk,39.86.103.227 -249,Creight,Wogden,cwogden6w@google.de,8.71.1.35 -250,Evey,End,eend6x@reuters.com,250.254.194.206 -251,Ranna,Glazyer,rglazyer6y@wikimedia.org,80.0.51.83 -252,Francisco,Elcoate,felcoate6z@wired.com,102.116.100.0 -253,Selig,Pepler,spepler70@github.io,134.103.190.178 -254,Hamel,Peasee,hpeasee71@kickstarter.com,238.90.201.30 -255,Louise,Hasney,lhasney72@hibu.com,199.137.135.110 -256,Dahlia,Georgeou,dgeorgeou73@studiopress.com,162.209.224.126 -257,Chase,Hapke,chapke74@fastcompany.com,154.159.242.2 -258,Ring,Fluin,rfluin75@discovery.com,237.233.233.27 -259,Virginia,Marland,vmarland76@miibeian.gov.cn,143.192.114.83 -260,Paxon,Warbey,pwarbey77@51.la,125.7.220.195 -261,Liana,Stanworth,lstanworth78@miitbeian.gov.cn,110.25.203.26 -262,Karina,Chalmers,kchalmers79@angelfire.com,252.100.183.152 -263,Frazer,Knoton,fknoton7a@arstechnica.com,218.62.101.165 -264,Fairlie,Herkess,fherkess7b@diigo.com,59.53.7.215 -265,Binnie,Eadon,beadon7c@prlog.org,199.212.166.40 -266,Fannie,Eldin,feldin7d@exblog.jp,123.145.220.3 -267,Thaxter,Beamand,tbeamand7e@techcrunch.com,101.127.7.155 -268,Marcile,Coverley,mcoverley7f@123-reg.co.uk,247.143.32.95 -269,Evan,Hawkwood,ehawkwood7g@phpbb.com,178.45.110.151 -270,Tiphani,Aldhous,taldhous7h@is.gd,174.230.79.189 -271,Gertruda,Cawood,gcawood7i@google.it,28.209.45.209 -272,Auberon,Loveland,aloveland7j@homestead.com,211.149.5.147 -273,Salmon,McMickan,smcmickan7k@clickbank.net,38.13.110.150 -274,Lotta,McDougle,lmcdougle7l@pagesperso-orange.fr,20.240.225.225 -275,Uta,Percy,upercy7m@who.int,250.139.21.183 -276,Rori,Southward,rsouthward7n@sina.com.cn,166.107.196.142 -277,Janna,Barneville,jbarneville7o@sogou.com,68.173.71.94 -278,Heather,Earle,hearle7p@nbcnews.com,33.160.255.99 -279,Hartley,Goulborn,hgoulborn7q@adobe.com,96.176.133.88 -280,Alli,Di Franceschi,adifranceschi7r@reference.com,10.163.229.86 -281,Noelyn,Juleff,njuleff7s@vk.com,87.159.235.164 -282,Gay,Derham,gderham7t@soundcloud.com,32.46.181.78 -283,Evvy,Burkill,eburkill7u@phoca.cz,5.177.33.95 -284,Nobe,Fery,nfery7v@berkeley.edu,124.14.138.141 -285,Carey,Lockner,clockner7w@infoseek.co.jp,236.98.79.192 -286,Patrice,De Lorenzo,pdelorenzo7x@epa.gov,59.104.71.225 -287,Norine,Costigan,ncostigan7y@blogspot.com,33.34.125.123 -288,Eveline,Hutable,ehutable7z@alexa.com,83.232.125.97 -289,Mackenzie,Sholem,msholem80@wired.com,66.232.214.142 -290,Ardelia,Gammage,agammage81@lycos.com,81.47.84.39 -291,Hakim,Pestricke,hpestricke82@sciencedirect.com,6.211.189.173 -292,Alphonso,Lazarus,alazarus83@lulu.com,9.143.238.133 -293,Fred,Broxton,fbroxton84@studiopress.com,200.196.89.145 -294,Florencia,Bilt,fbilt85@bloomberg.com,126.140.143.159 -295,Tanner,Blumfield,tblumfield86@thetimes.co.uk,177.202.37.42 -296,Phil,Duplan,pduplan87@networkadvertising.org,78.98.30.138 -297,Marty,Rother,mrother88@reuters.com,92.189.95.115 -298,Carree,Oxford,coxford89@deliciousdays.com,150.176.219.1 -299,Carolynn,Drance,cdrance8a@fotki.com,186.44.48.162 -300,Yoko,Perree,yperree8b@hibu.com,142.63.125.237 -301,Phyllis,Jikovsky,pjikovsky8c@independent.co.uk,7.3.177.62 -302,Blinny,Scatchard,bscatchard8d@blogtalkradio.com,126.130.223.95 -303,Tracey,Aharoni,taharoni8e@ustream.tv,248.64.74.236 -304,Bernadina,Freeburn,bfreeburn8f@amazon.co.uk,19.69.151.159 -305,Stacee,Feeham,sfeeham8g@aol.com,43.191.101.169 -306,Josy,Ridgedell,jridgedell8h@apache.org,30.31.250.117 -307,Hiram,Willgrass,hwillgrass8i@symantec.com,80.128.69.234 -308,Yalonda,Laxtonne,ylaxtonne8j@livejournal.com,133.181.128.162 -309,Tiebout,Kupper,tkupper8k@reuters.com,204.104.124.81 -310,Marian,Gutch,mgutch8l@zdnet.com,129.56.44.92 -311,Justis,Charlesworth,jcharlesworth8m@t.co,127.92.113.240 -312,Jacquelynn,Glass,jglass8n@behance.net,7.101.43.182 -313,Mayor,Husband,mhusband8o@upenn.edu,3.1.193.229 -314,Kev,Hubbold,khubbold8p@flavors.me,70.50.10.83 -315,Horatius,Trudgion,htrudgion8q@shareasale.com,151.227.23.28 -316,Myrtia,Cordes,mcordes8r@globo.com,218.202.183.118 -317,Reagen,Lapre,rlapre8s@cyberchimps.com,132.173.255.42 -318,Guy,Osgardby,gosgardby8t@baidu.com,119.67.94.65 -319,Jori,Arrault,jarrault8u@zimbio.com,59.21.94.35 -320,Hill,Crampsey,hcrampsey8v@ebay.co.uk,3.170.10.72 -321,Jo ann,Francom,jfrancom8w@multiply.com,111.249.41.24 -322,Clive,Frascone,cfrascone8x@goo.ne.jp,181.191.42.104 -323,Carl,Charer,ccharer8y@ask.com,253.185.128.82 -324,Margarita,Pledger,mpledger8z@globo.com,251.58.128.251 -325,Mord,Matthessen,mmatthessen90@about.me,207.59.70.244 -326,Rina,Osbiston,rosbiston91@ameblo.jp,34.153.172.87 -327,Alexina,Stuchbery,astuchbery92@vimeo.com,4.254.53.179 -328,Duncan,Perford,dperford93@fda.gov,130.47.86.144 -329,Glynnis,Yarrington,gyarrington94@loc.gov,8.136.79.187 -330,Paige,Filippi,pfilippi95@symantec.com,31.136.6.109 -331,Almire,Curnokk,acurnokk96@ca.gov,161.194.173.84 -332,Helena,Andreacci,handreacci97@chron.com,249.232.236.206 -333,Berti,Fearfull,bfearfull98@over-blog.com,210.247.197.92 -334,Lula,Joburn,ljoburn99@people.com.cn,119.56.63.228 -335,Urson,Chown,uchown9a@ycombinator.com,221.93.156.233 -336,Morlee,Myhill,mmyhill9b@ehow.com,93.75.196.247 -337,Glynda,Kayley,gkayley9c@examiner.com,160.84.170.80 -338,Vally,Eslinger,veslinger9d@boston.com,174.164.207.3 -339,Edouard,Schubart,eschubart9e@cornell.edu,7.23.150.142 -340,Dollie,Hargerie,dhargerie9f@yahoo.com,13.176.70.32 -341,Raphaela,Hasluck,rhasluck9g@cdbaby.com,255.251.180.175 -342,Fransisco,Szabo,fszabo9h@goodreads.com,159.114.236.220 -343,Quinn,Mordie,qmordie9i@marketwatch.com,32.14.40.214 -344,Nicoline,Behrens,nbehrens9j@posterous.com,130.8.213.242 -345,Vito,Bromby,vbromby9k@bloglovin.com,56.34.49.131 -346,Horacio,Tremberth,htremberth9l@ocn.ne.jp,148.195.78.183 -347,Heidie,Sawle,hsawle9m@1688.com,14.87.253.125 -348,Mina,Delph,mdelph9n@gravatar.com,3.44.2.51 -349,Jennie,Gerleit,jgerleit9o@cpanel.net,144.194.96.157 -350,Nelie,Ault,nault9p@tmall.com,132.215.199.16 -351,Myrtle,Casely,mcasely9q@angelfire.com,17.12.205.133 -352,Ashli,Gristwood,agristwood9r@studiopress.com,91.212.98.169 -353,Armstrong,Libermore,alibermore9s@nhs.uk,176.56.230.231 -354,Paule,Sprowson,psprowson9t@google.de,162.67.240.94 -355,Donovan,Pearlman,dpearlman9u@cargocollective.com,158.54.166.121 -356,Isabeau,Goranov,igoranov9v@smugmug.com,239.137.92.63 -357,Zeb,Shane,zshane9w@eepurl.com,30.4.128.139 -358,Kaitlin,Bladon,kbladon9x@nhs.uk,98.41.113.137 -359,Georgie,Westmancoat,gwestmancoat9y@eepurl.com,107.62.32.180 -360,Laraine,Jaumet,ljaumet9z@mac.com,101.140.100.140 -361,Artemis,Flannigan,aflannigana0@nyu.edu,163.59.229.174 -362,Kalvin,Cortin,kcortina1@microsoft.com,227.69.2.127 -363,Gavin,Hassell,ghassella2@google.it,149.135.149.206 -364,Gabbi,Widger,gwidgera3@salon.com,73.191.239.172 -365,Huntlee,Cummings,hcummingsa4@amazon.de,95.213.192.155 -366,Dora,Carlisi,dcarlisia5@histats.com,33.241.105.150 -367,Stefa,Langsdon,slangsdona6@ycombinator.com,166.197.172.22 -368,Grier,Kennealy,gkennealya7@phoca.cz,215.124.143.143 -369,Othilia,Gulvin,ogulvina8@theatlantic.com,1.181.101.218 -370,Ax,Gulk,agulka9@facebook.com,109.220.189.0 -371,Pedro,Roncelli,proncelliaa@addthis.com,220.105.19.192 -372,Sara-ann,Utteridge,sutteridgeab@slideshare.net,122.105.134.161 -373,Enoch,Shepcutt,eshepcuttac@cafepress.com,134.95.17.100 -374,Elsie,Peasegood,epeasegoodad@bing.com,148.53.172.79 -375,Esme,Mallock,emallockae@simplemachines.org,78.203.230.34 -376,Thalia,MacNally,tmacnallyaf@craigslist.org,219.198.35.102 -377,Hartley,Zoane,hzoaneag@canalblog.com,216.237.105.88 -378,Thorsten,Samett,tsamettah@histats.com,207.219.108.26 -379,Whitby,Pattini,wpattiniai@cbslocal.com,207.82.202.30 -380,Drugi,Robson,drobsonaj@networksolutions.com,23.89.17.112 -381,Myron,Cape,mcapeak@csmonitor.com,66.250.132.88 -382,Jehu,Navarre,jnavarreal@shareasale.com,199.29.252.132 -383,Gerty,Shavel,gshavelam@ning.com,23.147.185.39 -384,Orbadiah,Baughen,obaughenan@goo.ne.jp,27.220.204.144 -385,Danell,Dinneen,ddinneenao@merriam-webster.com,117.86.100.127 -386,Craggie,Winson,cwinsonap@hatena.ne.jp,160.85.146.160 -387,Andonis,MacGille,amacgilleaq@wired.com,48.14.157.131 -388,Claudine,Box,cboxar@etsy.com,187.54.28.196 -389,Igor,Jacox,ijacoxas@slate.com,179.246.14.189 -390,Leeland,Ingleton,lingletonat@umich.edu,201.181.2.90 -391,Wilma,Sybry,wsybryau@economist.com,150.96.210.188 -392,Sherwin,Schapiro,sschapiroav@ox.ac.uk,159.218.191.196 -393,Jeannie,Innes,jinnesaw@ocn.ne.jp,35.94.133.115 -394,Barbra,Jeschner,bjeschnerax@home.pl,120.115.31.214 -395,Dasie,Ludlam,dludlamay@usa.gov,197.60.159.215 -396,Cleo,Franz,cfranzaz@cafepress.com,10.4.172.62 -397,Sascha,Seelbach,sseelbachb0@constantcontact.com,26.24.82.168 -398,Nissy,Hallahan,nhallahanb1@csmonitor.com,98.190.108.251 -399,Boote,Stemp,bstempb2@cnn.com,128.253.30.32 -400,Markos,Bertram,mbertramb3@behance.net,128.15.252.63 -401,Flor,Paramore,fparamoreb4@ow.ly,164.46.95.215 -402,Harman,Minthorpe,hminthorpeb5@wikipedia.org,48.203.63.31 -403,Neilla,Goggey,ngoggeyb6@reverbnation.com,56.67.211.58 -404,Allin,Noddings,anoddingsb7@globo.com,208.31.112.60 -405,Cassi,Roles,crolesb8@people.com.cn,119.237.74.26 -406,Zuzana,Cliss,zclissb9@guardian.co.uk,89.132.183.2 -407,Margo,Pendreigh,mpendreighba@forbes.com,198.114.121.203 -408,Yehudi,Arnecke,yarneckebb@wix.com,41.171.29.12 -409,Caye,Geering,cgeeringbc@nsw.gov.au,60.107.73.28 -410,Jess,Pattini,jpattinibd@utexas.edu,110.17.160.73 -411,Olvan,Blackleech,oblackleechbe@rambler.ru,183.228.3.230 -412,Heidie,Piegrome,hpiegromebf@soundcloud.com,10.219.76.120 -413,Annmaria,Sandom,asandombg@disqus.com,252.217.161.38 -414,Nollie,Friary,nfriarybh@drupal.org,173.208.66.240 -415,Krystyna,Skitch,kskitchbi@newsvine.com,248.227.29.64 -416,Lanna,Banfill,lbanfillbj@ycombinator.com,52.61.113.79 -417,Antoine,Skuse,askusebk@github.com,254.163.19.172 -418,Janith,Kingsland,jkingslandbl@digg.com,252.188.219.179 -419,Malory,Neller,mnellerbm@soundcloud.com,123.70.66.220 -420,Rutherford,Goodwin,rgoodwinbn@springer.com,62.186.229.16 -421,Felita,Fleckney,ffleckneybo@zimbio.com,6.46.133.160 -422,Gratia,Van Arsdale,gvanarsdalebp@cargocollective.com,122.147.178.146 -423,Madeleine,Angrick,mangrickbq@kickstarter.com,70.196.180.152 -424,Rurik,Bernakiewicz,rbernakiewiczbr@lycos.com,30.160.101.66 -425,Ferdinande,Tinline,ftinlinebs@last.fm,181.249.213.202 -426,Kenyon,Branigan,kbraniganbt@imageshack.us,204.176.54.190 -427,Arley,Cursey,acurseybu@latimes.com,17.58.82.43 -428,Abramo,Crossingham,acrossinghambv@myspace.com,192.236.31.231 -429,Sayres,Risso,srissobw@theglobeandmail.com,115.236.192.45 -430,Andrew,Horwell,ahorwellbx@blinklist.com,110.235.15.207 -431,Loella,Hegden,lhegdenby@biglobe.ne.jp,177.37.227.253 -432,Gerek,Barrass,gbarrassbz@people.com.cn,80.202.217.115 -433,Pace,Wickstead,pwicksteadc0@state.gov,68.139.125.142 -434,Thedrick,Took,ttookc1@rakuten.co.jp,233.204.174.146 -435,Venita,Trotter,vtrotterc2@indiegogo.com,147.116.118.189 -436,Carmencita,Motto,cmottoc3@123-reg.co.uk,132.48.107.69 -437,Marion,Fortie,mfortiec4@ebay.com,254.15.201.135 -438,Lorrie,Borlease,lborleasec5@sfgate.com,216.74.2.87 -439,Iormina,Jaycox,ijaycoxc6@so-net.ne.jp,156.105.28.5 -440,Ollie,Siggens,osiggensc7@gravatar.com,170.190.165.81 -441,Jeniffer,Klimentov,jklimentovc8@storify.com,22.231.192.37 -442,Giulietta,Sloss,gslossc9@dagondesign.com,70.103.164.246 -443,Dirk,Oldacres,doldacresca@technorati.com,153.82.103.2 -444,Thane,Klimke,tklimkecb@people.com.cn,51.39.234.210 -445,Dalston,Wakelam,dwakelamcc@usa.gov,83.197.236.115 -446,Robyn,Topham,rtophamcd@sourceforge.net,42.178.182.2 -447,Jamima,Donaghie,jdonaghiece@mysql.com,203.43.208.108 -448,Shanta,Whatman,swhatmancf@purevolume.com,149.93.188.6 -449,Caroline,Gorries,cgorriescg@123-reg.co.uk,82.137.166.26 -450,Filmore,De Beauchamp,fdebeauchampch@sfgate.com,214.41.248.185 -451,Lila,Coltman,lcoltmanci@craigslist.org,31.70.118.118 -452,Elijah,Mackinder,emackindercj@digg.com,110.87.4.138 -453,Bunny,Rudledge,brudledgeck@cnbc.com,121.99.176.158 -454,Rebeca,Stienton,rstientoncl@macromedia.com,125.55.195.206 -455,Dalston,Rubinowitch,drubinowitchcm@sakura.ne.jp,220.145.118.199 -456,Feodor,Gosland,fgoslandcn@narod.ru,0.103.87.144 -457,Isak,Attock,iattockco@mediafire.com,48.129.121.205 -458,Kathleen,Venes,kvenescp@hhs.gov,71.224.38.76 -459,Lucille,Jodrellec,ljodrelleccq@topsy.com,228.24.118.202 -460,Fernanda,Trill,ftrillcr@furl.net,44.61.125.200 -461,Harley,Masterson,hmastersoncs@newyorker.com,252.69.52.235 -462,Lazar,Lightman,llightmanct@github.com,146.200.165.16 -463,Haskell,Abbis,habbiscu@google.cn,152.228.9.168 -464,Hurley,Midford,hmidfordcv@sbwire.com,129.151.32.245 -465,Jemimah,Pressey,jpresseycw@a8.net,183.62.242.244 -466,Carrissa,Friary,cfriarycx@google.it,92.55.177.71 -467,Maryanna,Paulsen,mpaulsency@nationalgeographic.com,181.209.180.227 -468,Giraud,Gronav,ggronavcz@taobao.com,105.213.114.225 -469,Chancey,Pettifer,cpettiferd0@sohu.com,130.9.209.119 -470,Frannie,Gloyens,fgloyensd1@redcross.org,19.191.0.75 -471,Jasen,Costock,jcostockd2@about.me,87.179.47.67 -472,Welch,Tomaszczyk,wtomaszczykd3@blogger.com,38.44.135.32 -473,Luciano,Mc Meekin,lmcmeekind4@comcast.net,254.164.180.49 -474,Del,Hentzer,dhentzerd5@skyrock.com,230.94.237.132 -475,Gretel,Vassman,gvassmand6@about.me,182.239.129.59 -476,Milty,Reicharz,mreicharzd7@mozilla.com,199.208.140.143 -477,Whitney,Sendall,wsendalld8@edublogs.org,76.27.135.149 -478,Tim,Glison,tglisond9@usgs.gov,46.203.89.135 -479,Maurice,Blooman,mbloomanda@senate.gov,120.94.254.9 -480,Ysabel,Eagles,yeaglesdb@oakley.com,223.168.236.122 -481,Nicolle,Menci,nmencidc@fema.gov,14.67.226.38 -482,Agnes,Shutte,ashuttedd@xinhuanet.com,71.215.246.206 -483,Emlynn,Calder,ecalderde@mail.ru,139.138.245.83 -484,Jorry,Kedslie,jkedsliedf@mozilla.org,87.35.218.149 -485,Manuel,Downey,mdowneydg@walmart.com,89.51.120.229 -486,Caro,Ambrosio,cambrosiodh@addthis.com,85.126.54.39 -487,Welch,Yeskov,wyeskovdi@blogs.com,192.89.209.194 -488,Gerrard,McLorinan,gmclorinandj@xinhuanet.com,75.245.44.64 -489,Briny,Garret,bgarretdk@microsoft.com,223.195.222.201 -490,Mark,Charte,mchartedl@reddit.com,239.202.60.94 -491,Luci,Dzenisenka,ldzenisenkadm@tinypic.com,82.253.61.134 -492,Kelbee,Larchier,klarchierdn@quantcast.com,221.163.28.162 -493,Mozelle,Chritchlow,mchritchlowdo@technorati.com,198.81.173.161 -494,Jarvis,Iorillo,jiorillodp@studiopress.com,93.101.150.11 -495,Netta,Reape,nreapedq@gnu.org,51.144.222.128 -496,Bing,Gerardot,bgerardotdr@parallels.com,50.104.129.117 -497,Corny,Odcroft,codcroftds@gnu.org,208.131.76.86 -498,Cirstoforo,Danilishin,cdanilishindt@i2i.jp,81.71.29.231 -499,Winni,Fonzone,wfonzonedu@pagesperso-orange.fr,224.208.253.44 -500,Greta,Charlesworth,gcharlesworthdv@cdc.gov,189.92.249.105 -501,Davita,Nattriss,dnattrissdw@usnews.com,104.76.94.84 -502,Jacky,Merrington,jmerringtondx@clickbank.net,32.186.87.6 -503,Levin,Brightling,lbrightlingdy@amazon.co.uk,244.155.255.27 -504,Nari,Tenny,ntennydz@ocn.ne.jp,225.68.188.123 -505,Shem,Benthall,sbenthalle0@webeden.co.uk,78.171.218.118 -506,Austine,Sygroves,asygrovese1@gov.uk,131.187.101.74 -507,Armando,Totterdell,atotterdelle2@gravatar.com,158.38.141.117 -508,Barde,Sibbs,bsibbse3@mit.edu,211.78.171.181 -509,Marcelia,Castagna,mcastagnae4@theguardian.com,4.99.134.90 -510,Marybelle,Hamelyn,mhamelyne5@yahoo.com,52.67.130.95 -511,Deana,Whittington,dwhittingtone6@mediafire.com,72.58.213.232 -512,Ashley,Waggett,awaggette7@delicious.com,108.85.79.77 -513,Ernestus,Mayling,emaylinge8@goodreads.com,124.56.40.59 -514,Roanne,Mullinder,rmullindere9@trellian.com,201.53.105.68 -515,Lodovico,Voules,lvoulesea@amazon.com,61.179.48.169 -516,Colas,Rollinson,crollinsoneb@bbc.co.uk,53.246.111.221 -517,Stefania,Heasly,sheaslyec@zdnet.com,187.226.144.94 -518,Demetra,Aizik,daiziked@sfgate.com,73.115.216.63 -519,Munroe,Pillans,mpillansee@buzzfeed.com,7.214.116.110 -520,Kaela,Bilbee,kbilbeeef@twitter.com,56.232.67.129 -521,Philippa,Pachmann,ppachmanneg@diigo.com,100.156.152.139 -522,Symon,Beazer,sbeazereh@ted.com,144.22.117.218 -523,Debi,Bonifacio,dbonifacioei@icio.us,95.128.45.154 -524,Cristi,Cumberledge,ccumberledgeej@google.com.au,17.253.21.244 -525,Jocelyne,Humm,jhummek@sphinn.com,5.193.76.122 -526,Inna,Erni,ierniel@weibo.com,162.244.156.206 -527,Edik,Studdard,estuddardem@amazon.de,112.108.204.147 -528,Jo,Howard,jhowarden@blinklist.com,252.90.29.4 -529,Marcelo,Springall,mspringalleo@zimbio.com,146.82.70.138 -530,Roxanne,Baggs,rbaggsep@biblegateway.com,43.59.252.117 -531,Josiah,Priditt,jpriditteq@goo.gl,128.191.182.166 -532,Margit,Forsdicke,mforsdickeer@ox.ac.uk,105.146.197.153 -533,Derril,Ambridge,dambridgees@facebook.com,25.99.66.38 -534,Eryn,Cohrs,ecohrset@geocities.jp,127.15.106.240 -535,Boone,Brient,bbrienteu@acquirethisname.com,135.74.238.119 -536,Barry,Cale,bcaleev@ucoz.com,15.154.159.133 -537,Carey,Sparhawk,csparhawkew@bloglines.com,129.132.63.205 -538,Tammy,Charley,tcharleyex@livejournal.com,151.198.50.157 -539,Walsh,Leggin,wlegginey@narod.ru,45.190.220.196 -540,Matthiew,Espinoza,mespinozaez@epa.gov,153.158.117.40 -541,Bekki,Lindwall,blindwallf0@jiathis.com,110.99.162.3 -542,Virgie,MacMychem,vmacmychemf1@mozilla.com,251.42.243.242 -543,Liv,Boundey,lboundeyf2@washingtonpost.com,13.30.208.83 -544,Dirk,Feld,dfeldf3@unesco.org,245.189.172.75 -545,Nikki,Boorne,nboornef4@discovery.com,19.92.231.218 -546,Brynna,Smeath,bsmeathf5@springer.com,34.139.205.63 -547,Erica,Laraway,elarawayf6@va.gov,0.19.56.89 -548,Gill,Kubczak,gkubczakf7@mtv.com,58.189.26.134 -549,Stefa,Klicher,sklicherf8@cocolog-nifty.com,212.250.35.126 -550,Ric,Matteini,rmatteinif9@google.com,76.40.210.171 -551,Renate,Clendennen,rclendennenfa@paginegialle.it,155.128.125.241 -552,Aryn,Housden,ahousdenfb@elegantthemes.com,218.187.212.50 -553,Denice,Haimes,dhaimesfc@tiny.cc,127.43.110.137 -554,Clarette,Brookfield,cbrookfieldfd@simplemachines.org,5.22.2.135 -555,Gabbey,Bradbrook,gbradbrookfe@tripod.com,100.103.183.118 -556,Chicky,Cordier,ccordierff@tripod.com,252.64.158.116 -557,Barton,Collick,bcollickfg@netlog.com,74.6.198.84 -558,Olivie,Fibbens,ofibbensfh@exblog.jp,62.227.196.134 -559,Donny,Wibrow,dwibrowfi@hubpages.com,46.77.170.143 -560,Dory,Williment,dwillimentfj@csmonitor.com,31.82.168.122 -561,Elayne,Cranmer,ecranmerfk@google.pl,12.148.73.45 -562,Corby,Vaz,cvazfl@weather.com,47.184.29.175 -563,Annmarie,Bisterfeld,abisterfeldfm@huffingtonpost.com,9.167.215.142 -564,Emelda,Blasius,eblasiusfn@vkontakte.ru,223.61.226.54 -565,Paloma,Hulke,phulkefo@canalblog.com,201.194.32.92 -566,Bertie,Del Checolo,bdelchecolofp@jimdo.com,243.210.15.79 -567,Cullen,Summerton,csummertonfq@blogtalkradio.com,117.160.26.233 -568,Algernon,Backshell,abackshellfr@squidoo.com,35.184.102.214 -569,Nevin,Cicculi,ncicculifs@microsoft.com,54.140.7.38 -570,Kelcey,Olrenshaw,kolrenshawft@comcast.net,219.11.78.3 -571,Benny,Curtayne,bcurtaynefu@addthis.com,134.236.253.152 -572,Florie,Magenny,fmagennyfv@bbb.org,236.226.233.115 -573,Tabor,Clench,tclenchfw@google.cn,58.188.164.129 -574,Renato,Langmuir,rlangmuirfx@ed.gov,224.245.61.255 -575,Timoteo,Megarry,tmegarryfy@businesswire.com,87.56.232.131 -576,Saba,Trace,stracefz@cnn.com,172.20.254.18 -577,Martin,Hardin,mharding0@uiuc.edu,59.94.197.156 -578,Che,Bosma,cbosmag1@example.com,171.9.149.230 -579,Lorenzo,Kingshott,lkingshottg2@wikipedia.org,134.33.44.254 -580,Dorise,Paige,dpaigeg3@jugem.jp,20.161.148.227 -581,Elana,Knocker,eknockerg4@biblegateway.com,118.187.107.81 -582,Loralie,Gabala,lgabalag5@time.com,204.62.248.40 -583,Gerrard,Hofler,ghoflerg6@mapquest.com,21.90.212.249 -584,Meade,Mee,mmeeg7@edublogs.org,243.160.122.66 -585,Lucille,Hardbattle,lhardbattleg8@acquirethisname.com,185.202.79.158 -586,Brigham,Garrison,bgarrisong9@icq.com,100.197.243.236 -587,Gabrila,Gartsyde,ggartsydega@berkeley.edu,218.166.227.41 -588,Angel,Audas,aaudasgb@youtu.be,45.36.137.219 -589,Babara,Blenkensop,bblenkensopgc@163.com,69.160.69.41 -590,Odelle,MacNess,omacnessgd@1688.com,189.134.207.88 -591,Normy,Luney,nluneyge@yahoo.co.jp,175.173.13.106 -592,Billie,Westnedge,bwestnedgegf@soup.io,87.242.196.167 -593,Gusella,Trevers,gtreversgg@printfriendly.com,165.221.104.240 -594,Sergei,Headey,sheadeygh@smh.com.au,249.88.42.65 -595,Page,Suggate,psuggategi@cbsnews.com,46.36.122.173 -596,Frasier,Beards,fbeardsgj@illinois.edu,112.199.28.40 -597,Cristy,Kuhnt,ckuhntgk@ezinearticles.com,242.113.62.65 -598,Hyacintha,Marriot,hmarriotgl@stanford.edu,144.224.32.129 -599,Tish,Simyson,tsimysongm@hp.com,55.111.3.192 -600,Kimmy,Cookman,kcookmangn@ftc.gov,110.100.123.66 -601,Fee,Trenaman,ftrenamango@stanford.edu,125.132.183.122 -602,Harold,Spreckley,hspreckleygp@nature.com,115.186.25.105 -603,Ophelie,Spinnace,ospinnacegq@miibeian.gov.cn,255.234.255.18 -604,Aymer,MacGowan,amacgowangr@booking.com,214.162.180.214 -605,Elliot,Brownsword,ebrownswordgs@ihg.com,76.84.225.105 -606,Christabel,Riedel,criedelgt@nationalgeographic.com,91.92.75.188 -607,Mercie,Gaukrodge,mgaukrodgegu@nasa.gov,8.66.116.234 -608,Jordan,Doiley,jdoileygv@themeforest.net,119.34.164.200 -609,Guenna,Dearnly,gdearnlygw@people.com.cn,40.147.212.167 -610,Rosalind,Doreward,rdorewardgx@hao123.com,76.93.185.142 -611,Stearne,Siddall,ssiddallgy@apache.org,206.2.186.251 -612,Maible,Vigurs,mvigursgz@smugmug.com,233.89.155.231 -613,Carry,Curuclis,ccuruclish0@cyberchimps.com,237.4.137.235 -614,Dacia,Shoobridge,dshoobridgeh1@sphinn.com,97.220.159.59 -615,Illa,Townson,itownsonh2@slashdot.org,36.57.197.202 -616,Mirilla,Spehr,mspehrh3@virginia.edu,2.230.213.20 -617,Afton,Clout,aclouth4@php.net,148.51.103.239 -618,Zia,Niccols,zniccolsh5@umn.edu,111.92.244.233 -619,Harlan,Care,hcareh6@geocities.jp,147.165.253.105 -620,Nealy,Kelby,nkelbyh7@java.com,199.17.128.183 -621,Hurlee,Rosel,hroselh8@aboutads.info,148.83.117.93 -622,Oates,Jurkowski,ojurkowskih9@domainmarket.com,51.168.198.177 -623,Tymon,Emerson,temersonha@gravatar.com,58.135.8.221 -624,Stacy,Katzmann,skatzmannhb@tumblr.com,27.51.250.240 -625,Aksel,Udden,auddenhc@reverbnation.com,8.179.159.178 -626,Brooke,Lourenco,blourencohd@google.com,215.41.155.94 -627,Clarita,Kolczynski,ckolczynskihe@unicef.org,211.79.208.231 -628,Emlyn,Glassman,eglassmanhf@stumbleupon.com,163.116.32.117 -629,Lucian,Gowrich,lgowrichhg@utexas.edu,190.40.48.107 -630,Rozamond,O'Kielt,rokielthh@answers.com,15.240.42.203 -631,Estel,McGeever,emcgeeverhi@paypal.com,125.220.7.209 -632,Meryl,Yakovitch,myakovitchhj@ca.gov,26.167.145.250 -633,Barty,Sneden,bsnedenhk@blogtalkradio.com,4.137.5.75 -634,Alex,McCord,amccordhl@hud.gov,73.247.18.192 -635,Edwina,Rubbert,erubberthm@tamu.edu,119.125.97.104 -636,Dicky,Bernette,dbernettehn@weebly.com,66.168.252.37 -637,Cirilo,Withey,cwitheyho@nytimes.com,114.36.203.75 -638,Ewell,Gillbard,egillbardhp@omniture.com,87.64.26.114 -639,Jephthah,Larver,jlarverhq@whitehouse.gov,195.113.125.231 -640,Tracee,Hanalan,thanalanhr@devhub.com,149.247.21.125 -641,Martino,Aucutt,maucutths@wp.com,183.226.21.75 -642,Carmel,Tilbury,ctilburyht@hubpages.com,237.24.250.230 -643,Phillida,Gonin,pgoninhu@wiley.com,21.135.44.11 -644,Grenville,Davenport,gdavenporthv@symantec.com,161.214.152.192 -645,Roland,Quinton,rquintonhw@dot.gov,187.116.110.29 -646,Oralla,Joffe,ojoffehx@diigo.com,194.12.78.19 -647,Franky,Bratch,fbratchhy@sciencedirect.com,95.101.50.215 -648,Tally,Strass,tstrasshz@ucoz.com,189.105.115.183 -649,Kaja,Dulwitch,kdulwitchi0@wordpress.com,24.47.243.10 -650,Charley,MacMoyer,cmacmoyeri1@ezinearticles.com,125.232.95.204 -651,Erena,Meegin,emeegini2@blinklist.com,113.139.104.92 -652,Shamus,McCalister,smccalisteri3@youtu.be,185.48.230.243 -653,Kenna,Johnes,kjohnesi4@adobe.com,199.246.105.153 -654,Kermie,Minchinden,kminchindeni5@mlb.com,188.192.235.227 -655,Nyssa,Moff,nmoffi6@google.fr,181.77.162.156 -656,Sandro,Eltone,seltonei7@sitemeter.com,238.214.156.50 -657,Gonzales,Gilchrist,ggilchristi8@123-reg.co.uk,183.186.33.93 -658,Giles,Hearnshaw,ghearnshawi9@oakley.com,41.172.162.150 -659,Aileen,Kaming,akamingia@bandcamp.com,210.182.117.208 -660,Viv,O'Shiel,voshielib@amazon.com,26.61.162.9 -661,Urson,Goodlip,ugoodlipic@studiopress.com,15.113.125.212 -662,Milty,Haggerston,mhaggerstonid@independent.co.uk,152.219.3.253 -663,Sallie,Elegood,selegoodie@jiathis.com,160.171.175.184 -664,Franny,Vigors,fvigorsif@japanpost.jp,118.37.205.205 -665,Adham,Blaxley,ablaxleyig@spiegel.de,30.116.133.169 -666,Maison,Kester,mkesterih@nymag.com,106.1.202.54 -667,Jesselyn,Luchetti,jluchettiii@dion.ne.jp,62.142.116.199 -668,Lina,Rowth,lrowthij@ezinearticles.com,157.196.248.45 -669,Ashlie,Denkin,adenkinik@fda.gov,50.184.255.159 -670,Stefan,Larking,slarkingil@hugedomains.com,117.121.10.196 -671,Tarra,Siddon,tsiddonim@nyu.edu,38.211.247.49 -672,Birk,Ellsbury,bellsburyin@storify.com,137.63.23.220 -673,Kurtis,Cason,kcasonio@mlb.com,230.97.231.3 -674,Misti,Gout,mgoutip@tmall.com,151.17.163.109 -675,Westbrook,O'dell,wodelliq@jimdo.com,87.175.119.82 -676,Tilda,Louiset,tlouisetir@slate.com,170.149.37.43 -677,Marcille,Matts,mmattsis@lycos.com,144.79.136.126 -678,Welch,Gopsall,wgopsallit@istockphoto.com,50.11.182.169 -679,Annabella,Whyberd,awhyberdiu@sitemeter.com,35.92.32.199 -680,Christian,Lory,cloryiv@ocn.ne.jp,252.121.51.34 -681,Odella,Strain,ostrainiw@123-reg.co.uk,8.207.56.131 -682,Elfie,Portt,eporttix@mysql.com,163.185.104.244 -683,Henrik,Grebbin,hgrebbiniy@bizjournals.com,201.159.100.117 -684,Helyn,Jordanson,hjordansoniz@nydailynews.com,246.11.98.116 -685,Olag,Parkyns,oparkynsj0@washington.edu,141.66.101.12 -686,Dru,Molson,dmolsonj1@typepad.com,203.111.32.244 -687,Skell,Donizeau,sdonizeauj2@yandex.ru,5.141.75.227 -688,Alma,Voak,avoakj3@qq.com,125.145.71.113 -689,Hamlin,Pask,hpaskj4@cbsnews.com,118.59.32.174 -690,Harper,Ollett,hollettj5@weather.com,246.156.222.76 -691,Jerrold,Peppin,jpeppinj6@auda.org.au,20.217.61.240 -692,Esmaria,Sheal,eshealj7@kickstarter.com,239.225.184.81 -693,Brenden,Mehew,bmehewj8@webnode.com,8.46.14.81 -694,Henrie,Kenchington,hkenchingtonj9@answers.com,37.152.228.120 -695,Eve,Ponter,eponterja@arstechnica.com,220.49.183.33 -696,Thorin,Stoltz,tstoltzjb@cbc.ca,173.140.3.165 -697,Tammara,Corkan,tcorkanjc@xinhuanet.com,176.233.206.87 -698,Adelle,Avieson,aaviesonjd@wikispaces.com,147.173.134.183 -699,Ania,Evens,aevensje@java.com,157.244.22.10 -700,Lianne,Rollason,lrollasonjf@gizmodo.com,143.48.158.150 -701,Cariotta,Hamfleet,chamfleetjg@vistaprint.com,235.23.137.164 -702,Jakie,Denziloe,jdenziloejh@posterous.com,53.216.193.58 -703,Hope,Luckes,hluckesji@g.co,93.92.237.226 -704,Arley,Stickels,astickelsjj@typepad.com,56.182.90.21 -705,Dennet,Bedo,dbedojk@wikispaces.com,159.42.172.82 -706,Byron,Jagels,bjagelsjl@google.de,191.5.191.36 -707,Fianna,Whitby,fwhitbyjm@webs.com,120.48.54.228 -708,Odette,Marcq,omarcqjn@arizona.edu,253.116.251.36 -709,Elsy,Carcas,ecarcasjo@ed.gov,232.158.13.197 -710,Mickie,Mascall,mmascalljp@zdnet.com,104.67.40.134 -711,Karlie,Linggard,klinggardjq@statcounter.com,42.214.94.91 -712,Catha,Fredy,cfredyjr@sbwire.com,9.111.166.228 -713,Brinn,Caso,bcasojs@seattletimes.com,183.21.58.124 -714,Hynda,Adamczyk,hadamczykjt@biglobe.ne.jp,99.200.137.45 -715,Krystyna,Tweede,ktweedeju@constantcontact.com,185.90.38.188 -716,Janaya,Fowler,jfowlerjv@so-net.ne.jp,100.240.187.165 -717,Noll,Pawelczyk,npawelczykjw@gmpg.org,199.238.195.115 -718,Elia,Troutbeck,etroutbeckjx@wikispaces.com,17.203.214.69 -719,Sholom,Juliano,sjulianojy@pcworld.com,80.185.95.197 -720,Cullin,Lindsay,clindsayjz@foxnews.com,242.255.112.218 -721,Kelcie,Filyaev,kfilyaevk0@indiegogo.com,161.44.77.219 -722,Rodie,Bigham,rbighamk1@google.fr,35.107.24.127 -723,Sigmund,Rayson,sraysonk2@gov.uk,30.12.252.247 -724,Sonny,Triggol,striggolk3@biglobe.ne.jp,82.161.194.245 -725,Morty,Witsey,mwitseyk4@chronoengine.com,86.214.192.200 -726,Benito,Dowe,bdowek5@topsy.com,229.7.48.41 -727,Nikolaos,Wrixon,nwrixonk6@indiegogo.com,66.50.167.14 -728,Will,Poyntz,wpoyntzk7@bluehost.com,196.186.176.79 -729,Myrtia,Jellis,mjellisk8@theguardian.com,28.124.249.59 -730,Jeanine,Dionsetti,jdionsettik9@msn.com,229.45.171.95 -731,Mackenzie,Buy,mbuyka@dell.com,55.167.107.27 -732,Mikaela,Salvidge,msalvidgekb@liveinternet.ru,17.50.40.21 -733,Sapphira,Gebuhr,sgebuhrkc@plala.or.jp,227.224.204.43 -734,Grethel,Garralts,ggarraltskd@ycombinator.com,134.204.105.246 -735,Merrili,Dougher,mdougherke@springer.com,247.246.194.178 -736,Kasper,Taudevin,ktaudevinkf@japanpost.jp,212.159.34.22 -737,Dorris,Nichols,dnicholskg@aboutads.info,33.198.95.121 -738,Jacquelynn,Assel,jasselkh@tinyurl.com,194.67.28.241 -739,Sarita,Hertwell,shertwellki@sogou.com,123.103.85.60 -740,Drusi,Eastcott,deastcottkj@nytimes.com,235.97.253.211 -741,Cornall,Mullarkey,cmullarkeykk@imgur.com,77.162.225.76 -742,Luisa,Ullrich,lullrichkl@omniture.com,62.174.214.46 -743,Marvin,Broske,mbroskekm@scientificamerican.com,91.15.204.79 -744,Danielle,Astbery,dastberykn@businessinsider.com,72.29.253.119 -745,Stephanus,Conochie,sconochieko@wikispaces.com,198.170.198.88 -746,Olimpia,Essame,oessamekp@techcrunch.com,168.81.119.110 -747,Arney,Mann,amannkq@newsvine.com,245.63.210.99 -748,Haslett,Aspland,hasplandkr@simplemachines.org,6.76.138.82 -749,Lethia,Blind,lblindks@imageshack.us,129.151.127.39 -750,Clive,Emanuelli,cemanuellikt@homestead.com,229.194.26.101 -751,Shelbi,Beare,sbeareku@youku.com,175.95.178.52 -752,Faustina,Tackes,ftackeskv@soup.io,109.209.97.22 -753,Christie,Janus,cjanuskw@purevolume.com,219.158.228.112 -754,Marline,Reynoollds,mreynoolldskx@furl.net,106.236.16.155 -755,Iris,Dorrell,idorrellky@behance.net,73.227.163.147 -756,Gearard,Allgood,gallgoodkz@imageshack.us,149.113.235.145 -757,Davin,Battman,dbattmanl0@amazonaws.com,196.229.219.39 -758,Kennith,Hurtic,khurticl1@wiley.com,251.34.249.123 -759,Russell,Leckey,rleckeyl2@sitemeter.com,66.220.77.162 -760,Vivyan,Erik,verikl3@google.es,206.69.34.16 -761,Ewell,Carty,ecartyl4@army.mil,219.105.52.216 -762,Chiarra,Vanin,cvaninl5@yolasite.com,168.223.79.4 -763,Matilda,Pinnell,mpinnelll6@g.co,35.4.117.50 -764,Jimmie,Pitt,jpittl7@multiply.com,122.36.128.215 -765,Jerrold,Giles,jgilesl8@sun.com,171.75.33.7 -766,Aura,Blonden,ablondenl9@paginegialle.it,132.76.205.221 -767,Corny,Dartnall,cdartnallla@wordpress.com,67.66.120.225 -768,Lizzy,Dene,ldenelb@wix.com,88.71.136.27 -769,Pammie,Tuckey,ptuckeylc@dailymotion.com,13.114.234.200 -770,Gillan,Thornham,gthornhamld@gov.uk,130.73.184.25 -771,Bobby,Rebeiro,brebeirole@google.ca,59.84.193.224 -772,Morris,Wellings,mwellingslf@usgs.gov,8.93.132.103 -773,Henka,Dabbs,hdabbslg@patch.com,103.11.47.245 -774,Merwin,Bubbins,mbubbinslh@dailymotion.com,252.201.20.88 -775,Adorne,MacFadden,amacfaddenli@fc2.com,151.92.155.153 -776,Arlen,Orthmann,aorthmannlj@ftc.gov,146.140.43.202 -777,Devland,Wickens,dwickenslk@alibaba.com,12.124.30.158 -778,Janeczka,Ossenna,jossennall@squidoo.com,223.38.238.12 -779,Karil,Eaglen,keaglenlm@disqus.com,205.107.227.221 -780,Roger,Dumpleton,rdumpletonln@e-recht24.de,92.165.141.137 -781,Adora,Van Der Vlies,avandervlieslo@deliciousdays.com,107.101.120.65 -782,Terrel,Varvara,tvarvaralp@posterous.com,6.61.4.193 -783,Aloisia,Rainbow,arainbowlq@latimes.com,203.83.216.69 -784,Willis,Gedney,wgedneylr@discovery.com,192.112.210.170 -785,Muffin,Schaumaker,mschaumakerls@devhub.com,3.65.7.244 -786,Martyn,Beckson,mbecksonlt@japanpost.jp,173.129.27.218 -787,Julia,Gilhooly,jgilhoolylu@cnn.com,245.73.152.144 -788,Bartholemy,Presland,bpreslandlv@cbslocal.com,223.154.197.67 -789,Pancho,Cregg,pcregglw@homestead.com,196.81.72.189 -790,Petrina,Curle,pcurlelx@census.gov,224.163.155.80 -791,Ebony,Maundrell,emaundrellly@google.cn,45.2.253.163 -792,Brietta,Chastang,bchastanglz@xinhuanet.com,20.3.115.139 -793,Emile,Philippson,ephilippsonm0@wsj.com,143.150.227.75 -794,Gabrila,Houten,ghoutenm1@hexun.com,224.51.106.107 -795,Sheela,Klasing,sklasingm2@barnesandnoble.com,182.181.244.197 -796,Grenville,Dinan,gdinanm3@hubpages.com,84.100.158.174 -797,Ariana,Gidney,agidneym4@smh.com.au,243.210.79.166 -798,Donetta,Morter,dmorterm5@php.net,200.153.89.27 -799,Rosalinda,Greswell,rgreswellm6@taobao.com,37.66.42.192 -800,Corey,Greve,cgrevem7@bravesites.com,225.218.179.24 -801,Wanda,Lambal,wlambalm8@constantcontact.com,141.162.228.187 -802,Franz,Coppins,fcoppinsm9@thetimes.co.uk,39.161.2.61 -803,Tildy,Quinby,tquinbyma@indiatimes.com,235.11.214.76 -804,Bellina,Piddock,bpiddockmb@apache.org,161.8.126.26 -805,Mathilde,Denney,mdenneymc@purevolume.com,228.208.12.222 -806,Shae,Stapleford,sstaplefordmd@go.com,31.157.172.26 -807,Bernadine,Ortiger,bortigerme@purevolume.com,15.230.62.15 -808,Chen,Wyeth,cwyethmf@reuters.com,127.203.14.248 -809,Lynnet,Mebius,lmebiusmg@naver.com,242.246.161.85 -810,Monica,Traice,mtraicemh@hexun.com,111.72.54.67 -811,Bamby,Bernardi,bbernardimi@netvibes.com,117.13.43.223 -812,Thorny,Swarbrick,tswarbrickmj@topsy.com,40.220.155.44 -813,Bryna,Knock,bknockmk@slate.com,164.239.162.100 -814,Valaria,Jirka,vjirkaml@fema.gov,164.78.230.97 -815,Loria,Scarfe,lscarfemm@edublogs.org,79.110.28.105 -816,Christalle,Acory,cacorymn@csmonitor.com,192.39.189.63 -817,Natassia,Barbrook,nbarbrookmo@squarespace.com,162.97.237.82 -818,Roxy,Rojel,rrojelmp@sakura.ne.jp,14.230.72.57 -819,Drud,Dincke,ddinckemq@jimdo.com,164.163.79.162 -820,Bunnie,Lillie,blilliemr@hhs.gov,167.76.84.198 -821,Nathalia,Piesing,npiesingms@adobe.com,48.181.6.5 -822,Gian,Godlonton,ggodlontonmt@storify.com,170.135.16.245 -823,Genvieve,Accum,gaccummu@google.ru,32.123.201.150 -824,Nichole,Gee,ngeemv@arizona.edu,187.226.20.105 -825,Aldus,Sweetman,asweetmanmw@blogs.com,156.32.15.195 -826,Jo ann,Yeoman,jyeomanmx@hao123.com,98.137.164.28 -827,Corrine,Bonafacino,cbonafacinomy@mashable.com,226.8.92.141 -828,Elga,Aubery,eauberymz@wired.com,135.11.25.227 -829,Ettie,Mogra,emogran0@hubpages.com,104.104.13.216 -830,Hillary,Blacket,hblacketn1@youtu.be,146.68.142.149 -831,Blondell,Sevitt,bsevittn2@earthlink.net,62.26.144.186 -832,Sawyere,Danelet,sdaneletn3@buzzfeed.com,97.20.13.250 -833,Shena,Castagnaro,scastagnaron4@list-manage.com,38.7.233.64 -834,Keir,Mochan,kmochann5@house.gov,70.177.107.177 -835,Lovell,Beceril,lbeceriln6@tripadvisor.com,167.234.99.212 -836,Florinda,Parmiter,fparmitern7@europa.eu,193.203.140.42 -837,Thornton,Dyster,tdystern8@adobe.com,225.216.130.235 -838,Mildrid,Crennan,mcrennann9@hostgator.com,236.59.17.73 -839,Aubree,Hallihan,ahallihanna@nasa.gov,229.86.16.71 -840,Liva,Pettitt,lpettittnb@icq.com,185.157.127.113 -841,Valentin,Grob,vgrobnc@163.com,218.75.120.145 -842,Clark,Mousdall,cmousdallnd@bbb.org,130.169.222.221 -843,Dorothy,Corney,dcorneyne@scribd.com,244.73.141.178 -844,Torie,Badman,tbadmannf@alexa.com,215.112.15.225 -845,Marcelle,Kennerknecht,mkennerknechtng@cnn.com,119.122.7.42 -846,Rayna,Lamacraft,rlamacraftnh@comsenz.com,224.33.169.205 -847,Marmaduke,Tallboy,mtallboyni@timesonline.co.uk,207.39.45.105 -848,Harmonia,Paffot,hpaffotnj@digg.com,212.115.141.56 -849,Bord,Rosso,brossonk@icq.com,184.64.217.200 -850,Cornall,Immings,cimmingsnl@tripadvisor.com,108.72.96.252 -851,Cris,Fortnon,cfortnonnm@smugmug.com,181.191.217.186 -852,Ezra,Anfrey,eanfreynn@posterous.com,234.74.58.251 -853,Tania,Bruggeman,tbruggemanno@1688.com,167.26.98.82 -854,Jedidiah,Holby,jholbynp@sciencedirect.com,199.234.10.4 -855,Bernard,Hollerin,bhollerinnq@yale.edu,212.190.179.50 -856,Francesco,Abelovitz,fabelovitznr@fotki.com,154.39.144.57 -857,Lib,Gillbanks,lgillbanksns@prweb.com,250.123.87.142 -858,Giavani,Brumby,gbrumbynt@aol.com,242.169.197.61 -859,Chic,Carder,ccardernu@blogspot.com,244.68.133.118 -860,Lucine,Scurrell,lscurrellnv@smh.com.au,241.177.177.92 -861,Theresa,Houdhury,thoudhurynw@cocolog-nifty.com,234.77.132.96 -862,Kacie,Ratray,kratraynx@skype.com,3.97.166.243 -863,Fowler,Fenix,ffenixny@senate.gov,31.253.81.69 -864,Putnem,Munroe,pmunroenz@xing.com,59.66.177.29 -865,Ediva,Dominik,edominiko0@networkadvertising.org,71.242.120.164 -866,Web,Favell,wfavello1@arstechnica.com,225.38.194.178 -867,Larry,Geill,lgeillo2@xinhuanet.com,201.111.234.86 -868,Tamarra,Melanaphy,tmelanaphyo3@bbc.co.uk,165.78.76.237 -869,Dorian,Kinrade,dkinradeo4@amazon.de,3.152.33.75 -870,Hillier,Jacobsson,hjacobssono5@theglobeandmail.com,164.87.243.1 -871,Ewan,Rive,eriveo6@odnoklassniki.ru,35.248.130.63 -872,Aaren,Beany,abeanyo7@acquirethisname.com,114.88.68.209 -873,Devland,Harness,dharnesso8@dropbox.com,90.84.14.97 -874,Nada,Beckmann,nbeckmanno9@tumblr.com,31.65.246.138 -875,Clayborn,Sheeran,csheeranoa@baidu.com,142.99.177.6 -876,Katuscha,Linfield,klinfieldob@istockphoto.com,98.148.185.27 -877,Dani,Widdison,dwiddisonoc@intel.com,178.152.181.71 -878,Fidel,MacGillavery,fmacgillaveryod@nyu.edu,55.131.105.243 -879,Danielle,Revie,drevieoe@imageshack.us,58.55.9.16 -880,Saunders,Guillem,sguillemof@prweb.com,129.149.55.191 -881,Brucie,Springell,bspringellog@mozilla.com,202.46.30.66 -882,Lee,Menier,lmenieroh@sina.com.cn,145.161.94.135 -883,Beilul,Jatczak,bjatczakoi@techcrunch.com,20.170.73.202 -884,Donn,Ondracek,dondracekoj@jugem.jp,193.224.145.30 -885,Jocelyne,Ravenshear,jravenshearok@pagesperso-orange.fr,173.66.110.77 -886,Candida,Millichip,cmillichipol@huffingtonpost.com,123.136.19.240 -887,Leisha,MacMichael,lmacmichaelom@zimbio.com,39.228.254.54 -888,Farly,Rounsefull,frounsefullon@yahoo.co.jp,122.244.240.215 -889,Loleta,Swannick,lswannickoo@google.ca,89.56.96.205 -890,Lester,Ventam,lventamop@china.com.cn,27.209.125.66 -891,Annetta,Pancast,apancastoq@51.la,216.35.37.97 -892,Cindie,Torrecilla,ctorrecillaor@typepad.com,239.142.216.203 -893,Glyn,Igounet,gigounetos@goo.gl,116.167.125.10 -894,Olympie,Cullinane,ocullinaneot@paypal.com,225.2.50.215 -895,Shara,Panyer,spanyerou@nydailynews.com,211.97.133.207 -896,Sigmund,Dorrian,sdorrianov@state.gov,217.156.31.250 -897,Merilyn,Eastby,meastbyow@omniture.com,246.56.58.156 -898,Natasha,Jaquemar,njaquemarox@goodreads.com,195.106.120.250 -899,Gene,Heavens,gheavensoy@histats.com,214.73.215.76 -900,Menard,Calderonello,mcalderonellooz@xrea.com,35.65.10.57 -901,Elbert,Risson,erissonp0@geocities.com,101.152.215.19 -902,Vern,Sabatini,vsabatinip1@disqus.com,61.86.243.226 -903,Tommie,Sapauton,tsapautonp2@theglobeandmail.com,114.217.29.95 -904,Toddy,Da Costa,tdacostap3@walmart.com,158.128.77.31 -905,Beatriz,Dursley,bdursleyp4@independent.co.uk,235.46.171.234 -906,Ferdinand,McDarmid,fmcdarmidp5@ning.com,27.27.105.68 -907,Odette,Lilley,olilleyp6@nba.com,10.83.178.123 -908,Augusta,Niessen,aniessenp7@vinaora.com,185.98.39.208 -909,Dara,Benwell,dbenwellp8@europa.eu,234.235.158.146 -910,Kristan,Luckie,kluckiep9@yelp.com,200.90.57.225 -911,Ashlin,Carbin,acarbinpa@bbb.org,230.163.209.111 -912,Jere,Habishaw,jhabishawpb@issuu.com,244.236.152.43 -913,Page,Follows,pfollowspc@usda.gov,232.35.241.17 -914,Currey,Galiford,cgalifordpd@instagram.com,69.233.24.215 -915,Jan,Coan,jcoanpe@google.it,232.151.71.96 -916,Curr,Hollyland,chollylandpf@walmart.com,201.7.244.6 -917,Marni,Moxon,mmoxonpg@blogger.com,248.192.188.101 -918,Baron,Ryland,brylandph@youku.com,215.121.122.0 -919,Zena,Strutton,zstruttonpi@microsoft.com,85.122.33.201 -920,Ilaire,Geddis,igeddispj@home.pl,184.75.155.156 -921,Cindee,McMonies,cmcmoniespk@yolasite.com,180.242.214.212 -922,Brocky,Urvoy,burvoypl@timesonline.co.uk,12.32.241.187 -923,Roseanne,McGrail,rmcgrailpm@merriam-webster.com,128.172.7.169 -924,Elga,Stoyles,estoylespn@smugmug.com,47.50.177.20 -925,Reggis,Lovelock,rlovelockpo@slashdot.org,83.253.6.198 -926,Kameko,Harly,kharlypp@infoseek.co.jp,4.224.190.78 -927,Marjory,Keller,mkellerpq@examiner.com,0.193.71.169 -928,Temple,Suett,tsuettpr@last.fm,228.178.247.154 -929,Erroll,Douty,edoutyps@pbs.org,72.216.143.103 -930,Maritsa,Bruford,mbrufordpt@va.gov,228.7.185.49 -931,Cecilia,Breewood,cbreewoodpu@163.com,173.244.177.139 -932,Ryann,Twine,rtwinepv@bloglines.com,253.192.163.184 -933,Lyle,Mauger,lmaugerpw@goo.gl,16.187.217.51 -934,Vanna,Wix,vwixpx@comcast.net,4.80.90.125 -935,Chrissie,Nimmo,cnimmopy@edublogs.org,28.41.138.178 -936,Clara,Gilhooly,cgilhoolypz@google.it,112.121.211.73 -937,Timmi,Farens,tfarensq0@uiuc.edu,136.42.64.49 -938,Julius,Falshaw,jfalshawq1@omniture.com,181.177.178.201 -939,Corey,Dwire,cdwireq2@mlb.com,116.254.75.56 -940,Corny,MacLaughlin,cmaclaughlinq3@ow.ly,161.121.120.157 -941,Cecile,Toma,ctomaq4@rambler.ru,239.55.216.51 -942,Baxie,Ledur,bledurq5@reverbnation.com,151.135.162.234 -943,Beck,Hustings,bhustingsq6@businessinsider.com,43.246.219.111 -944,Robbert,Robrow,rrobrowq7@github.io,226.195.166.40 -945,Weider,Tie,wtieq8@buzzfeed.com,94.179.160.139 -946,Kacie,Merriton,kmerritonq9@smugmug.com,208.77.59.123 -947,Alano,Vannoni,avannoniqa@goo.ne.jp,6.164.27.66 -948,Symon,Prine,sprineqb@jalbum.net,17.57.160.81 -949,Barris,Pimerick,bpimerickqc@google.nl,210.253.171.62 -950,Dedie,Clell,dclellqd@sun.com,65.230.192.163 -951,Lida,Brager,lbragerqe@tinypic.com,212.228.89.59 -952,Darsie,McGarel,dmcgarelqf@businesswire.com,32.185.31.122 -953,Dorris,Ruslinge,druslingeqg@studiopress.com,38.235.239.50 -954,Whitby,Reddie,wreddieqh@canalblog.com,71.194.86.60 -955,Maxwell,Allridge,mallridgeqi@tuttocitta.it,23.88.163.47 -956,Royal,Gavey,rgaveyqj@xinhuanet.com,111.145.148.115 -957,Adena,Jump,ajumpqk@cnn.com,67.70.197.167 -958,Davidde,Naismith,dnaismithql@goodreads.com,26.172.219.88 -959,Ferdinande,Tellenbroker,ftellenbrokerqm@nsw.gov.au,207.198.43.114 -960,Nettle,Edwins,nedwinsqn@gnu.org,186.171.29.254 -961,Marmaduke,Kedward,mkedwardqo@booking.com,106.221.52.105 -962,Winifield,Dechelle,wdechelleqp@va.gov,144.93.20.66 -963,Armin,Gogay,agogayqq@va.gov,63.248.234.242 -964,Garrett,Skerritt,gskerrittqr@webnode.com,246.230.249.143 -965,Grady,Ditty,gdittyqs@about.com,75.222.1.233 -966,Clarance,Aysh,cayshqt@wordpress.org,186.92.62.46 -967,Kirbie,Punshon,kpunshonqu@github.io,210.103.228.24 -968,Dimitri,Derobert,dderobertqv@plala.or.jp,165.229.97.73 -969,Jaimie,Tetsall,jtetsallqw@yolasite.com,70.227.5.120 -970,Jewell,Tonks,jtonksqx@histats.com,177.139.25.89 -971,Raddie,Boone,rbooneqy@sogou.com,190.91.78.84 -972,Davita,Maddyson,dmaddysonqz@php.net,27.254.112.46 -973,Kamila,Philpin,kphilpinr0@merriam-webster.com,230.56.120.64 -974,Simon,Lawday,slawdayr1@miitbeian.gov.cn,41.34.62.115 -975,Ame,Sallnow,asallnowr2@nature.com,42.19.246.11 -976,Catina,Shier,cshierr3@g.co,92.168.225.102 -977,Dina,Shoebottom,dshoebottomr4@digg.com,30.254.218.176 -978,Alden,Bicheno,abichenor5@ucoz.com,152.230.77.68 -979,Doro,Burlingame,dburlingamer6@gizmodo.com,116.55.114.230 -980,Yasmeen,Goundrill,ygoundrillr7@bbb.org,64.231.202.114 -981,Lynea,Boniface,lbonifacer8@etsy.com,248.188.64.4 -982,Olympe,Myring,omyringr9@cdbaby.com,34.244.192.242 -983,Gnni,Swanton,gswantonra@csmonitor.com,93.129.19.228 -984,Jordana,Roja,jrojarb@yelp.com,37.182.170.218 -985,Latrina,Kubala,lkubalarc@behance.net,16.180.74.53 -986,Laura,Mound,lmoundrd@e-recht24.de,9.252.101.27 -987,Catharine,Taylor,ctaylorre@istockphoto.com,104.3.204.36 -988,Brunhilda,Dorian,bdorianrf@wikimedia.org,52.81.132.101 -989,Augy,Gwilt,agwiltrg@twitter.com,39.25.165.212 -990,Nola,Carde,ncarderh@chronoengine.com,79.228.210.36 -991,Trista,Kuzemka,tkuzemkari@dot.gov,154.36.63.90 -992,Agustin,Hyndman,ahyndmanrj@auda.org.au,95.78.72.191 -993,Sherwynd,McGonnell,smcgonnellrk@nasa.gov,14.160.79.162 -994,Con,Smeath,csmeathrl@telegraph.co.uk,141.72.39.41 -995,Abigale,Toone,atoonerm@dyndns.org,133.5.61.95 -996,Wenonah,MacArd,wmacardrn@guardian.co.uk,206.42.244.179 -997,Alanson,Fearns,afearnsro@omniture.com,246.91.72.145 -998,Tiphany,Murkus,tmurkusrp@umn.edu,200.218.3.234 -999,Winnah,Pock,wpockrq@godaddy.com,192.155.247.2 -1000,Ravi,Angear,rangearrr@umich.edu,6.67.79.92 +id first_name last_name email ip_address +1 Ethe Book ebook0@twitter.com 67.61.243.220 +2 Myranda Tire mtire1@vkontakte.ru 151.194.73.229 +3 Remus Dorian rdorian2@twitpic.com 204.220.73.121 +4 Stesha Suddock ssuddock3@ycombinator.com 113.182.132.211 +5 Serge Daws sdaws4@usgs.gov 111.173.74.111 +6 Ettie Maddison emaddison5@fastcompany.com 35.1.210.212 +7 Giffy Biernat gbiernat6@fastcompany.com 52.23.72.93 +8 Vitoria Ommundsen vommundsen7@narod.ru 94.239.171.99 +9 Mirella Wisden mwisden8@homestead.com 104.209.4.89 +10 Ami Santus asantus9@archive.org 235.3.35.99 +11 Otto Hursthouse ohursthousea@wordpress.com 84.230.160.212 +12 Sherrie Pelos spelosb@ucsd.edu 115.16.84.201 +13 Doreen Loyndon dloyndonc@columbia.edu 154.58.216.20 +14 Raddy Maber rmaberd@ihg.com 179.253.223.80 +15 Coralie Pechan cpechane@netlog.com 83.224.237.7 +16 Ira Allmann iallmannf@ucoz.com 209.175.60.153 +17 Silvester Siseland ssiselandg@smh.com.au 5.12.55.221 +18 Raviv Dwane rdwaneh@amazon.co.jp 178.115.168.254 +19 Rianon Wansbury rwansburyi@marketwatch.com 250.153.130.70 +20 Zacharie Vardey zvardeyj@wufoo.com 91.69.105.86 +21 Ofelia Meriet omerietk@domainmarket.com 118.193.26.70 +22 Minta Du Fray mdufrayl@cmu.edu 224.152.143.125 +23 Baillie McDougal bmcdougalm@dagondesign.com 118.36.198.87 +24 Dunstan Schimpke dschimpken@nih.gov 39.137.225.135 +25 Ab Dackombe adackombeo@un.org 163.98.82.166 +26 Cyrillus Lakin clakinp@indiegogo.com 154.155.120.48 +27 Jori Gully jgullyq@flickr.com 186.239.179.225 +28 Brod Besse bbesser@taobao.com 62.50.230.144 +29 Edie Corderoy ecorderoys@nationalgeographic.com 57.217.190.44 +30 Zach Babbs zbabbst@squidoo.com 84.65.12.93 +31 Burnaby Claridge bclaridgeu@mapy.cz 139.27.7.79 +32 Cam Kieff ckieffv@skyrock.com 135.73.189.82 +33 Cathi Rolstone crolstonew@biglobe.ne.jp 251.171.34.73 +34 Henrieta Beastall hbeastallx@state.gov 116.208.99.100 +35 Martie Noble mnobley@europa.eu 51.9.91.187 +36 Mildred Durtnal mdurtnalz@psu.edu 39.190.64.147 +37 Adrea Nazer anazer10@google.com 13.20.52.92 +38 Baxy Beardsworth bbeardsworth11@sfgate.com 110.83.233.13 +39 Rabbi Brownsett rbrownsett12@arstechnica.com 73.49.174.230 +40 Isiahi Muino imuino13@constantcontact.com 141.134.130.104 +41 Woodrow Freeborn wfreeborn14@usgs.gov 95.44.56.52 +42 Roseanne Rankcom rrankcom15@cnbc.com 71.254.39.163 +43 Desmond Aynold daynold16@zdnet.com 2.133.82.174 +44 Christel Landre clandre17@auda.org.au 186.14.74.159 +45 Kari McKeurtan kmckeurtan18@reference.com 163.110.86.97 +46 Bartholemy Bulward bbulward19@utexas.edu 175.44.136.142 +47 Evelyn Walesa ewalesa1a@hhs.gov 103.98.34.217 +48 Leroi Rapier lrapier1b@blogspot.com 179.247.125.22 +49 Floyd Blease fblease1c@canalblog.com 89.55.211.210 +50 Ondrea Rotherham orotherham1d@linkedin.com 143.80.13.255 +51 Arluene Barfoot abarfoot1e@clickbank.net 115.217.54.28 +52 Giulietta Oaks goaks1f@army.mil 4.250.68.73 +53 Jacquelynn Rain jrain1g@google.es 150.114.39.236 +54 Emlyn Bawle ebawle1h@timesonline.co.uk 46.180.27.230 +55 Shandy Mandy smandy1i@europa.eu 53.157.154.153 +56 Goldina Gush ggush1j@disqus.com 213.215.73.23 +57 Bryan Moat bmoat1k@mapy.cz 55.236.218.220 +58 Douglas Bannerman dbannerman1l@princeton.edu 237.32.119.149 +59 Adolphe Hug ahug1m@google.com 224.235.209.252 +60 Melessa Pitkin mpitkin1n@upenn.edu 100.165.210.253 +61 Michell Swalwell mswalwell1o@ucoz.ru 155.123.84.35 +62 Leona Brodway lbrodway1p@friendfeed.com 198.230.211.36 +63 Spence Willas swillas1q@tmall.com 174.104.61.20 +64 Griselda Heavy gheavy1r@instagram.com 1.135.2.166 +65 Lovell Offill loffill1s@e-recht24.de 234.143.13.61 +66 Clare Lomaz clomaz1t@google.co.jp 50.141.52.216 +67 Price Milmo pmilmo1u@sohu.com 59.186.62.238 +68 Neddie Mcasparan nmcasparan1v@scribd.com 254.141.50.152 +69 Barron Maffin bmaffin1w@theguardian.com 25.151.2.46 +70 Marve Newcome mnewcome1x@accuweather.com 212.96.253.98 +71 Beltran Errichiello berrichiello1y@unblog.fr 1.206.223.9 +72 Janine Scotts jscotts1z@pcworld.com 141.132.42.151 +73 Laurie Pritchard lpritchard20@squarespace.com 147.185.204.160 +74 Celestina Crockley ccrockley21@disqus.com 8.222.246.118 +75 Verla Darrell vdarrell22@quantcast.com 23.203.205.28 +76 Rupert Collicott rcollicott23@yale.edu 185.73.121.164 +77 Lonni Brandino lbrandino24@noaa.gov 116.86.14.240 +78 Sydelle Soles ssoles25@goo.gl 189.220.248.29 +79 Fergus Matyukon fmatyukon26@fc2.com 190.205.190.125 +80 Henderson Conry hconry27@newsvine.com 254.103.39.6 +81 Bernardine Matteuzzi bmatteuzzi28@cdbaby.com 49.177.58.201 +82 Kalina Kitching kkitching29@hatena.ne.jp 145.116.81.53 +83 Agnola Coller acoller2a@apache.org 205.173.237.76 +84 Pattin Leinster pleinster2b@shareasale.com 200.148.58.63 +85 Lorrie Summerson lsummerson2c@pen.io 224.222.232.187 +86 Normand Ducker nducker2d@earthlink.net 233.180.61.254 +87 Kristyn Hillam khillam2e@clickbank.net 100.239.61.160 +88 Kriste Chatters kchatters2f@lycos.com 9.119.212.73 +89 Mikael Bastide mbastide2g@tripod.com 227.59.45.166 +90 Consuelo Renner crenner2h@shop-pro.jp 194.219.125.57 +91 Cassondra Matussevich cmatussevich2i@google.com.br 31.213.26.253 +92 Harlin Gissing hgissing2j@ihg.com 56.231.244.201 +93 Rick Deekes rdeekes2k@sogou.com 81.199.104.110 +94 Cullen Vidineev cvidineev2l@ameblo.jp 197.23.66.210 +95 Fancie Litt flitt2m@admin.ch 138.60.214.187 +96 Gayler Bernardi gbernardi2n@goodreads.com 195.127.1.29 +97 Chan Edscer cedscer2o@arizona.edu 5.134.182.165 +98 Isa Broun ibroun2p@bbb.org 176.47.202.207 +99 Liuka Aberdein laberdein2q@reddit.com 159.104.205.207 +100 Marcelo Daintry mdaintry2r@4shared.com 17.232.250.180 +101 Katina Mehmet kmehmet2s@diigo.com 104.208.9.151 +102 Hank Southernwood hsouthernwood2t@nature.com 199.156.116.77 +103 Filmore Fulmen ffulmen2u@springer.com 155.213.68.172 +104 Cal Mayes cmayes2v@nature.com 116.148.235.40 +105 Francois Brozsset fbrozsset2w@multiply.com 141.171.53.209 +106 Monty Mayou mmayou2x@tamu.edu 110.182.213.71 +107 Miquela Brine mbrine2y@skype.com 143.50.240.107 +108 Kahlil Nursey knursey2z@china.com.cn 65.226.155.158 +109 Glendon Soutar gsoutar30@dmoz.org 176.164.229.115 +110 Idalia Gutowski igutowski31@livejournal.com 70.12.7.137 +111 Lee Howkins lhowkins32@economist.com 73.75.176.65 +112 Gwyneth Jiggle gjiggle33@blog.com 225.131.13.14 +113 Sheffie Munby smunby34@bluehost.com 150.143.194.197 +114 Mahala Arnauduc marnauduc35@symantec.com 20.92.174.130 +115 Angelica Merrick amerrick36@reference.com 56.39.40.33 +116 Halsy Carpe hcarpe37@vk.com 4.80.117.170 +117 Arch Espinel aespinel38@hibu.com 168.14.58.76 +118 Kelcie Quig kquig39@123-reg.co.uk 90.91.100.136 +119 Geoffrey Dorant gdorant3a@newyorker.com 124.49.113.92 +120 Pollyanna Swetenham pswetenham3b@yale.edu 13.141.62.94 +121 Liam Tiltman ltiltman3c@stumbleupon.com 84.134.143.214 +122 Tory Craven tcraven3d@fotki.com 51.46.141.71 +123 Dene MacKessock dmackessock3e@360.cn 184.180.226.89 +124 Hogan Nezey hnezey3f@indiatimes.com 244.25.250.175 +125 Deina Scotfurth dscotfurth3g@salon.com 51.20.213.72 +126 Jessie Cardoo jcardoo3h@fotki.com 140.171.175.173 +127 Kala Fallows kfallows3i@sogou.com 4.52.196.103 +128 Berenice Marie bmarie3j@ucsd.edu 79.76.8.157 +129 Dirk Donaghy ddonaghy3k@wired.com 179.200.212.84 +130 Lucia Boshier lboshier3l@gravatar.com 221.227.100.251 +131 Hatty Elwin helwin3m@netvibes.com 128.37.135.27 +132 Bonnie Petyt bpetyt3n@jugem.jp 21.61.201.112 +133 Phillipe Martyntsev pmartyntsev3o@netvibes.com 183.24.176.139 +134 Powell Enrique penrique3p@loc.gov 252.38.153.48 +135 Rey Southward rsouthward3q@dion.ne.jp 162.192.135.104 +136 Aluin Brew abrew3r@flavors.me 220.50.126.30 +137 Arielle Aspin aaspin3s@about.me 174.175.140.183 +138 Irene Hackin ihackin3t@oakley.com 71.111.61.36 +139 Abba Fley afley3u@etsy.com 147.156.189.24 +140 Lola Cluatt lcluatt3v@addthis.com 243.238.95.192 +141 Sallee Laflin slaflin3w@meetup.com 144.167.83.204 +142 Noami Fergusson nfergusson3x@ox.ac.uk 95.254.111.247 +143 Craig Kolakowski ckolakowski3y@goodreads.com 136.90.91.227 +144 Axel Gianneschi agianneschi3z@guardian.co.uk 64.32.17.203 +145 Ennis Runge erunge40@bluehost.com 68.54.122.19 +146 Tanney Preshaw tpreshaw41@simplemachines.org 211.64.133.182 +147 Shirley Humbee shumbee42@histats.com 150.61.218.72 +148 Claire Casperri ccasperri43@disqus.com 190.105.217.249 +149 Alvinia Quibell aquibell44@latimes.com 211.175.91.74 +150 Cristine Larmet clarmet45@prweb.com 219.213.234.203 +151 Fransisco Snazle fsnazle46@ed.gov 132.154.64.233 +152 Malchy By mby47@unesco.org 39.132.111.147 +153 Jeniffer Leiden jleiden48@usa.gov 167.209.132.123 +154 Laraine Glasard lglasard49@opensource.org 108.104.117.93 +155 Sandie Woollam swoollam4a@pinterest.com 165.125.58.90 +156 Ossie Carle ocarle4b@aboutads.info 252.93.125.66 +157 Ahmed Lloyd-Williams alloydwilliams4c@cnn.com 142.92.98.91 +158 Fifi Pescod fpescod4d@ftc.gov 184.222.148.241 +159 Hunfredo Coton hcoton4e@barnesandnoble.com 133.131.166.250 +160 Benjamen Tort btort4f@indiegogo.com 185.198.145.238 +161 Odelia Grindall ogrindall4g@creativecommons.org 133.188.232.235 +162 Ermanno Danson edanson4h@cbc.ca 13.43.126.215 +163 Netti Wolters nwolters4i@feedburner.com 229.127.153.246 +164 Krissy Upham kupham4j@privacy.gov.au 45.158.194.218 +165 Andra Wyard awyard4k@hugedomains.com 241.13.177.238 +166 Ennis Peterson epeterson4l@google.co.uk 42.112.253.18 +167 Michael Jotham mjotham4m@gov.uk 235.189.5.120 +168 Ruby Shenton rshenton4n@mozilla.com 169.205.79.220 +169 Eugenie Tidd etidd4o@dion.ne.jp 134.53.25.174 +170 Cammie Belsher cbelsher4p@scientificamerican.com 185.138.254.30 +171 Almire Mabbett amabbett4q@arizona.edu 23.166.132.13 +172 Karlie De Carteret kdecarteret4r@economist.com 76.53.116.99 +173 Stafford Uphill suphill4s@bbc.co.uk 141.105.29.43 +174 Omero Copins ocopins4t@altervista.org 223.73.36.52 +175 Tye Beeston tbeeston4u@lulu.com 16.38.192.124 +176 Kayla Truelock ktruelock4v@mac.com 189.112.196.88 +177 Kelcy Mavin kmavin4w@bloglines.com 0.114.85.73 +178 Alonso Mapother amapother4x@discovery.com 255.92.160.115 +179 Shelton Spellard sspellard4y@icio.us 171.103.162.9 +180 Arin Geany ageany4z@w3.org 181.19.214.187 +181 Bernetta Isakov bisakov50@virginia.edu 218.183.145.140 +182 Boone Garrard bgarrard51@irs.gov 46.26.5.24 +183 Edgardo Pleasaunce epleasaunce52@globo.com 59.126.148.239 +184 Arch Gaddesby agaddesby53@friendfeed.com 249.59.113.51 +185 Brandy Gorries bgorries54@ehow.com 255.199.133.203 +186 Christiana Howsam chowsam55@usda.gov 181.20.166.184 +187 Vin Momery vmomery56@free.fr 65.42.186.56 +188 Perry Cullotey pcullotey57@yellowbook.com 120.12.63.104 +189 Cherise De Biasi cdebiasi58@goodreads.com 190.114.2.70 +190 Hanny Stubbes hstubbes59@chronoengine.com 137.90.146.109 +191 Monah Boutton mboutton5a@homestead.com 140.69.12.115 +192 Hamid Calloway hcalloway5b@nhs.uk 60.220.17.117 +193 Miner Epgrave mepgrave5c@mapquest.com 151.67.233.50 +194 Bertrando Mallabar bmallabar5d@timesonline.co.uk 180.63.24.173 +195 Merci Sturton msturton5e@cloudflare.com 30.128.226.38 +196 Roland Astlet rastlet5f@spiegel.de 53.57.186.191 +197 Nathalia Durdle ndurdle5g@bloglovin.com 231.199.154.107 +198 Lissie Rouzet lrouzet5h@cbsnews.com 53.222.142.148 +199 Camellia Elstone celstone5i@noaa.gov 42.69.82.116 +200 Kaja Conklin kconklin5j@slate.com 79.82.90.4 +201 Saunderson Hun shun5k@creativecommons.org 16.157.179.142 +202 Roby Clemetts rclemetts5l@boston.com 140.123.99.70 +203 Corinna Tidmarsh ctidmarsh5m@yellowbook.com 133.208.20.165 +204 Maude Regitz mregitz5n@netlog.com 219.141.22.123 +205 Elaina Braidwood ebraidwood5o@unicef.org 248.58.91.45 +206 Corrianne Whitelaw cwhitelaw5p@mediafire.com 118.18.114.16 +207 Eberto Swyndley eswyndley5q@geocities.com 27.236.40.116 +208 Christiano Minucci cminucci5r@examiner.com 156.189.56.97 +209 Malachi Revell mrevell5s@soup.io 207.107.110.198 +210 Annadiana Tysack atysack5t@discuz.net 233.37.29.6 +211 Federico Giovanardi fgiovanardi5u@ycombinator.com 243.150.14.238 +212 Caty Christon cchriston5v@creativecommons.org 130.23.247.197 +213 Maryanne Gradon mgradon5w@wufoo.com 93.232.255.99 +214 Jack Laurence jlaurence5x@usda.gov 208.254.160.155 +215 Lauraine Peplay lpeplay5y@domainmarket.com 75.25.167.2 +216 Ortensia Stouther ostouther5z@mozilla.org 113.76.175.213 +217 Iago Tunstall itunstall60@amazon.com 99.202.202.181 +218 Georas Lace glace61@usa.gov 169.132.20.130 +219 Peter Peggs ppeggs62@twitpic.com 180.204.244.2 +220 Aviva Fruchon afruchon63@amazon.co.uk 53.206.106.56 +221 Tirrell Guillou tguillou64@webnode.com 74.166.194.83 +222 Temple Wisniewski twisniewski65@instagram.com 227.60.79.73 +223 Giorgi Beddo gbeddo66@baidu.com 139.14.44.66 +224 Davie Ranking dranking67@ft.com 136.84.98.59 +225 Terrence Dunnett tdunnett68@deliciousdays.com 61.26.160.251 +226 Katha Greasley kgreasley69@hubpages.com 138.139.214.118 +227 Agnese Cardenas acardenas6a@cdbaby.com 172.89.183.52 +228 Devonne Gregg dgregg6b@shareasale.com 101.231.151.202 +229 Zandra Muggleton zmuggleton6c@1688.com 118.196.56.164 +230 Brandyn Arnold barnold6d@fema.gov 32.15.169.236 +231 Vivie Rubel vrubel6e@google.nl 36.14.201.192 +232 Alex Linney alinney6f@slate.com 184.180.199.186 +233 Dimitry Delouch ddelouch6g@ucsd.edu 149.49.16.223 +234 Tedd Sweynson tsweynson6h@opera.com 98.124.176.147 +235 Antonio Lawfull alawfull6i@networkadvertising.org 198.67.237.250 +236 Beverlee Penni bpenni6j@comcast.net 140.51.191.227 +237 Rosemary Minor rminor6k@vk.com 94.93.169.60 +238 Abbie Deason adeason6l@berkeley.edu 147.14.18.158 +239 Ileane Friday ifriday6m@wiley.com 188.172.47.190 +240 Stephenie Woolatt swoolatt6n@infoseek.co.jp 3.176.184.203 +241 Angel Moden amoden6o@nasa.gov 255.57.108.58 +242 Chevy Croley ccroley6p@wufoo.com 132.248.149.49 +243 Gaylor Wiltshear gwiltshear6q@jimdo.com 82.92.128.187 +244 Hagen Benda hbenda6r@boston.com 249.202.180.209 +245 Nickie Sprake nsprake6s@cloudflare.com 229.141.64.215 +246 Ulberto Lakenden ulakenden6t@kickstarter.com 111.8.12.119 +247 Annnora Bunworth abunworth6u@mysql.com 12.100.167.66 +248 Lesli McFall lmcfall6v@thetimes.co.uk 39.86.103.227 +249 Creight Wogden cwogden6w@google.de 8.71.1.35 +250 Evey End eend6x@reuters.com 250.254.194.206 +251 Ranna Glazyer rglazyer6y@wikimedia.org 80.0.51.83 +252 Francisco Elcoate felcoate6z@wired.com 102.116.100.0 +253 Selig Pepler spepler70@github.io 134.103.190.178 +254 Hamel Peasee hpeasee71@kickstarter.com 238.90.201.30 +255 Louise Hasney lhasney72@hibu.com 199.137.135.110 +256 Dahlia Georgeou dgeorgeou73@studiopress.com 162.209.224.126 +257 Chase Hapke chapke74@fastcompany.com 154.159.242.2 +258 Ring Fluin rfluin75@discovery.com 237.233.233.27 +259 Virginia Marland vmarland76@miibeian.gov.cn 143.192.114.83 +260 Paxon Warbey pwarbey77@51.la 125.7.220.195 +261 Liana Stanworth lstanworth78@miitbeian.gov.cn 110.25.203.26 +262 Karina Chalmers kchalmers79@angelfire.com 252.100.183.152 +263 Frazer Knoton fknoton7a@arstechnica.com 218.62.101.165 +264 Fairlie Herkess fherkess7b@diigo.com 59.53.7.215 +265 Binnie Eadon beadon7c@prlog.org 199.212.166.40 +266 Fannie Eldin feldin7d@exblog.jp 123.145.220.3 +267 Thaxter Beamand tbeamand7e@techcrunch.com 101.127.7.155 +268 Marcile Coverley mcoverley7f@123-reg.co.uk 247.143.32.95 +269 Evan Hawkwood ehawkwood7g@phpbb.com 178.45.110.151 +270 Tiphani Aldhous taldhous7h@is.gd 174.230.79.189 +271 Gertruda Cawood gcawood7i@google.it 28.209.45.209 +272 Auberon Loveland aloveland7j@homestead.com 211.149.5.147 +273 Salmon McMickan smcmickan7k@clickbank.net 38.13.110.150 +274 Lotta McDougle lmcdougle7l@pagesperso-orange.fr 20.240.225.225 +275 Uta Percy upercy7m@who.int 250.139.21.183 +276 Rori Southward rsouthward7n@sina.com.cn 166.107.196.142 +277 Janna Barneville jbarneville7o@sogou.com 68.173.71.94 +278 Heather Earle hearle7p@nbcnews.com 33.160.255.99 +279 Hartley Goulborn hgoulborn7q@adobe.com 96.176.133.88 +280 Alli Di Franceschi adifranceschi7r@reference.com 10.163.229.86 +281 Noelyn Juleff njuleff7s@vk.com 87.159.235.164 +282 Gay Derham gderham7t@soundcloud.com 32.46.181.78 +283 Evvy Burkill eburkill7u@phoca.cz 5.177.33.95 +284 Nobe Fery nfery7v@berkeley.edu 124.14.138.141 +285 Carey Lockner clockner7w@infoseek.co.jp 236.98.79.192 +286 Patrice De Lorenzo pdelorenzo7x@epa.gov 59.104.71.225 +287 Norine Costigan ncostigan7y@blogspot.com 33.34.125.123 +288 Eveline Hutable ehutable7z@alexa.com 83.232.125.97 +289 Mackenzie Sholem msholem80@wired.com 66.232.214.142 +290 Ardelia Gammage agammage81@lycos.com 81.47.84.39 +291 Hakim Pestricke hpestricke82@sciencedirect.com 6.211.189.173 +292 Alphonso Lazarus alazarus83@lulu.com 9.143.238.133 +293 Fred Broxton fbroxton84@studiopress.com 200.196.89.145 +294 Florencia Bilt fbilt85@bloomberg.com 126.140.143.159 +295 Tanner Blumfield tblumfield86@thetimes.co.uk 177.202.37.42 +296 Phil Duplan pduplan87@networkadvertising.org 78.98.30.138 +297 Marty Rother mrother88@reuters.com 92.189.95.115 +298 Carree Oxford coxford89@deliciousdays.com 150.176.219.1 +299 Carolynn Drance cdrance8a@fotki.com 186.44.48.162 +300 Yoko Perree yperree8b@hibu.com 142.63.125.237 +301 Phyllis Jikovsky pjikovsky8c@independent.co.uk 7.3.177.62 +302 Blinny Scatchard bscatchard8d@blogtalkradio.com 126.130.223.95 +303 Tracey Aharoni taharoni8e@ustream.tv 248.64.74.236 +304 Bernadina Freeburn bfreeburn8f@amazon.co.uk 19.69.151.159 +305 Stacee Feeham sfeeham8g@aol.com 43.191.101.169 +306 Josy Ridgedell jridgedell8h@apache.org 30.31.250.117 +307 Hiram Willgrass hwillgrass8i@symantec.com 80.128.69.234 +308 Yalonda Laxtonne ylaxtonne8j@livejournal.com 133.181.128.162 +309 Tiebout Kupper tkupper8k@reuters.com 204.104.124.81 +310 Marian Gutch mgutch8l@zdnet.com 129.56.44.92 +311 Justis Charlesworth jcharlesworth8m@t.co 127.92.113.240 +312 Jacquelynn Glass jglass8n@behance.net 7.101.43.182 +313 Mayor Husband mhusband8o@upenn.edu 3.1.193.229 +314 Kev Hubbold khubbold8p@flavors.me 70.50.10.83 +315 Horatius Trudgion htrudgion8q@shareasale.com 151.227.23.28 +316 Myrtia Cordes mcordes8r@globo.com 218.202.183.118 +317 Reagen Lapre rlapre8s@cyberchimps.com 132.173.255.42 +318 Guy Osgardby gosgardby8t@baidu.com 119.67.94.65 +319 Jori Arrault jarrault8u@zimbio.com 59.21.94.35 +320 Hill Crampsey hcrampsey8v@ebay.co.uk 3.170.10.72 +321 Jo ann Francom jfrancom8w@multiply.com 111.249.41.24 +322 Clive Frascone cfrascone8x@goo.ne.jp 181.191.42.104 +323 Carl Charer ccharer8y@ask.com 253.185.128.82 +324 Margarita Pledger mpledger8z@globo.com 251.58.128.251 +325 Mord Matthessen mmatthessen90@about.me 207.59.70.244 +326 Rina Osbiston rosbiston91@ameblo.jp 34.153.172.87 +327 Alexina Stuchbery astuchbery92@vimeo.com 4.254.53.179 +328 Duncan Perford dperford93@fda.gov 130.47.86.144 +329 Glynnis Yarrington gyarrington94@loc.gov 8.136.79.187 +330 Paige Filippi pfilippi95@symantec.com 31.136.6.109 +331 Almire Curnokk acurnokk96@ca.gov 161.194.173.84 +332 Helena Andreacci handreacci97@chron.com 249.232.236.206 +333 Berti Fearfull bfearfull98@over-blog.com 210.247.197.92 +334 Lula Joburn ljoburn99@people.com.cn 119.56.63.228 +335 Urson Chown uchown9a@ycombinator.com 221.93.156.233 +336 Morlee Myhill mmyhill9b@ehow.com 93.75.196.247 +337 Glynda Kayley gkayley9c@examiner.com 160.84.170.80 +338 Vally Eslinger veslinger9d@boston.com 174.164.207.3 +339 Edouard Schubart eschubart9e@cornell.edu 7.23.150.142 +340 Dollie Hargerie dhargerie9f@yahoo.com 13.176.70.32 +341 Raphaela Hasluck rhasluck9g@cdbaby.com 255.251.180.175 +342 Fransisco Szabo fszabo9h@goodreads.com 159.114.236.220 +343 Quinn Mordie qmordie9i@marketwatch.com 32.14.40.214 +344 Nicoline Behrens nbehrens9j@posterous.com 130.8.213.242 +345 Vito Bromby vbromby9k@bloglovin.com 56.34.49.131 +346 Horacio Tremberth htremberth9l@ocn.ne.jp 148.195.78.183 +347 Heidie Sawle hsawle9m@1688.com 14.87.253.125 +348 Mina Delph mdelph9n@gravatar.com 3.44.2.51 +349 Jennie Gerleit jgerleit9o@cpanel.net 144.194.96.157 +350 Nelie Ault nault9p@tmall.com 132.215.199.16 +351 Myrtle Casely mcasely9q@angelfire.com 17.12.205.133 +352 Ashli Gristwood agristwood9r@studiopress.com 91.212.98.169 +353 Armstrong Libermore alibermore9s@nhs.uk 176.56.230.231 +354 Paule Sprowson psprowson9t@google.de 162.67.240.94 +355 Donovan Pearlman dpearlman9u@cargocollective.com 158.54.166.121 +356 Isabeau Goranov igoranov9v@smugmug.com 239.137.92.63 +357 Zeb Shane zshane9w@eepurl.com 30.4.128.139 +358 Kaitlin Bladon kbladon9x@nhs.uk 98.41.113.137 +359 Georgie Westmancoat gwestmancoat9y@eepurl.com 107.62.32.180 +360 Laraine Jaumet ljaumet9z@mac.com 101.140.100.140 +361 Artemis Flannigan aflannigana0@nyu.edu 163.59.229.174 +362 Kalvin Cortin kcortina1@microsoft.com 227.69.2.127 +363 Gavin Hassell ghassella2@google.it 149.135.149.206 +364 Gabbi Widger gwidgera3@salon.com 73.191.239.172 +365 Huntlee Cummings hcummingsa4@amazon.de 95.213.192.155 +366 Dora Carlisi dcarlisia5@histats.com 33.241.105.150 +367 Stefa Langsdon slangsdona6@ycombinator.com 166.197.172.22 +368 Grier Kennealy gkennealya7@phoca.cz 215.124.143.143 +369 Othilia Gulvin ogulvina8@theatlantic.com 1.181.101.218 +370 Ax Gulk agulka9@facebook.com 109.220.189.0 +371 Pedro Roncelli proncelliaa@addthis.com 220.105.19.192 +372 Sara-ann Utteridge sutteridgeab@slideshare.net 122.105.134.161 +373 Enoch Shepcutt eshepcuttac@cafepress.com 134.95.17.100 +374 Elsie Peasegood epeasegoodad@bing.com 148.53.172.79 +375 Esme Mallock emallockae@simplemachines.org 78.203.230.34 +376 Thalia MacNally tmacnallyaf@craigslist.org 219.198.35.102 +377 Hartley Zoane hzoaneag@canalblog.com 216.237.105.88 +378 Thorsten Samett tsamettah@histats.com 207.219.108.26 +379 Whitby Pattini wpattiniai@cbslocal.com 207.82.202.30 +380 Drugi Robson drobsonaj@networksolutions.com 23.89.17.112 +381 Myron Cape mcapeak@csmonitor.com 66.250.132.88 +382 Jehu Navarre jnavarreal@shareasale.com 199.29.252.132 +383 Gerty Shavel gshavelam@ning.com 23.147.185.39 +384 Orbadiah Baughen obaughenan@goo.ne.jp 27.220.204.144 +385 Danell Dinneen ddinneenao@merriam-webster.com 117.86.100.127 +386 Craggie Winson cwinsonap@hatena.ne.jp 160.85.146.160 +387 Andonis MacGille amacgilleaq@wired.com 48.14.157.131 +388 Claudine Box cboxar@etsy.com 187.54.28.196 +389 Igor Jacox ijacoxas@slate.com 179.246.14.189 +390 Leeland Ingleton lingletonat@umich.edu 201.181.2.90 +391 Wilma Sybry wsybryau@economist.com 150.96.210.188 +392 Sherwin Schapiro sschapiroav@ox.ac.uk 159.218.191.196 +393 Jeannie Innes jinnesaw@ocn.ne.jp 35.94.133.115 +394 Barbra Jeschner bjeschnerax@home.pl 120.115.31.214 +395 Dasie Ludlam dludlamay@usa.gov 197.60.159.215 +396 Cleo Franz cfranzaz@cafepress.com 10.4.172.62 +397 Sascha Seelbach sseelbachb0@constantcontact.com 26.24.82.168 +398 Nissy Hallahan nhallahanb1@csmonitor.com 98.190.108.251 +399 Boote Stemp bstempb2@cnn.com 128.253.30.32 +400 Markos Bertram mbertramb3@behance.net 128.15.252.63 +401 Flor Paramore fparamoreb4@ow.ly 164.46.95.215 +402 Harman Minthorpe hminthorpeb5@wikipedia.org 48.203.63.31 +403 Neilla Goggey ngoggeyb6@reverbnation.com 56.67.211.58 +404 Allin Noddings anoddingsb7@globo.com 208.31.112.60 +405 Cassi Roles crolesb8@people.com.cn 119.237.74.26 +406 Zuzana Cliss zclissb9@guardian.co.uk 89.132.183.2 +407 Margo Pendreigh mpendreighba@forbes.com 198.114.121.203 +408 Yehudi Arnecke yarneckebb@wix.com 41.171.29.12 +409 Caye Geering cgeeringbc@nsw.gov.au 60.107.73.28 +410 Jess Pattini jpattinibd@utexas.edu 110.17.160.73 +411 Olvan Blackleech oblackleechbe@rambler.ru 183.228.3.230 +412 Heidie Piegrome hpiegromebf@soundcloud.com 10.219.76.120 +413 Annmaria Sandom asandombg@disqus.com 252.217.161.38 +414 Nollie Friary nfriarybh@drupal.org 173.208.66.240 +415 Krystyna Skitch kskitchbi@newsvine.com 248.227.29.64 +416 Lanna Banfill lbanfillbj@ycombinator.com 52.61.113.79 +417 Antoine Skuse askusebk@github.com 254.163.19.172 +418 Janith Kingsland jkingslandbl@digg.com 252.188.219.179 +419 Malory Neller mnellerbm@soundcloud.com 123.70.66.220 +420 Rutherford Goodwin rgoodwinbn@springer.com 62.186.229.16 +421 Felita Fleckney ffleckneybo@zimbio.com 6.46.133.160 +422 Gratia Van Arsdale gvanarsdalebp@cargocollective.com 122.147.178.146 +423 Madeleine Angrick mangrickbq@kickstarter.com 70.196.180.152 +424 Rurik Bernakiewicz rbernakiewiczbr@lycos.com 30.160.101.66 +425 Ferdinande Tinline ftinlinebs@last.fm 181.249.213.202 +426 Kenyon Branigan kbraniganbt@imageshack.us 204.176.54.190 +427 Arley Cursey acurseybu@latimes.com 17.58.82.43 +428 Abramo Crossingham acrossinghambv@myspace.com 192.236.31.231 +429 Sayres Risso srissobw@theglobeandmail.com 115.236.192.45 +430 Andrew Horwell ahorwellbx@blinklist.com 110.235.15.207 +431 Loella Hegden lhegdenby@biglobe.ne.jp 177.37.227.253 +432 Gerek Barrass gbarrassbz@people.com.cn 80.202.217.115 +433 Pace Wickstead pwicksteadc0@state.gov 68.139.125.142 +434 Thedrick Took ttookc1@rakuten.co.jp 233.204.174.146 +435 Venita Trotter vtrotterc2@indiegogo.com 147.116.118.189 +436 Carmencita Motto cmottoc3@123-reg.co.uk 132.48.107.69 +437 Marion Fortie mfortiec4@ebay.com 254.15.201.135 +438 Lorrie Borlease lborleasec5@sfgate.com 216.74.2.87 +439 Iormina Jaycox ijaycoxc6@so-net.ne.jp 156.105.28.5 +440 Ollie Siggens osiggensc7@gravatar.com 170.190.165.81 +441 Jeniffer Klimentov jklimentovc8@storify.com 22.231.192.37 +442 Giulietta Sloss gslossc9@dagondesign.com 70.103.164.246 +443 Dirk Oldacres doldacresca@technorati.com 153.82.103.2 +444 Thane Klimke tklimkecb@people.com.cn 51.39.234.210 +445 Dalston Wakelam dwakelamcc@usa.gov 83.197.236.115 +446 Robyn Topham rtophamcd@sourceforge.net 42.178.182.2 +447 Jamima Donaghie jdonaghiece@mysql.com 203.43.208.108 +448 Shanta Whatman swhatmancf@purevolume.com 149.93.188.6 +449 Caroline Gorries cgorriescg@123-reg.co.uk 82.137.166.26 +450 Filmore De Beauchamp fdebeauchampch@sfgate.com 214.41.248.185 +451 Lila Coltman lcoltmanci@craigslist.org 31.70.118.118 +452 Elijah Mackinder emackindercj@digg.com 110.87.4.138 +453 Bunny Rudledge brudledgeck@cnbc.com 121.99.176.158 +454 Rebeca Stienton rstientoncl@macromedia.com 125.55.195.206 +455 Dalston Rubinowitch drubinowitchcm@sakura.ne.jp 220.145.118.199 +456 Feodor Gosland fgoslandcn@narod.ru 0.103.87.144 +457 Isak Attock iattockco@mediafire.com 48.129.121.205 +458 Kathleen Venes kvenescp@hhs.gov 71.224.38.76 +459 Lucille Jodrellec ljodrelleccq@topsy.com 228.24.118.202 +460 Fernanda Trill ftrillcr@furl.net 44.61.125.200 +461 Harley Masterson hmastersoncs@newyorker.com 252.69.52.235 +462 Lazar Lightman llightmanct@github.com 146.200.165.16 +463 Haskell Abbis habbiscu@google.cn 152.228.9.168 +464 Hurley Midford hmidfordcv@sbwire.com 129.151.32.245 +465 Jemimah Pressey jpresseycw@a8.net 183.62.242.244 +466 Carrissa Friary cfriarycx@google.it 92.55.177.71 +467 Maryanna Paulsen mpaulsency@nationalgeographic.com 181.209.180.227 +468 Giraud Gronav ggronavcz@taobao.com 105.213.114.225 +469 Chancey Pettifer cpettiferd0@sohu.com 130.9.209.119 +470 Frannie Gloyens fgloyensd1@redcross.org 19.191.0.75 +471 Jasen Costock jcostockd2@about.me 87.179.47.67 +472 Welch Tomaszczyk wtomaszczykd3@blogger.com 38.44.135.32 +473 Luciano Mc Meekin lmcmeekind4@comcast.net 254.164.180.49 +474 Del Hentzer dhentzerd5@skyrock.com 230.94.237.132 +475 Gretel Vassman gvassmand6@about.me 182.239.129.59 +476 Milty Reicharz mreicharzd7@mozilla.com 199.208.140.143 +477 Whitney Sendall wsendalld8@edublogs.org 76.27.135.149 +478 Tim Glison tglisond9@usgs.gov 46.203.89.135 +479 Maurice Blooman mbloomanda@senate.gov 120.94.254.9 +480 Ysabel Eagles yeaglesdb@oakley.com 223.168.236.122 +481 Nicolle Menci nmencidc@fema.gov 14.67.226.38 +482 Agnes Shutte ashuttedd@xinhuanet.com 71.215.246.206 +483 Emlynn Calder ecalderde@mail.ru 139.138.245.83 +484 Jorry Kedslie jkedsliedf@mozilla.org 87.35.218.149 +485 Manuel Downey mdowneydg@walmart.com 89.51.120.229 +486 Caro Ambrosio cambrosiodh@addthis.com 85.126.54.39 +487 Welch Yeskov wyeskovdi@blogs.com 192.89.209.194 +488 Gerrard McLorinan gmclorinandj@xinhuanet.com 75.245.44.64 +489 Briny Garret bgarretdk@microsoft.com 223.195.222.201 +490 Mark Charte mchartedl@reddit.com 239.202.60.94 +491 Luci Dzenisenka ldzenisenkadm@tinypic.com 82.253.61.134 +492 Kelbee Larchier klarchierdn@quantcast.com 221.163.28.162 +493 Mozelle Chritchlow mchritchlowdo@technorati.com 198.81.173.161 +494 Jarvis Iorillo jiorillodp@studiopress.com 93.101.150.11 +495 Netta Reape nreapedq@gnu.org 51.144.222.128 +496 Bing Gerardot bgerardotdr@parallels.com 50.104.129.117 +497 Corny Odcroft codcroftds@gnu.org 208.131.76.86 +498 Cirstoforo Danilishin cdanilishindt@i2i.jp 81.71.29.231 +499 Winni Fonzone wfonzonedu@pagesperso-orange.fr 224.208.253.44 +500 Greta Charlesworth gcharlesworthdv@cdc.gov 189.92.249.105 +501 Davita Nattriss dnattrissdw@usnews.com 104.76.94.84 +502 Jacky Merrington jmerringtondx@clickbank.net 32.186.87.6 +503 Levin Brightling lbrightlingdy@amazon.co.uk 244.155.255.27 +504 Nari Tenny ntennydz@ocn.ne.jp 225.68.188.123 +505 Shem Benthall sbenthalle0@webeden.co.uk 78.171.218.118 +506 Austine Sygroves asygrovese1@gov.uk 131.187.101.74 +507 Armando Totterdell atotterdelle2@gravatar.com 158.38.141.117 +508 Barde Sibbs bsibbse3@mit.edu 211.78.171.181 +509 Marcelia Castagna mcastagnae4@theguardian.com 4.99.134.90 +510 Marybelle Hamelyn mhamelyne5@yahoo.com 52.67.130.95 +511 Deana Whittington dwhittingtone6@mediafire.com 72.58.213.232 +512 Ashley Waggett awaggette7@delicious.com 108.85.79.77 +513 Ernestus Mayling emaylinge8@goodreads.com 124.56.40.59 +514 Roanne Mullinder rmullindere9@trellian.com 201.53.105.68 +515 Lodovico Voules lvoulesea@amazon.com 61.179.48.169 +516 Colas Rollinson crollinsoneb@bbc.co.uk 53.246.111.221 +517 Stefania Heasly sheaslyec@zdnet.com 187.226.144.94 +518 Demetra Aizik daiziked@sfgate.com 73.115.216.63 +519 Munroe Pillans mpillansee@buzzfeed.com 7.214.116.110 +520 Kaela Bilbee kbilbeeef@twitter.com 56.232.67.129 +521 Philippa Pachmann ppachmanneg@diigo.com 100.156.152.139 +522 Symon Beazer sbeazereh@ted.com 144.22.117.218 +523 Debi Bonifacio dbonifacioei@icio.us 95.128.45.154 +524 Cristi Cumberledge ccumberledgeej@google.com.au 17.253.21.244 +525 Jocelyne Humm jhummek@sphinn.com 5.193.76.122 +526 Inna Erni ierniel@weibo.com 162.244.156.206 +527 Edik Studdard estuddardem@amazon.de 112.108.204.147 +528 Jo Howard jhowarden@blinklist.com 252.90.29.4 +529 Marcelo Springall mspringalleo@zimbio.com 146.82.70.138 +530 Roxanne Baggs rbaggsep@biblegateway.com 43.59.252.117 +531 Josiah Priditt jpriditteq@goo.gl 128.191.182.166 +532 Margit Forsdicke mforsdickeer@ox.ac.uk 105.146.197.153 +533 Derril Ambridge dambridgees@facebook.com 25.99.66.38 +534 Eryn Cohrs ecohrset@geocities.jp 127.15.106.240 +535 Boone Brient bbrienteu@acquirethisname.com 135.74.238.119 +536 Barry Cale bcaleev@ucoz.com 15.154.159.133 +537 Carey Sparhawk csparhawkew@bloglines.com 129.132.63.205 +538 Tammy Charley tcharleyex@livejournal.com 151.198.50.157 +539 Walsh Leggin wlegginey@narod.ru 45.190.220.196 +540 Matthiew Espinoza mespinozaez@epa.gov 153.158.117.40 +541 Bekki Lindwall blindwallf0@jiathis.com 110.99.162.3 +542 Virgie MacMychem vmacmychemf1@mozilla.com 251.42.243.242 +543 Liv Boundey lboundeyf2@washingtonpost.com 13.30.208.83 +544 Dirk Feld dfeldf3@unesco.org 245.189.172.75 +545 Nikki Boorne nboornef4@discovery.com 19.92.231.218 +546 Brynna Smeath bsmeathf5@springer.com 34.139.205.63 +547 Erica Laraway elarawayf6@va.gov 0.19.56.89 +548 Gill Kubczak gkubczakf7@mtv.com 58.189.26.134 +549 Stefa Klicher sklicherf8@cocolog-nifty.com 212.250.35.126 +550 Ric Matteini rmatteinif9@google.com 76.40.210.171 +551 Renate Clendennen rclendennenfa@paginegialle.it 155.128.125.241 +552 Aryn Housden ahousdenfb@elegantthemes.com 218.187.212.50 +553 Denice Haimes dhaimesfc@tiny.cc 127.43.110.137 +554 Clarette Brookfield cbrookfieldfd@simplemachines.org 5.22.2.135 +555 Gabbey Bradbrook gbradbrookfe@tripod.com 100.103.183.118 +556 Chicky Cordier ccordierff@tripod.com 252.64.158.116 +557 Barton Collick bcollickfg@netlog.com 74.6.198.84 +558 Olivie Fibbens ofibbensfh@exblog.jp 62.227.196.134 +559 Donny Wibrow dwibrowfi@hubpages.com 46.77.170.143 +560 Dory Williment dwillimentfj@csmonitor.com 31.82.168.122 +561 Elayne Cranmer ecranmerfk@google.pl 12.148.73.45 +562 Corby Vaz cvazfl@weather.com 47.184.29.175 +563 Annmarie Bisterfeld abisterfeldfm@huffingtonpost.com 9.167.215.142 +564 Emelda Blasius eblasiusfn@vkontakte.ru 223.61.226.54 +565 Paloma Hulke phulkefo@canalblog.com 201.194.32.92 +566 Bertie Del Checolo bdelchecolofp@jimdo.com 243.210.15.79 +567 Cullen Summerton csummertonfq@blogtalkradio.com 117.160.26.233 +568 Algernon Backshell abackshellfr@squidoo.com 35.184.102.214 +569 Nevin Cicculi ncicculifs@microsoft.com 54.140.7.38 +570 Kelcey Olrenshaw kolrenshawft@comcast.net 219.11.78.3 +571 Benny Curtayne bcurtaynefu@addthis.com 134.236.253.152 +572 Florie Magenny fmagennyfv@bbb.org 236.226.233.115 +573 Tabor Clench tclenchfw@google.cn 58.188.164.129 +574 Renato Langmuir rlangmuirfx@ed.gov 224.245.61.255 +575 Timoteo Megarry tmegarryfy@businesswire.com 87.56.232.131 +576 Saba Trace stracefz@cnn.com 172.20.254.18 +577 Martin Hardin mharding0@uiuc.edu 59.94.197.156 +578 Che Bosma cbosmag1@example.com 171.9.149.230 +579 Lorenzo Kingshott lkingshottg2@wikipedia.org 134.33.44.254 +580 Dorise Paige dpaigeg3@jugem.jp 20.161.148.227 +581 Elana Knocker eknockerg4@biblegateway.com 118.187.107.81 +582 Loralie Gabala lgabalag5@time.com 204.62.248.40 +583 Gerrard Hofler ghoflerg6@mapquest.com 21.90.212.249 +584 Meade Mee mmeeg7@edublogs.org 243.160.122.66 +585 Lucille Hardbattle lhardbattleg8@acquirethisname.com 185.202.79.158 +586 Brigham Garrison bgarrisong9@icq.com 100.197.243.236 +587 Gabrila Gartsyde ggartsydega@berkeley.edu 218.166.227.41 +588 Angel Audas aaudasgb@youtu.be 45.36.137.219 +589 Babara Blenkensop bblenkensopgc@163.com 69.160.69.41 +590 Odelle MacNess omacnessgd@1688.com 189.134.207.88 +591 Normy Luney nluneyge@yahoo.co.jp 175.173.13.106 +592 Billie Westnedge bwestnedgegf@soup.io 87.242.196.167 +593 Gusella Trevers gtreversgg@printfriendly.com 165.221.104.240 +594 Sergei Headey sheadeygh@smh.com.au 249.88.42.65 +595 Page Suggate psuggategi@cbsnews.com 46.36.122.173 +596 Frasier Beards fbeardsgj@illinois.edu 112.199.28.40 +597 Cristy Kuhnt ckuhntgk@ezinearticles.com 242.113.62.65 +598 Hyacintha Marriot hmarriotgl@stanford.edu 144.224.32.129 +599 Tish Simyson tsimysongm@hp.com 55.111.3.192 +600 Kimmy Cookman kcookmangn@ftc.gov 110.100.123.66 +601 Fee Trenaman ftrenamango@stanford.edu 125.132.183.122 +602 Harold Spreckley hspreckleygp@nature.com 115.186.25.105 +603 Ophelie Spinnace ospinnacegq@miibeian.gov.cn 255.234.255.18 +604 Aymer MacGowan amacgowangr@booking.com 214.162.180.214 +605 Elliot Brownsword ebrownswordgs@ihg.com 76.84.225.105 +606 Christabel Riedel criedelgt@nationalgeographic.com 91.92.75.188 +607 Mercie Gaukrodge mgaukrodgegu@nasa.gov 8.66.116.234 +608 Jordan Doiley jdoileygv@themeforest.net 119.34.164.200 +609 Guenna Dearnly gdearnlygw@people.com.cn 40.147.212.167 +610 Rosalind Doreward rdorewardgx@hao123.com 76.93.185.142 +611 Stearne Siddall ssiddallgy@apache.org 206.2.186.251 +612 Maible Vigurs mvigursgz@smugmug.com 233.89.155.231 +613 Carry Curuclis ccuruclish0@cyberchimps.com 237.4.137.235 +614 Dacia Shoobridge dshoobridgeh1@sphinn.com 97.220.159.59 +615 Illa Townson itownsonh2@slashdot.org 36.57.197.202 +616 Mirilla Spehr mspehrh3@virginia.edu 2.230.213.20 +617 Afton Clout aclouth4@php.net 148.51.103.239 +618 Zia Niccols zniccolsh5@umn.edu 111.92.244.233 +619 Harlan Care hcareh6@geocities.jp 147.165.253.105 +620 Nealy Kelby nkelbyh7@java.com 199.17.128.183 +621 Hurlee Rosel hroselh8@aboutads.info 148.83.117.93 +622 Oates Jurkowski ojurkowskih9@domainmarket.com 51.168.198.177 +623 Tymon Emerson temersonha@gravatar.com 58.135.8.221 +624 Stacy Katzmann skatzmannhb@tumblr.com 27.51.250.240 +625 Aksel Udden auddenhc@reverbnation.com 8.179.159.178 +626 Brooke Lourenco blourencohd@google.com 215.41.155.94 +627 Clarita Kolczynski ckolczynskihe@unicef.org 211.79.208.231 +628 Emlyn Glassman eglassmanhf@stumbleupon.com 163.116.32.117 +629 Lucian Gowrich lgowrichhg@utexas.edu 190.40.48.107 +630 Rozamond O'Kielt rokielthh@answers.com 15.240.42.203 +631 Estel McGeever emcgeeverhi@paypal.com 125.220.7.209 +632 Meryl Yakovitch myakovitchhj@ca.gov 26.167.145.250 +633 Barty Sneden bsnedenhk@blogtalkradio.com 4.137.5.75 +634 Alex McCord amccordhl@hud.gov 73.247.18.192 +635 Edwina Rubbert erubberthm@tamu.edu 119.125.97.104 +636 Dicky Bernette dbernettehn@weebly.com 66.168.252.37 +637 Cirilo Withey cwitheyho@nytimes.com 114.36.203.75 +638 Ewell Gillbard egillbardhp@omniture.com 87.64.26.114 +639 Jephthah Larver jlarverhq@whitehouse.gov 195.113.125.231 +640 Tracee Hanalan thanalanhr@devhub.com 149.247.21.125 +641 Martino Aucutt maucutths@wp.com 183.226.21.75 +642 Carmel Tilbury ctilburyht@hubpages.com 237.24.250.230 +643 Phillida Gonin pgoninhu@wiley.com 21.135.44.11 +644 Grenville Davenport gdavenporthv@symantec.com 161.214.152.192 +645 Roland Quinton rquintonhw@dot.gov 187.116.110.29 +646 Oralla Joffe ojoffehx@diigo.com 194.12.78.19 +647 Franky Bratch fbratchhy@sciencedirect.com 95.101.50.215 +648 Tally Strass tstrasshz@ucoz.com 189.105.115.183 +649 Kaja Dulwitch kdulwitchi0@wordpress.com 24.47.243.10 +650 Charley MacMoyer cmacmoyeri1@ezinearticles.com 125.232.95.204 +651 Erena Meegin emeegini2@blinklist.com 113.139.104.92 +652 Shamus McCalister smccalisteri3@youtu.be 185.48.230.243 +653 Kenna Johnes kjohnesi4@adobe.com 199.246.105.153 +654 Kermie Minchinden kminchindeni5@mlb.com 188.192.235.227 +655 Nyssa Moff nmoffi6@google.fr 181.77.162.156 +656 Sandro Eltone seltonei7@sitemeter.com 238.214.156.50 +657 Gonzales Gilchrist ggilchristi8@123-reg.co.uk 183.186.33.93 +658 Giles Hearnshaw ghearnshawi9@oakley.com 41.172.162.150 +659 Aileen Kaming akamingia@bandcamp.com 210.182.117.208 +660 Viv O'Shiel voshielib@amazon.com 26.61.162.9 +661 Urson Goodlip ugoodlipic@studiopress.com 15.113.125.212 +662 Milty Haggerston mhaggerstonid@independent.co.uk 152.219.3.253 +663 Sallie Elegood selegoodie@jiathis.com 160.171.175.184 +664 Franny Vigors fvigorsif@japanpost.jp 118.37.205.205 +665 Adham Blaxley ablaxleyig@spiegel.de 30.116.133.169 +666 Maison Kester mkesterih@nymag.com 106.1.202.54 +667 Jesselyn Luchetti jluchettiii@dion.ne.jp 62.142.116.199 +668 Lina Rowth lrowthij@ezinearticles.com 157.196.248.45 +669 Ashlie Denkin adenkinik@fda.gov 50.184.255.159 +670 Stefan Larking slarkingil@hugedomains.com 117.121.10.196 +671 Tarra Siddon tsiddonim@nyu.edu 38.211.247.49 +672 Birk Ellsbury bellsburyin@storify.com 137.63.23.220 +673 Kurtis Cason kcasonio@mlb.com 230.97.231.3 +674 Misti Gout mgoutip@tmall.com 151.17.163.109 +675 Westbrook O'dell wodelliq@jimdo.com 87.175.119.82 +676 Tilda Louiset tlouisetir@slate.com 170.149.37.43 +677 Marcille Matts mmattsis@lycos.com 144.79.136.126 +678 Welch Gopsall wgopsallit@istockphoto.com 50.11.182.169 +679 Annabella Whyberd awhyberdiu@sitemeter.com 35.92.32.199 +680 Christian Lory cloryiv@ocn.ne.jp 252.121.51.34 +681 Odella Strain ostrainiw@123-reg.co.uk 8.207.56.131 +682 Elfie Portt eporttix@mysql.com 163.185.104.244 +683 Henrik Grebbin hgrebbiniy@bizjournals.com 201.159.100.117 +684 Helyn Jordanson hjordansoniz@nydailynews.com 246.11.98.116 +685 Olag Parkyns oparkynsj0@washington.edu 141.66.101.12 +686 Dru Molson dmolsonj1@typepad.com 203.111.32.244 +687 Skell Donizeau sdonizeauj2@yandex.ru 5.141.75.227 +688 Alma Voak avoakj3@qq.com 125.145.71.113 +689 Hamlin Pask hpaskj4@cbsnews.com 118.59.32.174 +690 Harper Ollett hollettj5@weather.com 246.156.222.76 +691 Jerrold Peppin jpeppinj6@auda.org.au 20.217.61.240 +692 Esmaria Sheal eshealj7@kickstarter.com 239.225.184.81 +693 Brenden Mehew bmehewj8@webnode.com 8.46.14.81 +694 Henrie Kenchington hkenchingtonj9@answers.com 37.152.228.120 +695 Eve Ponter eponterja@arstechnica.com 220.49.183.33 +696 Thorin Stoltz tstoltzjb@cbc.ca 173.140.3.165 +697 Tammara Corkan tcorkanjc@xinhuanet.com 176.233.206.87 +698 Adelle Avieson aaviesonjd@wikispaces.com 147.173.134.183 +699 Ania Evens aevensje@java.com 157.244.22.10 +700 Lianne Rollason lrollasonjf@gizmodo.com 143.48.158.150 +701 Cariotta Hamfleet chamfleetjg@vistaprint.com 235.23.137.164 +702 Jakie Denziloe jdenziloejh@posterous.com 53.216.193.58 +703 Hope Luckes hluckesji@g.co 93.92.237.226 +704 Arley Stickels astickelsjj@typepad.com 56.182.90.21 +705 Dennet Bedo dbedojk@wikispaces.com 159.42.172.82 +706 Byron Jagels bjagelsjl@google.de 191.5.191.36 +707 Fianna Whitby fwhitbyjm@webs.com 120.48.54.228 +708 Odette Marcq omarcqjn@arizona.edu 253.116.251.36 +709 Elsy Carcas ecarcasjo@ed.gov 232.158.13.197 +710 Mickie Mascall mmascalljp@zdnet.com 104.67.40.134 +711 Karlie Linggard klinggardjq@statcounter.com 42.214.94.91 +712 Catha Fredy cfredyjr@sbwire.com 9.111.166.228 +713 Brinn Caso bcasojs@seattletimes.com 183.21.58.124 +714 Hynda Adamczyk hadamczykjt@biglobe.ne.jp 99.200.137.45 +715 Krystyna Tweede ktweedeju@constantcontact.com 185.90.38.188 +716 Janaya Fowler jfowlerjv@so-net.ne.jp 100.240.187.165 +717 Noll Pawelczyk npawelczykjw@gmpg.org 199.238.195.115 +718 Elia Troutbeck etroutbeckjx@wikispaces.com 17.203.214.69 +719 Sholom Juliano sjulianojy@pcworld.com 80.185.95.197 +720 Cullin Lindsay clindsayjz@foxnews.com 242.255.112.218 +721 Kelcie Filyaev kfilyaevk0@indiegogo.com 161.44.77.219 +722 Rodie Bigham rbighamk1@google.fr 35.107.24.127 +723 Sigmund Rayson sraysonk2@gov.uk 30.12.252.247 +724 Sonny Triggol striggolk3@biglobe.ne.jp 82.161.194.245 +725 Morty Witsey mwitseyk4@chronoengine.com 86.214.192.200 +726 Benito Dowe bdowek5@topsy.com 229.7.48.41 +727 Nikolaos Wrixon nwrixonk6@indiegogo.com 66.50.167.14 +728 Will Poyntz wpoyntzk7@bluehost.com 196.186.176.79 +729 Myrtia Jellis mjellisk8@theguardian.com 28.124.249.59 +730 Jeanine Dionsetti jdionsettik9@msn.com 229.45.171.95 +731 Mackenzie Buy mbuyka@dell.com 55.167.107.27 +732 Mikaela Salvidge msalvidgekb@liveinternet.ru 17.50.40.21 +733 Sapphira Gebuhr sgebuhrkc@plala.or.jp 227.224.204.43 +734 Grethel Garralts ggarraltskd@ycombinator.com 134.204.105.246 +735 Merrili Dougher mdougherke@springer.com 247.246.194.178 +736 Kasper Taudevin ktaudevinkf@japanpost.jp 212.159.34.22 +737 Dorris Nichols dnicholskg@aboutads.info 33.198.95.121 +738 Jacquelynn Assel jasselkh@tinyurl.com 194.67.28.241 +739 Sarita Hertwell shertwellki@sogou.com 123.103.85.60 +740 Drusi Eastcott deastcottkj@nytimes.com 235.97.253.211 +741 Cornall Mullarkey cmullarkeykk@imgur.com 77.162.225.76 +742 Luisa Ullrich lullrichkl@omniture.com 62.174.214.46 +743 Marvin Broske mbroskekm@scientificamerican.com 91.15.204.79 +744 Danielle Astbery dastberykn@businessinsider.com 72.29.253.119 +745 Stephanus Conochie sconochieko@wikispaces.com 198.170.198.88 +746 Olimpia Essame oessamekp@techcrunch.com 168.81.119.110 +747 Arney Mann amannkq@newsvine.com 245.63.210.99 +748 Haslett Aspland hasplandkr@simplemachines.org 6.76.138.82 +749 Lethia Blind lblindks@imageshack.us 129.151.127.39 +750 Clive Emanuelli cemanuellikt@homestead.com 229.194.26.101 +751 Shelbi Beare sbeareku@youku.com 175.95.178.52 +752 Faustina Tackes ftackeskv@soup.io 109.209.97.22 +753 Christie Janus cjanuskw@purevolume.com 219.158.228.112 +754 Marline Reynoollds mreynoolldskx@furl.net 106.236.16.155 +755 Iris Dorrell idorrellky@behance.net 73.227.163.147 +756 Gearard Allgood gallgoodkz@imageshack.us 149.113.235.145 +757 Davin Battman dbattmanl0@amazonaws.com 196.229.219.39 +758 Kennith Hurtic khurticl1@wiley.com 251.34.249.123 +759 Russell Leckey rleckeyl2@sitemeter.com 66.220.77.162 +760 Vivyan Erik verikl3@google.es 206.69.34.16 +761 Ewell Carty ecartyl4@army.mil 219.105.52.216 +762 Chiarra Vanin cvaninl5@yolasite.com 168.223.79.4 +763 Matilda Pinnell mpinnelll6@g.co 35.4.117.50 +764 Jimmie Pitt jpittl7@multiply.com 122.36.128.215 +765 Jerrold Giles jgilesl8@sun.com 171.75.33.7 +766 Aura Blonden ablondenl9@paginegialle.it 132.76.205.221 +767 Corny Dartnall cdartnallla@wordpress.com 67.66.120.225 +768 Lizzy Dene ldenelb@wix.com 88.71.136.27 +769 Pammie Tuckey ptuckeylc@dailymotion.com 13.114.234.200 +770 Gillan Thornham gthornhamld@gov.uk 130.73.184.25 +771 Bobby Rebeiro brebeirole@google.ca 59.84.193.224 +772 Morris Wellings mwellingslf@usgs.gov 8.93.132.103 +773 Henka Dabbs hdabbslg@patch.com 103.11.47.245 +774 Merwin Bubbins mbubbinslh@dailymotion.com 252.201.20.88 +775 Adorne MacFadden amacfaddenli@fc2.com 151.92.155.153 +776 Arlen Orthmann aorthmannlj@ftc.gov 146.140.43.202 +777 Devland Wickens dwickenslk@alibaba.com 12.124.30.158 +778 Janeczka Ossenna jossennall@squidoo.com 223.38.238.12 +779 Karil Eaglen keaglenlm@disqus.com 205.107.227.221 +780 Roger Dumpleton rdumpletonln@e-recht24.de 92.165.141.137 +781 Adora Van Der Vlies avandervlieslo@deliciousdays.com 107.101.120.65 +782 Terrel Varvara tvarvaralp@posterous.com 6.61.4.193 +783 Aloisia Rainbow arainbowlq@latimes.com 203.83.216.69 +784 Willis Gedney wgedneylr@discovery.com 192.112.210.170 +785 Muffin Schaumaker mschaumakerls@devhub.com 3.65.7.244 +786 Martyn Beckson mbecksonlt@japanpost.jp 173.129.27.218 +787 Julia Gilhooly jgilhoolylu@cnn.com 245.73.152.144 +788 Bartholemy Presland bpreslandlv@cbslocal.com 223.154.197.67 +789 Pancho Cregg pcregglw@homestead.com 196.81.72.189 +790 Petrina Curle pcurlelx@census.gov 224.163.155.80 +791 Ebony Maundrell emaundrellly@google.cn 45.2.253.163 +792 Brietta Chastang bchastanglz@xinhuanet.com 20.3.115.139 +793 Emile Philippson ephilippsonm0@wsj.com 143.150.227.75 +794 Gabrila Houten ghoutenm1@hexun.com 224.51.106.107 +795 Sheela Klasing sklasingm2@barnesandnoble.com 182.181.244.197 +796 Grenville Dinan gdinanm3@hubpages.com 84.100.158.174 +797 Ariana Gidney agidneym4@smh.com.au 243.210.79.166 +798 Donetta Morter dmorterm5@php.net 200.153.89.27 +799 Rosalinda Greswell rgreswellm6@taobao.com 37.66.42.192 +800 Corey Greve cgrevem7@bravesites.com 225.218.179.24 +801 Wanda Lambal wlambalm8@constantcontact.com 141.162.228.187 +802 Franz Coppins fcoppinsm9@thetimes.co.uk 39.161.2.61 +803 Tildy Quinby tquinbyma@indiatimes.com 235.11.214.76 +804 Bellina Piddock bpiddockmb@apache.org 161.8.126.26 +805 Mathilde Denney mdenneymc@purevolume.com 228.208.12.222 +806 Shae Stapleford sstaplefordmd@go.com 31.157.172.26 +807 Bernadine Ortiger bortigerme@purevolume.com 15.230.62.15 +808 Chen Wyeth cwyethmf@reuters.com 127.203.14.248 +809 Lynnet Mebius lmebiusmg@naver.com 242.246.161.85 +810 Monica Traice mtraicemh@hexun.com 111.72.54.67 +811 Bamby Bernardi bbernardimi@netvibes.com 117.13.43.223 +812 Thorny Swarbrick tswarbrickmj@topsy.com 40.220.155.44 +813 Bryna Knock bknockmk@slate.com 164.239.162.100 +814 Valaria Jirka vjirkaml@fema.gov 164.78.230.97 +815 Loria Scarfe lscarfemm@edublogs.org 79.110.28.105 +816 Christalle Acory cacorymn@csmonitor.com 192.39.189.63 +817 Natassia Barbrook nbarbrookmo@squarespace.com 162.97.237.82 +818 Roxy Rojel rrojelmp@sakura.ne.jp 14.230.72.57 +819 Drud Dincke ddinckemq@jimdo.com 164.163.79.162 +820 Bunnie Lillie blilliemr@hhs.gov 167.76.84.198 +821 Nathalia Piesing npiesingms@adobe.com 48.181.6.5 +822 Gian Godlonton ggodlontonmt@storify.com 170.135.16.245 +823 Genvieve Accum gaccummu@google.ru 32.123.201.150 +824 Nichole Gee ngeemv@arizona.edu 187.226.20.105 +825 Aldus Sweetman asweetmanmw@blogs.com 156.32.15.195 +826 Jo ann Yeoman jyeomanmx@hao123.com 98.137.164.28 +827 Corrine Bonafacino cbonafacinomy@mashable.com 226.8.92.141 +828 Elga Aubery eauberymz@wired.com 135.11.25.227 +829 Ettie Mogra emogran0@hubpages.com 104.104.13.216 +830 Hillary Blacket hblacketn1@youtu.be 146.68.142.149 +831 Blondell Sevitt bsevittn2@earthlink.net 62.26.144.186 +832 Sawyere Danelet sdaneletn3@buzzfeed.com 97.20.13.250 +833 Shena Castagnaro scastagnaron4@list-manage.com 38.7.233.64 +834 Keir Mochan kmochann5@house.gov 70.177.107.177 +835 Lovell Beceril lbeceriln6@tripadvisor.com 167.234.99.212 +836 Florinda Parmiter fparmitern7@europa.eu 193.203.140.42 +837 Thornton Dyster tdystern8@adobe.com 225.216.130.235 +838 Mildrid Crennan mcrennann9@hostgator.com 236.59.17.73 +839 Aubree Hallihan ahallihanna@nasa.gov 229.86.16.71 +840 Liva Pettitt lpettittnb@icq.com 185.157.127.113 +841 Valentin Grob vgrobnc@163.com 218.75.120.145 +842 Clark Mousdall cmousdallnd@bbb.org 130.169.222.221 +843 Dorothy Corney dcorneyne@scribd.com 244.73.141.178 +844 Torie Badman tbadmannf@alexa.com 215.112.15.225 +845 Marcelle Kennerknecht mkennerknechtng@cnn.com 119.122.7.42 +846 Rayna Lamacraft rlamacraftnh@comsenz.com 224.33.169.205 +847 Marmaduke Tallboy mtallboyni@timesonline.co.uk 207.39.45.105 +848 Harmonia Paffot hpaffotnj@digg.com 212.115.141.56 +849 Bord Rosso brossonk@icq.com 184.64.217.200 +850 Cornall Immings cimmingsnl@tripadvisor.com 108.72.96.252 +851 Cris Fortnon cfortnonnm@smugmug.com 181.191.217.186 +852 Ezra Anfrey eanfreynn@posterous.com 234.74.58.251 +853 Tania Bruggeman tbruggemanno@1688.com 167.26.98.82 +854 Jedidiah Holby jholbynp@sciencedirect.com 199.234.10.4 +855 Bernard Hollerin bhollerinnq@yale.edu 212.190.179.50 +856 Francesco Abelovitz fabelovitznr@fotki.com 154.39.144.57 +857 Lib Gillbanks lgillbanksns@prweb.com 250.123.87.142 +858 Giavani Brumby gbrumbynt@aol.com 242.169.197.61 +859 Chic Carder ccardernu@blogspot.com 244.68.133.118 +860 Lucine Scurrell lscurrellnv@smh.com.au 241.177.177.92 +861 Theresa Houdhury thoudhurynw@cocolog-nifty.com 234.77.132.96 +862 Kacie Ratray kratraynx@skype.com 3.97.166.243 +863 Fowler Fenix ffenixny@senate.gov 31.253.81.69 +864 Putnem Munroe pmunroenz@xing.com 59.66.177.29 +865 Ediva Dominik edominiko0@networkadvertising.org 71.242.120.164 +866 Web Favell wfavello1@arstechnica.com 225.38.194.178 +867 Larry Geill lgeillo2@xinhuanet.com 201.111.234.86 +868 Tamarra Melanaphy tmelanaphyo3@bbc.co.uk 165.78.76.237 +869 Dorian Kinrade dkinradeo4@amazon.de 3.152.33.75 +870 Hillier Jacobsson hjacobssono5@theglobeandmail.com 164.87.243.1 +871 Ewan Rive eriveo6@odnoklassniki.ru 35.248.130.63 +872 Aaren Beany abeanyo7@acquirethisname.com 114.88.68.209 +873 Devland Harness dharnesso8@dropbox.com 90.84.14.97 +874 Nada Beckmann nbeckmanno9@tumblr.com 31.65.246.138 +875 Clayborn Sheeran csheeranoa@baidu.com 142.99.177.6 +876 Katuscha Linfield klinfieldob@istockphoto.com 98.148.185.27 +877 Dani Widdison dwiddisonoc@intel.com 178.152.181.71 +878 Fidel MacGillavery fmacgillaveryod@nyu.edu 55.131.105.243 +879 Danielle Revie drevieoe@imageshack.us 58.55.9.16 +880 Saunders Guillem sguillemof@prweb.com 129.149.55.191 +881 Brucie Springell bspringellog@mozilla.com 202.46.30.66 +882 Lee Menier lmenieroh@sina.com.cn 145.161.94.135 +883 Beilul Jatczak bjatczakoi@techcrunch.com 20.170.73.202 +884 Donn Ondracek dondracekoj@jugem.jp 193.224.145.30 +885 Jocelyne Ravenshear jravenshearok@pagesperso-orange.fr 173.66.110.77 +886 Candida Millichip cmillichipol@huffingtonpost.com 123.136.19.240 +887 Leisha MacMichael lmacmichaelom@zimbio.com 39.228.254.54 +888 Farly Rounsefull frounsefullon@yahoo.co.jp 122.244.240.215 +889 Loleta Swannick lswannickoo@google.ca 89.56.96.205 +890 Lester Ventam lventamop@china.com.cn 27.209.125.66 +891 Annetta Pancast apancastoq@51.la 216.35.37.97 +892 Cindie Torrecilla ctorrecillaor@typepad.com 239.142.216.203 +893 Glyn Igounet gigounetos@goo.gl 116.167.125.10 +894 Olympie Cullinane ocullinaneot@paypal.com 225.2.50.215 +895 Shara Panyer spanyerou@nydailynews.com 211.97.133.207 +896 Sigmund Dorrian sdorrianov@state.gov 217.156.31.250 +897 Merilyn Eastby meastbyow@omniture.com 246.56.58.156 +898 Natasha Jaquemar njaquemarox@goodreads.com 195.106.120.250 +899 Gene Heavens gheavensoy@histats.com 214.73.215.76 +900 Menard Calderonello mcalderonellooz@xrea.com 35.65.10.57 +901 Elbert Risson erissonp0@geocities.com 101.152.215.19 +902 Vern Sabatini vsabatinip1@disqus.com 61.86.243.226 +903 Tommie Sapauton tsapautonp2@theglobeandmail.com 114.217.29.95 +904 Toddy Da Costa tdacostap3@walmart.com 158.128.77.31 +905 Beatriz Dursley bdursleyp4@independent.co.uk 235.46.171.234 +906 Ferdinand McDarmid fmcdarmidp5@ning.com 27.27.105.68 +907 Odette Lilley olilleyp6@nba.com 10.83.178.123 +908 Augusta Niessen aniessenp7@vinaora.com 185.98.39.208 +909 Dara Benwell dbenwellp8@europa.eu 234.235.158.146 +910 Kristan Luckie kluckiep9@yelp.com 200.90.57.225 +911 Ashlin Carbin acarbinpa@bbb.org 230.163.209.111 +912 Jere Habishaw jhabishawpb@issuu.com 244.236.152.43 +913 Page Follows pfollowspc@usda.gov 232.35.241.17 +914 Currey Galiford cgalifordpd@instagram.com 69.233.24.215 +915 Jan Coan jcoanpe@google.it 232.151.71.96 +916 Curr Hollyland chollylandpf@walmart.com 201.7.244.6 +917 Marni Moxon mmoxonpg@blogger.com 248.192.188.101 +918 Baron Ryland brylandph@youku.com 215.121.122.0 +919 Zena Strutton zstruttonpi@microsoft.com 85.122.33.201 +920 Ilaire Geddis igeddispj@home.pl 184.75.155.156 +921 Cindee McMonies cmcmoniespk@yolasite.com 180.242.214.212 +922 Brocky Urvoy burvoypl@timesonline.co.uk 12.32.241.187 +923 Roseanne McGrail rmcgrailpm@merriam-webster.com 128.172.7.169 +924 Elga Stoyles estoylespn@smugmug.com 47.50.177.20 +925 Reggis Lovelock rlovelockpo@slashdot.org 83.253.6.198 +926 Kameko Harly kharlypp@infoseek.co.jp 4.224.190.78 +927 Marjory Keller mkellerpq@examiner.com 0.193.71.169 +928 Temple Suett tsuettpr@last.fm 228.178.247.154 +929 Erroll Douty edoutyps@pbs.org 72.216.143.103 +930 Maritsa Bruford mbrufordpt@va.gov 228.7.185.49 +931 Cecilia Breewood cbreewoodpu@163.com 173.244.177.139 +932 Ryann Twine rtwinepv@bloglines.com 253.192.163.184 +933 Lyle Mauger lmaugerpw@goo.gl 16.187.217.51 +934 Vanna Wix vwixpx@comcast.net 4.80.90.125 +935 Chrissie Nimmo cnimmopy@edublogs.org 28.41.138.178 +936 Clara Gilhooly cgilhoolypz@google.it 112.121.211.73 +937 Timmi Farens tfarensq0@uiuc.edu 136.42.64.49 +938 Julius Falshaw jfalshawq1@omniture.com 181.177.178.201 +939 Corey Dwire cdwireq2@mlb.com 116.254.75.56 +940 Corny MacLaughlin cmaclaughlinq3@ow.ly 161.121.120.157 +941 Cecile Toma ctomaq4@rambler.ru 239.55.216.51 +942 Baxie Ledur bledurq5@reverbnation.com 151.135.162.234 +943 Beck Hustings bhustingsq6@businessinsider.com 43.246.219.111 +944 Robbert Robrow rrobrowq7@github.io 226.195.166.40 +945 Weider Tie wtieq8@buzzfeed.com 94.179.160.139 +946 Kacie Merriton kmerritonq9@smugmug.com 208.77.59.123 +947 Alano Vannoni avannoniqa@goo.ne.jp 6.164.27.66 +948 Symon Prine sprineqb@jalbum.net 17.57.160.81 +949 Barris Pimerick bpimerickqc@google.nl 210.253.171.62 +950 Dedie Clell dclellqd@sun.com 65.230.192.163 +951 Lida Brager lbragerqe@tinypic.com 212.228.89.59 +952 Darsie McGarel dmcgarelqf@businesswire.com 32.185.31.122 +953 Dorris Ruslinge druslingeqg@studiopress.com 38.235.239.50 +954 Whitby Reddie wreddieqh@canalblog.com 71.194.86.60 +955 Maxwell Allridge mallridgeqi@tuttocitta.it 23.88.163.47 +956 Royal Gavey rgaveyqj@xinhuanet.com 111.145.148.115 +957 Adena Jump ajumpqk@cnn.com 67.70.197.167 +958 Davidde Naismith dnaismithql@goodreads.com 26.172.219.88 +959 Ferdinande Tellenbroker ftellenbrokerqm@nsw.gov.au 207.198.43.114 +960 Nettle Edwins nedwinsqn@gnu.org 186.171.29.254 +961 Marmaduke Kedward mkedwardqo@booking.com 106.221.52.105 +962 Winifield Dechelle wdechelleqp@va.gov 144.93.20.66 +963 Armin Gogay agogayqq@va.gov 63.248.234.242 +964 Garrett Skerritt gskerrittqr@webnode.com 246.230.249.143 +965 Grady Ditty gdittyqs@about.com 75.222.1.233 +966 Clarance Aysh cayshqt@wordpress.org 186.92.62.46 +967 Kirbie Punshon kpunshonqu@github.io 210.103.228.24 +968 Dimitri Derobert dderobertqv@plala.or.jp 165.229.97.73 +969 Jaimie Tetsall jtetsallqw@yolasite.com 70.227.5.120 +970 Jewell Tonks jtonksqx@histats.com 177.139.25.89 +971 Raddie Boone rbooneqy@sogou.com 190.91.78.84 +972 Davita Maddyson dmaddysonqz@php.net 27.254.112.46 +973 Kamila Philpin kphilpinr0@merriam-webster.com 230.56.120.64 +974 Simon Lawday slawdayr1@miitbeian.gov.cn 41.34.62.115 +975 Ame Sallnow asallnowr2@nature.com 42.19.246.11 +976 Catina Shier cshierr3@g.co 92.168.225.102 +977 Dina Shoebottom dshoebottomr4@digg.com 30.254.218.176 +978 Alden Bicheno abichenor5@ucoz.com 152.230.77.68 +979 Doro Burlingame dburlingamer6@gizmodo.com 116.55.114.230 +980 Yasmeen Goundrill ygoundrillr7@bbb.org 64.231.202.114 +981 Lynea Boniface lbonifacer8@etsy.com 248.188.64.4 +982 Olympe Myring omyringr9@cdbaby.com 34.244.192.242 +983 Gnni Swanton gswantonra@csmonitor.com 93.129.19.228 +984 Jordana Roja jrojarb@yelp.com 37.182.170.218 +985 Latrina Kubala lkubalarc@behance.net 16.180.74.53 +986 Laura Mound lmoundrd@e-recht24.de 9.252.101.27 +987 Catharine Taylor ctaylorre@istockphoto.com 104.3.204.36 +988 Brunhilda Dorian bdorianrf@wikimedia.org 52.81.132.101 +989 Augy Gwilt agwiltrg@twitter.com 39.25.165.212 +990 Nola Carde ncarderh@chronoengine.com 79.228.210.36 +991 Trista Kuzemka tkuzemkari@dot.gov 154.36.63.90 +992 Agustin Hyndman ahyndmanrj@auda.org.au 95.78.72.191 +993 Sherwynd McGonnell smcgonnellrk@nasa.gov 14.160.79.162 +994 Con Smeath csmeathrl@telegraph.co.uk 141.72.39.41 +995 Abigale Toone atoonerm@dyndns.org 133.5.61.95 +996 Wenonah MacArd wmacardrn@guardian.co.uk 206.42.244.179 +997 Alanson Fearns afearnsro@omniture.com 246.91.72.145 +998 Tiphany Murkus tmurkusrp@umn.edu 200.218.3.234 +999 Winnah Pock wpockrq@godaddy.com 192.155.247.2 +1000 Ravi Angear rangearrr@umich.edu 6.67.79.92 diff --git a/fixtures/csv/employees.csv b/fixtures/csv/employees.csv index 4f0050fd1..8fb0c7c99 100644 --- a/fixtures/csv/employees.csv +++ b/fixtures/csv/employees.csv @@ -1,51 +1,51 @@ -id,first_name,last_name,email,ip_address -1,Tobye,Tallach,ttallach0@icq.com,159.80.54.64 -2,Bret,Auchterlonie,bauchterlonie1@t-online.de,63.179.228.179 -3,Chester,Leban,cleban2@arstechnica.com,109.23.123.220 -4,Weston,Venny,wvenny3@about.com,80.78.0.69 -5,Alejoa,Hassen,ahassen4@narod.ru,193.70.126.231 -6,Otes,Ioselevich,oioselevich5@pen.io,55.238.240.160 -7,Dolley,Mc Ilwrick,dmcilwrick6@vistaprint.com,225.224.151.67 -8,Cliff,Druitt,cdruitt7@earthlink.net,216.35.85.142 -9,Alfreda,Parysiak,aparysiak8@google.com.br,234.124.93.69 -10,Alfonso,Wotherspoon,awotherspoon9@cafepress.com,34.94.1.132 -11,Jemmy,Gavriel,jgavriela@wikispaces.com,69.13.142.245 -12,Ezechiel,Binion,ebinionb@princeton.edu,85.203.127.191 -13,Burk,Blowfelde,bblowfeldec@theglobeandmail.com,74.133.42.177 -14,Danette,Brealey,dbrealeyd@tumblr.com,249.85.157.243 -15,Brent,Collcutt,bcollcutte@twitpic.com,68.202.67.52 -16,Filbert,Wane,fwanef@mozilla.org,51.190.146.189 -17,Amory,Brewers,abrewersg@sciencedirect.com,147.155.225.194 -18,Giraud,Reen,greenh@themeforest.net,134.254.177.66 -19,Burtie,Siebert,bsieberti@reuters.com,47.194.48.217 -20,Adam,Maddick,amaddickj@theguardian.com,165.16.248.228 -21,Callean,Vernall,cvernallk@google.pl,243.145.198.197 -22,Olympie,Itzakovitz,oitzakovitzl@addthis.com,40.55.240.15 -23,Jacky,Emney,jemneym@cbslocal.com,216.72.80.81 -24,Isidoro,Novello,inovellon@symantec.com,153.171.11.150 -25,Kora,Liversedge,kliversedgeo@godaddy.com,131.126.97.242 -26,Salaidh,McMenamie,smcmenamiep@yolasite.com,228.231.31.219 -27,Corey,Dowdeswell,cdowdeswellq@a8.net,203.73.30.64 -28,Brodie,Holwell,bholwellr@china.com.cn,64.200.225.25 -29,Trudey,Ungerer,tungerers@friendfeed.com,122.82.88.41 -30,Doralin,Maxted,dmaxtedt@photobucket.com,37.78.14.199 -31,Maurie,Marklin,mmarklinu@gizmodo.com,22.181.178.6 -32,Hermann,Voase,hvoasev@gnu.org,155.126.157.84 -33,Fanchette,Callaway,fcallawayw@naver.com,121.161.80.246 -34,Sara-ann,Birdall,sbirdallx@hexun.com,35.64.166.83 -35,Harriot,Clipsham,hclipshamy@redcross.org,78.103.253.219 -36,Bonita,Woolway,bwoolwayz@artisteer.com,70.114.50.135 -37,Arleyne,MacComiskey,amaccomiskey10@oracle.com,80.22.221.216 -38,Ethelbert,Covill,ecovill11@blogs.com,52.66.186.124 -39,Irita,Knee,iknee12@skyrock.com,239.247.34.120 -40,Naoma,Janca,njanca13@washington.edu,189.63.152.60 -41,Kayne,Mizzen,kmizzen14@jalbum.net,84.133.236.10 -42,Estell,Stuckford,estuckford15@nationalgeographic.com,246.168.153.22 -43,Larine,Stack,lstack16@bravesites.com,197.176.195.68 -44,Rikki,Newbold,rnewbold17@omniture.com,27.245.43.243 -45,Romonda,Charer,rcharer18@ifeng.com,137.144.236.93 -46,Letizia,Monksfield,lmonksfield19@ebay.com,209.47.5.147 -47,Sinclare,McAreavey,smcareavey1a@cnn.com,251.250.216.206 -48,Athene,Haysham,ahaysham1b@ifeng.com,81.227.231.240 -49,Gale,Tracy,gtracy1c@squidoo.com,93.138.226.205 -50,Dareen,O'Shields,doshields1d@nymag.com,27.226.127.240 +id first_name last_name email ip_address +1 Tobye Tallach ttallach0@icq.com 159.80.54.64 +2 Bret Auchterlonie bauchterlonie1@t-online.de 63.179.228.179 +3 Chester Leban cleban2@arstechnica.com 109.23.123.220 +4 Weston Venny wvenny3@about.com 80.78.0.69 +5 Alejoa Hassen ahassen4@narod.ru 193.70.126.231 +6 Otes Ioselevich oioselevich5@pen.io 55.238.240.160 +7 Dolley Mc Ilwrick dmcilwrick6@vistaprint.com 225.224.151.67 +8 Cliff Druitt cdruitt7@earthlink.net 216.35.85.142 +9 Alfreda Parysiak aparysiak8@google.com.br 234.124.93.69 +10 Alfonso Wotherspoon awotherspoon9@cafepress.com 34.94.1.132 +11 Jemmy Gavriel jgavriela@wikispaces.com 69.13.142.245 +12 Ezechiel Binion ebinionb@princeton.edu 85.203.127.191 +13 Burk Blowfelde bblowfeldec@theglobeandmail.com 74.133.42.177 +14 Danette Brealey dbrealeyd@tumblr.com 249.85.157.243 +15 Brent Collcutt bcollcutte@twitpic.com 68.202.67.52 +16 Filbert Wane fwanef@mozilla.org 51.190.146.189 +17 Amory Brewers abrewersg@sciencedirect.com 147.155.225.194 +18 Giraud Reen greenh@themeforest.net 134.254.177.66 +19 Burtie Siebert bsieberti@reuters.com 47.194.48.217 +20 Adam Maddick amaddickj@theguardian.com 165.16.248.228 +21 Callean Vernall cvernallk@google.pl 243.145.198.197 +22 Olympie Itzakovitz oitzakovitzl@addthis.com 40.55.240.15 +23 Jacky Emney jemneym@cbslocal.com 216.72.80.81 +24 Isidoro Novello inovellon@symantec.com 153.171.11.150 +25 Kora Liversedge kliversedgeo@godaddy.com 131.126.97.242 +26 Salaidh McMenamie smcmenamiep@yolasite.com 228.231.31.219 +27 Corey Dowdeswell cdowdeswellq@a8.net 203.73.30.64 +28 Brodie Holwell bholwellr@china.com.cn 64.200.225.25 +29 Trudey Ungerer tungerers@friendfeed.com 122.82.88.41 +30 Doralin Maxted dmaxtedt@photobucket.com 37.78.14.199 +31 Maurie Marklin mmarklinu@gizmodo.com 22.181.178.6 +32 Hermann Voase hvoasev@gnu.org 155.126.157.84 +33 Fanchette Callaway fcallawayw@naver.com 121.161.80.246 +34 Sara-ann Birdall sbirdallx@hexun.com 35.64.166.83 +35 Harriot Clipsham hclipshamy@redcross.org 78.103.253.219 +36 Bonita Woolway bwoolwayz@artisteer.com 70.114.50.135 +37 Arleyne MacComiskey amaccomiskey10@oracle.com 80.22.221.216 +38 Ethelbert Covill ecovill11@blogs.com 52.66.186.124 +39 Irita Knee iknee12@skyrock.com 239.247.34.120 +40 Naoma Janca njanca13@washington.edu 189.63.152.60 +41 Kayne Mizzen kmizzen14@jalbum.net 84.133.236.10 +42 Estell Stuckford estuckford15@nationalgeographic.com 246.168.153.22 +43 Larine Stack lstack16@bravesites.com 197.176.195.68 +44 Rikki Newbold rnewbold17@omniture.com 27.245.43.243 +45 Romonda Charer rcharer18@ifeng.com 137.144.236.93 +46 Letizia Monksfield lmonksfield19@ebay.com 209.47.5.147 +47 Sinclare McAreavey smcareavey1a@cnn.com 251.250.216.206 +48 Athene Haysham ahaysham1b@ifeng.com 81.227.231.240 +49 Gale Tracy gtracy1c@squidoo.com 93.138.226.205 +50 Dareen O'Shields doshields1d@nymag.com 27.226.127.240 diff --git a/poetry.lock b/poetry.lock index 68a5d81a4..6ace88a87 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,5 +1,181 @@ # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +[[package]] +name = "aiobotocore" +version = "2.15.0" +description = "Async client for aws services using botocore and aiohttp" +optional = true +python-versions = ">=3.8" +files = [ + {file = "aiobotocore-2.15.0-py3-none-any.whl", hash = "sha256:6d0b4a51d70bc33b1b4eba411076b0cc979aecbdad8e084bab202202423c0725"}, + {file = "aiobotocore-2.15.0.tar.gz", hash = "sha256:988eef33fd9dd4b070959cfec922278e84166950695b2160bd581623cb6a420c"}, +] + +[package.dependencies] +aiohttp = ">=3.9.2,<4.0.0" +aioitertools = ">=0.5.1,<1.0.0" +botocore = ">=1.35.16,<1.35.17" +wrapt = ">=1.10.10,<2.0.0" + +[package.extras] +awscli = ["awscli (>=1.34.16,<1.34.17)"] +boto3 = ["boto3 (>=1.35.16,<1.35.17)"] + +[[package]] +name = "aiohappyeyeballs" +version = "2.4.0" +description = "Happy Eyeballs for asyncio" +optional = true +python-versions = ">=3.8" +files = [ + {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, + {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, +] + +[[package]] +name = "aiohttp" +version = "3.10.5" +description = "Async http client/server framework (asyncio)" +optional = true +python-versions = ">=3.8" +files = [ + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, + {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, + {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, + {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, + {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, + {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, + {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, + {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, + {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, + {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, + {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, + {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, + {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, + {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, + {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, + {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, + {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, + {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, + {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, + {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, + {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a"}, + {file = "aiohttp-3.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5"}, + {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f"}, + {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511"}, + {file = "aiohttp-3.10.5-cp38-cp38-win32.whl", hash = "sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a"}, + {file = "aiohttp-3.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, + {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, + {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, + {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, + {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, + {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, + {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, +] + +[package.dependencies] +aiohappyeyeballs = ">=2.3.0" +aiosignal = ">=1.1.2" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] + +[[package]] +name = "aioitertools" +version = "0.12.0" +description = "itertools and builtins for AsyncIO and mixed iterables" +optional = true +python-versions = ">=3.8" +files = [ + {file = "aioitertools-0.12.0-py3-none-any.whl", hash = "sha256:fc1f5fac3d737354de8831cbba3eb04f79dd649d8f3afb4c5b114925e662a796"}, + {file = "aioitertools-0.12.0.tar.gz", hash = "sha256:c2a9055b4fbb7705f561b9d86053e8af5d10cc845d22c32008c43490b2d8dd6b"}, +] + +[package.dependencies] +typing_extensions = {version = ">=4.0", markers = "python_version < \"3.10\""} + +[package.extras] +dev = ["attribution (==1.8.0)", "black (==24.8.0)", "build (>=1.2)", "coverage (==7.6.1)", "flake8 (==7.1.1)", "flit (==3.9.0)", "mypy (==1.11.2)", "ufmt (==2.7.1)", "usort (==1.0.8.post1)"] +docs = ["sphinx (==8.0.2)", "sphinx-mdinclude (==0.6.2)"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = true +python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + [[package]] name = "alabaster" version = "0.7.16" @@ -22,6 +198,17 @@ files = [ {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, ] +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +optional = true +python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + [[package]] name = "attrs" version = "24.2.0" @@ -122,6 +309,46 @@ files = [ {file = "backports_datetime_fromisoformat-2.0.2.tar.gz", hash = "sha256:142313bde1f93b0ea55f20f5a6ea034f84c79713daeb252dc47d40019db3812f"}, ] +[[package]] +name = "bcrypt" +version = "4.2.0" +description = "Modern password hashing for your software and your servers" +optional = false +python-versions = ">=3.7" +files = [ + {file = "bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291"}, + {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060"}, + {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7"}, + {file = "bcrypt-4.2.0-cp37-abi3-win32.whl", hash = "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458"}, + {file = "bcrypt-4.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5"}, + {file = "bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2"}, + {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e"}, + {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8"}, + {file = "bcrypt-4.2.0-cp39-abi3-win32.whl", hash = "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34"}, + {file = "bcrypt-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a"}, + {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170"}, + {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184"}, + {file = "bcrypt-4.2.0.tar.gz", hash = "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221"}, +] + +[package.extras] +tests = ["pytest (>=3.2.1,!=3.3.0)"] +typecheck = ["mypy"] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -145,17 +372,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.20" +version = "1.35.16" description = "The AWS SDK for Python" -optional = true +optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.20-py3-none-any.whl", hash = "sha256:aaddbeb8c37608492f2c8286d004101464833d4c6e49af44601502b8b18785ed"}, - {file = "boto3-1.35.20.tar.gz", hash = "sha256:47e89d95964f10beee21ee723c3290874fddf364269bd97d200e8bfa9bf93a06"}, + {file = "boto3-1.35.16-py3-none-any.whl", hash = "sha256:9c5b0ce4a25bb78d659478d1c552f1dbb7ff275aab3263bb41cdbef8bca28693"}, + {file = "boto3-1.35.16.tar.gz", hash = "sha256:9b96c210678cf430b16b49dee87db30f46044602bb9a605a465e1900f468a43f"}, ] [package.dependencies] -botocore = ">=1.35.20,<1.36.0" +botocore = ">=1.35.16,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -164,13 +391,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.20" +version = "1.35.16" description = "Low-level, data-driven core of boto 3." -optional = true +optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.20-py3-none-any.whl", hash = "sha256:62412038f960691a299e60492f9ee7e8e75af563f2eca7f3640b3b54b8f5d236"}, - {file = "botocore-1.35.20.tar.gz", hash = "sha256:82ad8a73fcd5852d127461c8dadbe40bf679f760a4efb0dde8d4d269ad3f126f"}, + {file = "botocore-1.35.16-py3-none-any.whl", hash = "sha256:3564a980d95ff2861a6ca74313173d8778aa659125c63cf49c93ad23896c63b1"}, + {file = "botocore-1.35.16.tar.gz", hash = "sha256:1b48c94e8a4bbe23143f3d1c21a32b9ffc7476b651ef42371ab45d678f6dbfbc"}, ] [package.dependencies] @@ -515,7 +742,7 @@ toml = ["tomli"] name = "cryptography" version = "43.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, @@ -718,20 +945,106 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc [[package]] name = "filelock" -version = "3.16.0" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.16.0-py3-none-any.whl", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609"}, - {file = "filelock-3.16.0.tar.gz", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.1.1)", "pytest (>=8.3.2)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.3)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] +[[package]] +name = "frozenlist" +version = "1.4.1" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = true +python-versions = ">=3.8" +files = [ + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, +] + [[package]] name = "fs" version = "2.4.16" @@ -767,6 +1080,45 @@ boto3 = ">=1.9,<2.0" fs = ">=2.4,<3.0" six = ">=1.10,<2.0" +[[package]] +name = "fsspec" +version = "2024.9.0" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fsspec-2024.9.0-py3-none-any.whl", hash = "sha256:a0947d552d8a6efa72cc2c730b12c41d043509156966cca4fb157b0f2a0c574b"}, + {file = "fsspec-2024.9.0.tar.gz", hash = "sha256:4b0afb90c2f21832df142f292649035d80b421f60a9e1c027802e5a0da2b04e8"}, +] + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +dev = ["pre-commit", "ruff"] +doc = ["numpydoc", "sphinx", "sphinx-design", "sphinx-rtd-theme", "yarl"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +test = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "numpy", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "requests"] +test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe,test]", "moto[server] (>4,<5)", "pytest-timeout", "xarray"] +test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] +tqdm = ["tqdm"] + [[package]] name = "furo" version = "2024.8.6" @@ -959,7 +1311,7 @@ files = [ name = "jinja2" version = "3.1.4" description = "A very fast and expressive template engine." -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, @@ -976,7 +1328,7 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, @@ -1074,7 +1426,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." -optional = true +optional = false python-versions = ">=3.7" files = [ {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, @@ -1169,6 +1521,155 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] +[[package]] +name = "moto" +version = "5.0.14" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "moto-5.0.14-py2.py3-none-any.whl", hash = "sha256:c738ffe85d3844ef37b865951736c4faf2e0f3e4f05db87bdad97a6c01b88174"}, + {file = "moto-5.0.14.tar.gz", hash = "sha256:0f849243269fd03372426c302b18cb605302da32620d7f0266be6a40735b2acd"}, +] + +[package.dependencies] +boto3 = ">=1.9.201" +botocore = ">=1.14.0" +cryptography = ">=3.3.1" +Jinja2 = ">=2.10.1" +python-dateutil = ">=2.1,<3.0.0" +requests = ">=2.5" +responses = ">=0.15.0" +werkzeug = ">=0.5,<2.2.0 || >2.2.0,<2.2.1 || >2.2.1" +xmltodict = "*" + +[package.extras] +all = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +apigateway = ["PyYAML (>=5.1)", "joserfc (>=0.9.0)", "openapi-spec-validator (>=0.5.0)"] +apigatewayv2 = ["PyYAML (>=5.1)", "openapi-spec-validator (>=0.5.0)"] +appsync = ["graphql-core"] +awslambda = ["docker (>=3.0.0)"] +batch = ["docker (>=3.0.0)"] +cloudformation = ["PyYAML (>=5.1)", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +cognitoidp = ["joserfc (>=0.9.0)"] +dynamodb = ["docker (>=3.0.0)", "py-partiql-parser (==0.5.6)"] +dynamodbstreams = ["docker (>=3.0.0)", "py-partiql-parser (==0.5.6)"] +events = ["jsonpath-ng"] +glue = ["pyparsing (>=3.0.7)"] +iotdata = ["jsondiff (>=1.1.2)"] +proxy = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=2.5.1)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)"] +s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.5.6)"] +s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.5.6)"] +server = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "flask (!=2.2.0,!=2.2.1)", "flask-cors", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +ssm = ["PyYAML (>=5.1)"] +stepfunctions = ["antlr4-python3-runtime", "jsonpath-ng"] +xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"] + +[[package]] +name = "multidict" +version = "6.1.0" +description = "multidict implementation" +optional = true +python-versions = ">=3.8" +files = [ + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, +] + +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} + [[package]] name = "mypy" version = "1.11.2" @@ -1417,6 +1918,27 @@ files = [ {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, ] +[[package]] +name = "paramiko" +version = "3.5.0" +description = "SSH2 protocol library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "paramiko-3.5.0-py3-none-any.whl", hash = "sha256:1fedf06b085359051cd7d0d270cebe19e755a8a921cc2ddbfa647fb0cd7d68f9"}, + {file = "paramiko-3.5.0.tar.gz", hash = "sha256:ad11e540da4f55cedda52931f1a3f812a8238a7af7f62a60de538cd80bb28124"}, +] + +[package.dependencies] +bcrypt = ">=3.2" +cryptography = ">=3.3" +pynacl = ">=1.5" + +[package.extras] +all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] +invoke = ["invoke (>=2.0)"] + [[package]] name = "pkgutil-resolve-name" version = "1.3.10" @@ -1430,13 +1952,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.3.4" +version = "4.3.5" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.3.4-py3-none-any.whl", hash = "sha256:8b4ba85412f5065dae40aa19feaa02ac2be584c8b14abd70712b5cd11ad80034"}, - {file = "platformdirs-4.3.4.tar.gz", hash = "sha256:9e8a037c36fe1b1f1b5de4482e60464272cc8dca725e40b568bf2c285f7509cf"}, + {file = "platformdirs-4.3.5-py3-none-any.whl", hash = "sha256:00d4e6d17a9a452c95182c20862bb655c8dc51122e2a3afbc0bc7cfb7538b263"}, + {file = "platformdirs-4.3.5.tar.gz", hash = "sha256:227a0d45c85fc7a4a2147af40dab1ee3657f4b92e725e2cbc707949bfab78be3"}, ] [package.extras] @@ -1574,6 +2096,32 @@ dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pyte docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] +[[package]] +name = "pynacl" +version = "1.5.0" +description = "Python binding to the Networking and Cryptography (NaCl) library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, + {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, + {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, + {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, + {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, +] + +[package.dependencies] +cffi = ">=1.4.1" + +[package.extras] +docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] +tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] + [[package]] name = "pytest" version = "8.3.3" @@ -1652,6 +2200,21 @@ files = [ [package.dependencies] pytest = ">=3.0.0" +[[package]] +name = "pytest-subtests" +version = "0.13.1" +description = "unittest subTest() support and subtests fixture" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pytest_subtests-0.13.1-py3-none-any.whl", hash = "sha256:ab616a22f64cd17c1aee65f18af94dbc30c444f8683de2b30895c3778265e3bd"}, + {file = "pytest_subtests-0.13.1.tar.gz", hash = "sha256:989e38f0f1c01bc7c6b2e04db7d9fd859db35d77c2c1a430c831a70cbf3fde2d"}, +] + +[package.dependencies] +attrs = ">=19.2.0" +pytest = ">=7.0" + [[package]] name = "python-dateutil" version = "2.9.0.post0" @@ -1836,6 +2399,25 @@ requests = ">=2.22,<3" [package.extras] fixture = ["fixtures"] +[[package]] +name = "responses" +version = "0.25.3" +description = "A utility library for mocking out the `requests` Python library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "responses-0.25.3-py3-none-any.whl", hash = "sha256:521efcbc82081ab8daa588e08f7e8a64ce79b91c39f6e62199b19159bea7dbcb"}, + {file = "responses-0.25.3.tar.gz", hash = "sha256:617b9247abd9ae28313d57a75880422d55ec63c29d33d629697590a034358dba"}, +] + +[package.dependencies] +pyyaml = "*" +requests = ">=2.30.0,<3.0" +urllib3 = ">=1.25.10,<3.0" + +[package.extras] +tests = ["coverage (>=6.0.0)", "flake8", "mypy", "pytest (>=7.0.0)", "pytest-asyncio", "pytest-cov", "pytest-httpserver", "tomli", "tomli-w", "types-PyYAML", "types-requests"] + [[package]] name = "rfc3339-validator" version = "0.1.4" @@ -1962,11 +2544,31 @@ files = [ {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, ] +[[package]] +name = "s3fs" +version = "2024.9.0" +description = "Convenient Filesystem interface over S3" +optional = true +python-versions = ">=3.8" +files = [ + {file = "s3fs-2024.9.0-py3-none-any.whl", hash = "sha256:3a7dc7acae4358af8e8dfb693e82a8477f9f2c847de5d44cf65fee75752eaca3"}, + {file = "s3fs-2024.9.0.tar.gz", hash = "sha256:6493705abb50374d6b7994f9616d27adbdd8a219c8635100bdc286382efd91f5"}, +] + +[package.dependencies] +aiobotocore = ">=2.5.4,<3.0.0" +aiohttp = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1" +fsspec = "==2024.9.0.*" + +[package.extras] +awscli = ["aiobotocore[awscli] (>=2.5.4,<3.0.0)"] +boto3 = ["aiobotocore[boto3] (>=2.5.4,<3.0.0)"] + [[package]] name = "s3transfer" version = "0.10.2" description = "An Amazon S3 Transfer Manager" -optional = true +optional = false python-versions = ">=3.8" files = [ {file = "s3transfer-0.10.2-py3-none-any.whl", hash = "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"}, @@ -2662,6 +3264,102 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "werkzeug" +version = "3.0.4" +description = "The comprehensive WSGI web application library." +optional = false +python-versions = ">=3.8" +files = [ + {file = "werkzeug-3.0.4-py3-none-any.whl", hash = "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c"}, + {file = "werkzeug-3.0.4.tar.gz", hash = "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306"}, +] + +[package.dependencies] +MarkupSafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[[package]] +name = "wrapt" +version = "1.16.0" +description = "Module for decorators, wrappers and monkey patching." +optional = true +python-versions = ">=3.6" +files = [ + {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, + {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, + {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, + {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, + {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, + {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, + {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, + {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, + {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, + {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, + {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, + {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, + {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, + {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, + {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, + {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, + {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, + {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, + {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, + {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, + {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, + {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, + {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, + {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, + {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, + {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, + {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, + {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, + {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, + {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, + {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, + {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, + {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, + {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, + {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, + {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, + {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, +] + [[package]] name = "xdoctest" version = "1.2.0" @@ -2689,6 +3387,122 @@ tests-binary = ["cmake (>=3.21.2)", "cmake (>=3.25.0)", "ninja (>=1.10.2)", "nin tests-binary-strict = ["cmake (==3.21.2)", "cmake (==3.25.0)", "ninja (==1.10.2)", "ninja (==1.11.1)", "pybind11 (==2.10.3)", "pybind11 (==2.7.1)", "scikit-build (==0.11.1)", "scikit-build (==0.16.1)"] tests-strict = ["pytest (==4.6.0)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)"] +[[package]] +name = "xmltodict" +version = "0.13.0" +description = "Makes working with XML feel like you are working with JSON" +optional = false +python-versions = ">=3.4" +files = [ + {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, + {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, +] + +[[package]] +name = "yarl" +version = "1.11.1" +description = "Yet another URL library" +optional = true +python-versions = ">=3.8" +files = [ + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:400cd42185f92de559d29eeb529e71d80dfbd2f45c36844914a4a34297ca6f00"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8258c86f47e080a258993eed877d579c71da7bda26af86ce6c2d2d072c11320d"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2164cd9725092761fed26f299e3f276bb4b537ca58e6ff6b252eae9631b5c96e"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08ea567c16f140af8ddc7cb58e27e9138a1386e3e6e53982abaa6f2377b38cc"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:768ecc550096b028754ea28bf90fde071c379c62c43afa574edc6f33ee5daaec"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2909fa3a7d249ef64eeb2faa04b7957e34fefb6ec9966506312349ed8a7e77bf"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01a8697ec24f17c349c4f655763c4db70eebc56a5f82995e5e26e837c6eb0e49"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e286580b6511aac7c3268a78cdb861ec739d3e5a2a53b4809faef6b49778eaff"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4179522dc0305c3fc9782549175c8e8849252fefeb077c92a73889ccbcd508ad"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:27fcb271a41b746bd0e2a92182df507e1c204759f460ff784ca614e12dd85145"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f61db3b7e870914dbd9434b560075e0366771eecbe6d2b5561f5bc7485f39efd"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c92261eb2ad367629dc437536463dc934030c9e7caca861cc51990fe6c565f26"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d95b52fbef190ca87d8c42f49e314eace4fc52070f3dfa5f87a6594b0c1c6e46"}, + {file = "yarl-1.11.1-cp310-cp310-win32.whl", hash = "sha256:489fa8bde4f1244ad6c5f6d11bb33e09cf0d1d0367edb197619c3e3fc06f3d91"}, + {file = "yarl-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:476e20c433b356e16e9a141449f25161e6b69984fb4cdbd7cd4bd54c17844998"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:946eedc12895873891aaceb39bceb484b4977f70373e0122da483f6c38faaa68"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21a7c12321436b066c11ec19c7e3cb9aec18884fe0d5b25d03d756a9e654edfe"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c35f493b867912f6fda721a59cc7c4766d382040bdf1ddaeeaa7fa4d072f4675"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25861303e0be76b60fddc1250ec5986c42f0a5c0c50ff57cc30b1be199c00e63"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4b53f73077e839b3f89c992223f15b1d2ab314bdbdf502afdc7bb18e95eae27"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:327c724b01b8641a1bf1ab3b232fb638706e50f76c0b5bf16051ab65c868fac5"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4307d9a3417eea87715c9736d050c83e8c1904e9b7aada6ce61b46361b733d92"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a28bed68ab8fb7e380775f0029a079f08a17799cb3387a65d14ace16c12e2b"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:067b961853c8e62725ff2893226fef3d0da060656a9827f3f520fb1d19b2b68a"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8215f6f21394d1f46e222abeb06316e77ef328d628f593502d8fc2a9117bde83"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:498442e3af2a860a663baa14fbf23fb04b0dd758039c0e7c8f91cb9279799bff"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:69721b8effdb588cb055cc22f7c5105ca6fdaa5aeb3ea09021d517882c4a904c"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e969fa4c1e0b1a391f3fcbcb9ec31e84440253325b534519be0d28f4b6b533e"}, + {file = "yarl-1.11.1-cp311-cp311-win32.whl", hash = "sha256:7d51324a04fc4b0e097ff8a153e9276c2593106a811704025bbc1d6916f45ca6"}, + {file = "yarl-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:15061ce6584ece023457fb8b7a7a69ec40bf7114d781a8c4f5dcd68e28b5c53b"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a4264515f9117be204935cd230fb2a052dd3792789cc94c101c535d349b3dab0"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f41fa79114a1d2eddb5eea7b912d6160508f57440bd302ce96eaa384914cd265"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02da8759b47d964f9173c8675710720b468aa1c1693be0c9c64abb9d8d9a4867"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9361628f28f48dcf8b2f528420d4d68102f593f9c2e592bfc842f5fb337e44fd"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b91044952da03b6f95fdba398d7993dd983b64d3c31c358a4c89e3c19b6f7aef"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74db2ef03b442276d25951749a803ddb6e270d02dda1d1c556f6ae595a0d76a8"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e975a2211952a8a083d1b9d9ba26472981ae338e720b419eb50535de3c02870"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aef97ba1dd2138112890ef848e17d8526fe80b21f743b4ee65947ea184f07a2"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7915ea49b0c113641dc4d9338efa9bd66b6a9a485ffe75b9907e8573ca94b84"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:504cf0d4c5e4579a51261d6091267f9fd997ef58558c4ffa7a3e1460bd2336fa"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3de5292f9f0ee285e6bd168b2a77b2a00d74cbcfa420ed078456d3023d2f6dff"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34e1e30f1774fa35d37202bbeae62423e9a79d78d0874e5556a593479fdf239"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66b63c504d2ca43bf7221a1f72fbe981ff56ecb39004c70a94485d13e37ebf45"}, + {file = "yarl-1.11.1-cp312-cp312-win32.whl", hash = "sha256:a28b70c9e2213de425d9cba5ab2e7f7a1c8ca23a99c4b5159bf77b9c31251447"}, + {file = "yarl-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:17b5a386d0d36fb828e2fb3ef08c8829c1ebf977eef88e5367d1c8c94b454639"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1fa2e7a406fbd45b61b4433e3aa254a2c3e14c4b3186f6e952d08a730807fa0c"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:750f656832d7d3cb0c76be137ee79405cc17e792f31e0a01eee390e383b2936e"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b8486f322d8f6a38539136a22c55f94d269addb24db5cb6f61adc61eabc9d93"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fce4da3703ee6048ad4138fe74619c50874afe98b1ad87b2698ef95bf92c96d"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed653638ef669e0efc6fe2acb792275cb419bf9cb5c5049399f3556995f23c7"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18ac56c9dd70941ecad42b5a906820824ca72ff84ad6fa18db33c2537ae2e089"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688654f8507464745ab563b041d1fb7dab5d9912ca6b06e61d1c4708366832f5"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4973eac1e2ff63cf187073cd4e1f1148dcd119314ab79b88e1b3fad74a18c9d5"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:964a428132227edff96d6f3cf261573cb0f1a60c9a764ce28cda9525f18f7786"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6d23754b9939cbab02c63434776df1170e43b09c6a517585c7ce2b3d449b7318"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c2dc4250fe94d8cd864d66018f8344d4af50e3758e9d725e94fecfa27588ff82"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09696438cb43ea6f9492ef237761b043f9179f455f405279e609f2bc9100212a"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:999bfee0a5b7385a0af5ffb606393509cfde70ecca4f01c36985be6d33e336da"}, + {file = "yarl-1.11.1-cp313-cp313-win32.whl", hash = "sha256:ce928c9c6409c79e10f39604a7e214b3cb69552952fbda8d836c052832e6a979"}, + {file = "yarl-1.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:501c503eed2bb306638ccb60c174f856cc3246c861829ff40eaa80e2f0330367"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dae7bd0daeb33aa3e79e72877d3d51052e8b19c9025ecf0374f542ea8ec120e4"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ff6b1617aa39279fe18a76c8d165469c48b159931d9b48239065767ee455b2b"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3257978c870728a52dcce8c2902bf01f6c53b65094b457bf87b2644ee6238ddc"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f351fa31234699d6084ff98283cb1e852270fe9e250a3b3bf7804eb493bd937"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aef1b64da41d18026632d99a06b3fefe1d08e85dd81d849fa7c96301ed22f1b"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7175a87ab8f7fbde37160a15e58e138ba3b2b0e05492d7351314a250d61b1591"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba444bdd4caa2a94456ef67a2f383710928820dd0117aae6650a4d17029fa25e"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea9682124fc062e3d931c6911934a678cb28453f957ddccf51f568c2f2b5e05"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8418c053aeb236b20b0ab8fa6bacfc2feaaf7d4683dd96528610989c99723d5f"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:61a5f2c14d0a1adfdd82258f756b23a550c13ba4c86c84106be4c111a3a4e413"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3a6d90cab0bdf07df8f176eae3a07127daafcf7457b997b2bf46776da2c7eb7"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:077da604852be488c9a05a524068cdae1e972b7dc02438161c32420fb4ec5e14"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:15439f3c5c72686b6c3ff235279630d08936ace67d0fe5c8d5bbc3ef06f5a420"}, + {file = "yarl-1.11.1-cp38-cp38-win32.whl", hash = "sha256:238a21849dd7554cb4d25a14ffbfa0ef380bb7ba201f45b144a14454a72ffa5a"}, + {file = "yarl-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:67459cf8cf31da0e2cbdb4b040507e535d25cfbb1604ca76396a3a66b8ba37a6"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:884eab2ce97cbaf89f264372eae58388862c33c4f551c15680dd80f53c89a269"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a336eaa7ee7e87cdece3cedb395c9657d227bfceb6781295cf56abcd3386a26"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87f020d010ba80a247c4abc335fc13421037800ca20b42af5ae40e5fd75e7909"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637c7ddb585a62d4469f843dac221f23eec3cbad31693b23abbc2c366ad41ff4"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48dfd117ab93f0129084577a07287376cc69c08138694396f305636e229caa1a"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e0ae31fb5ccab6eda09ba1494e87eb226dcbd2372dae96b87800e1dcc98804"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f46f81501160c28d0c0b7333b4f7be8983dbbc161983b6fb814024d1b4952f79"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04293941646647b3bfb1719d1d11ff1028e9c30199509a844da3c0f5919dc520"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:250e888fa62d73e721f3041e3a9abf427788a1934b426b45e1b92f62c1f68366"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e8f63904df26d1a66aabc141bfd258bf738b9bc7bc6bdef22713b4f5ef789a4c"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:aac44097d838dda26526cffb63bdd8737a2dbdf5f2c68efb72ad83aec6673c7e"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:267b24f891e74eccbdff42241c5fb4f974de2d6271dcc7d7e0c9ae1079a560d9"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6907daa4b9d7a688063ed098c472f96e8181733c525e03e866fb5db480a424df"}, + {file = "yarl-1.11.1-cp39-cp39-win32.whl", hash = "sha256:14438dfc5015661f75f85bc5adad0743678eefee266ff0c9a8e32969d5d69f74"}, + {file = "yarl-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:94d0caaa912bfcdc702a4204cd5e2bb01eb917fc4f5ea2315aa23962549561b0"}, + {file = "yarl-1.11.1-py3-none-any.whl", hash = "sha256:72bf26f66456baa0584eff63e44545c9f0eaed9b73cb6601b647c91f14c11f38"}, + {file = "yarl-1.11.1.tar.gz", hash = "sha256:1bb2d9e212fb7449b8fb73bc461b51eaa17cc8430b4a87d87be7b25052d92f53"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + [[package]] name = "zipp" version = "3.20.2" @@ -2713,10 +3527,11 @@ docs = ["furo", "myst-parser", "pytest", "sphinx", "sphinx-copybutton", "sphinx- faker = ["faker"] jwt = ["PyJWT", "cryptography"] parquet = ["numpy", "numpy", "numpy", "pyarrow"] -s3 = ["fs-s3fs"] +s3 = ["fs-s3fs", "s3fs"] +ssh = ["paramiko"] testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "c951c963a600931c41fbf584967ba4e1ccd6cd832a63fce856c4936d8cd00508" +content-hash = "54b2b2caf41a6f8c058f4e40b00fb33031c86cdea138bce71d457a94a03f164b" diff --git a/pyproject.toml b/pyproject.toml index f1d8ed830..d93afc892 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,8 +43,9 @@ backoff = { version = ">=2.0.0", python = "<4" } backports-datetime-fromisoformat = { version = ">=2.0.1", python = "<3.11" } click = "~=8.0" fs = ">=2.4.16" -importlib-metadata = {version = "<9.0.0", python = "<3.12"} -importlib-resources = {version = ">=5.12.0,!=6.2.0,!=6.3.0,!=6.3.1", python = "<3.10"} +fsspec = ">=2024.9.0" +importlib-metadata = { version = "<9.0.0", python = "<3.12" } +importlib-resources = { version = ">=5.12.0,!=6.2.0,!=6.3.0,!=6.3.1", python = "<3.10" } inflection = ">=0.5.1" joblib = ">=1.3.0" jsonpath-ng = ">=1.5.3" @@ -76,6 +77,7 @@ sphinx-reredirects = {version = ">=0.1.5", python = ">=3.9", optional = true} # File storage dependencies installed as optional 'filesystem' extras fs-s3fs = {version = ">=1.1.1", optional = true} +s3fs = { version = ">=2024.9.0", optional = true } # Parquet file dependencies installed as optional 'parquet' extras # We add Python constraints to force Poetry to add the latest supported Numpy version @@ -99,6 +101,9 @@ faker = {version = ">=22.5", optional = true} cryptography = { version = ">=3.4.6", optional = true } PyJWT = { version = "~=2.4", optional = true } +# SSH extras +paramiko = ">=3.3.0" + [tool.poetry.extras] jwt = [ "cryptography", @@ -114,7 +119,8 @@ docs = [ "sphinx-notfound-page", "sphinx-reredirects", ] -s3 = ["fs-s3fs"] +s3 = ["fs-s3fs", "s3fs"] +ssh = ["paramiko"] testing = [ "pytest", ] @@ -129,8 +135,10 @@ duckdb = ">=0.8.0" duckdb-engine = { version = ">=0.9.4", python = "<4" } fastjsonschema = ">=2.19.1" +moto = ">=5.0.14" pytest-benchmark = ">=4.0.0" pytest-snapshot = ">=0.9.0" +pytest-subtests = ">=0.13.1" pytz = ">=2022.2.1" requests-cache = ">=1.2.1" requests-mock = ">=1.10.0" @@ -269,7 +277,9 @@ DEP002 = [ "sphinx-notfound-page", "sphinx-reredirects", # Plugins + "paramiko", "fs-s3fs", + "s3fs", ] [tool.mypy] @@ -288,6 +298,7 @@ warn_unused_ignores = true ignore_missing_imports = true module = [ "backports.datetime_fromisoformat.*", + "fsspec.*", # TODO: Remove when https://github.com/fsspec/filesystem_spec/issues/625 is addressed "joblib.*", # TODO: Remove when https://github.com/joblib/joblib/issues/1516 is shipped "jsonpath_ng.*", # TODO: Remove when https://github.com/h2non/jsonpath-ng/issues/152 is implemented and released "pyarrow.*", # TODO: Remove when https://github.com/apache/arrow/issues/32609 if implemented and released @@ -397,6 +408,7 @@ unfixable = [ "DOC", "FBT001", "FBT003", + "INP", # Allow implicit namespace packages in tests "PLR2004", "S101", "SLF001", diff --git a/samples/sample_tap_csv/client.py b/samples/sample_tap_csv/client.py index a35fd3510..c5a40bfe2 100644 --- a/samples/sample_tap_csv/client.py +++ b/samples/sample_tap_csv/client.py @@ -1,91 +1,52 @@ from __future__ import annotations import csv -import datetime -import os import typing as t -from singer_sdk import Stream -from singer_sdk.streams.core import REPLICATION_INCREMENTAL +from singer_sdk.contrib.filesystem import FileStream +from singer_sdk.contrib.filesystem.stream import SDC_META_FILEPATH if t.TYPE_CHECKING: - from singer_sdk.helpers.types import Context, Record - from singer_sdk.tap_base import Tap + from singer_sdk.helpers.types import Record -SDC_META_FILEPATH = "_sdc_path" -SDC_META_MODIFIED_AT = "_sdc_modified_at" +SDC_META_LINE_NUMBER = "_sdc_line_number" -def _to_datetime(value: float) -> str: - return datetime.datetime.fromtimestamp(value).astimezone() - -class CSVStream(Stream): +class CSVStream(FileStream): """CSV stream class.""" - def __init__( - self, - tap: Tap, - name: str | None = None, - *, - partitions: list[str] | None = None, - ) -> None: - # TODO(edgarmondragon): Build schema from CSV file. - schema = { - "type": ["object"], - "properties": { - SDC_META_FILEPATH: {"type": "string"}, - SDC_META_MODIFIED_AT: {"type": "string", "format": "date-time"}, - }, - "required": [], - "additionalProperties": {"type": "string"}, - } - super().__init__(tap, schema, name) - - # TODO(edgarrmondragon): Make this None if the filesytem does not support it. - self.replication_key = SDC_META_MODIFIED_AT - - self._partitions = partitions or [] - @property - def partitions(self) -> list[Context]: - return self._partitions - - def _read_file(self, path: str) -> t.Iterable[Record]: # noqa: PLR6301 - # Make these configurable. - delimiter = "," - quotechar = '"' - escapechar = None - doublequote = True - lineterminator = "\r\n" + def primary_keys(self) -> t.Sequence[str]: + return (SDC_META_FILEPATH, SDC_META_LINE_NUMBER) - # TODO: Use filesytem-specific file open method. - with open(path, encoding="utf-8") as file: # noqa: PTH123 + def get_schema(self, path: str) -> dict[str, t.Any]: + with self.filesystem.open(path, mode="r") as file: reader = csv.DictReader( file, - delimiter=delimiter, - quotechar=quotechar, - escapechar=escapechar, - doublequote=doublequote, - lineterminator=lineterminator, + delimiter=self.config["delimiter"], + quotechar=self.config["quotechar"], + escapechar=self.config.get("escapechar"), + doublequote=self.config["doublequote"], + lineterminator=self.config["lineterminator"], ) - yield from reader - - def get_records( - self, - context: Context | None, - ) -> t.Iterable[Record | tuple[Record, Context | None]]: - path: str = context[SDC_META_FILEPATH] - mtime = os.path.getmtime(path) # noqa: PTH204 - - if ( - self.replication_method is REPLICATION_INCREMENTAL - and (previous_bookmark := self.get_starting_timestamp(context)) - and _to_datetime(mtime) < previous_bookmark - ): - self.logger.info("File has not been modified since last read, skipping") - return - - for record in self._read_file(path): - record[SDC_META_MODIFIED_AT] = _to_datetime(mtime) - yield record + schema = { + "type": "object", + "properties": {key: {"type": "string"} for key in reader.fieldnames}, + } + schema["properties"][SDC_META_LINE_NUMBER] = {"type": "integer"} + return schema + + def read_file(self, path: str) -> t.Iterable[Record]: + with self.filesystem.open(path, mode="r") as file: + reader = csv.DictReader( + file, + delimiter=self.config["delimiter"], + quotechar=self.config["quotechar"], + escapechar=self.config.get("escapechar"), + doublequote=self.config["doublequote"], + lineterminator=self.config["lineterminator"], + ) + for record in reader: + record[SDC_META_LINE_NUMBER] = reader.line_num + yield record diff --git a/samples/sample_tap_csv/sample_tap_csv.py b/samples/sample_tap_csv/sample_tap_csv.py index 94b904ab1..71c8b3d1d 100644 --- a/samples/sample_tap_csv/sample_tap_csv.py +++ b/samples/sample_tap_csv/sample_tap_csv.py @@ -2,105 +2,47 @@ from __future__ import annotations -import enum -import functools -import os - import singer_sdk.typing as th -from samples.sample_tap_csv.client import SDC_META_FILEPATH, CSVStream -from singer_sdk import Tap - -DEFAULT_MERGE_STREAM_NAME = "files" - - -def file_path_to_stream_name(file_path: str) -> str: - """Convert a file path to a stream name.""" - return os.path.basename(file_path).replace(".csv", "").replace(os.sep, "__") # noqa: PTH119 - +from samples.sample_tap_csv.client import CSVStream +from singer_sdk.contrib.filesystem import FolderTap -class ReadMode(str, enum.Enum): - """Sync mode for the tap.""" - one_stream_per_file = "one_stream_per_file" - merge = "merge" - - -class SampleTapCSV(Tap): +class SampleTapCSV(FolderTap): """Sample Tap for CSV files.""" name = "sample-tap-csv" + valid_extensions: tuple[str, ...] = (".csv",) + default_stream_class = CSVStream config_jsonschema = th.PropertiesList( th.Property( - "path", + "delimiter", th.StringType, - required=True, - description="Path to CSV files.", + default=",", + description="Field delimiter character.", ), th.Property( - "read_mode", + "quotechar", th.StringType, - required=True, - description=( - "Use `one_stream_per_file` to read each file as a separate stream, or " - "`merge` to merge all files into a single stream." - ), - allowed_values=[ - ReadMode.one_stream_per_file, - ReadMode.merge, - ], + default='"', + description="Quote character.", ), th.Property( - "stream_name", + "escapechar", th.StringType, - required=True, - default=DEFAULT_MERGE_STREAM_NAME, - description="Name of the stream to use when `read_mode` is `merge`.", + default=None, + description="Escape character.", + ), + th.Property( + "doublequote", + th.BooleanType, + default=True, + description="Whether quotechar inside a field should be doubled.", + ), + th.Property( + "lineterminator", + th.StringType, + default="\r\n", + description="Line terminator character.", ), - # TODO(edgarmondragon): Other configuration options. ).to_dict() - - @functools.cached_property - def read_mode(self) -> ReadMode: - return ReadMode(self.config["read_mode"]) - - def discover_streams(self) -> list: - # TODO(edgarmondragon): Implement stream discovery, based on the configured path - # and read mode. - path: str = self.config[ - "path" - ] # a directory for now, but could be a glob pattern - - # One stream per file - if self.read_mode == ReadMode.one_stream_per_file: - if os.path.isdir(path): # noqa: PTH112 - return [ - CSVStream( - tap=self, - name=file_path_to_stream_name(member), - partitions=[{SDC_META_FILEPATH: os.path.join(path, member)}], # noqa: PTH118 - ) - for member in os.listdir(path) - if member.endswith(".csv") - ] - - msg = f"Path {path} is not a directory." - raise ValueError(msg) - - # Merge - if os.path.isdir(path): # noqa: PTH112 - contexts = [ - { - SDC_META_FILEPATH: os.path.join(path, member), # noqa: PTH118 - } - for member in os.listdir(path) - if member.endswith(".csv") - ] - return [ - CSVStream( - tap=self, - name=self.config["stream_name"], - partitions=contexts, - ) - ] - return [] diff --git a/singer_sdk/contrib/filesystem/__init__.py b/singer_sdk/contrib/filesystem/__init__.py new file mode 100644 index 000000000..00f479063 --- /dev/null +++ b/singer_sdk/contrib/filesystem/__init__.py @@ -0,0 +1,8 @@ +"""Filesystem interfaces for the Singer SDK.""" + +from __future__ import annotations + +from singer_sdk.contrib.filesystem.stream import FileStream +from singer_sdk.contrib.filesystem.tap import FolderTap + +__all__ = ["FileStream", "FolderTap"] diff --git a/singer_sdk/contrib/filesystem/config.py b/singer_sdk/contrib/filesystem/config.py new file mode 100644 index 000000000..eccd11fca --- /dev/null +++ b/singer_sdk/contrib/filesystem/config.py @@ -0,0 +1,99 @@ +"""JSON Schema for each filesystem configuration.""" + +from __future__ import annotations + +from singer_sdk import typing as th # JSON schema typing helpers + +# https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.implementations.ftp.FTPFileSystem +FTP = th.Property( + "ftp", + th.ObjectType( + th.Property( + "host", + th.StringType, + required=True, + description="FTP server host", + ), + th.Property( + "port", + th.IntegerType, + default=21, + description="FTP server port", + ), + th.Property( + "username", + th.StringType, + description="FTP username", + ), + th.Property( + "password", + th.StringType, + secret=True, + description="FTP password", + ), + th.Property( + "timeout", + th.IntegerType, + default=60, + description="Timeout of the FTP connection in seconds", + ), + th.Property( + "encoding", + th.StringType, + default="utf-8", + description="FTP server encoding", + ), + ), + description="FTP connection settings", +) + + +# https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.implementations.sftp.SFTPFileSystem +SFTP = th.Property( + "sftp", + th.ObjectType( + th.Property( + "host", + th.StringType, + required=True, + description="SFTP server host", + ), + th.Property( + "ssh_kwargs", + th.ObjectType( + th.Property( + "port", + th.IntegerType, + default=22, + description="SFTP server port", + ), + th.Property( + "username", + th.StringType, + required=True, + description="SFTP username", + ), + th.Property( + "password", + th.StringType, + secret=True, + description="SFTP password", + ), + th.Property( + "pkey", + th.StringType, + secret=True, + description="Private key", + ), + th.Property( + "timeout", + th.IntegerType, + default=60, + description="Timeout of the SFTP connection in seconds", + ), + ), + description="SSH connection settings", + ), + ), + description="SFTP connection settings", +) diff --git a/singer_sdk/contrib/filesystem/stream.py b/singer_sdk/contrib/filesystem/stream.py new file mode 100644 index 000000000..4c1b285de --- /dev/null +++ b/singer_sdk/contrib/filesystem/stream.py @@ -0,0 +1,141 @@ +"""Stream class for reading from files.""" + +from __future__ import annotations + +import abc +import functools +import typing as t + +from singer_sdk import Stream +from singer_sdk.exceptions import ConfigValidationError +from singer_sdk.helpers._util import utc_now +from singer_sdk.streams.core import REPLICATION_INCREMENTAL + +if t.TYPE_CHECKING: + import datetime + + import fsspec + + from singer_sdk.helpers.types import Context, Record + from singer_sdk.tap_base import Tap + +SDC_META_FILEPATH = "_sdc_path" +SDC_META_MODIFIED_AT = "_sdc_modified_at" + + +class FileStream(Stream, metaclass=abc.ABCMeta): + """Abstract base class for file streams.""" + + SDC_PROPERTIES: t.ClassVar[dict[str, dict]] = { + SDC_META_FILEPATH: {"type": "string"}, + SDC_META_MODIFIED_AT: {"type": ["string", "null"], "format": "date-time"}, + } + + def __init__( + self, + tap: Tap, + name: str, + *, + filepaths: t.Sequence[str], + filesystem: fsspec.AbstractFileSystem, + ) -> None: + """Create a new FileStream instance. + + Args: + tap: The tap for this stream. + name: The name of the stream. + filepaths: List of file paths to read. + filesystem: The filesystem implementation object to use. + mode: The read mode for the stream. + + Raises: + ConfigValidationError: If no file paths are provided. + """ + if not filepaths: # pragma: no cover + msg = "Configuration error" + raise ConfigValidationError(msg, errors=["No file paths provided"]) + + self._filepaths = filepaths + self.filesystem = filesystem + + super().__init__(tap, schema=None, name=name) + + # TODO(edgarrmondragon): Make this None if the filesytem does not support it. + self.replication_key = SDC_META_MODIFIED_AT + self._sync_start_time = utc_now() + self._partitions = [{SDC_META_FILEPATH: path} for path in self._filepaths] + + @property + def partitions(self) -> list[dict[str, t.Any]]: + """Return the list of partitions for this stream.""" + return self._partitions + + def _get_full_schema(self) -> dict[str, t.Any]: + """Return the full schema for the stream. + + Args: + context: Stream partition or context dictionary. + + Returns: + The full schema for the stream. + """ + path: str = self._filepaths[0] + schema = self.get_schema(path) + schema["properties"].update(self.SDC_PROPERTIES) + return schema + + @functools.cached_property + def schema(self) -> dict[str, t.Any]: + """Return the schema for the stream.""" + return self._get_full_schema() + + def get_records( + self, + context: Context | None, + ) -> t.Iterable[dict | tuple[dict, dict | None]]: + """Read records from the file. + + Args: + context: Stream partition or context dictionary. + + Yields: + Record or tuple of Record and child context. + + Raises: + RuntimeError: If context is not provided. + """ + if not context: # pragma: no cover + # TODO: Raise a more specific error. + msg = f"Context is required for {self.name}" + raise RuntimeError(msg) + + path: str = context[SDC_META_FILEPATH] + + mtime: datetime.datetime | None + try: + mtime: datetime.datetime = self.filesystem.modified(path) # type: ignore[no-redef] + except NotImplementedError: # pragma: no cover + self.logger.warning("Filesystem does not support modified time") + mtime = None + + if ( + self.replication_method is REPLICATION_INCREMENTAL + and (previous_bookmark := self.get_starting_timestamp(context)) + and mtime is not None + and mtime < previous_bookmark + ): + self.logger.info("File has not been modified since last read, skipping") + return + + for record in self.read_file(path): + record[SDC_META_MODIFIED_AT] = mtime or self._sync_start_time + record[SDC_META_FILEPATH] = path + yield record + + @abc.abstractmethod + def get_schema(self, path: str) -> dict[str, t.Any]: + """Return the schema for the file.""" + + @abc.abstractmethod + def read_file(self, path: str) -> t.Iterable[Record]: + """Return a generator of records from the file.""" diff --git a/singer_sdk/contrib/filesystem/tap.py b/singer_sdk/contrib/filesystem/tap.py new file mode 100644 index 000000000..f2fd7c352 --- /dev/null +++ b/singer_sdk/contrib/filesystem/tap.py @@ -0,0 +1,193 @@ +"""Singer tap for files in a directory.""" + +from __future__ import annotations + +import enum +import functools +import logging +import os +import typing as t +from pathlib import Path + +import fsspec + +import singer_sdk.typing as th +from singer_sdk import Tap +from singer_sdk.contrib.filesystem import config as filesystem_config +from singer_sdk.contrib.filesystem.stream import FileStream +from singer_sdk.exceptions import ConfigValidationError + +logger = logging.getLogger(__name__) + +DEFAULT_MERGE_STREAM_NAME = "files" + + +class ReadMode(str, enum.Enum): + """Sync mode for the tap.""" + + one_stream_per_file = "one_stream_per_file" + merge = "merge" + + +BASE_CONFIG_SCHEMA = th.PropertiesList( + th.Property( + "filesystem", + th.StringType, + required=True, + default="local", + allowed_values=["local", "ftp", "sftp"], + description="The filesystem to use.", + ), + th.Property( + "path", + th.StringType, + required=True, + description="Path to the directory where the files are stored.", + ), + th.Property( + "read_mode", + th.StringType, + required=True, + description=( + "Use `one_stream_per_file` to read each file as a separate stream, or " + "`merge` to merge all files into a single stream." + ), + allowed_values=list(ReadMode), + ), + th.Property( + "stream_name", + th.StringType, + required=True, + default=DEFAULT_MERGE_STREAM_NAME, + description="Name of the stream to use when `read_mode` is `merge`.", + ), + filesystem_config.FTP, + filesystem_config.SFTP, +).to_dict() + + +def file_path_to_stream_name(file_path: str) -> str: + """Convert a file path to a stream name. + + - Get rid of any extensions + - Preserve the full path, but replace slashes with double underscores + + Args: + file_path: The file path to convert. + + Returns: + The stream name. + """ + path_obj = Path(file_path) + return path_obj.with_suffix("").as_posix().replace("/", "__") + + +_T = t.TypeVar("_T", bound=FileStream) + + +class FolderTap(Tap, t.Generic[_T]): + """Singer tap for files in a directory.""" + + valid_extensions: tuple[str, ...] + """Valid file extensions for this tap. + + Files with extensions not in this list will be ignored. + """ + + default_stream_class: type[_T] + """The default stream class to use for this tap. + + This should be a subclass of `FileStream`. + """ + + config_jsonschema: t.ClassVar[dict] = {"properties": {}} + + @classmethod + def append_builtin_config(cls: type[FolderTap], config_jsonschema: dict) -> None: + """Appends built-in config to `config_jsonschema` if not already set. + + To customize or disable this behavior, developers may either override this class + method or override the `capabilities` property to disabled any unwanted + built-in capabilities. + + For all except very advanced use cases, we recommend leaving these + implementations "as-is", since this provides the most choice to users and is + the most "future proof" in terms of taking advantage of built-in capabilities + which may be added in the future. + + Args: + config_jsonschema: [description] + """ + + def _merge_missing(source_jsonschema: dict, target_jsonschema: dict) -> None: + # Append any missing properties in the target with those from source. + for k, v in source_jsonschema["properties"].items(): + if k not in target_jsonschema["properties"]: + target_jsonschema["properties"][k] = v + + _merge_missing(BASE_CONFIG_SCHEMA, config_jsonschema) + + super().append_builtin_config(config_jsonschema) + + @functools.cached_property + def read_mode(self) -> ReadMode: + """Folder read mode.""" + return ReadMode(self.config["read_mode"]) + + @functools.cached_property + def fs(self) -> fsspec.AbstractFileSystem: + """Return the filesystem object. + + Raises: + ConfigValidationError: If the filesystem configuration is missing. + """ + protocol = self.config["filesystem"] + if protocol != "local" and protocol not in self.config: # pragma: no cover + msg = "Filesytem configuration is missing" + raise ConfigValidationError( + msg, + errors=[f"Missing configuration for filesystem {protocol}"], + ) + logger.info("Instatiating filesystem inteface: '%s'", protocol) + return fsspec.filesystem(protocol, **self.config.get(protocol, {})) + + def discover_streams(self) -> list: + """Return a list of discovered streams. + + Raises: + ValueError: If the path does not exist or is not a directory. + """ + # A directory for now, but could be a glob pattern. + path: str = self.config["path"] + + if not self.fs.exists(path) or not self.fs.isdir(path): # pragma: no cover + # Raise a more specific error if the path is not a directory. + msg = f"Path {path} does not exist or is not a directory" + raise ValueError(msg) + + # One stream per file + if self.read_mode == ReadMode.one_stream_per_file: + return [ + self.default_stream_class( + tap=self, + name=file_path_to_stream_name(member), + filepaths=[os.path.join(path, member)], # noqa: PTH118 + filesystem=self.fs, + ) + for member in os.listdir(path) + if member.endswith(self.valid_extensions) + ] + + # Merge + return [ + self.default_stream_class( + tap=self, + name=self.config["stream_name"], + filepaths=[ + os.path.join(path, member) # noqa: PTH118 + for member in os.listdir(path) + if member.endswith(self.valid_extensions) + ], + filesystem=self.fs, + ) + ] diff --git a/singer_sdk/streams/core.py b/singer_sdk/streams/core.py index c65bc87dc..550b99809 100644 --- a/singer_sdk/streams/core.py +++ b/singer_sdk/streams/core.py @@ -735,7 +735,7 @@ def stream_state(self) -> dict: # Partitions @property - def partitions(self) -> list[types.Context] | None: + def partitions(self) -> list[dict] | None: """Get stream partitions. Developers may override this property to provide a default partitions list. @@ -746,7 +746,7 @@ def partitions(self) -> list[types.Context] | None: Returns: A list of partition key dicts (if applicable), otherwise `None`. """ - result: list[types.Mapping] = [ + result: list[dict] = [ partition_state["context"] for partition_state in ( get_state_partitions_list(self.tap_state, self.name) or [] @@ -1106,7 +1106,7 @@ def _sync_records( # noqa: C901 record_index = 0 context_element: types.Context | None - context_list: list[types.Context] | None + context_list: list[types.Context] | list[dict] | None context_list = [context] if context is not None else self.partitions selected = self.selected diff --git a/tests/samples/test_tap_csv.py b/tests/samples/test_tap_csv.py index d7f3ae088..cb16e0e0e 100644 --- a/tests/samples/test_tap_csv.py +++ b/tests/samples/test_tap_csv.py @@ -1,9 +1,11 @@ from __future__ import annotations +import datetime + import pytest from samples.sample_tap_csv.sample_tap_csv import SampleTapCSV -from singer_sdk.testing import get_tap_test_class +from singer_sdk.testing import SuiteConfig, get_tap_test_class _TestCSVMerge = get_tap_test_class( tap_class=SampleTapCSV, @@ -11,26 +13,73 @@ "path": "fixtures/csv", "read_mode": "merge", "stream_name": "people", + "delimiter": "\t", }, ) class TestCSVMerge(_TestCSVMerge): - @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) - def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): - super().test_tap_stream_record_schema_matches_transformed_catalog(stream) + pass -TestCSVOneStreamPerFile = get_tap_test_class( +_TestCSVOneStreamPerFile = get_tap_test_class( tap_class=SampleTapCSV, config={ "path": "fixtures/csv", "read_mode": "one_stream_per_file", + "delimiter": "\t", }, ) -class TestCSVOneStreamPerFile(TestCSVOneStreamPerFile): - @pytest.mark.xfail(reason="Schema generation not implemented", strict=True) - def test_tap_stream_record_schema_matches_transformed_catalog(self, stream: str): - super().test_tap_stream_record_schema_matches_transformed_catalog(stream) +class TestCSVOneStreamPerFile(_TestCSVOneStreamPerFile): + pass + + +# Three days into the future. +FUTURE = datetime.datetime.now(tz=datetime.timezone.utc) + datetime.timedelta(days=3) + +STATE = { + "bookmarks": { + "customers": { + "partitions": [ + { + "context": {"_sdc_path": "fixtures/csv/customers.csv"}, + "replication_key": "_sdc_modified_at", + "replication_key_value": FUTURE.isoformat(), + } + ] + }, + "employees": { + "partitions": [ + { + "context": {"_sdc_path": "fixtures/csv/employees.csv"}, + "replication_key": "_sdc_modified_at", + "replication_key_value": FUTURE.isoformat(), + } + ] + }, + } +} + + +_TestCSVOneStreamPerFileIncremental = get_tap_test_class( + tap_class=SampleTapCSV, + config={ + "path": "fixtures/csv", + "read_mode": "one_stream_per_file", + "delimiter": "\t", + }, + state=STATE, + suite_config=SuiteConfig(ignore_no_records=True), +) + + +class TestCSVOneStreamPerFileIncremental(_TestCSVOneStreamPerFileIncremental): + @pytest.mark.xfail(reason="No records are extracted", strict=True) + def test_tap_stream_transformed_catalog_schema_matches_record(self, stream: str): + super().test_tap_stream_transformed_catalog_schema_matches_record(stream) + + @pytest.mark.xfail(reason="No records are extracted", strict=True) + def test_tap_stream_returns_record(self, stream: str): + super().test_tap_stream_returns_record(stream) From eb48cf6b2d0de5f97797b7f882d2e59766b9b231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:33:48 -0600 Subject: [PATCH 26/49] refactor(templates): Use tox without installing Poetry explicitly in workflows (#2696) * refactor(templates): Use tox without installing Poetry explicitly in workflows * Fix YAML template --- .../.github/workflows/test.yml | 12 +++--------- .../.github/workflows/test.yml | 12 +++--------- .../.github/workflows/test.yml | 12 +++--------- samples/sample_tap_csv/client.py | 5 +++++ 4 files changed, 14 insertions(+), 27 deletions(-) diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml index 929567e8c..fd66735dc 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/.github/workflows/test.yml @@ -44,13 +44,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: {{ '${{ matrix.python-version }}' }} - - name: Install Poetry + - run: pipx install tox + - name: Run Tox run: | - pip install poetry - - name: Install dependencies - run: | - poetry env use {{ '${{ matrix.python-version }}' }} - poetry install - - name: Test with pytest - run: | - poetry run pytest + tox -e $(echo py{{ '${{ matrix.python-version }}' }} | tr -d .) diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml index d8772f156..ed9549bca 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/.github/workflows/test.yml @@ -44,13 +44,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: {{ '${{ matrix.python-version }}' }} - - name: Install Poetry + - run: pipx install tox + - name: Run Tox run: | - pip install poetry - - name: Install dependencies - run: | - poetry env use {{ '${{ matrix.python-version }}' }} - poetry install - - name: Test with pytest - run: | - poetry run pytest + tox -e $(echo py{{ '${{ matrix.python-version }}' }} | tr -d .) diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml index 01362f096..9a098a000 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/.github/workflows/test.yml @@ -44,13 +44,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: {{ '${{ matrix.python-version }}' }} - - name: Install Poetry + - run: pipx install tox + - name: Run Tox run: | - pip install poetry - - name: Install dependencies - run: | - poetry env use {{ '${{ matrix.python-version }}' }} - poetry install - - name: Test with pytest - run: | - poetry run pytest + tox -e $(echo py{{ '${{ matrix.python-version }}' }} | tr -d .) diff --git a/samples/sample_tap_csv/client.py b/samples/sample_tap_csv/client.py index c5a40bfe2..e0767cb19 100644 --- a/samples/sample_tap_csv/client.py +++ b/samples/sample_tap_csv/client.py @@ -1,3 +1,5 @@ +"""Stream class for CSV files.""" + from __future__ import annotations import csv @@ -18,9 +20,11 @@ class CSVStream(FileStream): @property def primary_keys(self) -> t.Sequence[str]: + """Return the primary key fields for records in this stream.""" return (SDC_META_FILEPATH, SDC_META_LINE_NUMBER) def get_schema(self, path: str) -> dict[str, t.Any]: + """Return a schema for the given file.""" with self.filesystem.open(path, mode="r") as file: reader = csv.DictReader( file, @@ -38,6 +42,7 @@ def get_schema(self, path: str) -> dict[str, t.Any]: return schema def read_file(self, path: str) -> t.Iterable[Record]: + """Read the given file and emit records.""" with self.filesystem.open(path, mode="r") as file: reader = csv.DictReader( file, From 743bfafc36ac00c5470eed89611c585ce2406e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:39:31 -0600 Subject: [PATCH 27/49] fix: All HTTP timeout exceptions are now retried in REST and GraphQL streams (#2697) --- singer_sdk/streams/rest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/singer_sdk/streams/rest.py b/singer_sdk/streams/rest.py index 4eef8e268..7f1f6fb89 100644 --- a/singer_sdk/streams/rest.py +++ b/singer_sdk/streams/rest.py @@ -253,7 +253,7 @@ def request_decorator(self, func: t.Callable) -> t.Callable: ( ConnectionResetError, RetriableAPIError, - requests.exceptions.ReadTimeout, + requests.exceptions.Timeout, requests.exceptions.ConnectionError, requests.exceptions.ChunkedEncodingError, requests.exceptions.ContentDecodingError, From 15371f859f6df00a175012c822dae117f7d95dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= Date: Wed, 2 Oct 2024 15:00:48 -0600 Subject: [PATCH 28/49] chore: Run `poetry lock` --- poetry.lock | 578 ++++++++++++++++++++++++++-------------------------- 1 file changed, 293 insertions(+), 285 deletions(-) diff --git a/poetry.lock b/poetry.lock index 6ace88a87..3d95d2389 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,134 +2,134 @@ [[package]] name = "aiobotocore" -version = "2.15.0" +version = "2.15.1" description = "Async client for aws services using botocore and aiohttp" optional = true python-versions = ">=3.8" files = [ - {file = "aiobotocore-2.15.0-py3-none-any.whl", hash = "sha256:6d0b4a51d70bc33b1b4eba411076b0cc979aecbdad8e084bab202202423c0725"}, - {file = "aiobotocore-2.15.0.tar.gz", hash = "sha256:988eef33fd9dd4b070959cfec922278e84166950695b2160bd581623cb6a420c"}, + {file = "aiobotocore-2.15.1-py3-none-any.whl", hash = "sha256:0f738cde74108553b753b24655094289a3c7ea0f0f179ed1c0f8cea488999a35"}, + {file = "aiobotocore-2.15.1.tar.gz", hash = "sha256:1f9f16eec2a3da32df162b5db12da779ec6d6c6311715c936cad511f436efa74"}, ] [package.dependencies] aiohttp = ">=3.9.2,<4.0.0" aioitertools = ">=0.5.1,<1.0.0" -botocore = ">=1.35.16,<1.35.17" +botocore = ">=1.35.16,<1.35.24" wrapt = ">=1.10.10,<2.0.0" [package.extras] -awscli = ["awscli (>=1.34.16,<1.34.17)"] -boto3 = ["boto3 (>=1.35.16,<1.35.17)"] +awscli = ["awscli (>=1.34.16,<1.34.24)"] +boto3 = ["boto3 (>=1.35.16,<1.35.24)"] [[package]] name = "aiohappyeyeballs" -version = "2.4.0" +version = "2.4.3" description = "Happy Eyeballs for asyncio" optional = true python-versions = ">=3.8" files = [ - {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, - {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, + {file = "aiohappyeyeballs-2.4.3-py3-none-any.whl", hash = "sha256:8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572"}, + {file = "aiohappyeyeballs-2.4.3.tar.gz", hash = "sha256:75cf88a15106a5002a8eb1dab212525c00d1f4c0fa96e551c9fbe6f09a621586"}, ] [[package]] name = "aiohttp" -version = "3.10.5" +version = "3.10.8" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.8" files = [ - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, - {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, - {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, - {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, - {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, - {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, - {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, - {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, - {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511"}, - {file = "aiohttp-3.10.5-cp38-cp38-win32.whl", hash = "sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a"}, - {file = "aiohttp-3.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, - {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, - {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, - {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, + {file = "aiohttp-3.10.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a1ba7bc139592339ddeb62c06486d0fa0f4ca61216e14137a40d626c81faf10c"}, + {file = "aiohttp-3.10.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85e4d7bd05d18e4b348441e7584c681eff646e3bf38f68b2626807f3add21aa2"}, + {file = "aiohttp-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:69de056022e7abf69cb9fec795515973cc3eeaff51e3ea8d72a77aa933a91c52"}, + {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee3587506898d4a404b33bd19689286ccf226c3d44d7a73670c8498cd688e42c"}, + {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe285a697c851734285369614443451462ce78aac2b77db23567507484b1dc6f"}, + {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10c7932337285a6bfa3a5fe1fd4da90b66ebfd9d0cbd1544402e1202eb9a8c3e"}, + {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd9716ef0224fe0d0336997eb242f40619f9f8c5c57e66b525a1ebf9f1d8cebe"}, + {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceacea31f8a55cdba02bc72c93eb2e1b77160e91f8abd605969c168502fd71eb"}, + {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9721554bfa9e15f6e462da304374c2f1baede3cb06008c36c47fa37ea32f1dc4"}, + {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:22cdeb684d8552490dd2697a5138c4ecb46f844892df437aaf94f7eea99af879"}, + {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e56bb7e31c4bc79956b866163170bc89fd619e0581ce813330d4ea46921a4881"}, + {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3a95d2686bc4794d66bd8de654e41b5339fab542b2bca9238aa63ed5f4f2ce82"}, + {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d82404a0e7b10e0d7f022cf44031b78af8a4f99bd01561ac68f7c24772fed021"}, + {file = "aiohttp-3.10.8-cp310-cp310-win32.whl", hash = "sha256:4e10b04542d27e21538e670156e88766543692a0a883f243ba8fad9ddea82e53"}, + {file = "aiohttp-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:680dbcff5adc7f696ccf8bf671d38366a1f620b5616a1d333d0cb33956065395"}, + {file = "aiohttp-3.10.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:33a68011a38020ed4ff41ae0dbf4a96a202562ecf2024bdd8f65385f1d07f6ef"}, + {file = "aiohttp-3.10.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c7efa6616a95e3bd73b8a69691012d2ef1f95f9ea0189e42f338fae080c2fc6"}, + {file = "aiohttp-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddb9b9764cfb4459acf01c02d2a59d3e5066b06a846a364fd1749aa168efa2be"}, + {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7f270f4ca92760f98a42c45a58674fff488e23b144ec80b1cc6fa2effed377"}, + {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6984dda9d79064361ab58d03f6c1e793ea845c6cfa89ffe1a7b9bb400dfd56bd"}, + {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f6d47e392c27206701565c8df4cac6ebed28fdf6dcaea5b1eea7a4631d8e6db"}, + {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a72f89aea712c619b2ca32c6f4335c77125ede27530ad9705f4f349357833695"}, + {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36074b26f3263879ba8e4dbd33db2b79874a3392f403a70b772701363148b9f"}, + {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e32148b4a745e70a255a1d44b5664de1f2e24fcefb98a75b60c83b9e260ddb5b"}, + {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5aa1a073514cf59c81ad49a4ed9b5d72b2433638cd53160fd2f3a9cfa94718db"}, + {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d3a79200a9d5e621c4623081ddb25380b713c8cf5233cd11c1aabad990bb9381"}, + {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e45fdfcb2d5bcad83373e4808825b7512953146d147488114575780640665027"}, + {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f78e2a78432c537ae876a93013b7bc0027ba5b93ad7b3463624c4b6906489332"}, + {file = "aiohttp-3.10.8-cp311-cp311-win32.whl", hash = "sha256:f8179855a4e4f3b931cb1764ec87673d3fbdcca2af496c8d30567d7b034a13db"}, + {file = "aiohttp-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:ef9b484604af05ca745b6108ca1aaa22ae1919037ae4f93aaf9a37ba42e0b835"}, + {file = "aiohttp-3.10.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ab2d6523575fc98896c80f49ac99e849c0b0e69cc80bf864eed6af2ae728a52b"}, + {file = "aiohttp-3.10.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f5d5d5401744dda50b943d8764508d0e60cc2d3305ac1e6420935861a9d544bc"}, + {file = "aiohttp-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de23085cf90911600ace512e909114385026b16324fa203cc74c81f21fd3276a"}, + {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4618f0d2bf523043866a9ff8458900d8eb0a6d4018f251dae98e5f1fb699f3a8"}, + {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21c1925541ca84f7b5e0df361c0a813a7d6a56d3b0030ebd4b220b8d232015f9"}, + {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:497a7d20caea8855c5429db3cdb829385467217d7feb86952a6107e033e031b9"}, + {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c887019dbcb4af58a091a45ccf376fffe800b5531b45c1efccda4bedf87747ea"}, + {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40d2d719c3c36a7a65ed26400e2b45b2d9ed7edf498f4df38b2ae130f25a0d01"}, + {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:57359785f27394a8bcab0da6dcd46706d087dfebf59a8d0ad2e64a4bc2f6f94f"}, + {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a961ee6f2cdd1a2be4735333ab284691180d40bad48f97bb598841bfcbfb94ec"}, + {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:fe3d79d6af839ffa46fdc5d2cf34295390894471e9875050eafa584cb781508d"}, + {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a281cba03bdaa341c70b7551b2256a88d45eead149f48b75a96d41128c240b3"}, + {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c6769d71bfb1ed60321363a9bc05e94dcf05e38295ef41d46ac08919e5b00d19"}, + {file = "aiohttp-3.10.8-cp312-cp312-win32.whl", hash = "sha256:a3081246bab4d419697ee45e555cef5cd1def7ac193dff6f50be761d2e44f194"}, + {file = "aiohttp-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:ab1546fc8e00676febc81c548a876c7bde32f881b8334b77f84719ab2c7d28dc"}, + {file = "aiohttp-3.10.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b1a012677b8e0a39e181e218de47d6741c5922202e3b0b65e412e2ce47c39337"}, + {file = "aiohttp-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2df786c96c57cd6b87156ba4c5f166af7b88f3fc05f9d592252fdc83d8615a3c"}, + {file = "aiohttp-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8885ca09d3a9317219c0831276bfe26984b17b2c37b7bf70dd478d17092a4772"}, + {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dbf252ac19860e0ab56cd480d2805498f47c5a2d04f5995d8d8a6effd04b48c"}, + {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2036479b6b94afaaca7d07b8a68dc0e67b0caf5f6293bb6a5a1825f5923000"}, + {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:365783e1b7c40b59ed4ce2b5a7491bae48f41cd2c30d52647a5b1ee8604c68ad"}, + {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:270e653b5a4b557476a1ed40e6b6ce82f331aab669620d7c95c658ef976c9c5e"}, + {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8960fabc20bfe4fafb941067cda8e23c8c17c98c121aa31c7bf0cdab11b07842"}, + {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f21e8f2abed9a44afc3d15bba22e0dfc71e5fa859bea916e42354c16102b036f"}, + {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fecd55e7418fabd297fd836e65cbd6371aa4035a264998a091bbf13f94d9c44d"}, + {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:badb51d851358cd7535b647bb67af4854b64f3c85f0d089c737f75504d5910ec"}, + {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e860985f30f3a015979e63e7ba1a391526cdac1b22b7b332579df7867848e255"}, + {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:71462f8eeca477cbc0c9700a9464e3f75f59068aed5e9d4a521a103692da72dc"}, + {file = "aiohttp-3.10.8-cp313-cp313-win32.whl", hash = "sha256:177126e971782769b34933e94fddd1089cef0fe6b82fee8a885e539f5b0f0c6a"}, + {file = "aiohttp-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:98a4eb60e27033dee9593814ca320ee8c199489fbc6b2699d0f710584db7feb7"}, + {file = "aiohttp-3.10.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ffef3d763e4c8fc97e740da5b4d0f080b78630a3914f4e772a122bbfa608c1db"}, + {file = "aiohttp-3.10.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:597128cb7bc5f068181b49a732961f46cb89f85686206289d6ccb5e27cb5fbe2"}, + {file = "aiohttp-3.10.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f23a6c1d09de5de89a33c9e9b229106cb70dcfdd55e81a3a3580eaadaa32bc92"}, + {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da57af0c54a302b7c655fa1ccd5b1817a53739afa39924ef1816e7b7c8a07ccb"}, + {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e7a6af57091056a79a35104d6ec29d98ec7f1fb7270ad9c6fff871b678d1ff8"}, + {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32710d6b3b6c09c60c794d84ca887a3a2890131c0b02b3cefdcc6709a2260a7c"}, + {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b91f4f62ad39a8a42d511d66269b46cb2fb7dea9564c21ab6c56a642d28bff5"}, + {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:471a8c47344b9cc309558b3fcc469bd2c12b49322b4b31eb386c4a2b2d44e44a"}, + {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc0e7f91705445d79beafba9bb3057dd50830e40fe5417017a76a214af54e122"}, + {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:85431c9131a9a0f65260dc7a65c800ca5eae78c4c9931618f18c8e0933a0e0c1"}, + {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:b91557ee0893da52794b25660d4f57bb519bcad8b7df301acd3898f7197c5d81"}, + {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:4954e6b06dd0be97e1a5751fc606be1f9edbdc553c5d9b57d72406a8fbd17f9d"}, + {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a087c84b4992160ffef7afd98ef24177c8bd4ad61c53607145a8377457385100"}, + {file = "aiohttp-3.10.8-cp38-cp38-win32.whl", hash = "sha256:e1f0f7b27171b2956a27bd8f899751d0866ddabdd05cbddf3520f945130a908c"}, + {file = "aiohttp-3.10.8-cp38-cp38-win_amd64.whl", hash = "sha256:c4916070e12ae140110aa598031876c1bf8676a36a750716ea0aa5bd694aa2e7"}, + {file = "aiohttp-3.10.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5284997e3d88d0dfb874c43e51ae8f4a6f4ca5b90dcf22995035187253d430db"}, + {file = "aiohttp-3.10.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9443d9ebc5167ce1fbb552faf2d666fb22ef5716a8750be67efd140a7733738c"}, + {file = "aiohttp-3.10.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b667e2a03407d79a76c618dc30cedebd48f082d85880d0c9c4ec2faa3e10f43e"}, + {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98fae99d5c2146f254b7806001498e6f9ffb0e330de55a35e72feb7cb2fa399b"}, + {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8296edd99d0dd9d0eb8b9e25b3b3506eef55c1854e9cc230f0b3f885f680410b"}, + {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ce46dfb49cfbf9e92818be4b761d4042230b1f0e05ffec0aad15b3eb162b905"}, + {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c38cfd355fd86c39b2d54651bd6ed7d63d4fe3b5553f364bae3306e2445f847"}, + {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:713dff3f87ceec3bde4f3f484861464e722cf7533f9fa6b824ec82bb5a9010a7"}, + {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:21a72f4a9c69a8567a0aca12042f12bba25d3139fd5dd8eeb9931f4d9e8599cd"}, + {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6d1ad868624f6cea77341ef2877ad4e71f7116834a6cd7ec36ec5c32f94ee6ae"}, + {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a78ba86d5a08207d1d1ad10b97aed6ea48b374b3f6831d02d0b06545ac0f181e"}, + {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:aff048793d05e1ce05b62e49dccf81fe52719a13f4861530706619506224992b"}, + {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d088ca05381fd409793571d8e34eca06daf41c8c50a05aeed358d2d340c7af81"}, + {file = "aiohttp-3.10.8-cp39-cp39-win32.whl", hash = "sha256:ee97c4e54f457c366e1f76fbbf3e8effee9de57dae671084a161c00f481106ce"}, + {file = "aiohttp-3.10.8-cp39-cp39-win_amd64.whl", hash = "sha256:d95ae4420669c871667aad92ba8cce6251d61d79c1a38504621094143f94a8b4"}, + {file = "aiohttp-3.10.8.tar.gz", hash = "sha256:21f8225f7dc187018e8433c9326be01477fb2810721e048b33ac49091b19fb4a"}, ] [package.dependencies] @@ -139,7 +139,7 @@ async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" -yarl = ">=1.0,<2.0" +yarl = ">=1.12.0,<2.0" [package.extras] speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] @@ -372,17 +372,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.16" +version = "1.35.23" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.16-py3-none-any.whl", hash = "sha256:9c5b0ce4a25bb78d659478d1c552f1dbb7ff275aab3263bb41cdbef8bca28693"}, - {file = "boto3-1.35.16.tar.gz", hash = "sha256:9b96c210678cf430b16b49dee87db30f46044602bb9a605a465e1900f468a43f"}, + {file = "boto3-1.35.23-py3-none-any.whl", hash = "sha256:ecba4362f82e23ef775c72b3e6fdef3ef68443629b79e88886d5088302ffc050"}, + {file = "boto3-1.35.23.tar.gz", hash = "sha256:3fbf1d5b749c92ed43aa190650979dff9f83790a42522e1e9eefa54c8e44bc4b"}, ] [package.dependencies] -botocore = ">=1.35.16,<1.36.0" +botocore = ">=1.35.23,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -391,13 +391,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.16" +version = "1.35.23" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.16-py3-none-any.whl", hash = "sha256:3564a980d95ff2861a6ca74313173d8778aa659125c63cf49c93ad23896c63b1"}, - {file = "botocore-1.35.16.tar.gz", hash = "sha256:1b48c94e8a4bbe23143f3d1c21a32b9ffc7476b651ef42371ab45d678f6dbfbc"}, + {file = "botocore-1.35.23-py3-none-any.whl", hash = "sha256:cab9ec4e0367b9f33f0bc02c5a29f587b0119ecffd6d125bacee085dcbc8817d"}, + {file = "botocore-1.35.23.tar.gz", hash = "sha256:25b17a9ccba6ad32bb5bf7ba4f52656aa03c1cb29f6b4e438050ee4ad1967a3b"}, ] [package.dependencies] @@ -413,13 +413,13 @@ crt = ["awscrt (==0.21.5)"] [[package]] name = "cattrs" -version = "24.1.1" +version = "24.1.2" description = "Composable complex class support for attrs and dataclasses." optional = false python-versions = ">=3.8" files = [ - {file = "cattrs-24.1.1-py3-none-any.whl", hash = "sha256:ec8ce8fdc725de9d07547cd616f968670687c6fa7a2e263b088370c46d834d97"}, - {file = "cattrs-24.1.1.tar.gz", hash = "sha256:16e94a13f9aaf6438bd5be5df521e072b1b00481b4cf807bcb1acbd49f814c08"}, + {file = "cattrs-24.1.2-py3-none-any.whl", hash = "sha256:67c7495b760168d931a10233f979b28dc04daf853b30752246f4f8471c6d68d0"}, + {file = "cattrs-24.1.2.tar.gz", hash = "sha256:8028cfe1ff5382df59dd36474a86e02d817b06eaf8af84555441bac915d2ef85"}, ] [package.dependencies] @@ -917,17 +917,18 @@ test = ["pytest (>=6)"] [[package]] name = "faker" -version = "30.0.0" +version = "30.1.0" description = "Faker is a Python package that generates fake data for you." optional = true python-versions = ">=3.8" files = [ - {file = "Faker-30.0.0-py3-none-any.whl", hash = "sha256:f0a60009150736c1c033bea31aa19ae63071c9dcf10adfaf9f1a87a3add84bc8"}, - {file = "faker-30.0.0.tar.gz", hash = "sha256:bf0207af5777950054a2a3b43f4b5bdc33b585918d2b28f1dab52ac0ffe2bac0"}, + {file = "Faker-30.1.0-py3-none-any.whl", hash = "sha256:dbf81295c948270a9e96cd48a9a3ebec73acac9a153d0c854fbbd0294557609f"}, + {file = "faker-30.1.0.tar.gz", hash = "sha256:e0593931bd7be9a9ea984b5d8c302ef1cec19392585d1e90d444199271d0a94d"}, ] [package.dependencies] python-dateutil = ">=2.4" +typing-extensions = "*" [[package]] name = "fastjsonschema" @@ -1138,77 +1139,84 @@ sphinx-basic-ng = ">=1.0.0.beta2" [[package]] name = "greenlet" -version = "3.1.0" +version = "3.1.1" description = "Lightweight in-process concurrent programming" optional = false python-versions = ">=3.7" files = [ - {file = "greenlet-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a814dc3100e8a046ff48faeaa909e80cdb358411a3d6dd5293158425c684eda8"}, - {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a771dc64fa44ebe58d65768d869fcfb9060169d203446c1d446e844b62bdfdca"}, - {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e49a65d25d7350cca2da15aac31b6f67a43d867448babf997fe83c7505f57bc"}, - {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cd8518eade968bc52262d8c46727cfc0826ff4d552cf0430b8d65aaf50bb91d"}, - {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76dc19e660baea5c38e949455c1181bc018893f25372d10ffe24b3ed7341fb25"}, - {file = "greenlet-3.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c0a5b1c22c82831f56f2f7ad9bbe4948879762fe0d59833a4a71f16e5fa0f682"}, - {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2651dfb006f391bcb240635079a68a261b227a10a08af6349cba834a2141efa1"}, - {file = "greenlet-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3e7e6ef1737a819819b1163116ad4b48d06cfdd40352d813bb14436024fcda99"}, - {file = "greenlet-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:ffb08f2a1e59d38c7b8b9ac8083c9c8b9875f0955b1e9b9b9a965607a51f8e54"}, - {file = "greenlet-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9730929375021ec90f6447bff4f7f5508faef1c02f399a1953870cdb78e0c345"}, - {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:713d450cf8e61854de9420fb7eea8ad228df4e27e7d4ed465de98c955d2b3fa6"}, - {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c3446937be153718250fe421da548f973124189f18fe4575a0510b5c928f0cc"}, - {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ddc7bcedeb47187be74208bc652d63d6b20cb24f4e596bd356092d8000da6d6"}, - {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44151d7b81b9391ed759a2f2865bbe623ef00d648fed59363be2bbbd5154656f"}, - {file = "greenlet-3.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cea1cca3be76c9483282dc7760ea1cc08a6ecec1f0b6ca0a94ea0d17432da19"}, - {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:619935a44f414274a2c08c9e74611965650b730eb4efe4b2270f91df5e4adf9a"}, - {file = "greenlet-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:221169d31cada333a0c7fd087b957c8f431c1dba202c3a58cf5a3583ed973e9b"}, - {file = "greenlet-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:01059afb9b178606b4b6e92c3e710ea1635597c3537e44da69f4531e111dd5e9"}, - {file = "greenlet-3.1.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:24fc216ec7c8be9becba8b64a98a78f9cd057fd2dc75ae952ca94ed8a893bf27"}, - {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d07c28b85b350564bdff9f51c1c5007dfb2f389385d1bc23288de51134ca303"}, - {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:243a223c96a4246f8a30ea470c440fe9db1f5e444941ee3c3cd79df119b8eebf"}, - {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26811df4dc81271033a7836bc20d12cd30938e6bd2e9437f56fa03da81b0f8fc"}, - {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9d86401550b09a55410f32ceb5fe7efcd998bd2dad9e82521713cb148a4a15f"}, - {file = "greenlet-3.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26d9c1c4f1748ccac0bae1dbb465fb1a795a75aba8af8ca871503019f4285e2a"}, - {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:cd468ec62257bb4544989402b19d795d2305eccb06cde5da0eb739b63dc04665"}, - {file = "greenlet-3.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a53dfe8f82b715319e9953330fa5c8708b610d48b5c59f1316337302af5c0811"}, - {file = "greenlet-3.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:28fe80a3eb673b2d5cc3b12eea468a5e5f4603c26aa34d88bf61bba82ceb2f9b"}, - {file = "greenlet-3.1.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:76b3e3976d2a452cba7aa9e453498ac72240d43030fdc6d538a72b87eaff52fd"}, - {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655b21ffd37a96b1e78cc48bf254f5ea4b5b85efaf9e9e2a526b3c9309d660ca"}, - {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6f4c2027689093775fd58ca2388d58789009116844432d920e9147f91acbe64"}, - {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76e5064fd8e94c3f74d9fd69b02d99e3cdb8fc286ed49a1f10b256e59d0d3a0b"}, - {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a4bf607f690f7987ab3291406e012cd8591a4f77aa54f29b890f9c331e84989"}, - {file = "greenlet-3.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:037d9ac99540ace9424cb9ea89f0accfaff4316f149520b4ae293eebc5bded17"}, - {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:90b5bbf05fe3d3ef697103850c2ce3374558f6fe40fd57c9fac1bf14903f50a5"}, - {file = "greenlet-3.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:726377bd60081172685c0ff46afbc600d064f01053190e4450857483c4d44484"}, - {file = "greenlet-3.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:d46d5069e2eeda111d6f71970e341f4bd9aeeee92074e649ae263b834286ecc0"}, - {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81eeec4403a7d7684b5812a8aaa626fa23b7d0848edb3a28d2eb3220daddcbd0"}, - {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a3dae7492d16e85ea6045fd11cb8e782b63eac8c8d520c3a92c02ac4573b0a6"}, - {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b5ea3664eed571779403858d7cd0a9b0ebf50d57d2cdeafc7748e09ef8cd81a"}, - {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22f4e26400f7f48faef2d69c20dc055a1f3043d330923f9abe08ea0aecc44df"}, - {file = "greenlet-3.1.0-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13ff8c8e54a10472ce3b2a2da007f915175192f18e6495bad50486e87c7f6637"}, - {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f9671e7282d8c6fcabc32c0fb8d7c0ea8894ae85cee89c9aadc2d7129e1a9954"}, - {file = "greenlet-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:184258372ae9e1e9bddce6f187967f2e08ecd16906557c4320e3ba88a93438c3"}, - {file = "greenlet-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:a0409bc18a9f85321399c29baf93545152d74a49d92f2f55302f122007cfda00"}, - {file = "greenlet-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9eb4a1d7399b9f3c7ac68ae6baa6be5f9195d1d08c9ddc45ad559aa6b556bce6"}, - {file = "greenlet-3.1.0-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a8870983af660798dc1b529e1fd6f1cefd94e45135a32e58bd70edd694540f33"}, - {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cfcfb73aed40f550a57ea904629bdaf2e562c68fa1164fa4588e752af6efdc3f"}, - {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9482c2ed414781c0af0b35d9d575226da6b728bd1a720668fa05837184965b7"}, - {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d58ec349e0c2c0bc6669bf2cd4982d2f93bf067860d23a0ea1fe677b0f0b1e09"}, - {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd65695a8df1233309b701dec2539cc4b11e97d4fcc0f4185b4a12ce54db0491"}, - {file = "greenlet-3.1.0-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:665b21e95bc0fce5cab03b2e1d90ba9c66c510f1bb5fdc864f3a377d0f553f6b"}, - {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3c59a06c2c28a81a026ff11fbf012081ea34fb9b7052f2ed0366e14896f0a1d"}, - {file = "greenlet-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5415b9494ff6240b09af06b91a375731febe0090218e2898d2b85f9b92abcda0"}, - {file = "greenlet-3.1.0-cp38-cp38-win32.whl", hash = "sha256:1544b8dd090b494c55e60c4ff46e238be44fdc472d2589e943c241e0169bcea2"}, - {file = "greenlet-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:7f346d24d74c00b6730440f5eb8ec3fe5774ca8d1c9574e8e57c8671bb51b910"}, - {file = "greenlet-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:db1b3ccb93488328c74e97ff888604a8b95ae4f35f4f56677ca57a4fc3a4220b"}, - {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44cd313629ded43bb3b98737bba2f3e2c2c8679b55ea29ed73daea6b755fe8e7"}, - {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fad7a051e07f64e297e6e8399b4d6a3bdcad3d7297409e9a06ef8cbccff4f501"}, - {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3967dcc1cd2ea61b08b0b276659242cbce5caca39e7cbc02408222fb9e6ff39"}, - {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d45b75b0f3fd8d99f62eb7908cfa6d727b7ed190737dec7fe46d993da550b81a"}, - {file = "greenlet-3.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2d004db911ed7b6218ec5c5bfe4cf70ae8aa2223dffbb5b3c69e342bb253cb28"}, - {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b9505a0c8579899057cbefd4ec34d865ab99852baf1ff33a9481eb3924e2da0b"}, - {file = "greenlet-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fd6e94593f6f9714dbad1aaba734b5ec04593374fa6638df61592055868f8b8"}, - {file = "greenlet-3.1.0-cp39-cp39-win32.whl", hash = "sha256:d0dd943282231480aad5f50f89bdf26690c995e8ff555f26d8a5b9887b559bcc"}, - {file = "greenlet-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:ac0adfdb3a21dc2a24ed728b61e72440d297d0fd3a577389df566651fcd08f97"}, - {file = "greenlet-3.1.0.tar.gz", hash = "sha256:b395121e9bbe8d02a750886f108d540abe66075e61e22f7353d9acb0b81be0f0"}, + {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6"}, + {file = "greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80"}, + {file = "greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395"}, + {file = "greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39"}, + {file = "greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942"}, + {file = "greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01"}, + {file = "greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c"}, + {file = "greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af"}, + {file = "greenlet-3.1.1-cp37-cp37m-win32.whl", hash = "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798"}, + {file = "greenlet-3.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef"}, + {file = "greenlet-3.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7"}, + {file = "greenlet-3.1.1-cp38-cp38-win32.whl", hash = "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef"}, + {file = "greenlet-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d"}, + {file = "greenlet-3.1.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e"}, + {file = "greenlet-3.1.1-cp39-cp39-win32.whl", hash = "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c"}, + {file = "greenlet-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22"}, + {file = "greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467"}, ] [package.extras] @@ -1523,13 +1531,13 @@ files = [ [[package]] name = "moto" -version = "5.0.14" +version = "5.0.16" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "moto-5.0.14-py2.py3-none-any.whl", hash = "sha256:c738ffe85d3844ef37b865951736c4faf2e0f3e4f05db87bdad97a6c01b88174"}, - {file = "moto-5.0.14.tar.gz", hash = "sha256:0f849243269fd03372426c302b18cb605302da32620d7f0266be6a40735b2acd"}, + {file = "moto-5.0.16-py2.py3-none-any.whl", hash = "sha256:4ce1f34830307f7b3d553d77a7ef26066ab3b70006203d4226b048c9d11a3be4"}, + {file = "moto-5.0.16.tar.gz", hash = "sha256:f4afb176a964cd7a70da9bc5e053d43109614ce3cab26044bcbb53610435dff4"}, ] [package.dependencies] @@ -1952,13 +1960,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.3.5" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.3.5-py3-none-any.whl", hash = "sha256:00d4e6d17a9a452c95182c20862bb655c8dc51122e2a3afbc0bc7cfb7538b263"}, - {file = "platformdirs-4.3.5.tar.gz", hash = "sha256:227a0d45c85fc7a4a2147af40dab1ee3657f4b92e725e2cbc707949bfab78be3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] @@ -3142,13 +3150,13 @@ python-dateutil = "*" [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] @@ -3400,103 +3408,103 @@ files = [ [[package]] name = "yarl" -version = "1.11.1" +version = "1.13.1" description = "Yet another URL library" optional = true python-versions = ">=3.8" files = [ - {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:400cd42185f92de559d29eeb529e71d80dfbd2f45c36844914a4a34297ca6f00"}, - {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8258c86f47e080a258993eed877d579c71da7bda26af86ce6c2d2d072c11320d"}, - {file = "yarl-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2164cd9725092761fed26f299e3f276bb4b537ca58e6ff6b252eae9631b5c96e"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08ea567c16f140af8ddc7cb58e27e9138a1386e3e6e53982abaa6f2377b38cc"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:768ecc550096b028754ea28bf90fde071c379c62c43afa574edc6f33ee5daaec"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2909fa3a7d249ef64eeb2faa04b7957e34fefb6ec9966506312349ed8a7e77bf"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01a8697ec24f17c349c4f655763c4db70eebc56a5f82995e5e26e837c6eb0e49"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e286580b6511aac7c3268a78cdb861ec739d3e5a2a53b4809faef6b49778eaff"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4179522dc0305c3fc9782549175c8e8849252fefeb077c92a73889ccbcd508ad"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:27fcb271a41b746bd0e2a92182df507e1c204759f460ff784ca614e12dd85145"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f61db3b7e870914dbd9434b560075e0366771eecbe6d2b5561f5bc7485f39efd"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c92261eb2ad367629dc437536463dc934030c9e7caca861cc51990fe6c565f26"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d95b52fbef190ca87d8c42f49e314eace4fc52070f3dfa5f87a6594b0c1c6e46"}, - {file = "yarl-1.11.1-cp310-cp310-win32.whl", hash = "sha256:489fa8bde4f1244ad6c5f6d11bb33e09cf0d1d0367edb197619c3e3fc06f3d91"}, - {file = "yarl-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:476e20c433b356e16e9a141449f25161e6b69984fb4cdbd7cd4bd54c17844998"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:946eedc12895873891aaceb39bceb484b4977f70373e0122da483f6c38faaa68"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21a7c12321436b066c11ec19c7e3cb9aec18884fe0d5b25d03d756a9e654edfe"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c35f493b867912f6fda721a59cc7c4766d382040bdf1ddaeeaa7fa4d072f4675"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25861303e0be76b60fddc1250ec5986c42f0a5c0c50ff57cc30b1be199c00e63"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4b53f73077e839b3f89c992223f15b1d2ab314bdbdf502afdc7bb18e95eae27"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:327c724b01b8641a1bf1ab3b232fb638706e50f76c0b5bf16051ab65c868fac5"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4307d9a3417eea87715c9736d050c83e8c1904e9b7aada6ce61b46361b733d92"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a28bed68ab8fb7e380775f0029a079f08a17799cb3387a65d14ace16c12e2b"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:067b961853c8e62725ff2893226fef3d0da060656a9827f3f520fb1d19b2b68a"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8215f6f21394d1f46e222abeb06316e77ef328d628f593502d8fc2a9117bde83"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:498442e3af2a860a663baa14fbf23fb04b0dd758039c0e7c8f91cb9279799bff"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:69721b8effdb588cb055cc22f7c5105ca6fdaa5aeb3ea09021d517882c4a904c"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e969fa4c1e0b1a391f3fcbcb9ec31e84440253325b534519be0d28f4b6b533e"}, - {file = "yarl-1.11.1-cp311-cp311-win32.whl", hash = "sha256:7d51324a04fc4b0e097ff8a153e9276c2593106a811704025bbc1d6916f45ca6"}, - {file = "yarl-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:15061ce6584ece023457fb8b7a7a69ec40bf7114d781a8c4f5dcd68e28b5c53b"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a4264515f9117be204935cd230fb2a052dd3792789cc94c101c535d349b3dab0"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f41fa79114a1d2eddb5eea7b912d6160508f57440bd302ce96eaa384914cd265"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02da8759b47d964f9173c8675710720b468aa1c1693be0c9c64abb9d8d9a4867"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9361628f28f48dcf8b2f528420d4d68102f593f9c2e592bfc842f5fb337e44fd"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b91044952da03b6f95fdba398d7993dd983b64d3c31c358a4c89e3c19b6f7aef"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74db2ef03b442276d25951749a803ddb6e270d02dda1d1c556f6ae595a0d76a8"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e975a2211952a8a083d1b9d9ba26472981ae338e720b419eb50535de3c02870"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aef97ba1dd2138112890ef848e17d8526fe80b21f743b4ee65947ea184f07a2"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7915ea49b0c113641dc4d9338efa9bd66b6a9a485ffe75b9907e8573ca94b84"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:504cf0d4c5e4579a51261d6091267f9fd997ef58558c4ffa7a3e1460bd2336fa"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3de5292f9f0ee285e6bd168b2a77b2a00d74cbcfa420ed078456d3023d2f6dff"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34e1e30f1774fa35d37202bbeae62423e9a79d78d0874e5556a593479fdf239"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66b63c504d2ca43bf7221a1f72fbe981ff56ecb39004c70a94485d13e37ebf45"}, - {file = "yarl-1.11.1-cp312-cp312-win32.whl", hash = "sha256:a28b70c9e2213de425d9cba5ab2e7f7a1c8ca23a99c4b5159bf77b9c31251447"}, - {file = "yarl-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:17b5a386d0d36fb828e2fb3ef08c8829c1ebf977eef88e5367d1c8c94b454639"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1fa2e7a406fbd45b61b4433e3aa254a2c3e14c4b3186f6e952d08a730807fa0c"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:750f656832d7d3cb0c76be137ee79405cc17e792f31e0a01eee390e383b2936e"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b8486f322d8f6a38539136a22c55f94d269addb24db5cb6f61adc61eabc9d93"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fce4da3703ee6048ad4138fe74619c50874afe98b1ad87b2698ef95bf92c96d"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed653638ef669e0efc6fe2acb792275cb419bf9cb5c5049399f3556995f23c7"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18ac56c9dd70941ecad42b5a906820824ca72ff84ad6fa18db33c2537ae2e089"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688654f8507464745ab563b041d1fb7dab5d9912ca6b06e61d1c4708366832f5"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4973eac1e2ff63cf187073cd4e1f1148dcd119314ab79b88e1b3fad74a18c9d5"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:964a428132227edff96d6f3cf261573cb0f1a60c9a764ce28cda9525f18f7786"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6d23754b9939cbab02c63434776df1170e43b09c6a517585c7ce2b3d449b7318"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c2dc4250fe94d8cd864d66018f8344d4af50e3758e9d725e94fecfa27588ff82"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09696438cb43ea6f9492ef237761b043f9179f455f405279e609f2bc9100212a"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:999bfee0a5b7385a0af5ffb606393509cfde70ecca4f01c36985be6d33e336da"}, - {file = "yarl-1.11.1-cp313-cp313-win32.whl", hash = "sha256:ce928c9c6409c79e10f39604a7e214b3cb69552952fbda8d836c052832e6a979"}, - {file = "yarl-1.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:501c503eed2bb306638ccb60c174f856cc3246c861829ff40eaa80e2f0330367"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dae7bd0daeb33aa3e79e72877d3d51052e8b19c9025ecf0374f542ea8ec120e4"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ff6b1617aa39279fe18a76c8d165469c48b159931d9b48239065767ee455b2b"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3257978c870728a52dcce8c2902bf01f6c53b65094b457bf87b2644ee6238ddc"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f351fa31234699d6084ff98283cb1e852270fe9e250a3b3bf7804eb493bd937"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aef1b64da41d18026632d99a06b3fefe1d08e85dd81d849fa7c96301ed22f1b"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7175a87ab8f7fbde37160a15e58e138ba3b2b0e05492d7351314a250d61b1591"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba444bdd4caa2a94456ef67a2f383710928820dd0117aae6650a4d17029fa25e"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea9682124fc062e3d931c6911934a678cb28453f957ddccf51f568c2f2b5e05"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8418c053aeb236b20b0ab8fa6bacfc2feaaf7d4683dd96528610989c99723d5f"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:61a5f2c14d0a1adfdd82258f756b23a550c13ba4c86c84106be4c111a3a4e413"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3a6d90cab0bdf07df8f176eae3a07127daafcf7457b997b2bf46776da2c7eb7"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:077da604852be488c9a05a524068cdae1e972b7dc02438161c32420fb4ec5e14"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:15439f3c5c72686b6c3ff235279630d08936ace67d0fe5c8d5bbc3ef06f5a420"}, - {file = "yarl-1.11.1-cp38-cp38-win32.whl", hash = "sha256:238a21849dd7554cb4d25a14ffbfa0ef380bb7ba201f45b144a14454a72ffa5a"}, - {file = "yarl-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:67459cf8cf31da0e2cbdb4b040507e535d25cfbb1604ca76396a3a66b8ba37a6"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:884eab2ce97cbaf89f264372eae58388862c33c4f551c15680dd80f53c89a269"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a336eaa7ee7e87cdece3cedb395c9657d227bfceb6781295cf56abcd3386a26"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87f020d010ba80a247c4abc335fc13421037800ca20b42af5ae40e5fd75e7909"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637c7ddb585a62d4469f843dac221f23eec3cbad31693b23abbc2c366ad41ff4"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48dfd117ab93f0129084577a07287376cc69c08138694396f305636e229caa1a"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e0ae31fb5ccab6eda09ba1494e87eb226dcbd2372dae96b87800e1dcc98804"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f46f81501160c28d0c0b7333b4f7be8983dbbc161983b6fb814024d1b4952f79"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04293941646647b3bfb1719d1d11ff1028e9c30199509a844da3c0f5919dc520"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:250e888fa62d73e721f3041e3a9abf427788a1934b426b45e1b92f62c1f68366"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e8f63904df26d1a66aabc141bfd258bf738b9bc7bc6bdef22713b4f5ef789a4c"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:aac44097d838dda26526cffb63bdd8737a2dbdf5f2c68efb72ad83aec6673c7e"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:267b24f891e74eccbdff42241c5fb4f974de2d6271dcc7d7e0c9ae1079a560d9"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6907daa4b9d7a688063ed098c472f96e8181733c525e03e866fb5db480a424df"}, - {file = "yarl-1.11.1-cp39-cp39-win32.whl", hash = "sha256:14438dfc5015661f75f85bc5adad0743678eefee266ff0c9a8e32969d5d69f74"}, - {file = "yarl-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:94d0caaa912bfcdc702a4204cd5e2bb01eb917fc4f5ea2315aa23962549561b0"}, - {file = "yarl-1.11.1-py3-none-any.whl", hash = "sha256:72bf26f66456baa0584eff63e44545c9f0eaed9b73cb6601b647c91f14c11f38"}, - {file = "yarl-1.11.1.tar.gz", hash = "sha256:1bb2d9e212fb7449b8fb73bc461b51eaa17cc8430b4a87d87be7b25052d92f53"}, + {file = "yarl-1.13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:82e692fb325013a18a5b73a4fed5a1edaa7c58144dc67ad9ef3d604eccd451ad"}, + {file = "yarl-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df4e82e68f43a07735ae70a2d84c0353e58e20add20ec0af611f32cd5ba43fb4"}, + {file = "yarl-1.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ec9dd328016d8d25702a24ee274932aebf6be9787ed1c28d021945d264235b3c"}, + {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5820bd4178e6a639b3ef1db8b18500a82ceab6d8b89309e121a6859f56585b05"}, + {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86c438ce920e089c8c2388c7dcc8ab30dfe13c09b8af3d306bcabb46a053d6f7"}, + {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3de86547c820e4f4da4606d1c8ab5765dd633189791f15247706a2eeabc783ae"}, + {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca53632007c69ddcdefe1e8cbc3920dd88825e618153795b57e6ebcc92e752a"}, + {file = "yarl-1.13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4ee1d240b84e2f213565f0ec08caef27a0e657d4c42859809155cf3a29d1735"}, + {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c49f3e379177f4477f929097f7ed4b0622a586b0aa40c07ac8c0f8e40659a1ac"}, + {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5c5e32fef09ce101fe14acd0f498232b5710effe13abac14cd95de9c274e689e"}, + {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ab9524e45ee809a083338a749af3b53cc7efec458c3ad084361c1dbf7aaf82a2"}, + {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:b1481c048fe787f65e34cb06f7d6824376d5d99f1231eae4778bbe5c3831076d"}, + {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:31497aefd68036d8e31bfbacef915826ca2e741dbb97a8d6c7eac66deda3b606"}, + {file = "yarl-1.13.1-cp310-cp310-win32.whl", hash = "sha256:1fa56f34b2236f5192cb5fceba7bbb09620e5337e0b6dfe2ea0ddbd19dd5b154"}, + {file = "yarl-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:1bbb418f46c7f7355084833051701b2301092e4611d9e392360c3ba2e3e69f88"}, + {file = "yarl-1.13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:216a6785f296169ed52cd7dcdc2612f82c20f8c9634bf7446327f50398732a51"}, + {file = "yarl-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40c6e73c03a6befb85b72da213638b8aaa80fe4136ec8691560cf98b11b8ae6e"}, + {file = "yarl-1.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2430cf996113abe5aee387d39ee19529327205cda975d2b82c0e7e96e5fdabdc"}, + {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fb4134cc6e005b99fa29dbc86f1ea0a298440ab6b07c6b3ee09232a3b48f495"}, + {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309c104ecf67626c033845b860d31594a41343766a46fa58c3309c538a1e22b2"}, + {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f90575e9fe3aae2c1e686393a9689c724cd00045275407f71771ae5d690ccf38"}, + {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d2e1626be8712333a9f71270366f4a132f476ffbe83b689dd6dc0d114796c74"}, + {file = "yarl-1.13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b66c87da3c6da8f8e8b648878903ca54589038a0b1e08dde2c86d9cd92d4ac9"}, + {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cf1ad338620249f8dd6d4b6a91a69d1f265387df3697ad5dc996305cf6c26fb2"}, + {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9915300fe5a0aa663c01363db37e4ae8e7c15996ebe2c6cce995e7033ff6457f"}, + {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:703b0f584fcf157ef87816a3c0ff868e8c9f3c370009a8b23b56255885528f10"}, + {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1d8e3ca29f643dd121f264a7c89f329f0fcb2e4461833f02de6e39fef80f89da"}, + {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7055bbade838d68af73aea13f8c86588e4bcc00c2235b4b6d6edb0dbd174e246"}, + {file = "yarl-1.13.1-cp311-cp311-win32.whl", hash = "sha256:a3442c31c11088e462d44a644a454d48110f0588de830921fd201060ff19612a"}, + {file = "yarl-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:81bad32c8f8b5897c909bf3468bf601f1b855d12f53b6af0271963ee67fff0d2"}, + {file = "yarl-1.13.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f452cc1436151387d3d50533523291d5f77c6bc7913c116eb985304abdbd9ec9"}, + {file = "yarl-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9cec42a20eae8bebf81e9ce23fb0d0c729fc54cf00643eb251ce7c0215ad49fe"}, + {file = "yarl-1.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d959fe96e5c2712c1876d69af0507d98f0b0e8d81bee14cfb3f6737470205419"}, + {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8c837ab90c455f3ea8e68bee143472ee87828bff19ba19776e16ff961425b57"}, + {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94a993f976cdcb2dc1b855d8b89b792893220db8862d1a619efa7451817c836b"}, + {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2442a415a5f4c55ced0fade7b72123210d579f7d950e0b5527fc598866e62c"}, + {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fdbf0418489525231723cdb6c79e7738b3cbacbaed2b750cb033e4ea208f220"}, + {file = "yarl-1.13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b7f6e699304717fdc265a7e1922561b02a93ceffdaefdc877acaf9b9f3080b8"}, + {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bcd5bf4132e6a8d3eb54b8d56885f3d3a38ecd7ecae8426ecf7d9673b270de43"}, + {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2a93a4557f7fc74a38ca5a404abb443a242217b91cd0c4840b1ebedaad8919d4"}, + {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:22b739f99c7e4787922903f27a892744189482125cc7b95b747f04dd5c83aa9f"}, + {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2db874dd1d22d4c2c657807562411ffdfabec38ce4c5ce48b4c654be552759dc"}, + {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4feaaa4742517eaceafcbe74595ed335a494c84634d33961214b278126ec1485"}, + {file = "yarl-1.13.1-cp312-cp312-win32.whl", hash = "sha256:bbf9c2a589be7414ac4a534d54e4517d03f1cbb142c0041191b729c2fa23f320"}, + {file = "yarl-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:d07b52c8c450f9366c34aa205754355e933922c79135125541daae6cbf31c799"}, + {file = "yarl-1.13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:95c6737f28069153c399d875317f226bbdea939fd48a6349a3b03da6829fb550"}, + {file = "yarl-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cd66152561632ed4b2a9192e7f8e5a1d41e28f58120b4761622e0355f0fe034c"}, + {file = "yarl-1.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6a2acde25be0cf9be23a8f6cbd31734536a264723fca860af3ae5e89d771cd71"}, + {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18595e6a2ee0826bf7dfdee823b6ab55c9b70e8f80f8b77c37e694288f5de1"}, + {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a31d21089894942f7d9a8df166b495101b7258ff11ae0abec58e32daf8088813"}, + {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45f209fb4bbfe8630e3d2e2052535ca5b53d4ce2d2026bed4d0637b0416830da"}, + {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f722f30366474a99745533cc4015b1781ee54b08de73260b2bbe13316079851"}, + {file = "yarl-1.13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3bf60444269345d712838bb11cc4eadaf51ff1a364ae39ce87a5ca8ad3bb2c8"}, + {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:942c80a832a79c3707cca46bd12ab8aa58fddb34b1626d42b05aa8f0bcefc206"}, + {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:44b07e1690f010c3c01d353b5790ec73b2f59b4eae5b0000593199766b3f7a5c"}, + {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:396e59b8de7e4d59ff5507fb4322d2329865b909f29a7ed7ca37e63ade7f835c"}, + {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3bb83a0f12701c0b91112a11148b5217617982e1e466069d0555be9b372f2734"}, + {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c92b89bffc660f1274779cb6fbb290ec1f90d6dfe14492523a0667f10170de26"}, + {file = "yarl-1.13.1-cp313-cp313-win32.whl", hash = "sha256:269c201bbc01d2cbba5b86997a1e0f73ba5e2f471cfa6e226bcaa7fd664b598d"}, + {file = "yarl-1.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:1d0828e17fa701b557c6eaed5edbd9098eb62d8838344486248489ff233998b8"}, + {file = "yarl-1.13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8be8cdfe20787e6a5fcbd010f8066227e2bb9058331a4eccddec6c0db2bb85b2"}, + {file = "yarl-1.13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:08d7148ff11cb8e886d86dadbfd2e466a76d5dd38c7ea8ebd9b0e07946e76e4b"}, + {file = "yarl-1.13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4afdf84610ca44dcffe8b6c22c68f309aff96be55f5ea2fa31c0c225d6b83e23"}, + {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0d12fe78dcf60efa205e9a63f395b5d343e801cf31e5e1dda0d2c1fb618073d"}, + {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298c1eecfd3257aa16c0cb0bdffb54411e3e831351cd69e6b0739be16b1bdaa8"}, + {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c14c16831b565707149c742d87a6203eb5597f4329278446d5c0ae7a1a43928e"}, + {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a9bacedbb99685a75ad033fd4de37129449e69808e50e08034034c0bf063f99"}, + {file = "yarl-1.13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:658e8449b84b92a4373f99305de042b6bd0d19bf2080c093881e0516557474a5"}, + {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:373f16f38721c680316a6a00ae21cc178e3a8ef43c0227f88356a24c5193abd6"}, + {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:45d23c4668d4925688e2ea251b53f36a498e9ea860913ce43b52d9605d3d8177"}, + {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f7917697bcaa3bc3e83db91aa3a0e448bf5cde43c84b7fc1ae2427d2417c0224"}, + {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5989a38ba1281e43e4663931a53fbf356f78a0325251fd6af09dd03b1d676a09"}, + {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:11b3ca8b42a024513adce810385fcabdd682772411d95bbbda3b9ed1a4257644"}, + {file = "yarl-1.13.1-cp38-cp38-win32.whl", hash = "sha256:dcaef817e13eafa547cdfdc5284fe77970b891f731266545aae08d6cce52161e"}, + {file = "yarl-1.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:7addd26594e588503bdef03908fc207206adac5bd90b6d4bc3e3cf33a829f57d"}, + {file = "yarl-1.13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a0ae6637b173d0c40b9c1462e12a7a2000a71a3258fa88756a34c7d38926911c"}, + {file = "yarl-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:576365c9f7469e1f6124d67b001639b77113cfd05e85ce0310f5f318fd02fe85"}, + {file = "yarl-1.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78f271722423b2d4851cf1f4fa1a1c4833a128d020062721ba35e1a87154a049"}, + {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d74f3c335cfe9c21ea78988e67f18eb9822f5d31f88b41aec3a1ec5ecd32da5"}, + {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1891d69a6ba16e89473909665cd355d783a8a31bc84720902c5911dbb6373465"}, + {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb382fd7b4377363cc9f13ba7c819c3c78ed97c36a82f16f3f92f108c787cbbf"}, + {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c8854b9f80693d20cec797d8e48a848c2fb273eb6f2587b57763ccba3f3bd4b"}, + {file = "yarl-1.13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbf2c3f04ff50f16404ce70f822cdc59760e5e2d7965905f0e700270feb2bbfc"}, + {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fb9f59f3848edf186a76446eb8bcf4c900fe147cb756fbbd730ef43b2e67c6a7"}, + {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ef9b85fa1bc91c4db24407e7c4da93a5822a73dd4513d67b454ca7064e8dc6a3"}, + {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:098b870c18f1341786f290b4d699504e18f1cd050ed179af8123fd8232513424"}, + {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:8c723c91c94a3bc8033dd2696a0f53e5d5f8496186013167bddc3fb5d9df46a3"}, + {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:44a4c40a6f84e4d5955b63462a0e2a988f8982fba245cf885ce3be7618f6aa7d"}, + {file = "yarl-1.13.1-cp39-cp39-win32.whl", hash = "sha256:84bbcdcf393139f0abc9f642bf03f00cac31010f3034faa03224a9ef0bb74323"}, + {file = "yarl-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:fc2931ac9ce9c61c9968989ec831d3a5e6fcaaff9474e7cfa8de80b7aff5a093"}, + {file = "yarl-1.13.1-py3-none-any.whl", hash = "sha256:6a5185ad722ab4dd52d5fb1f30dcc73282eb1ed494906a92d1a228d3f89607b0"}, + {file = "yarl-1.13.1.tar.gz", hash = "sha256:ec8cfe2295f3e5e44c51f57272afbd69414ae629ec7c6b27f5a410efc78b70a0"}, ] [package.dependencies] From 409a40b48c442e1382611d3a69b2f95df2e073d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= Date: Wed, 2 Oct 2024 15:02:06 -0600 Subject: [PATCH 29/49] chore: Add missing default value for `dry_run` --- .github/workflows/version_bump.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/version_bump.yml b/.github/workflows/version_bump.yml index f8b2559b0..7f56cfba6 100644 --- a/.github/workflows/version_bump.yml +++ b/.github/workflows/version_bump.yml @@ -6,6 +6,7 @@ on: dry_run: description: "Run the action without creating a PR or release draft" required: true + default: false type: boolean bump: description: "Version bump type" From 9bf104ef39b2ba96559b4d3b1b4c7035c3191c1a Mon Sep 17 00:00:00 2001 From: MeltyBot <105875157+MeltyBot@users.noreply.github.com> Date: Wed, 2 Oct 2024 18:32:31 -0400 Subject: [PATCH 30/49] chore: Release v0.41.0 (#2698) * chore: Bump package version * Apply suggestions from code review --------- Co-authored-by: edgarrmondragon <16805946+edgarrmondragon@users.noreply.github.com> --- .github/ISSUE_TEMPLATE/bug.yml | 2 +- CHANGELOG.md | 35 +++++++++++++++++++ .../{{cookiecutter.mapper_id}}/pyproject.toml | 4 +-- .../{{cookiecutter.tap_id}}/pyproject.toml | 6 ++-- .../{{cookiecutter.target_id}}/pyproject.toml | 4 +-- docs/conf.py | 2 +- pyproject.toml | 2 +- 7 files changed, 45 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 222eff237..f32660170 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -13,7 +13,7 @@ body: attributes: label: Singer SDK Version description: Version of the library you are using - placeholder: "0.40.0" + placeholder: "0.41.0" validations: required: true - type: checkboxes diff --git a/CHANGELOG.md b/CHANGELOG.md index 46715c382..d28c53016 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## v0.41.0 (2024-10-02) + +### ✨ New + +- [#2667](https://github.com/meltano/sdk/issues/2667) Support stream aliasing of `BATCH` messages via stream maps -- _**Thanks @ReubenFrankel!**_ +- [#2651](https://github.com/meltano/sdk/issues/2651) SQL taps now emit schemas with `maxLength` when applicable +- [#2618](https://github.com/meltano/sdk/issues/2618) Developers can now more easily override the mapping from SQL column type to JSON schema + +### 🐛 Fixes + +- [#2697](https://github.com/meltano/sdk/issues/2697) All HTTP timeout exceptions are now retried in REST and GraphQL streams +- [#2683](https://github.com/meltano/sdk/issues/2683) A clear error message is now emitted when flattening is enabled but `flattening_max_depth` is not set +- [#2665](https://github.com/meltano/sdk/issues/2665) Mapped datetime values are now typed as `date-time` strings in the schema message -- _**Thanks @gregkoutsimp!**_ +- [#2663](https://github.com/meltano/sdk/issues/2663) Properties dropped using `None` or `__NULL__` in stream maps are now also removed from the schema `required` array + +### ⚙️ Under the Hood + +- [#2696](https://github.com/meltano/sdk/issues/2696) Use tox without installing Poetry explicitly in workflows +- [#2654](https://github.com/meltano/sdk/issues/2654) Added a generic `FileStream` (still in active development!) +- [#2695](https://github.com/meltano/sdk/issues/2695) Update dependencies in templates +- [#2661](https://github.com/meltano/sdk/issues/2661) Drop support for Python 3.8 in templates +- [#2670](https://github.com/meltano/sdk/issues/2670) Deprecated `Faker` class in stream maps +- [#2666](https://github.com/meltano/sdk/issues/2666) Remove non-functional `record-flattening` capability -- _**Thanks @ReubenFrankel!**_ +- [#2652](https://github.com/meltano/sdk/issues/2652) Renamed `SQLConnector.type_mapping` to `SQLConnector.sql_to_jsonschema` +- [#2647](https://github.com/meltano/sdk/issues/2647) Use future `warnings.deprecated` decorator + +### 📚 Documentation Improvements + +- [#2658](https://github.com/meltano/sdk/issues/2658) Added more versions when stuff changed or was added + +### 📦 Packaging changes + +- [#2694](https://github.com/meltano/sdk/issues/2694) Removed unused backport `importlib_resources` dependency in tap template +- [#2664](https://github.com/meltano/sdk/issues/2664) Added a constraint on setuptools <= 70.3.0 to fix incompatibility with some dependencies + ## v0.40.0 (2024-09-02) ### ✨ New diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml index 7214c8c25..919a92dc6 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/pyproject.toml @@ -30,12 +30,12 @@ packages = [ [tool.poetry.dependencies] python = ">=3.9" -singer-sdk = { version="~=0.40.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } +singer-sdk = { version="~=0.41.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } fs-s3fs = { version = "~=1.1.1", optional = true } [tool.poetry.group.dev.dependencies] pytest = ">=8" -singer-sdk = { version="~=0.40.0", extras = ["testing"] } +singer-sdk = { version="~=0.41.0", extras = ["testing"] } [tool.poetry.extras] s3 = ["fs-s3fs"] diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml index 05454067a..38ef2b94f 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/pyproject.toml @@ -29,7 +29,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.9" -singer-sdk = { version="~=0.40.0", extras = [ +singer-sdk = { version="~=0.41.0", extras = [ {%- if cookiecutter.auth_method == "JWT" -%}"jwt", {% endif -%} {%- if cookiecutter.faker_extra -%}"faker",{%- endif -%} ] } @@ -41,9 +41,9 @@ requests = "~=2.32.3" [tool.poetry.group.dev.dependencies] pytest = ">=8" {%- if cookiecutter.auth_method == "JWT" %} -singer-sdk = { version="~=0.40.0", extras = ["jwt", "testing"] } +singer-sdk = { version="~=0.41.0", extras = ["jwt", "testing"] } {%- else %} -singer-sdk = { version="~=0.40.0", extras = ["testing"] } +singer-sdk = { version="~=0.41.0", extras = ["testing"] } {%- endif %} [tool.poetry.extras] diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml index 8fd9baf44..27cb43531 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/pyproject.toml @@ -29,7 +29,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.9" -singer-sdk = { version="~=0.40.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } +singer-sdk = { version="~=0.41.0"{{ ', extras = ["faker"]' if cookiecutter.faker_extra }} } fs-s3fs = { version = "~=1.1.1", optional = true } {%- if cookiecutter.serialization_method != "SQL" %} requests = "~=2.32.3" @@ -37,7 +37,7 @@ requests = "~=2.32.3" [tool.poetry.dev-dependencies] pytest = ">=8" -singer-sdk = { version="~=0.40.0", extras = ["testing"] } +singer-sdk = { version="~=0.41.0", extras = ["testing"] } [tool.poetry.extras] s3 = ["fs-s3fs"] diff --git a/docs/conf.py b/docs/conf.py index 947bedeb6..f2ee91c7a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -29,7 +29,7 @@ author = "Meltano Core Team and Contributors" # The full version, including alpha/beta/rc tags -release = "0.40.0" +release = "0.41.0" # -- General configuration ------------------------------------------------------------- diff --git a/pyproject.toml b/pyproject.toml index d93afc892..83410902f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -200,7 +200,7 @@ xfail_strict = false [tool.commitizen] name = "cz_version_bump" -version = "0.40.0" +version = "0.41.0" changelog_merge_prerelease = true prerelease_offset = 1 tag_format = "v$major.$minor.$patch$prerelease" From 8a38e79cdcbd0e546fb42c1d3f1f731745389a92 Mon Sep 17 00:00:00 2001 From: Holly Evans <39742776+holly-evans@users.noreply.github.com> Date: Fri, 4 Oct 2024 15:02:00 -0500 Subject: [PATCH 31/49] feat(mappers): Stream name can now be accessed in `__alias__` context of stream maps (#2701) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Access stream name in alias * Comply with mypy * Clarify log Co-authored-by: Edgar Ramírez Mondragón <16805946+edgarrmondragon@users.noreply.github.com> * Document * Missed this * Formatting * Apply suggestions from code review --------- Co-authored-by: Edgar Ramírez Mondragón <16805946+edgarrmondragon@users.noreply.github.com> --- docs/stream_maps.md | 39 +++++++++++++++++++ singer_sdk/mapper.py | 38 ++++++++++++++++++ tests/core/test_mapper.py | 24 ++++++++++++ .../aliased_stream_not_expr.jsonl | 6 +++ .../mapped_stream/aliased_stream_quoted.jsonl | 6 +++ .../builtin_variable_stream_name_alias.jsonl | 6 +++ ...ltin_variable_stream_name_alias_expr.jsonl | 6 +++ 7 files changed, 125 insertions(+) create mode 100644 tests/snapshots/mapped_stream/aliased_stream_not_expr.jsonl create mode 100644 tests/snapshots/mapped_stream/aliased_stream_quoted.jsonl create mode 100644 tests/snapshots/mapped_stream/builtin_variable_stream_name_alias.jsonl create mode 100644 tests/snapshots/mapped_stream/builtin_variable_stream_name_alias_expr.jsonl diff --git a/docs/stream_maps.md b/docs/stream_maps.md index e31a9b634..693b8caf9 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -266,6 +266,15 @@ The `Faker` class. The `Faker` class was deprecated in favor of instance methods on the `fake` object. ::: +#### Built-in Alias Variable Names + +The following variables are available in the context of the `__alias__` expression: +- `__stream_name__` - the existing stream name + +:::{versionadded} TODO +The `__stream_name__` variable. +::: + #### Automatic Schema Detection For performance reasons, type detection is performed at runtime using text analysis @@ -640,6 +649,36 @@ stream_maps: Support for stream glob expressions. ::: +### Aliasing two or more streams + +The `__alias__` operation evaluates simple python expressions. + +You can combine this with glob expressions to rename more than one stream: + +````{tab} meltano.yml +```yaml +stream_maps: + "*": + __alias__: "__stream_name__ + '_v2'" +``` +```` + +````{tab} JSON +```json +{ + "stream_maps": { + "*": { + "__alias__": "__stream_name__ + '_v2'" + } + } +} +``` +```` + +:::{versionadded} TODO +Support for `__alias__` expression evaluation. +::: + ### Understanding Filters' Affects on Parent-Child Streams Nested child streams iterations will be skipped if their parent stream has a record-level diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index b613b78ec..14f1eac3e 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -779,6 +779,7 @@ def register_raw_stream_schema( # noqa: PLR0912, C901 elif MAPPER_ALIAS_OPTION in stream_def: # : __alias__: stream_alias = stream_def.pop(MAPPER_ALIAS_OPTION) + stream_alias = PluginMapper._eval_stream(stream_alias, stream_name) if stream_name == source_stream: # Exact match @@ -831,3 +832,40 @@ def register_raw_stream_schema( # noqa: PLR0912, C901 else: # Additional mappers for aliasing and multi-projection: self.stream_maps[source_stream].append(mapper) + + @staticmethod + def _eval_stream(expr: str, stream_name: str) -> str: + """Solve an alias expression. + + Args: + expr: String expression to evaluate. + stream_name: Name of stream to transform. + + Returns: + Evaluated expression. + + Raises: + MapExpressionError: If the mapping expression failed to evaluate. + """ + # Allow stream name access within alias transform + names = {"__stream_name__": stream_name} + + result: str + + try: + expr_evaluator = simpleeval.EvalWithCompoundTypes(names=names) + result = expr_evaluator.eval(expr) + except simpleeval.NameNotDefined: + logging.debug( + "Failed to evaluate simpleeval expression %(expr) - " + "falling back to original expression", + extra={"expr": expr}, + ) + result = expr + except (simpleeval.InvalidExpression, SyntaxError) as ex: + msg = f"Failed to evaluate simpleeval expressions {expr}." + raise MapExpressionError(msg) from ex + + logging.debug("Stream eval result: %s = %s", expr, result) + + return result diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index a776689a1..37e289e1b 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -768,6 +768,30 @@ def discover_streams(self): "aliased_stream_batch.jsonl", id="aliased_stream_batch", ), + pytest.param( + {"mystream": {"__alias__": "aliased.stream"}}, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "aliased_stream_not_expr.jsonl", + id="aliased_stream_not_expr", + ), + pytest.param( + {"mystream": {"__alias__": "'__stream_name__'"}}, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "aliased_stream_quoted.jsonl", + id="aliased_stream_quoted", + ), + pytest.param( + {"mystream": {"__alias__": "'aliased_' + __stream_name__"}}, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "builtin_variable_stream_name_alias.jsonl", + id="builtin_variable_stream_name_alias", + ), + pytest.param( + {"mystream": {"__alias__": "__stream_name__.upper()"}}, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "builtin_variable_stream_name_alias_expr.jsonl", + id="builtin_variable_stream_name_alias_expr", + ), pytest.param( {}, {"flattening_enabled": True, "flattening_max_depth": 0}, diff --git a/tests/snapshots/mapped_stream/aliased_stream_not_expr.jsonl b/tests/snapshots/mapped_stream/aliased_stream_not_expr.jsonl new file mode 100644 index 000000000..473737291 --- /dev/null +++ b/tests/snapshots/mapped_stream/aliased_stream_not_expr.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"aliased.stream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"RECORD","stream":"aliased.stream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"aliased.stream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"aliased.stream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/aliased_stream_quoted.jsonl b/tests/snapshots/mapped_stream/aliased_stream_quoted.jsonl new file mode 100644 index 000000000..fd9fec13e --- /dev/null +++ b/tests/snapshots/mapped_stream/aliased_stream_quoted.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"__stream_name__","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"RECORD","stream":"__stream_name__","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"__stream_name__","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"__stream_name__","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias.jsonl b/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias.jsonl new file mode 100644 index 000000000..bb0666313 --- /dev/null +++ b/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"aliased_mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"RECORD","stream":"aliased_mystream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"aliased_mystream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"aliased_mystream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias_expr.jsonl b/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias_expr.jsonl new file mode 100644 index 000000000..c698cf72b --- /dev/null +++ b/tests/snapshots/mapped_stream/builtin_variable_stream_name_alias_expr.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"MYSTREAM","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"RECORD","stream":"MYSTREAM","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"MYSTREAM","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"MYSTREAM","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]}},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} From bb219a4133784856104be54e6f8d4281559fee99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:17:14 -0600 Subject: [PATCH 32/49] chore: Update issue forms (#2704) --- .github/ISSUE_TEMPLATE/bug.yml | 11 ++++++----- .github/ISSUE_TEMPLATE/docs.yml | 2 ++ .github/ISSUE_TEMPLATE/feature.yml | 6 ++++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index f32660170..61a0e143a 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,7 +1,9 @@ name: Bug Report description: File a bug report title: "bug: " -labels: ["kind/Bug", "valuestream/SDK"] +type: Bug +assignees: + - edgarrmondragon body: - type: markdown @@ -29,13 +31,12 @@ body: label: Python Version description: Version of Python you are using options: + - "NA" - "3.12" - "3.11" - "3.10" - "3.9" - - "3.8" - - "3.7 or earlier" - - "NA" + - "3.8 or earlier" validations: required: true - type: dropdown @@ -60,7 +61,7 @@ body: description: What operating system you are using placeholder: "Windows" validations: - required: true + required: false - type: textarea id: what-happened attributes: diff --git a/.github/ISSUE_TEMPLATE/docs.yml b/.github/ISSUE_TEMPLATE/docs.yml index ca0d9c673..de84539e0 100644 --- a/.github/ISSUE_TEMPLATE/docs.yml +++ b/.github/ISSUE_TEMPLATE/docs.yml @@ -2,6 +2,8 @@ name: Documentation change description: Request a documentation change title: "docs: <title>" labels: ["Documentation", "valuestream/SDK"] +assignees: + - edgarrmondragon body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index a5afd5974..4715db963 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -2,8 +2,9 @@ name: Feature request description: Request a new feature title: "feat: <title>" labels: ["kind/Feature", "valuestream/SDK"] +type: Enhancement assignees: - - meltano/engineering + - edgarrmondragon body: - type: markdown @@ -16,7 +17,8 @@ body: label: Feature scope description: Functionality this new feature would impact options: - - Taps (catalog, state, stream maps, tests, etc.) + - Taps (catalog, state, tests, etc.) + - Inline mapping (stream maps, flattening, etc.) - Targets (data type handling, batching, SQL object generation, tests, etc.) - Configuration (settings parsing, validation, etc.) - CLI (options, error messages, logging, etc.) From de4d80b6e63e5fa9f2f0e3cd2aebf909bc9d0cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:34:19 -0600 Subject: [PATCH 33/49] chore: Clean up TODOs in docs (#2705) --- docs/implementation/cli.md | 1 - docs/stream_maps.md | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/implementation/cli.md b/docs/implementation/cli.md index e4f78c26b..94077fc5d 100644 --- a/docs/implementation/cli.md +++ b/docs/implementation/cli.md @@ -1,5 +1,4 @@ --- -# TODO: this will be supported after MyST-Parser 0.18.0 is released myst: heading_anchors: 4 --- diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 693b8caf9..786b0da5a 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -262,7 +262,7 @@ The `faker` object. The `Faker` class. ::: -:::{versionchanged} TODO +:::{versionchanged} 0.41.0 The `Faker` class was deprecated in favor of instance methods on the `fake` object. ::: @@ -271,7 +271,7 @@ The `Faker` class was deprecated in favor of instance methods on the `fake` obje The following variables are available in the context of the `__alias__` expression: - `__stream_name__` - the existing stream name -:::{versionadded} TODO +:::{versionadded} 0.42.0 The `__stream_name__` variable. ::: @@ -675,7 +675,7 @@ stream_maps: ``` ```` -:::{versionadded} TODO +:::{versionadded} 0.42.0 Support for `__alias__` expression evaluation. ::: From 3c303ae3cfd355608b456c26e07a63d71372061b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Sun, 6 Oct 2024 11:30:40 -0600 Subject: [PATCH 34/49] feat: Bumped simpleeval to 1.0 (#2707) --- .pre-commit-config.yaml | 6 -- poetry.lock | 203 +++++++++++++++++++++------------------- pyproject.toml | 20 +--- 3 files changed, 111 insertions(+), 118 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4acaba7b9..c548245ac 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,12 +35,6 @@ repos: tests/snapshots/.* )$ - id: trailing-whitespace - exclude: | - (?x)^( - .bumpversion.cfg| - singer_sdk/helpers/_simpleeval.py| - tests/core/test_simpleeval.py - )$ - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.29.3 diff --git a/poetry.lock b/poetry.lock index 3d95d2389..24a2df4af 100644 --- a/poetry.lock +++ b/poetry.lock @@ -34,102 +34,102 @@ files = [ [[package]] name = "aiohttp" -version = "3.10.8" +version = "3.10.9" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.8" files = [ - {file = "aiohttp-3.10.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a1ba7bc139592339ddeb62c06486d0fa0f4ca61216e14137a40d626c81faf10c"}, - {file = "aiohttp-3.10.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85e4d7bd05d18e4b348441e7584c681eff646e3bf38f68b2626807f3add21aa2"}, - {file = "aiohttp-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:69de056022e7abf69cb9fec795515973cc3eeaff51e3ea8d72a77aa933a91c52"}, - {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee3587506898d4a404b33bd19689286ccf226c3d44d7a73670c8498cd688e42c"}, - {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe285a697c851734285369614443451462ce78aac2b77db23567507484b1dc6f"}, - {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10c7932337285a6bfa3a5fe1fd4da90b66ebfd9d0cbd1544402e1202eb9a8c3e"}, - {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd9716ef0224fe0d0336997eb242f40619f9f8c5c57e66b525a1ebf9f1d8cebe"}, - {file = "aiohttp-3.10.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceacea31f8a55cdba02bc72c93eb2e1b77160e91f8abd605969c168502fd71eb"}, - {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9721554bfa9e15f6e462da304374c2f1baede3cb06008c36c47fa37ea32f1dc4"}, - {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:22cdeb684d8552490dd2697a5138c4ecb46f844892df437aaf94f7eea99af879"}, - {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e56bb7e31c4bc79956b866163170bc89fd619e0581ce813330d4ea46921a4881"}, - {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3a95d2686bc4794d66bd8de654e41b5339fab542b2bca9238aa63ed5f4f2ce82"}, - {file = "aiohttp-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d82404a0e7b10e0d7f022cf44031b78af8a4f99bd01561ac68f7c24772fed021"}, - {file = "aiohttp-3.10.8-cp310-cp310-win32.whl", hash = "sha256:4e10b04542d27e21538e670156e88766543692a0a883f243ba8fad9ddea82e53"}, - {file = "aiohttp-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:680dbcff5adc7f696ccf8bf671d38366a1f620b5616a1d333d0cb33956065395"}, - {file = "aiohttp-3.10.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:33a68011a38020ed4ff41ae0dbf4a96a202562ecf2024bdd8f65385f1d07f6ef"}, - {file = "aiohttp-3.10.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c7efa6616a95e3bd73b8a69691012d2ef1f95f9ea0189e42f338fae080c2fc6"}, - {file = "aiohttp-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddb9b9764cfb4459acf01c02d2a59d3e5066b06a846a364fd1749aa168efa2be"}, - {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7f270f4ca92760f98a42c45a58674fff488e23b144ec80b1cc6fa2effed377"}, - {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6984dda9d79064361ab58d03f6c1e793ea845c6cfa89ffe1a7b9bb400dfd56bd"}, - {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f6d47e392c27206701565c8df4cac6ebed28fdf6dcaea5b1eea7a4631d8e6db"}, - {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a72f89aea712c619b2ca32c6f4335c77125ede27530ad9705f4f349357833695"}, - {file = "aiohttp-3.10.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36074b26f3263879ba8e4dbd33db2b79874a3392f403a70b772701363148b9f"}, - {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e32148b4a745e70a255a1d44b5664de1f2e24fcefb98a75b60c83b9e260ddb5b"}, - {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5aa1a073514cf59c81ad49a4ed9b5d72b2433638cd53160fd2f3a9cfa94718db"}, - {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d3a79200a9d5e621c4623081ddb25380b713c8cf5233cd11c1aabad990bb9381"}, - {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e45fdfcb2d5bcad83373e4808825b7512953146d147488114575780640665027"}, - {file = "aiohttp-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f78e2a78432c537ae876a93013b7bc0027ba5b93ad7b3463624c4b6906489332"}, - {file = "aiohttp-3.10.8-cp311-cp311-win32.whl", hash = "sha256:f8179855a4e4f3b931cb1764ec87673d3fbdcca2af496c8d30567d7b034a13db"}, - {file = "aiohttp-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:ef9b484604af05ca745b6108ca1aaa22ae1919037ae4f93aaf9a37ba42e0b835"}, - {file = "aiohttp-3.10.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ab2d6523575fc98896c80f49ac99e849c0b0e69cc80bf864eed6af2ae728a52b"}, - {file = "aiohttp-3.10.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f5d5d5401744dda50b943d8764508d0e60cc2d3305ac1e6420935861a9d544bc"}, - {file = "aiohttp-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de23085cf90911600ace512e909114385026b16324fa203cc74c81f21fd3276a"}, - {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4618f0d2bf523043866a9ff8458900d8eb0a6d4018f251dae98e5f1fb699f3a8"}, - {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21c1925541ca84f7b5e0df361c0a813a7d6a56d3b0030ebd4b220b8d232015f9"}, - {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:497a7d20caea8855c5429db3cdb829385467217d7feb86952a6107e033e031b9"}, - {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c887019dbcb4af58a091a45ccf376fffe800b5531b45c1efccda4bedf87747ea"}, - {file = "aiohttp-3.10.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40d2d719c3c36a7a65ed26400e2b45b2d9ed7edf498f4df38b2ae130f25a0d01"}, - {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:57359785f27394a8bcab0da6dcd46706d087dfebf59a8d0ad2e64a4bc2f6f94f"}, - {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a961ee6f2cdd1a2be4735333ab284691180d40bad48f97bb598841bfcbfb94ec"}, - {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:fe3d79d6af839ffa46fdc5d2cf34295390894471e9875050eafa584cb781508d"}, - {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a281cba03bdaa341c70b7551b2256a88d45eead149f48b75a96d41128c240b3"}, - {file = "aiohttp-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c6769d71bfb1ed60321363a9bc05e94dcf05e38295ef41d46ac08919e5b00d19"}, - {file = "aiohttp-3.10.8-cp312-cp312-win32.whl", hash = "sha256:a3081246bab4d419697ee45e555cef5cd1def7ac193dff6f50be761d2e44f194"}, - {file = "aiohttp-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:ab1546fc8e00676febc81c548a876c7bde32f881b8334b77f84719ab2c7d28dc"}, - {file = "aiohttp-3.10.8-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b1a012677b8e0a39e181e218de47d6741c5922202e3b0b65e412e2ce47c39337"}, - {file = "aiohttp-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2df786c96c57cd6b87156ba4c5f166af7b88f3fc05f9d592252fdc83d8615a3c"}, - {file = "aiohttp-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8885ca09d3a9317219c0831276bfe26984b17b2c37b7bf70dd478d17092a4772"}, - {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dbf252ac19860e0ab56cd480d2805498f47c5a2d04f5995d8d8a6effd04b48c"}, - {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2036479b6b94afaaca7d07b8a68dc0e67b0caf5f6293bb6a5a1825f5923000"}, - {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:365783e1b7c40b59ed4ce2b5a7491bae48f41cd2c30d52647a5b1ee8604c68ad"}, - {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:270e653b5a4b557476a1ed40e6b6ce82f331aab669620d7c95c658ef976c9c5e"}, - {file = "aiohttp-3.10.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8960fabc20bfe4fafb941067cda8e23c8c17c98c121aa31c7bf0cdab11b07842"}, - {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f21e8f2abed9a44afc3d15bba22e0dfc71e5fa859bea916e42354c16102b036f"}, - {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fecd55e7418fabd297fd836e65cbd6371aa4035a264998a091bbf13f94d9c44d"}, - {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:badb51d851358cd7535b647bb67af4854b64f3c85f0d089c737f75504d5910ec"}, - {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e860985f30f3a015979e63e7ba1a391526cdac1b22b7b332579df7867848e255"}, - {file = "aiohttp-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:71462f8eeca477cbc0c9700a9464e3f75f59068aed5e9d4a521a103692da72dc"}, - {file = "aiohttp-3.10.8-cp313-cp313-win32.whl", hash = "sha256:177126e971782769b34933e94fddd1089cef0fe6b82fee8a885e539f5b0f0c6a"}, - {file = "aiohttp-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:98a4eb60e27033dee9593814ca320ee8c199489fbc6b2699d0f710584db7feb7"}, - {file = "aiohttp-3.10.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ffef3d763e4c8fc97e740da5b4d0f080b78630a3914f4e772a122bbfa608c1db"}, - {file = "aiohttp-3.10.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:597128cb7bc5f068181b49a732961f46cb89f85686206289d6ccb5e27cb5fbe2"}, - {file = "aiohttp-3.10.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f23a6c1d09de5de89a33c9e9b229106cb70dcfdd55e81a3a3580eaadaa32bc92"}, - {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da57af0c54a302b7c655fa1ccd5b1817a53739afa39924ef1816e7b7c8a07ccb"}, - {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e7a6af57091056a79a35104d6ec29d98ec7f1fb7270ad9c6fff871b678d1ff8"}, - {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32710d6b3b6c09c60c794d84ca887a3a2890131c0b02b3cefdcc6709a2260a7c"}, - {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b91f4f62ad39a8a42d511d66269b46cb2fb7dea9564c21ab6c56a642d28bff5"}, - {file = "aiohttp-3.10.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:471a8c47344b9cc309558b3fcc469bd2c12b49322b4b31eb386c4a2b2d44e44a"}, - {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc0e7f91705445d79beafba9bb3057dd50830e40fe5417017a76a214af54e122"}, - {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:85431c9131a9a0f65260dc7a65c800ca5eae78c4c9931618f18c8e0933a0e0c1"}, - {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:b91557ee0893da52794b25660d4f57bb519bcad8b7df301acd3898f7197c5d81"}, - {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:4954e6b06dd0be97e1a5751fc606be1f9edbdc553c5d9b57d72406a8fbd17f9d"}, - {file = "aiohttp-3.10.8-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a087c84b4992160ffef7afd98ef24177c8bd4ad61c53607145a8377457385100"}, - {file = "aiohttp-3.10.8-cp38-cp38-win32.whl", hash = "sha256:e1f0f7b27171b2956a27bd8f899751d0866ddabdd05cbddf3520f945130a908c"}, - {file = "aiohttp-3.10.8-cp38-cp38-win_amd64.whl", hash = "sha256:c4916070e12ae140110aa598031876c1bf8676a36a750716ea0aa5bd694aa2e7"}, - {file = "aiohttp-3.10.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5284997e3d88d0dfb874c43e51ae8f4a6f4ca5b90dcf22995035187253d430db"}, - {file = "aiohttp-3.10.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9443d9ebc5167ce1fbb552faf2d666fb22ef5716a8750be67efd140a7733738c"}, - {file = "aiohttp-3.10.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b667e2a03407d79a76c618dc30cedebd48f082d85880d0c9c4ec2faa3e10f43e"}, - {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98fae99d5c2146f254b7806001498e6f9ffb0e330de55a35e72feb7cb2fa399b"}, - {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8296edd99d0dd9d0eb8b9e25b3b3506eef55c1854e9cc230f0b3f885f680410b"}, - {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1ce46dfb49cfbf9e92818be4b761d4042230b1f0e05ffec0aad15b3eb162b905"}, - {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c38cfd355fd86c39b2d54651bd6ed7d63d4fe3b5553f364bae3306e2445f847"}, - {file = "aiohttp-3.10.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:713dff3f87ceec3bde4f3f484861464e722cf7533f9fa6b824ec82bb5a9010a7"}, - {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:21a72f4a9c69a8567a0aca12042f12bba25d3139fd5dd8eeb9931f4d9e8599cd"}, - {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6d1ad868624f6cea77341ef2877ad4e71f7116834a6cd7ec36ec5c32f94ee6ae"}, - {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a78ba86d5a08207d1d1ad10b97aed6ea48b374b3f6831d02d0b06545ac0f181e"}, - {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:aff048793d05e1ce05b62e49dccf81fe52719a13f4861530706619506224992b"}, - {file = "aiohttp-3.10.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d088ca05381fd409793571d8e34eca06daf41c8c50a05aeed358d2d340c7af81"}, - {file = "aiohttp-3.10.8-cp39-cp39-win32.whl", hash = "sha256:ee97c4e54f457c366e1f76fbbf3e8effee9de57dae671084a161c00f481106ce"}, - {file = "aiohttp-3.10.8-cp39-cp39-win_amd64.whl", hash = "sha256:d95ae4420669c871667aad92ba8cce6251d61d79c1a38504621094143f94a8b4"}, - {file = "aiohttp-3.10.8.tar.gz", hash = "sha256:21f8225f7dc187018e8433c9326be01477fb2810721e048b33ac49091b19fb4a"}, + {file = "aiohttp-3.10.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8b3fb28a9ac8f2558760d8e637dbf27aef1e8b7f1d221e8669a1074d1a266bb2"}, + {file = "aiohttp-3.10.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91aa966858593f64c8a65cdefa3d6dc8fe3c2768b159da84c1ddbbb2c01ab4ef"}, + {file = "aiohttp-3.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:63649309da83277f06a15bbdc2a54fbe75efb92caa2c25bb57ca37762789c746"}, + {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3e7fabedb3fe06933f47f1538df7b3a8d78e13d7167195f51ca47ee12690373"}, + {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c070430fda1a550a1c3a4c2d7281d3b8cfc0c6715f616e40e3332201a253067"}, + {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:51d0a4901b27272ae54e42067bc4b9a90e619a690b4dc43ea5950eb3070afc32"}, + {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fec5fac7aea6c060f317f07494961236434928e6f4374e170ef50b3001e14581"}, + {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:172ad884bb61ad31ed7beed8be776eb17e7fb423f1c1be836d5cb357a096bf12"}, + {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d646fdd74c25bbdd4a055414f0fe32896c400f38ffbdfc78c68e62812a9e0257"}, + {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e86260b76786c28acf0b5fe31c8dca4c2add95098c709b11e8c35b424ebd4f5b"}, + {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d7cafc11d70fdd8801abfc2ff276744ae4cb39d8060b6b542c7e44e5f2cfc2"}, + {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc262c3df78c8ff6020c782d9ce02e4bcffe4900ad71c0ecdad59943cba54442"}, + {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:482c85cf3d429844396d939b22bc2a03849cb9ad33344689ad1c85697bcba33a"}, + {file = "aiohttp-3.10.9-cp310-cp310-win32.whl", hash = "sha256:aeebd3061f6f1747c011e1d0b0b5f04f9f54ad1a2ca183e687e7277bef2e0da2"}, + {file = "aiohttp-3.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:fa430b871220dc62572cef9c69b41e0d70fcb9d486a4a207a5de4c1f25d82593"}, + {file = "aiohttp-3.10.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:16e6a51d8bc96b77f04a6764b4ad03eeef43baa32014fce71e882bd71302c7e4"}, + {file = "aiohttp-3.10.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8bd9125dd0cc8ebd84bff2be64b10fdba7dc6fd7be431b5eaf67723557de3a31"}, + {file = "aiohttp-3.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dcf354661f54e6a49193d0b5653a1b011ba856e0b7a76bda2c33e4c6892f34ea"}, + {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42775de0ca04f90c10c5c46291535ec08e9bcc4756f1b48f02a0657febe89b10"}, + {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d1e4185c5d7187684d41ebb50c9aeaaaa06ca1875f4c57593071b0409d2444"}, + {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2695c61cf53a5d4345a43d689f37fc0f6d3a2dc520660aec27ec0f06288d1f9"}, + {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a3f063b41cc06e8d0b3fcbbfc9c05b7420f41287e0cd4f75ce0a1f3d80729e6"}, + {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d37f4718002863b82c6f391c8efd4d3a817da37030a29e2682a94d2716209de"}, + {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2746d8994ebca1bdc55a1e998feff4e94222da709623bb18f6e5cfec8ec01baf"}, + {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6f3c6648aa123bcd73d6f26607d59967b607b0da8ffcc27d418a4b59f4c98c7c"}, + {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:558b3d223fd631ad134d89adea876e7fdb4c93c849ef195049c063ada82b7d08"}, + {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4e6cb75f8ddd9c2132d00bc03c9716add57f4beff1263463724f6398b813e7eb"}, + {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:608cecd8d58d285bfd52dbca5b6251ca8d6ea567022c8a0eaae03c2589cd9af9"}, + {file = "aiohttp-3.10.9-cp311-cp311-win32.whl", hash = "sha256:36d4fba838be5f083f5490ddd281813b44d69685db910907636bc5dca6322316"}, + {file = "aiohttp-3.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:8be1a65487bdfc285bd5e9baf3208c2132ca92a9b4020e9f27df1b16fab998a9"}, + {file = "aiohttp-3.10.9-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4fd16b30567c5b8e167923be6e027eeae0f20cf2b8a26b98a25115f28ad48ee0"}, + {file = "aiohttp-3.10.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:40ff5b7660f903dc587ed36ef08a88d46840182d9d4b5694e7607877ced698a1"}, + {file = "aiohttp-3.10.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4edc3fd701e2b9a0d605a7b23d3de4ad23137d23fc0dbab726aa71d92f11aaaf"}, + {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e525b69ee8a92c146ae5b4da9ecd15e518df4d40003b01b454ad694a27f498b5"}, + {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5002a02c17fcfd796d20bac719981d2fca9c006aac0797eb8f430a58e9d12431"}, + {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd4ceeae2fb8cabdd1b71c82bfdd39662473d3433ec95b962200e9e752fb70d0"}, + {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6e395c3d1f773cf0651cd3559e25182eb0c03a2777b53b4575d8adc1149c6e9"}, + {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbdb8def5268f3f9cd753a265756f49228a20ed14a480d151df727808b4531dd"}, + {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f82ace0ec57c94aaf5b0e118d4366cff5889097412c75aa14b4fd5fc0c44ee3e"}, + {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6ebdc3b3714afe1b134b3bbeb5f745eed3ecbcff92ab25d80e4ef299e83a5465"}, + {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f9ca09414003c0e96a735daa1f071f7d7ed06962ef4fa29ceb6c80d06696d900"}, + {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1298b854fd31d0567cbb916091be9d3278168064fca88e70b8468875ef9ff7e7"}, + {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60ad5b8a7452c0f5645c73d4dad7490afd6119d453d302cd5b72b678a85d6044"}, + {file = "aiohttp-3.10.9-cp312-cp312-win32.whl", hash = "sha256:1a0ee6c0d590c917f1b9629371fce5f3d3f22c317aa96fbdcce3260754d7ea21"}, + {file = "aiohttp-3.10.9-cp312-cp312-win_amd64.whl", hash = "sha256:c46131c6112b534b178d4e002abe450a0a29840b61413ac25243f1291613806a"}, + {file = "aiohttp-3.10.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2bd9f3eac515c16c4360a6a00c38119333901b8590fe93c3257a9b536026594d"}, + {file = "aiohttp-3.10.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8cc0d13b4e3b1362d424ce3f4e8c79e1f7247a00d792823ffd640878abf28e56"}, + {file = "aiohttp-3.10.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ba1a599255ad6a41022e261e31bc2f6f9355a419575b391f9655c4d9e5df5ff5"}, + {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:776e9f3c9b377fcf097c4a04b241b15691e6662d850168642ff976780609303c"}, + {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8debb45545ad95b58cc16c3c1cc19ad82cffcb106db12b437885dbee265f0ab5"}, + {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2555e4949c8d8782f18ef20e9d39730d2656e218a6f1a21a4c4c0b56546a02e"}, + {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c54dc329cd44f7f7883a9f4baaefe686e8b9662e2c6c184ea15cceee587d8d69"}, + {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e709d6ac598c5416f879bb1bae3fd751366120ac3fa235a01de763537385d036"}, + {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:17c272cfe7b07a5bb0c6ad3f234e0c336fb53f3bf17840f66bd77b5815ab3d16"}, + {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0c21c82df33b264216abffff9f8370f303dab65d8eee3767efbbd2734363f677"}, + {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9331dd34145ff105177855017920dde140b447049cd62bb589de320fd6ddd582"}, + {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ac3196952c673822ebed8871cf8802e17254fff2a2ed4835d9c045d9b88c5ec7"}, + {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2c33fa6e10bb7ed262e3ff03cc69d52869514f16558db0626a7c5c61dde3c29f"}, + {file = "aiohttp-3.10.9-cp313-cp313-win32.whl", hash = "sha256:a14e4b672c257a6b94fe934ee62666bacbc8e45b7876f9dd9502d0f0fe69db16"}, + {file = "aiohttp-3.10.9-cp313-cp313-win_amd64.whl", hash = "sha256:a35ed3d03910785f7d9d6f5381f0c24002b2b888b298e6f941b2fc94c5055fcd"}, + {file = "aiohttp-3.10.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f392ef50e22c31fa49b5a46af7f983fa3f118f3eccb8522063bee8bfa6755f8"}, + {file = "aiohttp-3.10.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d1f5c9169e26db6a61276008582d945405b8316aae2bb198220466e68114a0f5"}, + {file = "aiohttp-3.10.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8d9d10d10ec27c0d46ddaecc3c5598c4db9ce4e6398ca872cdde0525765caa2f"}, + {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d97273a52d7f89a75b11ec386f786d3da7723d7efae3034b4dda79f6f093edc1"}, + {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d271f770b52e32236d945911b2082f9318e90ff835d45224fa9e28374303f729"}, + {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7003f33f5f7da1eb02f0446b0f8d2ccf57d253ca6c2e7a5732d25889da82b517"}, + {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6e00c8a92e7663ed2be6fcc08a2997ff06ce73c8080cd0df10cc0321a3168d7"}, + {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a61df62966ce6507aafab24e124e0c3a1cfbe23c59732987fc0fd0d71daa0b88"}, + {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:60555211a006d26e1a389222e3fab8cd379f28e0fbf7472ee55b16c6c529e3a6"}, + {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d15a29424e96fad56dc2f3abed10a89c50c099f97d2416520c7a543e8fddf066"}, + {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:a19caae0d670771ea7854ca30df76f676eb47e0fd9b2ee4392d44708f272122d"}, + {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:99f9678bf0e2b1b695e8028fedac24ab6770937932eda695815d5a6618c37e04"}, + {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2914caa46054f3b5ff910468d686742ff8cff54b8a67319d75f5d5945fd0a13d"}, + {file = "aiohttp-3.10.9-cp38-cp38-win32.whl", hash = "sha256:0bc059ecbce835630e635879f5f480a742e130d9821fbe3d2f76610a6698ee25"}, + {file = "aiohttp-3.10.9-cp38-cp38-win_amd64.whl", hash = "sha256:e883b61b75ca6efc2541fcd52a5c8ccfe288b24d97e20ac08fdf343b8ac672ea"}, + {file = "aiohttp-3.10.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fcd546782d03181b0b1d20b43d612429a90a68779659ba8045114b867971ab71"}, + {file = "aiohttp-3.10.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:85711eec2d875cd88c7eb40e734c4ca6d9ae477d6f26bd2b5bb4f7f60e41b156"}, + {file = "aiohttp-3.10.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:02d1d6610588bcd743fae827bd6f2e47e0d09b346f230824b4c6fb85c6065f9c"}, + {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3668d0c2a4d23fb136a753eba42caa2c0abbd3d9c5c87ee150a716a16c6deec1"}, + {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d7c071235a47d407b0e93aa6262b49422dbe48d7d8566e1158fecc91043dd948"}, + {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ac74e794e3aee92ae8f571bfeaa103a141e409863a100ab63a253b1c53b707eb"}, + {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bbf94d4a0447705b7775417ca8bb8086cc5482023a6e17cdc8f96d0b1b5aba6"}, + {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb0b2d5d51f96b6cc19e6ab46a7b684be23240426ae951dcdac9639ab111b45e"}, + {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e83dfefb4f7d285c2d6a07a22268344a97d61579b3e0dce482a5be0251d672ab"}, + {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f0a44bb40b6aaa4fb9a5c1ee07880570ecda2065433a96ccff409c9c20c1624a"}, + {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c2b627d3c8982691b06d89d31093cee158c30629fdfebe705a91814d49b554f8"}, + {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:03690541e4cc866eef79626cfa1ef4dd729c5c1408600c8cb9e12e1137eed6ab"}, + {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ad3675c126f2a95bde637d162f8231cff6bc0bc9fbe31bd78075f9ff7921e322"}, + {file = "aiohttp-3.10.9-cp39-cp39-win32.whl", hash = "sha256:1321658f12b6caffafdc35cfba6c882cb014af86bef4e78c125e7e794dfb927b"}, + {file = "aiohttp-3.10.9-cp39-cp39-win_amd64.whl", hash = "sha256:9fdf5c839bf95fc67be5794c780419edb0dbef776edcfc6c2e5e2ffd5ee755fa"}, + {file = "aiohttp-3.10.9.tar.gz", hash = "sha256:143b0026a9dab07a05ad2dd9e46aa859bffdd6348ddc5967b42161168c24f857"}, ] [package.dependencies] @@ -2615,6 +2615,17 @@ files = [ {file = "simpleeval-0.9.13.tar.gz", hash = "sha256:4a30f9cc01825fe4c719c785e3762623e350c4840d5e6855c2a8496baaa65fac"}, ] +[[package]] +name = "simpleeval" +version = "1.0.0" +description = "A simple, safe single expression evaluator library." +optional = false +python-versions = ">=3.9" +files = [ + {file = "simpleeval-1.0.0-py3-none-any.whl", hash = "sha256:704817f39879b42d81777f02e2dd28dde45c7f9c3fd84cea0d6dbde85c3efcff"}, + {file = "simpleeval-1.0.0.tar.gz", hash = "sha256:f3d259deeb751d34c63e56747bab384efad63a2dbdb4f130281c42279788ac3c"}, +] + [[package]] name = "simplejson" version = "3.19.3" @@ -3175,13 +3186,13 @@ referencing = "*" [[package]] name = "types-pytz" -version = "2024.2.0.20240913" +version = "2024.2.0.20241003" description = "Typing stubs for pytz" optional = false python-versions = ">=3.8" files = [ - {file = "types-pytz-2024.2.0.20240913.tar.gz", hash = "sha256:4433b5df4a6fc587bbed41716d86a5ba5d832b4378e506f40d34bc9c81df2c24"}, - {file = "types_pytz-2024.2.0.20240913-py3-none-any.whl", hash = "sha256:a1eebf57ebc6e127a99d2fa2ba0a88d2b173784ef9b3defcc2004ab6855a44df"}, + {file = "types-pytz-2024.2.0.20241003.tar.gz", hash = "sha256:575dc38f385a922a212bac00a7d6d2e16e141132a3c955078f4a4fd13ed6cb44"}, + {file = "types_pytz-2024.2.0.20241003-py3-none-any.whl", hash = "sha256:3e22df1336c0c6ad1d29163c8fda82736909eb977281cb823c57f8bae07118b7"}, ] [[package]] @@ -3542,4 +3553,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "54b2b2caf41a6f8c058f4e40b00fb33031c86cdea138bce71d457a94a03f164b" +content-hash = "838b8c0b03a197707b98d85a65e1b4944c271ec3b0abf4bf30e6faec3951cfe1" diff --git a/pyproject.toml b/pyproject.toml index 83410902f..323ab6bf6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,7 +58,10 @@ requests = ">=2.25.1" # TODO: remove this constraint once we get rid of the `fs` dependency # newer setuptools versions are incompatible with some dependencies (fs) setuptools = "<=70.3.0" -simpleeval = ">=0.9.13" +simpleeval = [ + { version = ">=0.9.13,<1", python = "<3.9" }, + { version = ">=0.9.13", python = ">=3.9" }, +] simplejson = ">=3.17.6" sqlalchemy = ">=1.4,<3.0" typing-extensions = ">=4.5.0" @@ -160,7 +163,6 @@ pytest-codspeed = ">=2.2.0" [tool.pytest.ini_options] addopts = [ "--durations=10", - "--ignore=singer_sdk/helpers/_simpleeval.py", "-m", "not external", "-ra", @@ -173,19 +175,6 @@ filterwarnings = [ "ignore:No records were available to test:UserWarning", # https://github.com/meltano/sdk/issues/1354 "ignore:The function singer_sdk.testing.get_standard_tap_tests is deprecated:DeprecationWarning", - # https://docs.python.org/3.12/whatsnew/3.12.html#deprecated - # https://github.com/danthedeckie/simpleeval/blob/master/simpleeval.py - "ignore:ast.NameConstant is deprecated:DeprecationWarning:simpleeval", - # https://docs.python.org/3.12/whatsnew/3.12.html#deprecated - # https://github.com/danthedeckie/simpleeval/blob/master/simpleeval.py - "ignore:ast.Num is deprecated:DeprecationWarning:simpleeval", - # https://github.com/joblib/joblib/pull/1518 - "ignore:ast.Num is deprecated:DeprecationWarning:joblib._utils", - # https://docs.python.org/3.12/whatsnew/3.12.html#deprecated - # https://github.com/danthedeckie/simpleeval/blob/master/simpleeval.py - "ignore:ast.Str is deprecated:DeprecationWarning:simpleeval", - # https://github.com/joblib/joblib/pull/1518 - "ignore:Attribute n is deprecated:DeprecationWarning:joblib._utils", ] log_cli_level = "INFO" markers = [ @@ -322,7 +311,6 @@ parquet = "singer_sdk.contrib.batch_encoder_parquet:ParquetBatcher" [tool.ruff] extend-exclude = [ "cookiecutter/*", - "*simpleeval*", ] line-length = 88 target-version = "py38" From a3b2a97c1d0101f3dd145a69e34c13e49f07ab51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 06:56:51 -0600 Subject: [PATCH 35/49] chore(deps): bump the ci group in /.github/workflows with 2 updates (#2708) Bumps the ci group in /.github/workflows with 2 updates: [griffe](https://github.com/mkdocstrings/griffe) and [pre-commit](https://github.com/pre-commit/pre-commit). Updates `griffe` from 1.3.1 to 1.3.2 - [Release notes](https://github.com/mkdocstrings/griffe/releases) - [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/griffe/compare/1.3.1...1.3.2) Updates `pre-commit` from 3.8.0 to 4.0.0 - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md) - [Commits](https://github.com/pre-commit/pre-commit/compare/v3.8.0...v4.0.0) --- updated-dependencies: - dependency-name: griffe dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ci - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-major dependency-group: ci ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/constraints.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/constraints.txt b/.github/workflows/constraints.txt index 4dfd4edc8..faa4f7f92 100644 --- a/.github/workflows/constraints.txt +++ b/.github/workflows/constraints.txt @@ -1,8 +1,8 @@ -griffe==1.3.1 +griffe==1.3.2 pip==24.2 poetry==1.8.3 poetry-plugin-export==1.8.0 poetry-dynamic-versioning==1.4.1 -pre-commit==3.8.0 +pre-commit==4.0.0 nox==2024.4.15 nox-poetry==1.0.3 From 7494ba0d5b71a478ac4a6ae861c00dabbf32ee22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 08:04:55 -0600 Subject: [PATCH 36/49] chore(deps): bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 in the actions group (#2709) chore(deps): bump pypa/gh-action-pypi-publish in the actions group Bumps the actions group with 1 update: [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish). Updates `pypa/gh-action-pypi-publish` from 1.10.2 to 1.10.3 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.10.2...v1.10.3) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c08df46e..4a61b1508 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: name: Packages path: dist - name: Publish - uses: pypa/gh-action-pypi-publish@v1.10.2 + uses: pypa/gh-action-pypi-publish@v1.10.3 upload-to-release: name: Upload files to release From bf8384eb830ddc852bcbee43f3534f734fb79751 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:38:05 -0600 Subject: [PATCH 37/49] chore: pre-commit autoupdate (#2710) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0) - [github.com/astral-sh/ruff-pre-commit: v0.6.8 → v0.6.9](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.8...v0.6.9) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c548245ac..18f9fecda 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,7 +5,7 @@ ci: repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-json exclude: | @@ -44,7 +44,7 @@ repos: - id: check-readthedocs - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.8 + rev: v0.6.9 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix, --show-fixes] From 11291972d4713b5485e1416af0414d3cba662c85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 9 Oct 2024 12:03:59 -0600 Subject: [PATCH 38/49] feat: JSON schema `title` is now supported in configuration and stream properties (#2712) * feat: JSON schema `title` is now supported in configuration and stream properties * Update docs --- .../{{cookiecutter.library_name}}/mapper.py | 1 + .../{{cookiecutter.library_name}}/tap.py | 3 + .../{{cookiecutter.library_name}}/target.py | 4 + docs/guides/config-schema.md | 7 +- poetry.lock | 645 +++++++++++------- singer_sdk/contrib/filesystem/config.py | 13 + singer_sdk/contrib/filesystem/tap.py | 4 + singer_sdk/helpers/capabilities.py | 23 +- singer_sdk/typing.py | 15 +- tests/core/test_jsonschema_helpers.py | 11 + 10 files changed, 459 insertions(+), 267 deletions(-) diff --git a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py index 8e6ea991e..af6406201 100644 --- a/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py +++ b/cookiecutter/mapper-template/{{cookiecutter.mapper_id}}/{{cookiecutter.library_name}}/mapper.py @@ -23,6 +23,7 @@ class {{ cookiecutter.name }}Mapper(InlineMapper): th.Property( "example_config", th.StringType, + title="Example Configuration", description="An example config, replace or remove based on your needs.", ), ).to_dict() diff --git a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/tap.py b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/tap.py index 74c8927e9..3fbd58a43 100644 --- a/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/tap.py +++ b/cookiecutter/tap-template/{{cookiecutter.tap_id}}/{{cookiecutter.library_name}}/tap.py @@ -31,12 +31,14 @@ class Tap{{ cookiecutter.source_name }}({{ 'SQL' if cookiecutter.stream_type == th.StringType, required=True, secret=True, # Flag config as protected. + title="Auth Token", description="The token to authenticate against the API service", ), th.Property( "project_ids", th.ArrayType(th.StringType), required=True, + title="Project IDs", description="Project IDs to replicate", ), th.Property( @@ -47,6 +49,7 @@ class Tap{{ cookiecutter.source_name }}({{ 'SQL' if cookiecutter.stream_type == th.Property( "api_url", th.StringType, + title="API URL", default="https://api.mysample.com", description="The url for the API service", ), diff --git a/cookiecutter/target-template/{{cookiecutter.target_id}}/{{cookiecutter.library_name}}/target.py b/cookiecutter/target-template/{{cookiecutter.target_id}}/{{cookiecutter.library_name}}/target.py index f28bb4e94..e66a10eae 100644 --- a/cookiecutter/target-template/{{cookiecutter.target_id}}/{{cookiecutter.library_name}}/target.py +++ b/cookiecutter/target-template/{{cookiecutter.target_id}}/{{cookiecutter.library_name}}/target.py @@ -23,23 +23,27 @@ class Target{{ cookiecutter.destination_name }}({{ target_class }}): "sqlalchemy_url", th.StringType, secret=True, # Flag config as protected. + title="SQLAlchemy URL", description="SQLAlchemy connection string", ), {%- else %} th.Property( "filepath", th.StringType, + title="Output File Path", description="The path to the target output file", ), th.Property( "file_naming_scheme", th.StringType, + title="File Naming Scheme", description="The scheme with which output files will be named", ), th.Property( "auth_token", th.StringType, secret=True, # Flag config as protected. + title="Auth Token", description="The path to the target output file", ), {%- endif %} diff --git a/docs/guides/config-schema.md b/docs/guides/config-schema.md index e5aad4378..d4ea1d16b 100644 --- a/docs/guides/config-schema.md +++ b/docs/guides/config-schema.md @@ -15,9 +15,9 @@ class MyTap(Tap): name = "my-tap" config_jsonschema = th.PropertiesList( - th.Property("api_key", th.StringType, required=True), - th.Property("base_url", th.StringType, default="https://api.example.com"), - th.Property("start_date", th.DateTimeType), + th.Property("api_key", th.StringType, required=True, title="API Key"), + th.Property("base_url", th.StringType, default="https://api.example.com", title="Base URL"), + th.Property("start_date", th.DateTimeType, title="Start Date"), ).to_dict() ``` @@ -29,6 +29,7 @@ Explanation of the configuration schema defined above: - The `th.StringType`, `th.DateTimeType`, etc. helpers are used to define the type of the property. - The `required` attribute is used to mark a property as required. The tap will throw an error if the user does not provide a value for a required property. - The `default` attribute is used to provide a default value for a property. The tap will use this if the user does not provide a value, so this can be accessed in the tap or streams with square bracket syntax, i.e. `self.config["base_url"]`. +- The `title` attribute is used to provide a human-readable title for the property. - The `to_dict()` method is used to convert the JSON object to a Python dictionary. See the full reference for the [typing module](../typing.rst) for more information on how to define a configuration schema. diff --git a/poetry.lock b/poetry.lock index 24a2df4af..d7ef5c0e2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2,24 +2,24 @@ [[package]] name = "aiobotocore" -version = "2.15.1" +version = "2.15.2" description = "Async client for aws services using botocore and aiohttp" optional = true python-versions = ">=3.8" files = [ - {file = "aiobotocore-2.15.1-py3-none-any.whl", hash = "sha256:0f738cde74108553b753b24655094289a3c7ea0f0f179ed1c0f8cea488999a35"}, - {file = "aiobotocore-2.15.1.tar.gz", hash = "sha256:1f9f16eec2a3da32df162b5db12da779ec6d6c6311715c936cad511f436efa74"}, + {file = "aiobotocore-2.15.2-py3-none-any.whl", hash = "sha256:d4d3128b4b558e2b4c369bfa963b022d7e87303adb82eec623cec8aa77ae578a"}, + {file = "aiobotocore-2.15.2.tar.gz", hash = "sha256:9ac1cfcaccccc80602968174aa032bf978abe36bd4e55e6781d6500909af1375"}, ] [package.dependencies] aiohttp = ">=3.9.2,<4.0.0" aioitertools = ">=0.5.1,<1.0.0" -botocore = ">=1.35.16,<1.35.24" +botocore = ">=1.35.16,<1.35.37" wrapt = ">=1.10.10,<2.0.0" [package.extras] -awscli = ["awscli (>=1.34.16,<1.34.24)"] -boto3 = ["boto3 (>=1.35.16,<1.35.24)"] +awscli = ["awscli (>=1.34.16,<1.35.3)"] +boto3 = ["boto3 (>=1.35.16,<1.35.37)"] [[package]] name = "aiohappyeyeballs" @@ -372,17 +372,17 @@ lxml = ["lxml"] [[package]] name = "boto3" -version = "1.35.23" +version = "1.35.36" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.23-py3-none-any.whl", hash = "sha256:ecba4362f82e23ef775c72b3e6fdef3ef68443629b79e88886d5088302ffc050"}, - {file = "boto3-1.35.23.tar.gz", hash = "sha256:3fbf1d5b749c92ed43aa190650979dff9f83790a42522e1e9eefa54c8e44bc4b"}, + {file = "boto3-1.35.36-py3-none-any.whl", hash = "sha256:33735b9449cd2ef176531ba2cb2265c904a91244440b0e161a17da9d24a1e6d1"}, + {file = "boto3-1.35.36.tar.gz", hash = "sha256:586524b623e4fbbebe28b604c6205eb12f263cc4746bccb011562d07e217a4cb"}, ] [package.dependencies] -botocore = ">=1.35.23,<1.36.0" +botocore = ">=1.35.36,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -391,13 +391,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.23" +version = "1.35.36" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.23-py3-none-any.whl", hash = "sha256:cab9ec4e0367b9f33f0bc02c5a29f587b0119ecffd6d125bacee085dcbc8817d"}, - {file = "botocore-1.35.23.tar.gz", hash = "sha256:25b17a9ccba6ad32bb5bf7ba4f52656aa03c1cb29f6b4e438050ee4ad1967a3b"}, + {file = "botocore-1.35.36-py3-none-any.whl", hash = "sha256:64241c778bf2dc863d93abab159e14024d97a926a5715056ef6411418cb9ead3"}, + {file = "botocore-1.35.36.tar.gz", hash = "sha256:354ec1b766f0029b5d6ff0c45d1a0f9e5007b7d2f3ec89bcdd755b208c5bc797"}, ] [package.dependencies] @@ -409,7 +409,7 @@ urllib3 = [ ] [package.extras] -crt = ["awscrt (==0.21.5)"] +crt = ["awscrt (==0.22.0)"] [[package]] name = "cattrs" @@ -529,101 +529,116 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -917,13 +932,13 @@ test = ["pytest (>=6)"] [[package]] name = "faker" -version = "30.1.0" +version = "30.3.0" description = "Faker is a Python package that generates fake data for you." optional = true python-versions = ">=3.8" files = [ - {file = "Faker-30.1.0-py3-none-any.whl", hash = "sha256:dbf81295c948270a9e96cd48a9a3ebec73acac9a153d0c854fbbd0294557609f"}, - {file = "faker-30.1.0.tar.gz", hash = "sha256:e0593931bd7be9a9ea984b5d8c302ef1cec19392585d1e90d444199271d0a94d"}, + {file = "Faker-30.3.0-py3-none-any.whl", hash = "sha256:e8a15fd1b0f72992b008f5ea94c70d3baa0cb51b0d5a0e899c17b1d1b23d2771"}, + {file = "faker-30.3.0.tar.gz", hash = "sha256:8760fbb34564fbb2f394345eef24aec5b8f6506b6cfcefe8195ed66dd1032bdb"}, ] [package.dependencies] @@ -1855,64 +1870,64 @@ files = [ [[package]] name = "numpy" -version = "2.1.1" +version = "2.1.2" description = "Fundamental package for array computing in Python" optional = true python-versions = ">=3.10" files = [ - {file = "numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9"}, - {file = "numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd"}, - {file = "numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f"}, - {file = "numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab"}, - {file = "numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7"}, - {file = "numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6"}, - {file = "numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0"}, - {file = "numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647"}, - {file = "numpy-2.1.1-cp310-cp310-win32.whl", hash = "sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728"}, - {file = "numpy-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae"}, - {file = "numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550"}, - {file = "numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f"}, - {file = "numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0"}, - {file = "numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95"}, - {file = "numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca"}, - {file = "numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf"}, - {file = "numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e"}, - {file = "numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2"}, - {file = "numpy-2.1.1-cp311-cp311-win32.whl", hash = "sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d"}, - {file = "numpy-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e"}, - {file = "numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e"}, - {file = "numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe"}, - {file = "numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f"}, - {file = "numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521"}, - {file = "numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b"}, - {file = "numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201"}, - {file = "numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a"}, - {file = "numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313"}, - {file = "numpy-2.1.1-cp312-cp312-win32.whl", hash = "sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed"}, - {file = "numpy-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270"}, - {file = "numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5"}, - {file = "numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5"}, - {file = "numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136"}, - {file = "numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0"}, - {file = "numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb"}, - {file = "numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df"}, - {file = "numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78"}, - {file = "numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556"}, - {file = "numpy-2.1.1-cp313-cp313-win32.whl", hash = "sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b"}, - {file = "numpy-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0"}, - {file = "numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553"}, - {file = "numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480"}, - {file = "numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f"}, - {file = "numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468"}, - {file = "numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef"}, - {file = "numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f"}, - {file = "numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c"}, - {file = "numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec"}, - {file = "numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5"}, - {file = "numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504"}, - {file = "numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd"}, - {file = "numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39"}, - {file = "numpy-2.1.1.tar.gz", hash = "sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd"}, + {file = "numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee"}, + {file = "numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884"}, + {file = "numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648"}, + {file = "numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d"}, + {file = "numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86"}, + {file = "numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7"}, + {file = "numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03"}, + {file = "numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466"}, + {file = "numpy-2.1.2-cp310-cp310-win32.whl", hash = "sha256:a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb"}, + {file = "numpy-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2"}, + {file = "numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe"}, + {file = "numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1"}, + {file = "numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f"}, + {file = "numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4"}, + {file = "numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a"}, + {file = "numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1"}, + {file = "numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2"}, + {file = "numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146"}, + {file = "numpy-2.1.2-cp311-cp311-win32.whl", hash = "sha256:5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c"}, + {file = "numpy-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426"}, + {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0"}, + {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df"}, + {file = "numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366"}, + {file = "numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142"}, + {file = "numpy-2.1.2-cp312-cp312-win32.whl", hash = "sha256:9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550"}, + {file = "numpy-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e"}, + {file = "numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d"}, + {file = "numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf"}, + {file = "numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e"}, + {file = "numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3"}, + {file = "numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8"}, + {file = "numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a"}, + {file = "numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98"}, + {file = "numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe"}, + {file = "numpy-2.1.2-cp313-cp313-win32.whl", hash = "sha256:242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a"}, + {file = "numpy-2.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445"}, + {file = "numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5"}, + {file = "numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0"}, + {file = "numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17"}, + {file = "numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6"}, + {file = "numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8"}, + {file = "numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35"}, + {file = "numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62"}, + {file = "numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a"}, + {file = "numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952"}, + {file = "numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5"}, + {file = "numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7"}, + {file = "numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e"}, + {file = "numpy-2.1.2.tar.gz", hash = "sha256:13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c"}, ] [[package]] @@ -2000,6 +2015,113 @@ files = [ {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, ] +[[package]] +name = "propcache" +version = "0.2.0" +description = "Accelerated property cache" +optional = true +python-versions = ">=3.8" +files = [ + {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58"}, + {file = "propcache-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b"}, + {file = "propcache-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33ac8f098df0585c0b53009f039dfd913b38c1d2edafed0cedcc0c32a05aa110"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e48e8875e6c13909c800fa344cd54cc4b2b0db1d5f911f840458a500fde2c2"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388f3217649d6d59292b722d940d4d2e1e6a7003259eb835724092a1cca0203a"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f571aea50ba5623c308aa146eb650eebf7dbe0fd8c5d946e28343cb3b5aad577"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dfafb44f7bb35c0c06eda6b2ab4bfd58f02729e7c4045e179f9a861b07c9850"}, + {file = "propcache-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ebe9a75be7ab0b7da2464a77bb27febcb4fab46a34f9288f39d74833db7f61"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d2f0d0f976985f85dfb5f3d685697ef769faa6b71993b46b295cdbbd6be8cc37"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a3dc1a4b165283bd865e8f8cb5f0c64c05001e0718ed06250d8cac9bec115b48"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e0f07b42d2a50c7dd2d8675d50f7343d998c64008f1da5fef888396b7f84630"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e63e3e1e0271f374ed489ff5ee73d4b6e7c60710e1f76af5f0e1a6117cd26394"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:56bb5c98f058a41bb58eead194b4db8c05b088c93d94d5161728515bd52b052b"}, + {file = "propcache-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7665f04d0c7f26ff8bb534e1c65068409bf4687aa2534faf7104d7182debb336"}, + {file = "propcache-0.2.0-cp310-cp310-win32.whl", hash = "sha256:7cf18abf9764746b9c8704774d8b06714bcb0a63641518a3a89c7f85cc02c2ad"}, + {file = "propcache-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:cfac69017ef97db2438efb854edf24f5a29fd09a536ff3a992b75990720cdc99"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:63f13bf09cc3336eb04a837490b8f332e0db41da66995c9fd1ba04552e516354"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608cce1da6f2672a56b24a015b42db4ac612ee709f3d29f27a00c943d9e851de"}, + {file = "propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:466c219deee4536fbc83c08d09115249db301550625c7fef1c5563a584c9bc87"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc2db02409338bf36590aa985a461b2c96fce91f8e7e0f14c50c5fcc4f229016"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6ed8db0a556343d566a5c124ee483ae113acc9a557a807d439bcecc44e7dfbb"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91997d9cb4a325b60d4e3f20967f8eb08dfcb32b22554d5ef78e6fd1dda743a2"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7dde9e533c0a49d802b4f3f218fa9ad0a1ce21f2c2eb80d5216565202acab4"}, + {file = "propcache-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffcad6c564fe6b9b8916c1aefbb37a362deebf9394bd2974e9d84232e3e08504"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97a58a28bcf63284e8b4d7b460cbee1edaab24634e82059c7b8c09e65284f178"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:945db8ee295d3af9dbdbb698cce9bbc5c59b5c3fe328bbc4387f59a8a35f998d"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39e104da444a34830751715f45ef9fc537475ba21b7f1f5b0f4d71a3b60d7fe2"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c5ecca8f9bab618340c8e848d340baf68bcd8ad90a8ecd7a4524a81c1764b3db"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c436130cc779806bdf5d5fae0d848713105472b8566b75ff70048c47d3961c5b"}, + {file = "propcache-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:191db28dc6dcd29d1a3e063c3be0b40688ed76434622c53a284e5427565bbd9b"}, + {file = "propcache-0.2.0-cp311-cp311-win32.whl", hash = "sha256:5f2564ec89058ee7c7989a7b719115bdfe2a2fb8e7a4543b8d1c0cc4cf6478c1"}, + {file = "propcache-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e2e54267980349b723cff366d1e29b138b9a60fa376664a157a342689553f71"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348"}, + {file = "propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5"}, + {file = "propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecddc221a077a8132cf7c747d5352a15ed763b674c0448d811f408bf803d9ad7"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0e53cb83fdd61cbd67202735e6a6687a7b491c8742dfc39c9e01e80354956763"}, + {file = "propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92fe151145a990c22cbccf9ae15cae8ae9eddabfc949a219c9f667877e40853d"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6a21ef516d36909931a2967621eecb256018aeb11fc48656e3257e73e2e247a"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f88a4095e913f98988f5b338c1d4d5d07dbb0b6bad19892fd447484e483ba6b"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a5b3bb545ead161be780ee85a2b54fdf7092815995661947812dde94a40f6fb"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67aeb72e0f482709991aa91345a831d0b707d16b0257e8ef88a2ad246a7280bf"}, + {file = "propcache-0.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c997f8c44ec9b9b0bcbf2d422cc00a1d9b9c681f56efa6ca149a941e5560da2"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a66df3d4992bc1d725b9aa803e8c5a66c010c65c741ad901e260ece77f58d2f"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3ebbcf2a07621f29638799828b8d8668c421bfb94c6cb04269130d8de4fb7136"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1235c01ddaa80da8235741e80815ce381c5267f96cc49b1477fdcf8c047ef325"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3947483a381259c06921612550867b37d22e1df6d6d7e8361264b6d037595f44"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d5bed7f9805cc29c780f3aee05de3262ee7ce1f47083cfe9f77471e9d6777e83"}, + {file = "propcache-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4a91d44379f45f5e540971d41e4626dacd7f01004826a18cb048e7da7e96544"}, + {file = "propcache-0.2.0-cp313-cp313-win32.whl", hash = "sha256:f902804113e032e2cdf8c71015651c97af6418363bea8d78dc0911d56c335032"}, + {file = "propcache-0.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8f188cfcc64fb1266f4684206c9de0e80f54622c3f22a910cbd200478aeae61e"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:53d1bd3f979ed529f0805dd35ddaca330f80a9a6d90bc0121d2ff398f8ed8861"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:83928404adf8fb3d26793665633ea79b7361efa0287dfbd372a7e74311d51ee6"}, + {file = "propcache-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:77a86c261679ea5f3896ec060be9dc8e365788248cc1e049632a1be682442063"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:218db2a3c297a3768c11a34812e63b3ac1c3234c3a086def9c0fee50d35add1f"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7735e82e3498c27bcb2d17cb65d62c14f1100b71723b68362872bca7d0913d90"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20a617c776f520c3875cf4511e0d1db847a076d720714ae35ffe0df3e440be68"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67b69535c870670c9f9b14a75d28baa32221d06f6b6fa6f77a0a13c5a7b0a5b9"}, + {file = "propcache-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4569158070180c3855e9c0791c56be3ceeb192defa2cdf6a3f39e54319e56b89"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:db47514ffdbd91ccdc7e6f8407aac4ee94cc871b15b577c1c324236b013ddd04"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:2a60ad3e2553a74168d275a0ef35e8c0a965448ffbc3b300ab3a5bb9956c2162"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:662dd62358bdeaca0aee5761de8727cfd6861432e3bb828dc2a693aa0471a563"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:25a1f88b471b3bc911d18b935ecb7115dff3a192b6fef46f0bfaf71ff4f12418"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:f60f0ac7005b9f5a6091009b09a419ace1610e163fa5deaba5ce3484341840e7"}, + {file = "propcache-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74acd6e291f885678631b7ebc85d2d4aec458dd849b8c841b57ef04047833bed"}, + {file = "propcache-0.2.0-cp38-cp38-win32.whl", hash = "sha256:d9b6ddac6408194e934002a69bcaadbc88c10b5f38fb9307779d1c629181815d"}, + {file = "propcache-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:676135dcf3262c9c5081cc8f19ad55c8a64e3f7282a21266d05544450bffc3a5"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:25c8d773a62ce0451b020c7b29a35cfbc05de8b291163a7a0f3b7904f27253e6"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:375a12d7556d462dc64d70475a9ee5982465fbb3d2b364f16b86ba9135793638"}, + {file = "propcache-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1ec43d76b9677637a89d6ab86e1fef70d739217fefa208c65352ecf0282be957"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45eec587dafd4b2d41ac189c2156461ebd0c1082d2fe7013571598abb8505d1"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc092ba439d91df90aea38168e11f75c655880c12782facf5cf9c00f3d42b562"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa1076244f54bb76e65e22cb6910365779d5c3d71d1f18b275f1dfc7b0d71b4d"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:682a7c79a2fbf40f5dbb1eb6bfe2cd865376deeac65acf9beb607505dced9e12"}, + {file = "propcache-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e40876731f99b6f3c897b66b803c9e1c07a989b366c6b5b475fafd1f7ba3fb8"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:363ea8cd3c5cb6679f1c2f5f1f9669587361c062e4899fce56758efa928728f8"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:140fbf08ab3588b3468932974a9331aff43c0ab8a2ec2c608b6d7d1756dbb6cb"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e70fac33e8b4ac63dfc4c956fd7d85a0b1139adcfc0d964ce288b7c527537fea"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b33d7a286c0dc1a15f5fc864cc48ae92a846df287ceac2dd499926c3801054a6"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f6d5749fdd33d90e34c2efb174c7e236829147a2713334d708746e94c4bde40d"}, + {file = "propcache-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22aa8f2272d81d9317ff5756bb108021a056805ce63dd3630e27d042c8092798"}, + {file = "propcache-0.2.0-cp39-cp39-win32.whl", hash = "sha256:73e4b40ea0eda421b115248d7e79b59214411109a5bc47d0d48e4c73e3b8fcf9"}, + {file = "propcache-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:9517d5e9e0731957468c29dbfd0f976736a0e55afaea843726e887f36fe017df"}, + {file = "propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036"}, + {file = "propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70"}, +] + [[package]] name = "py-cpuinfo" version = "9.0.0" @@ -2574,13 +2696,13 @@ boto3 = ["aiobotocore[boto3] (>=2.5.4,<3.0.0)"] [[package]] name = "s3transfer" -version = "0.10.2" +version = "0.10.3" description = "An Amazon S3 Transfer Manager" optional = false python-versions = ">=3.8" files = [ - {file = "s3transfer-0.10.2-py3-none-any.whl", hash = "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69"}, - {file = "s3transfer-0.10.2.tar.gz", hash = "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6"}, + {file = "s3transfer-0.10.3-py3-none-any.whl", hash = "sha256:263ed587a5803c6c708d3ce44dc4dfedaab4c1a32e8329bab818933d79ddcf5d"}, + {file = "s3transfer-0.10.3.tar.gz", hash = "sha256:4f50ed74ab84d474ce614475e0b8d5047ff080810aac5d01ea25231cfc944b0c"}, ] [package.dependencies] @@ -3408,119 +3530,120 @@ tests-strict = ["pytest (==4.6.0)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)"] [[package]] name = "xmltodict" -version = "0.13.0" +version = "0.14.0" description = "Makes working with XML feel like you are working with JSON" optional = false python-versions = ">=3.4" files = [ - {file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"}, - {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, + {file = "xmltodict-0.14.0-py2.py3-none-any.whl", hash = "sha256:6dd20b8de8d0eb84d175ec706cc17b53df236615b0980de33537736319e5ee85"}, + {file = "xmltodict-0.14.0.tar.gz", hash = "sha256:8b39b25b564fd466be566c9e8a869cc4b5083c2fec7f98665f47bf0853f6cc77"}, ] [[package]] name = "yarl" -version = "1.13.1" +version = "1.14.0" description = "Yet another URL library" optional = true python-versions = ">=3.8" files = [ - {file = "yarl-1.13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:82e692fb325013a18a5b73a4fed5a1edaa7c58144dc67ad9ef3d604eccd451ad"}, - {file = "yarl-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df4e82e68f43a07735ae70a2d84c0353e58e20add20ec0af611f32cd5ba43fb4"}, - {file = "yarl-1.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ec9dd328016d8d25702a24ee274932aebf6be9787ed1c28d021945d264235b3c"}, - {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5820bd4178e6a639b3ef1db8b18500a82ceab6d8b89309e121a6859f56585b05"}, - {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86c438ce920e089c8c2388c7dcc8ab30dfe13c09b8af3d306bcabb46a053d6f7"}, - {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3de86547c820e4f4da4606d1c8ab5765dd633189791f15247706a2eeabc783ae"}, - {file = "yarl-1.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca53632007c69ddcdefe1e8cbc3920dd88825e618153795b57e6ebcc92e752a"}, - {file = "yarl-1.13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4ee1d240b84e2f213565f0ec08caef27a0e657d4c42859809155cf3a29d1735"}, - {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c49f3e379177f4477f929097f7ed4b0622a586b0aa40c07ac8c0f8e40659a1ac"}, - {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5c5e32fef09ce101fe14acd0f498232b5710effe13abac14cd95de9c274e689e"}, - {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ab9524e45ee809a083338a749af3b53cc7efec458c3ad084361c1dbf7aaf82a2"}, - {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:b1481c048fe787f65e34cb06f7d6824376d5d99f1231eae4778bbe5c3831076d"}, - {file = "yarl-1.13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:31497aefd68036d8e31bfbacef915826ca2e741dbb97a8d6c7eac66deda3b606"}, - {file = "yarl-1.13.1-cp310-cp310-win32.whl", hash = "sha256:1fa56f34b2236f5192cb5fceba7bbb09620e5337e0b6dfe2ea0ddbd19dd5b154"}, - {file = "yarl-1.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:1bbb418f46c7f7355084833051701b2301092e4611d9e392360c3ba2e3e69f88"}, - {file = "yarl-1.13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:216a6785f296169ed52cd7dcdc2612f82c20f8c9634bf7446327f50398732a51"}, - {file = "yarl-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40c6e73c03a6befb85b72da213638b8aaa80fe4136ec8691560cf98b11b8ae6e"}, - {file = "yarl-1.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2430cf996113abe5aee387d39ee19529327205cda975d2b82c0e7e96e5fdabdc"}, - {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fb4134cc6e005b99fa29dbc86f1ea0a298440ab6b07c6b3ee09232a3b48f495"}, - {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309c104ecf67626c033845b860d31594a41343766a46fa58c3309c538a1e22b2"}, - {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f90575e9fe3aae2c1e686393a9689c724cd00045275407f71771ae5d690ccf38"}, - {file = "yarl-1.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d2e1626be8712333a9f71270366f4a132f476ffbe83b689dd6dc0d114796c74"}, - {file = "yarl-1.13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b66c87da3c6da8f8e8b648878903ca54589038a0b1e08dde2c86d9cd92d4ac9"}, - {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cf1ad338620249f8dd6d4b6a91a69d1f265387df3697ad5dc996305cf6c26fb2"}, - {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9915300fe5a0aa663c01363db37e4ae8e7c15996ebe2c6cce995e7033ff6457f"}, - {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:703b0f584fcf157ef87816a3c0ff868e8c9f3c370009a8b23b56255885528f10"}, - {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1d8e3ca29f643dd121f264a7c89f329f0fcb2e4461833f02de6e39fef80f89da"}, - {file = "yarl-1.13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7055bbade838d68af73aea13f8c86588e4bcc00c2235b4b6d6edb0dbd174e246"}, - {file = "yarl-1.13.1-cp311-cp311-win32.whl", hash = "sha256:a3442c31c11088e462d44a644a454d48110f0588de830921fd201060ff19612a"}, - {file = "yarl-1.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:81bad32c8f8b5897c909bf3468bf601f1b855d12f53b6af0271963ee67fff0d2"}, - {file = "yarl-1.13.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f452cc1436151387d3d50533523291d5f77c6bc7913c116eb985304abdbd9ec9"}, - {file = "yarl-1.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9cec42a20eae8bebf81e9ce23fb0d0c729fc54cf00643eb251ce7c0215ad49fe"}, - {file = "yarl-1.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d959fe96e5c2712c1876d69af0507d98f0b0e8d81bee14cfb3f6737470205419"}, - {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8c837ab90c455f3ea8e68bee143472ee87828bff19ba19776e16ff961425b57"}, - {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94a993f976cdcb2dc1b855d8b89b792893220db8862d1a619efa7451817c836b"}, - {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2442a415a5f4c55ced0fade7b72123210d579f7d950e0b5527fc598866e62c"}, - {file = "yarl-1.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3fdbf0418489525231723cdb6c79e7738b3cbacbaed2b750cb033e4ea208f220"}, - {file = "yarl-1.13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b7f6e699304717fdc265a7e1922561b02a93ceffdaefdc877acaf9b9f3080b8"}, - {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bcd5bf4132e6a8d3eb54b8d56885f3d3a38ecd7ecae8426ecf7d9673b270de43"}, - {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2a93a4557f7fc74a38ca5a404abb443a242217b91cd0c4840b1ebedaad8919d4"}, - {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:22b739f99c7e4787922903f27a892744189482125cc7b95b747f04dd5c83aa9f"}, - {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2db874dd1d22d4c2c657807562411ffdfabec38ce4c5ce48b4c654be552759dc"}, - {file = "yarl-1.13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4feaaa4742517eaceafcbe74595ed335a494c84634d33961214b278126ec1485"}, - {file = "yarl-1.13.1-cp312-cp312-win32.whl", hash = "sha256:bbf9c2a589be7414ac4a534d54e4517d03f1cbb142c0041191b729c2fa23f320"}, - {file = "yarl-1.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:d07b52c8c450f9366c34aa205754355e933922c79135125541daae6cbf31c799"}, - {file = "yarl-1.13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:95c6737f28069153c399d875317f226bbdea939fd48a6349a3b03da6829fb550"}, - {file = "yarl-1.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cd66152561632ed4b2a9192e7f8e5a1d41e28f58120b4761622e0355f0fe034c"}, - {file = "yarl-1.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6a2acde25be0cf9be23a8f6cbd31734536a264723fca860af3ae5e89d771cd71"}, - {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18595e6a2ee0826bf7dfdee823b6ab55c9b70e8f80f8b77c37e694288f5de1"}, - {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a31d21089894942f7d9a8df166b495101b7258ff11ae0abec58e32daf8088813"}, - {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45f209fb4bbfe8630e3d2e2052535ca5b53d4ce2d2026bed4d0637b0416830da"}, - {file = "yarl-1.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f722f30366474a99745533cc4015b1781ee54b08de73260b2bbe13316079851"}, - {file = "yarl-1.13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3bf60444269345d712838bb11cc4eadaf51ff1a364ae39ce87a5ca8ad3bb2c8"}, - {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:942c80a832a79c3707cca46bd12ab8aa58fddb34b1626d42b05aa8f0bcefc206"}, - {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:44b07e1690f010c3c01d353b5790ec73b2f59b4eae5b0000593199766b3f7a5c"}, - {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:396e59b8de7e4d59ff5507fb4322d2329865b909f29a7ed7ca37e63ade7f835c"}, - {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3bb83a0f12701c0b91112a11148b5217617982e1e466069d0555be9b372f2734"}, - {file = "yarl-1.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c92b89bffc660f1274779cb6fbb290ec1f90d6dfe14492523a0667f10170de26"}, - {file = "yarl-1.13.1-cp313-cp313-win32.whl", hash = "sha256:269c201bbc01d2cbba5b86997a1e0f73ba5e2f471cfa6e226bcaa7fd664b598d"}, - {file = "yarl-1.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:1d0828e17fa701b557c6eaed5edbd9098eb62d8838344486248489ff233998b8"}, - {file = "yarl-1.13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8be8cdfe20787e6a5fcbd010f8066227e2bb9058331a4eccddec6c0db2bb85b2"}, - {file = "yarl-1.13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:08d7148ff11cb8e886d86dadbfd2e466a76d5dd38c7ea8ebd9b0e07946e76e4b"}, - {file = "yarl-1.13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4afdf84610ca44dcffe8b6c22c68f309aff96be55f5ea2fa31c0c225d6b83e23"}, - {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0d12fe78dcf60efa205e9a63f395b5d343e801cf31e5e1dda0d2c1fb618073d"}, - {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298c1eecfd3257aa16c0cb0bdffb54411e3e831351cd69e6b0739be16b1bdaa8"}, - {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c14c16831b565707149c742d87a6203eb5597f4329278446d5c0ae7a1a43928e"}, - {file = "yarl-1.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a9bacedbb99685a75ad033fd4de37129449e69808e50e08034034c0bf063f99"}, - {file = "yarl-1.13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:658e8449b84b92a4373f99305de042b6bd0d19bf2080c093881e0516557474a5"}, - {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:373f16f38721c680316a6a00ae21cc178e3a8ef43c0227f88356a24c5193abd6"}, - {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:45d23c4668d4925688e2ea251b53f36a498e9ea860913ce43b52d9605d3d8177"}, - {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f7917697bcaa3bc3e83db91aa3a0e448bf5cde43c84b7fc1ae2427d2417c0224"}, - {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5989a38ba1281e43e4663931a53fbf356f78a0325251fd6af09dd03b1d676a09"}, - {file = "yarl-1.13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:11b3ca8b42a024513adce810385fcabdd682772411d95bbbda3b9ed1a4257644"}, - {file = "yarl-1.13.1-cp38-cp38-win32.whl", hash = "sha256:dcaef817e13eafa547cdfdc5284fe77970b891f731266545aae08d6cce52161e"}, - {file = "yarl-1.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:7addd26594e588503bdef03908fc207206adac5bd90b6d4bc3e3cf33a829f57d"}, - {file = "yarl-1.13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a0ae6637b173d0c40b9c1462e12a7a2000a71a3258fa88756a34c7d38926911c"}, - {file = "yarl-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:576365c9f7469e1f6124d67b001639b77113cfd05e85ce0310f5f318fd02fe85"}, - {file = "yarl-1.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:78f271722423b2d4851cf1f4fa1a1c4833a128d020062721ba35e1a87154a049"}, - {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d74f3c335cfe9c21ea78988e67f18eb9822f5d31f88b41aec3a1ec5ecd32da5"}, - {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1891d69a6ba16e89473909665cd355d783a8a31bc84720902c5911dbb6373465"}, - {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb382fd7b4377363cc9f13ba7c819c3c78ed97c36a82f16f3f92f108c787cbbf"}, - {file = "yarl-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c8854b9f80693d20cec797d8e48a848c2fb273eb6f2587b57763ccba3f3bd4b"}, - {file = "yarl-1.13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbf2c3f04ff50f16404ce70f822cdc59760e5e2d7965905f0e700270feb2bbfc"}, - {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fb9f59f3848edf186a76446eb8bcf4c900fe147cb756fbbd730ef43b2e67c6a7"}, - {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ef9b85fa1bc91c4db24407e7c4da93a5822a73dd4513d67b454ca7064e8dc6a3"}, - {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:098b870c18f1341786f290b4d699504e18f1cd050ed179af8123fd8232513424"}, - {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:8c723c91c94a3bc8033dd2696a0f53e5d5f8496186013167bddc3fb5d9df46a3"}, - {file = "yarl-1.13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:44a4c40a6f84e4d5955b63462a0e2a988f8982fba245cf885ce3be7618f6aa7d"}, - {file = "yarl-1.13.1-cp39-cp39-win32.whl", hash = "sha256:84bbcdcf393139f0abc9f642bf03f00cac31010f3034faa03224a9ef0bb74323"}, - {file = "yarl-1.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:fc2931ac9ce9c61c9968989ec831d3a5e6fcaaff9474e7cfa8de80b7aff5a093"}, - {file = "yarl-1.13.1-py3-none-any.whl", hash = "sha256:6a5185ad722ab4dd52d5fb1f30dcc73282eb1ed494906a92d1a228d3f89607b0"}, - {file = "yarl-1.13.1.tar.gz", hash = "sha256:ec8cfe2295f3e5e44c51f57272afbd69414ae629ec7c6b27f5a410efc78b70a0"}, + {file = "yarl-1.14.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1bfc25aa6a7c99cf86564210f79a0b7d4484159c67e01232b116e445b3036547"}, + {file = "yarl-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0cf21f46a15d445417de8fc89f2568852cf57fe8ca1ab3d19ddb24d45c0383ae"}, + {file = "yarl-1.14.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1dda53508df0de87b6e6b0a52d6718ff6c62a5aca8f5552748404963df639269"}, + {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:587c3cc59bc148a9b1c07a019346eda2549bc9f468acd2f9824d185749acf0a6"}, + {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3007a5b75cb50140708420fe688c393e71139324df599434633019314ceb8b59"}, + {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06ff23462398333c78b6f4f8d3d70410d657a471c2c5bbe6086133be43fc8f1a"}, + {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689a99a42ee4583fcb0d3a67a0204664aa1539684aed72bdafcbd505197a91c4"}, + {file = "yarl-1.14.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0547ab1e9345dc468cac8368d88ea4c5bd473ebc1d8d755347d7401982b5dd8"}, + {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:742aef0a99844faaac200564ea6f5e08facb285d37ea18bd1a5acf2771f3255a"}, + {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:176110bff341b6730f64a1eb3a7070e12b373cf1c910a9337e7c3240497db76f"}, + {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46a9772a1efa93f9cd170ad33101c1817c77e0e9914d4fe33e2da299d7cf0f9b"}, + {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ee2c68e4f2dd1b1c15b849ba1c96fac105fca6ffdb7c1e8be51da6fabbdeafb9"}, + {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:047b258e00b99091b6f90355521f026238c63bd76dcf996d93527bb13320eefd"}, + {file = "yarl-1.14.0-cp310-cp310-win32.whl", hash = "sha256:0aa92e3e30a04f9462a25077db689c4ac5ea9ab6cc68a2e563881b987d42f16d"}, + {file = "yarl-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:d9baec588f015d0ee564057aa7574313c53a530662ffad930b7886becc85abdf"}, + {file = "yarl-1.14.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:07f9eaf57719d6721ab15805d85f4b01a5b509a0868d7320134371bcb652152d"}, + {file = "yarl-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c14b504a74e58e2deb0378b3eca10f3d076635c100f45b113c18c770b4a47a50"}, + {file = "yarl-1.14.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16a682a127930f3fc4e42583becca6049e1d7214bcad23520c590edd741d2114"}, + {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73bedd2be05f48af19f0f2e9e1353921ce0c83f4a1c9e8556ecdcf1f1eae4892"}, + {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3ab950f8814f3b7b5e3eebc117986f817ec933676f68f0a6c5b2137dd7c9c69"}, + {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b693c63e7e64b524f54aa4888403c680342d1ad0d97be1707c531584d6aeeb4f"}, + {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85cb3e40eaa98489f1e2e8b29f5ad02ee1ee40d6ce6b88d50cf0f205de1d9d2c"}, + {file = "yarl-1.14.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f24f08b6c9b9818fd80612c97857d28f9779f0d1211653ece9844fc7b414df2"}, + {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29a84a46ec3ebae7a1c024c055612b11e9363a8a23238b3e905552d77a2bc51b"}, + {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5cd5dad8366e0168e0fd23d10705a603790484a6dbb9eb272b33673b8f2cce72"}, + {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a152751af7ef7b5d5fa6d215756e508dd05eb07d0cf2ba51f3e740076aa74373"}, + {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3d569f877ed9a708e4c71a2d13d2940cb0791da309f70bd970ac1a5c088a0a92"}, + {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6a615cad11ec3428020fb3c5a88d85ce1b5c69fd66e9fcb91a7daa5e855325dd"}, + {file = "yarl-1.14.0-cp311-cp311-win32.whl", hash = "sha256:bab03192091681d54e8225c53f270b0517637915d9297028409a2a5114ff4634"}, + {file = "yarl-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:985623575e5c4ea763056ffe0e2d63836f771a8c294b3de06d09480538316b13"}, + {file = "yarl-1.14.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fc2c80bc87fba076e6cbb926216c27fba274dae7100a7b9a0983b53132dd99f2"}, + {file = "yarl-1.14.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:55c144d363ad4626ca744556c049c94e2b95096041ac87098bb363dcc8635e8d"}, + {file = "yarl-1.14.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b03384eed107dbeb5f625a99dc3a7de8be04fc8480c9ad42fccbc73434170b20"}, + {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f72a0d746d38cb299b79ce3d4d60ba0892c84bbc905d0d49c13df5bace1b65f8"}, + {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8648180b34faaea4aa5b5ca7e871d9eb1277033fa439693855cf0ea9195f85f1"}, + {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9557c9322aaa33174d285b0c1961fb32499d65ad1866155b7845edc876c3c835"}, + {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f50eb3837012a937a2b649ec872b66ba9541ad9d6f103ddcafb8231cfcafd22"}, + {file = "yarl-1.14.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8892fa575ac9b1b25fae7b221bc4792a273877b9b56a99ee2d8d03eeb3dbb1d2"}, + {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6a2c5c5bb2556dfbfffffc2bcfb9c235fd2b566d5006dfb2a37afc7e3278a07"}, + {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ab3abc0b78a5dfaa4795a6afbe7b282b6aa88d81cf8c1bb5e394993d7cae3457"}, + {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:47eede5d11d669ab3759b63afb70d28d5328c14744b8edba3323e27dc52d298d"}, + {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fe4d2536c827f508348d7b40c08767e8c7071614250927233bf0c92170451c0a"}, + {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0fd7b941dd1b00b5f0acb97455fea2c4b7aac2dd31ea43fb9d155e9bc7b78664"}, + {file = "yarl-1.14.0-cp312-cp312-win32.whl", hash = "sha256:99ff3744f5fe48288be6bc402533b38e89749623a43208e1d57091fc96b783b9"}, + {file = "yarl-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ca3894e9e9f72da93544f64988d9c052254a338a9f855165f37f51edb6591de"}, + {file = "yarl-1.14.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5d02d700705d67e09e1f57681f758f0b9d4412eeb70b2eb8d96ca6200b486db3"}, + {file = "yarl-1.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:30600ba5db60f7c0820ef38a2568bb7379e1418ecc947a0f76fd8b2ff4257a97"}, + {file = "yarl-1.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e85d86527baebb41a214cc3b45c17177177d900a2ad5783dbe6f291642d4906f"}, + {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37001e5d4621cef710c8dc1429ca04e189e572f128ab12312eab4e04cf007132"}, + {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4f4547944d4f5cfcdc03f3f097d6f05bbbc915eaaf80a2ee120d0e756de377d"}, + {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75ff4c819757f9bdb35de049a509814d6ce851fe26f06eb95a392a5640052482"}, + {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68ac1a09392ed6e3fd14be880d39b951d7b981fd135416db7d18a6208c536561"}, + {file = "yarl-1.14.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96952f642ac69075e44c7d0284528938fdff39422a1d90d3e45ce40b72e5e2d9"}, + {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a56fbe3d7f3bce1d060ea18d2413a2ca9ca814eea7cedc4d247b5f338d54844e"}, + {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7e2637d75e92763d1322cb5041573279ec43a80c0f7fbbd2d64f5aee98447b17"}, + {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9abe80ae2c9d37c17599557b712e6515f4100a80efb2cda15f5f070306477cd2"}, + {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:217a782020b875538eebf3948fac3a7f9bbbd0fd9bf8538f7c2ad7489e80f4e8"}, + {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9cfef3f14f75bf6aba73a76caf61f9d00865912a04a4393c468a7ce0981b519"}, + {file = "yarl-1.14.0-cp313-cp313-win32.whl", hash = "sha256:d8361c7d04e6a264481f0b802e395f647cd3f8bbe27acfa7c12049efea675bd1"}, + {file = "yarl-1.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:bc24f968b82455f336b79bf37dbb243b7d76cd40897489888d663d4e028f5069"}, + {file = "yarl-1.14.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:91d875f75fabf76b3018c5f196bf3d308ed2b49ddcb46c1576d6b075754a1393"}, + {file = "yarl-1.14.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4009def9be3a7e5175db20aa2d7307ecd00bbf50f7f0f989300710eee1d0b0b9"}, + {file = "yarl-1.14.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:582cedde49603f139be572252a318b30dc41039bc0b8165f070f279e5d12187f"}, + {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbd9ff43a04f8ffe8a959a944c2dca10d22f5f99fc6a459f49c3ebfb409309d9"}, + {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9f805e37ed16cc212fdc538a608422d7517e7faf539bedea4fe69425bc55d76"}, + {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95e16e9eaa2d7f5d87421b8fe694dd71606aa61d74b824c8d17fc85cc51983d1"}, + {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:816d24f584edefcc5ca63428f0b38fee00b39fe64e3c5e558f895a18983efe96"}, + {file = "yarl-1.14.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd2660c01367eb3ef081b8fa0a5da7fe767f9427aa82023a961a5f28f0d4af6c"}, + {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:94b2bb9bcfd5be9d27004ea4398fb640373dd0c1a9e219084f42c08f77a720ab"}, + {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c2089a9afef887664115f7fa6d3c0edd6454adaca5488dba836ca91f60401075"}, + {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:2192f718db4a8509f63dd6d950f143279211fa7e6a2c612edc17d85bf043d36e"}, + {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:8385ab36bf812e9d37cf7613999a87715f27ef67a53f0687d28c44b819df7cb0"}, + {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b4c1ecba93e7826dc71ddba75fb7740cdb52e7bd0be9f03136b83f54e6a1f511"}, + {file = "yarl-1.14.0-cp38-cp38-win32.whl", hash = "sha256:e749af6c912a7bb441d105c50c1a3da720474e8acb91c89350080dd600228f0e"}, + {file = "yarl-1.14.0-cp38-cp38-win_amd64.whl", hash = "sha256:147e36331f6f63e08a14640acf12369e041e0751bb70d9362df68c2d9dcf0c87"}, + {file = "yarl-1.14.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a9f917966d27f7ce30039fe8d900f913c5304134096554fd9bea0774bcda6d1"}, + {file = "yarl-1.14.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a2f8fb7f944bcdfecd4e8d855f84c703804a594da5123dd206f75036e536d4d"}, + {file = "yarl-1.14.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f4e475f29a9122f908d0f1f706e1f2fc3656536ffd21014ff8a6f2e1b14d1d8"}, + {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8089d4634d8fa2b1806ce44fefa4979b1ab2c12c0bc7ef3dfa45c8a374811348"}, + {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b16f6c75cffc2dc0616ea295abb0e1967601bd1fb1e0af6a1de1c6c887f3439"}, + {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498b3c55087b9d762636bca9b45f60d37e51d24341786dc01b81253f9552a607"}, + {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3f8bfc1db82589ef965ed234b87de30d140db8b6dc50ada9e33951ccd8ec07a"}, + {file = "yarl-1.14.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:625f207b1799e95e7c823f42f473c1e9dbfb6192bd56bba8695656d92be4535f"}, + {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:781e2495e408a81e4eaeedeb41ba32b63b1980dddf8b60dbbeff6036bcd35049"}, + {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:659603d26d40dd4463200df9bfbc339fbfaed3fe32e5c432fe1dc2b5d4aa94b4"}, + {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4e0d45ebf975634468682c8bec021618b3ad52c37619e5c938f8f831fa1ac5c0"}, + {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a2e4725a08cb2b4794db09e350c86dee18202bb8286527210e13a1514dc9a59a"}, + {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:19268b4fec1d7760134f2de46ef2608c2920134fb1fa61e451f679e41356dc55"}, + {file = "yarl-1.14.0-cp39-cp39-win32.whl", hash = "sha256:337912bcdcf193ade64b9aae5a4017a0a1950caf8ca140362e361543c6773f21"}, + {file = "yarl-1.14.0-cp39-cp39-win_amd64.whl", hash = "sha256:b6d0147574ce2e7b812c989e50fa72bbc5338045411a836bd066ce5fc8ac0bce"}, + {file = "yarl-1.14.0-py3-none-any.whl", hash = "sha256:c8ed4034f0765f8861620c1f2f2364d2e58520ea288497084dae880424fc0d9f"}, + {file = "yarl-1.14.0.tar.gz", hash = "sha256:88c7d9d58aab0724b979ab5617330acb1c7030b79379c8138c1c8c94e121d1b3"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" +propcache = ">=0.2.0" [[package]] name = "zipp" diff --git a/singer_sdk/contrib/filesystem/config.py b/singer_sdk/contrib/filesystem/config.py index eccd11fca..ed16f067b 100644 --- a/singer_sdk/contrib/filesystem/config.py +++ b/singer_sdk/contrib/filesystem/config.py @@ -12,35 +12,41 @@ "host", th.StringType, required=True, + title="FTP Host", description="FTP server host", ), th.Property( "port", th.IntegerType, default=21, + title="FTP Port", description="FTP server port", ), th.Property( "username", th.StringType, + title="FTP Username", description="FTP username", ), th.Property( "password", th.StringType, secret=True, + title="FTP Password", description="FTP password", ), th.Property( "timeout", th.IntegerType, default=60, + title="Timeout", description="Timeout of the FTP connection in seconds", ), th.Property( "encoding", th.StringType, default="utf-8", + title="Encoding", description="FTP server encoding", ), ), @@ -56,6 +62,7 @@ "host", th.StringType, required=True, + title="SFTP Host", description="SFTP server host", ), th.Property( @@ -65,33 +72,39 @@ "port", th.IntegerType, default=22, + title="SFTP Port", description="SFTP server port", ), th.Property( "username", th.StringType, required=True, + title="SFTP Username", description="SFTP username", ), th.Property( "password", th.StringType, secret=True, + title="SFTP Password", description="SFTP password", ), th.Property( "pkey", th.StringType, secret=True, + title="SFTP Private Key", description="Private key", ), th.Property( "timeout", th.IntegerType, default=60, + title="Timeout", description="Timeout of the SFTP connection in seconds", ), ), + title="SSH Connection Settings", description="SSH connection settings", ), ), diff --git a/singer_sdk/contrib/filesystem/tap.py b/singer_sdk/contrib/filesystem/tap.py index f2fd7c352..58ca673d8 100644 --- a/singer_sdk/contrib/filesystem/tap.py +++ b/singer_sdk/contrib/filesystem/tap.py @@ -36,18 +36,21 @@ class ReadMode(str, enum.Enum): required=True, default="local", allowed_values=["local", "ftp", "sftp"], + title="Filesystem", description="The filesystem to use.", ), th.Property( "path", th.StringType, required=True, + title="Directory Path", description="Path to the directory where the files are stored.", ), th.Property( "read_mode", th.StringType, required=True, + title="Read Mode", description=( "Use `one_stream_per_file` to read each file as a separate stream, or " "`merge` to merge all files into a single stream." @@ -59,6 +62,7 @@ class ReadMode(str, enum.Enum): th.StringType, required=True, default=DEFAULT_MERGE_STREAM_NAME, + title="Stream Name (Merge Mode)", description="Name of the stream to use when `read_mode` is `merge`.", ), filesystem_config.FTP, diff --git a/singer_sdk/helpers/capabilities.py b/singer_sdk/helpers/capabilities.py index 76d7fcffb..0f5c42918 100644 --- a/singer_sdk/helpers/capabilities.py +++ b/singer_sdk/helpers/capabilities.py @@ -26,6 +26,7 @@ Property( "stream_maps", ObjectType(), + title="Stream Maps", description=( "Config object for stream maps capability. " "For more information check out " @@ -35,6 +36,7 @@ Property( "stream_map_config", ObjectType(), + title="User Stream Map Configuration", description="User-defined config values to be used within map expressions.", ), Property( @@ -43,6 +45,7 @@ Property( "seed", OneOf(NumberType, StringType, BooleanType), + title="Faker Seed", description=( "Value to seed the Faker generator for deterministic output: " "https://faker.readthedocs.io/en/master/#seeding-the-generator" @@ -51,12 +54,14 @@ Property( "locale", OneOf(StringType, ArrayType(StringType)), + title="Faker Locale", description=( "One or more LCID locale strings to produce localized output for: " "https://faker.readthedocs.io/en/master/#localization" ), ), ), + title="Faker Configuration", description=( "Config for the [`Faker`](https://faker.readthedocs.io/en/master/) " "instance variable `fake` used within map expressions. Only applicable if " @@ -69,6 +74,7 @@ Property( "flattening_enabled", BooleanType(), + title="Enable Schema Flattening", description=( "'True' to enable schema flattening and automatically expand nested " "properties." @@ -77,44 +83,52 @@ Property( "flattening_max_depth", IntegerType(), + title="Max Flattening Depth", description="The max depth to flatten schemas.", ), ).to_dict() BATCH_CONFIG = PropertiesList( Property( "batch_config", - description="", + title="Batch Configuration", + description="Configuration for BATCH message capabilities.", wrapped=ObjectType( Property( "encoding", + title="Batch Encoding Configuration", description="Specifies the format and compression of the batch files.", wrapped=ObjectType( Property( "format", StringType, allowed_values=["jsonl", "parquet"], + title="Batch Encoding Format", description="Format to use for batch files.", ), Property( "compression", StringType, allowed_values=["gzip", "none"], + title="Batch Compression Format", description="Compression format to use for batch files.", ), ), ), Property( "storage", + title="Batch Storage Configuration", description="Defines the storage layer to use when writing batch files", wrapped=ObjectType( Property( "root", StringType, + title="Batch Storage Root", description="Root path to use when writing batch files.", ), Property( "prefix", StringType, + title="Batch Storage Prefix", description="Prefix to use when writing batch files.", ), ), @@ -126,6 +140,7 @@ Property( "default_target_schema", StringType(), + title="Default Target Schema", description="The default target database schema name to use for all streams.", ), ).to_dict() @@ -133,13 +148,15 @@ Property( "add_record_metadata", BooleanType(), - description="Add metadata to records.", + title="Add Record Metadata", + description="Whether to add metadata fields to records.", ), ).to_dict() TARGET_HARD_DELETE_CONFIG = PropertiesList( Property( "hard_delete", BooleanType(), + title="Hard Delete", description="Hard delete records.", default=False, ), @@ -148,6 +165,7 @@ Property( "validate_records", BooleanType(), + title="Validate Records", description="Whether to validate the schema of the incoming streams.", default=True, ), @@ -156,6 +174,7 @@ Property( "batch_size_rows", IntegerType, + title="Batch Size Rows", description="Maximum number of rows in each batch.", ), ).to_dict() diff --git a/singer_sdk/typing.py b/singer_sdk/typing.py index d4cfd46cd..7d0212ca3 100644 --- a/singer_sdk/typing.py +++ b/singer_sdk/typing.py @@ -619,7 +619,7 @@ class Property(JSONTypeHelper[T], t.Generic[T]): """Generic Property. Should be nested within a `PropertiesList`.""" # TODO: Make some of these arguments keyword-only. This is a breaking change. - def __init__( + def __init__( # noqa: PLR0913 self, name: str, wrapped: JSONTypeHelper[T] | type[JSONTypeHelper[T]], @@ -631,6 +631,7 @@ def __init__( examples: list[T] | None = None, *, nullable: bool | None = None, + title: str | None = None, ) -> None: """Initialize Property object. @@ -652,6 +653,7 @@ def __init__( examples: Optional. A list of one or more sample values. These may be displayed to the user as hints of the expected format of inputs. nullable: If True, the property may be null. + title: Optional. A short, human-readable title for the property. """ self.name = name self.wrapped = wrapped @@ -662,6 +664,7 @@ def __init__( self.allowed_values = allowed_values or None self.examples = examples or None self.nullable = nullable + self.title = title @property def type_dict(self) -> dict: # type: ignore[override] @@ -690,8 +693,18 @@ def to_dict(self) -> dict: Returns: A JSON Schema dictionary describing the object. + + Examples: + >>> p = Property("name", StringType, required=True) + >>> print(p.to_dict()) + {'name': {'type': ['string']}} + >>> p = Property("name", StringType, required=True, title="App Name") + >>> print(p.to_dict()) + {'name': {'type': ['string'], 'title': 'App Name'}} """ type_dict = self.type_dict + if self.title: + type_dict.update({"title": self.title}) if self.nullable or self.optional: type_dict = append_type(type_dict, "null") if self.default is not None: diff --git a/tests/core/test_jsonschema_helpers.py b/tests/core/test_jsonschema_helpers.py index aeb2bae0b..488030392 100644 --- a/tests/core/test_jsonschema_helpers.py +++ b/tests/core/test_jsonschema_helpers.py @@ -252,6 +252,17 @@ def test_property_description(): } +def test_property_title(): + title = "My Test Property" + prop = Property("test_property", StringType, title=title) + assert prop.to_dict() == { + "test_property": { + "type": ["string", "null"], + "title": title, + }, + } + + @pytest.mark.parametrize( "json_type,expected_json_schema", [ From 7068e191615849f7685c8005d5a95aea32970243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= <edgarrm358@gmail.com> Date: Wed, 9 Oct 2024 12:07:10 -0600 Subject: [PATCH 39/49] chore: Update samples --- samples/sample_mapper/mapper.py | 1 + samples/sample_tap_bigquery/__init__.py | 1 + samples/sample_tap_csv/sample_tap_csv.py | 5 +++++ samples/sample_tap_dummy_json/tap_dummyjson/tap.py | 4 ++++ samples/sample_tap_gitlab/gitlab_tap.py | 12 ++++++++---- samples/sample_tap_sqlite/__init__.py | 1 + samples/sample_target_csv/csv_target.py | 6 ++++-- samples/sample_target_parquet/parquet_target.py | 4 ++-- samples/sample_target_sqlite/__init__.py | 1 + 9 files changed, 27 insertions(+), 8 deletions(-) diff --git a/samples/sample_mapper/mapper.py b/samples/sample_mapper/mapper.py index 0a7899d37..67052bbe4 100644 --- a/samples/sample_mapper/mapper.py +++ b/samples/sample_mapper/mapper.py @@ -40,6 +40,7 @@ class StreamTransform(InlineMapper): ), ), required=True, + title="Stream Maps", description="Stream maps", ), ).to_dict() diff --git a/samples/sample_tap_bigquery/__init__.py b/samples/sample_tap_bigquery/__init__.py index 098be2525..ad0d3c3cb 100644 --- a/samples/sample_tap_bigquery/__init__.py +++ b/samples/sample_tap_bigquery/__init__.py @@ -52,6 +52,7 @@ class TapBigQuery(SQLTap): "project_id", th.StringType, required=True, + title="Project ID", description="GCP Project", ), ).to_dict() diff --git a/samples/sample_tap_csv/sample_tap_csv.py b/samples/sample_tap_csv/sample_tap_csv.py index 71c8b3d1d..ed469c9ee 100644 --- a/samples/sample_tap_csv/sample_tap_csv.py +++ b/samples/sample_tap_csv/sample_tap_csv.py @@ -19,30 +19,35 @@ class SampleTapCSV(FolderTap): "delimiter", th.StringType, default=",", + title="Delimiter", description="Field delimiter character.", ), th.Property( "quotechar", th.StringType, default='"', + title="Quote Character", description="Quote character.", ), th.Property( "escapechar", th.StringType, default=None, + title="Escape Character", description="Escape character.", ), th.Property( "doublequote", th.BooleanType, default=True, + title="Double Quote", description="Whether quotechar inside a field should be doubled.", ), th.Property( "lineterminator", th.StringType, default="\r\n", + title="Line Terminator", description="Line terminator character.", ), ).to_dict() diff --git a/samples/sample_tap_dummy_json/tap_dummyjson/tap.py b/samples/sample_tap_dummy_json/tap_dummyjson/tap.py index b352d0172..40b1f0169 100644 --- a/samples/sample_tap_dummy_json/tap_dummyjson/tap.py +++ b/samples/sample_tap_dummy_json/tap_dummyjson/tap.py @@ -14,6 +14,7 @@ class TapDummyJSON(Tap): "username", th.StringType, required=True, + title="DummyJSON Username", description="Username for the API service", ), th.Property( @@ -21,16 +22,19 @@ class TapDummyJSON(Tap): th.StringType, required=True, secret=True, # Flag config as protected. + title="DummyJSON Password", description="Password for the API service", ), th.Property( "start_date", th.DateTimeType, + title="Start Date", description="The earliest record date to sync", ), th.Property( "api_url", th.StringType, + title="API URL", default="https://dummyjson.com", description="The base url for the API service", ), diff --git a/samples/sample_tap_gitlab/gitlab_tap.py b/samples/sample_tap_gitlab/gitlab_tap.py index 952e406ae..56164fc2c 100644 --- a/samples/sample_tap_gitlab/gitlab_tap.py +++ b/samples/sample_tap_gitlab/gitlab_tap.py @@ -34,10 +34,14 @@ class SampleTapGitlab(Tap): name: str = "sample-tap-gitlab" config_jsonschema = PropertiesList( - Property("auth_token", StringType, required=True, secret=True), - Property("project_ids", ArrayType(StringType), required=True), - Property("group_ids", ArrayType(StringType), required=True), - Property("start_date", DateTimeType, required=True), + Property( + "auth_token", StringType, required=True, secret=True, title="Auth Token" + ), + Property( + "project_ids", ArrayType(StringType), required=True, title="Project IDs" + ), + Property("group_ids", ArrayType(StringType), required=True, title="Group IDs"), + Property("start_date", DateTimeType, required=True, title="Start Date"), ).to_dict() def discover_streams(self) -> list[Stream]: diff --git a/samples/sample_tap_sqlite/__init__.py b/samples/sample_tap_sqlite/__init__.py index 51add7136..2215cbfe7 100644 --- a/samples/sample_tap_sqlite/__init__.py +++ b/samples/sample_tap_sqlite/__init__.py @@ -48,6 +48,7 @@ class SQLiteTap(SQLTap): th.Property( DB_PATH_CONFIG, th.StringType, + title="Database Path", description="The path to your SQLite database file(s).", required=True, examples=["./path/to/my.db", "/absolute/path/to/my.db"], diff --git a/samples/sample_target_csv/csv_target.py b/samples/sample_target_csv/csv_target.py index d52b76f48..6e800970c 100644 --- a/samples/sample_target_csv/csv_target.py +++ b/samples/sample_target_csv/csv_target.py @@ -12,7 +12,9 @@ class SampleTargetCSV(Target): name = "target-csv" config_jsonschema = th.PropertiesList( - th.Property("target_folder", th.StringType, required=True), - th.Property("file_naming_scheme", th.StringType), + th.Property( + "target_folder", th.StringType, required=True, title="Target Folder" + ), + th.Property("file_naming_scheme", th.StringType, title="File Naming Scheme"), ).to_dict() default_sink_class = SampleCSVTargetSink diff --git a/samples/sample_target_parquet/parquet_target.py b/samples/sample_target_parquet/parquet_target.py index d8c8f7a74..f0cda3d4d 100644 --- a/samples/sample_target_parquet/parquet_target.py +++ b/samples/sample_target_parquet/parquet_target.py @@ -12,8 +12,8 @@ class SampleTargetParquet(Target): name = "sample-target-parquet" config_jsonschema = th.PropertiesList( - th.Property("filepath", th.StringType), - th.Property("file_naming_scheme", th.StringType), + th.Property("filepath", th.StringType, title="Output File Path"), + th.Property("file_naming_scheme", th.StringType, title="File Naming Scheme"), ).to_dict() default_sink_class = SampleParquetTargetSink diff --git a/samples/sample_target_sqlite/__init__.py b/samples/sample_target_sqlite/__init__.py index d296c5fb0..0e1062642 100644 --- a/samples/sample_target_sqlite/__init__.py +++ b/samples/sample_target_sqlite/__init__.py @@ -51,6 +51,7 @@ class SQLiteTarget(SQLTarget): th.Property( DB_PATH_CONFIG, th.StringType, + title="Database Path", description="The path to your SQLite database file(s).", required=True, ), From b22ed49829e271e786e110acdabba52fbfc7acba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 9 Oct 2024 13:22:55 -0600 Subject: [PATCH 40/49] chore: Stop using `nox-poetry` (#2713) * chore: Stop using `nox-poetry` * Avoid unnecessarily installing Poetry --- .github/workflows/api-changes.yml | 1 - .github/workflows/constraints.txt | 3 -- .github/workflows/cookiecutter-e2e.yml | 3 -- .github/workflows/test.yml | 33 ------------- docs/CONTRIBUTING.md | 1 - noxfile.py | 66 ++++++++++---------------- 6 files changed, 24 insertions(+), 83 deletions(-) diff --git a/.github/workflows/api-changes.yml b/.github/workflows/api-changes.yml index c758517c4..9cbae5843 100644 --- a/.github/workflows/api-changes.yml +++ b/.github/workflows/api-changes.yml @@ -38,7 +38,6 @@ jobs: run: | python -Im pip install -U pip pipx install griffe nox - pipx inject nox nox-poetry pipx list - name: Set REF diff --git a/.github/workflows/constraints.txt b/.github/workflows/constraints.txt index faa4f7f92..3ed7c243a 100644 --- a/.github/workflows/constraints.txt +++ b/.github/workflows/constraints.txt @@ -1,8 +1,5 @@ griffe==1.3.2 pip==24.2 poetry==1.8.3 -poetry-plugin-export==1.8.0 -poetry-dynamic-versioning==1.4.1 pre-commit==4.0.0 nox==2024.4.15 -nox-poetry==1.0.3 diff --git a/.github/workflows/cookiecutter-e2e.yml b/.github/workflows/cookiecutter-e2e.yml index 051d21d95..ef2d5e4d5 100644 --- a/.github/workflows/cookiecutter-e2e.yml +++ b/.github/workflows/cookiecutter-e2e.yml @@ -46,9 +46,7 @@ jobs: PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt run: | pipx install poetry - pipx inject poetry poetry-plugin-export poetry --version - poetry self show plugins - uses: actions/setup-python@v5 with: @@ -67,7 +65,6 @@ jobs: PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt run: | pipx install nox - pipx inject nox nox-poetry nox --version - name: Run Nox diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1613ebc5e..89ab95710 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,16 +61,6 @@ jobs: with: fetch-depth: 0 - - name: Install Poetry - env: - PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt - run: | - pipx install poetry - pipx inject poetry poetry-plugin-export - pipx inject poetry poetry-dynamic-versioning[plugin] - poetry --version - poetry self show plugins - - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -87,7 +77,6 @@ jobs: PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt run: | pipx install 'nox[uv]' - pipx inject nox nox-poetry nox --version - uses: actions/cache@v4 @@ -126,16 +115,6 @@ jobs: with: fetch-depth: 0 - - name: Install Poetry - env: - PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt - run: | - pipx install poetry - pipx inject poetry poetry-plugin-export - pipx inject poetry poetry-dynamic-versioning[plugin] - poetry --version - poetry self show plugins - - uses: actions/setup-python@v5 with: python-version: ${{ env.NOXPYTHON }} @@ -152,7 +131,6 @@ jobs: PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt run: | pipx install 'nox[uv]' - pipx inject nox nox-poetry nox --version - name: Run Nox @@ -167,16 +145,6 @@ jobs: NOXSESSION: coverage steps: - uses: actions/checkout@v4 - - - name: Install Poetry - env: - PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt - run: | - pipx install poetry - pipx inject poetry poetry-plugin-export - poetry --version - poetry self show plugins - - uses: actions/setup-python@v5 with: python-version: '3.12' @@ -198,7 +166,6 @@ jobs: PIP_CONSTRAINT: ${{ github.workspace }}/.github/workflows/constraints.txt run: | pipx install 'nox[uv]' - pipx inject nox nox-poetry nox --version - run: nox --install-only diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d147d775a..29a5eee82 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -30,7 +30,6 @@ With `pipx` installed, you globally add the required tools: pipx install poetry pipx install pre-commit pipx install nox -pipx inject nox nox-poetry ``` Now you can use Poetry to install package dependencies: diff --git a/noxfile.py b/noxfile.py index a07c953ab..8e7cb5ad0 100644 --- a/noxfile.py +++ b/noxfile.py @@ -7,19 +7,9 @@ import sys import tempfile from pathlib import Path -from textwrap import dedent import nox -try: - from nox_poetry import Session, session -except ImportError: - message = f"""\ - Nox failed to import the 'nox-poetry' package. - Please install it using the following command: - {sys.executable} -m pip install nox-poetry""" - raise SystemExit(dedent(message)) from None - nox.needs_version = ">=2024.4.15" nox.options.default_venv_backend = "uv|virtualenv" @@ -49,8 +39,8 @@ typing_dependencies = poetry_config["group"]["typing"]["dependencies"].keys() -@session(python=main_python_version) -def mypy(session: Session) -> None: +@nox.session(python=main_python_version) +def mypy(session: nox.Session) -> None: """Check types with mypy.""" args = session.posargs or ["singer_sdk"] session.install(".[faker,jwt,parquet,s3,testing]") @@ -60,19 +50,15 @@ def mypy(session: Session) -> None: session.run("mypy", f"--python-executable={sys.executable}", "noxfile.py") -@session(python=python_versions) -def tests(session: Session) -> None: +@nox.session(python=python_versions) +def tests(session: nox.Session) -> None: """Execute pytest tests and compute coverage.""" session.install(".[faker,jwt,parquet,s3]") session.install(*test_dependencies) sqlalchemy_version = os.environ.get("SQLALCHEMY_VERSION") if sqlalchemy_version: - # Bypass nox-poetry use of --constraint so we can install a version of - # SQLAlchemy that doesn't match what's in poetry.lock. - session.poetry.session.install( # type: ignore[attr-defined] - f"sqlalchemy=={sqlalchemy_version}.*", - ) + session.install(f"sqlalchemy=={sqlalchemy_version}.*") env = {"COVERAGE_CORE": "sysmon"} if session.python == "3.12" else {} @@ -93,18 +79,14 @@ def tests(session: Session) -> None: session.notify("coverage", posargs=[]) -@session(python=main_python_version) -def benches(session: Session) -> None: +@nox.session(python=main_python_version) +def benches(session: nox.Session) -> None: """Run benchmarks.""" session.install(".[jwt,s3]") session.install(*test_dependencies) sqlalchemy_version = os.environ.get("SQLALCHEMY_VERSION") if sqlalchemy_version: - # Bypass nox-poetry use of --constraint so we can install a version of - # SQLAlchemy that doesn't match what's in poetry.lock. - session.poetry.session.install( # type: ignore[attr-defined] - f"sqlalchemy=={sqlalchemy_version}", - ) + session.install(f"sqlalchemy=={sqlalchemy_version}") session.run( "pytest", "--benchmark-only", @@ -113,16 +95,16 @@ def benches(session: Session) -> None: ) -@session(name="deps", python=python_versions) -def dependencies(session: Session) -> None: +@nox.session(name="deps", python=python_versions) +def dependencies(session: nox.Session) -> None: """Check issues with dependencies.""" session.install(".[s3,testing]") session.install("deptry") session.run("deptry", "singer_sdk", *session.posargs) -@session(python=main_python_version) -def update_snapshots(session: Session) -> None: +@nox.session(python=main_python_version) +def update_snapshots(session: nox.Session) -> None: """Update pytest snapshots.""" args = session.posargs or ["-m", "snapshot"] @@ -131,8 +113,8 @@ def update_snapshots(session: Session) -> None: session.run("pytest", "--snapshot-update", *args) -@session(python=python_versions) -def doctest(session: Session) -> None: +@nox.session(python=python_versions) +def doctest(session: nox.Session) -> None: """Run examples with xdoctest.""" if session.posargs: args = [package, *session.posargs] @@ -146,8 +128,8 @@ def doctest(session: Session) -> None: session.run("pytest", "--xdoctest", *args) -@session(python=main_python_version) -def coverage(session: Session) -> None: +@nox.session(python=main_python_version) +def coverage(session: nox.Session) -> None: """Generate coverage report.""" args = session.posargs or ["report", "-m"] @@ -159,8 +141,8 @@ def coverage(session: Session) -> None: session.run("coverage", *args) -@session(name="docs", python=main_python_version) -def docs(session: Session) -> None: +@nox.session(name="docs", python=main_python_version) +def docs(session: nox.Session) -> None: """Build the documentation.""" args = session.posargs or ["docs", "build", "-W"] if not session.posargs and "FORCE_COLOR" in os.environ: @@ -175,8 +157,8 @@ def docs(session: Session) -> None: session.run("sphinx-build", *args) -@session(name="docs-serve", python=main_python_version) -def docs_serve(session: Session) -> None: +@nox.session(name="docs-serve", python=main_python_version) +def docs_serve(session: nox.Session) -> None: """Build the documentation.""" args = session.posargs or [ "--open-browser", @@ -198,8 +180,8 @@ def docs_serve(session: Session) -> None: @nox.parametrize("replay_file_path", COOKIECUTTER_REPLAY_FILES) -@session(python=main_python_version) -def test_cookiecutter(session: Session, replay_file_path: str) -> None: +@nox.session(python=main_python_version) +def test_cookiecutter(session: nox.Session, replay_file_path: str) -> None: """Uses the tap template to build an empty cookiecutter. Runs the lint task on the created test project. @@ -261,8 +243,8 @@ def test_cookiecutter(session: Session, replay_file_path: str) -> None: session.run("pre-commit", "run", "--all-files", external=True) -@session(name="version-bump") -def version_bump(session: Session) -> None: +@nox.session(name="version-bump") +def version_bump(session: nox.Session) -> None: """Run commitizen.""" session.install( "commitizen", From c2f5a22e4c4fd43b4db4646e36369194856f1681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 9 Oct 2024 13:28:47 -0600 Subject: [PATCH 41/49] packaging: Remove constraint on `urllib3` (#2714) --- poetry.lock | 33 ++++++++++++++++++++++++++++++++- pyproject.toml | 2 -- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index d7ef5c0e2..b16b7a031 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3342,6 +3342,20 @@ files = [ [package.dependencies] types-urllib3 = "*" +[[package]] +name = "types-requests" +version = "2.32.0.20240914" +description = "Typing stubs for requests" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types-requests-2.32.0.20240914.tar.gz", hash = "sha256:2850e178db3919d9bf809e434eef65ba49d0e7e33ac92d588f4a5e295fffd405"}, + {file = "types_requests-2.32.0.20240914-py3-none-any.whl", hash = "sha256:59c2f673eb55f32a99b2894faf6020e1a9f4a402ad0f192bfee0b64469054310"}, +] + +[package.dependencies] +urllib3 = ">=2" + [[package]] name = "types-simplejson" version = "3.19.0.20240801" @@ -3405,6 +3419,23 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "urllib3" +version = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + [[package]] name = "werkzeug" version = "3.0.4" @@ -3676,4 +3707,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "838b8c0b03a197707b98d85a65e1b4944c271ec3b0abf4bf30e6faec3951cfe1" +content-hash = "12024fbabc4f6f51fef1aa16e64cc75faac4e3c2efd86c594e84daceed364fa3" diff --git a/pyproject.toml b/pyproject.toml index 323ab6bf6..329705b8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,8 +65,6 @@ simpleeval = [ simplejson = ">=3.17.6" sqlalchemy = ">=1.4,<3.0" typing-extensions = ">=4.5.0" -# urllib3 2.0 is not compatible with botocore -urllib3 = ">=1.26,<2" # Sphinx dependencies installed as optional 'docs' extras # https://github.com/readthedocs/readthedocs.org/issues/4912#issuecomment-664002569 From 2be3f09de709eae36662d9f3f9e9ed2fc77f8bb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez-Mondrag=C3=B3n?= <edgarrm358@gmail.com> Date: Wed, 9 Oct 2024 13:34:48 -0600 Subject: [PATCH 42/49] chore: Use ubuntu 24.04 in RTD --- .readthedocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 3b35af1b7..19438e79e 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,7 +1,7 @@ version: 2 build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: python: "3.12" From 702c0db8c38755d9c7932cfefc5ec9a2eb6508ad Mon Sep 17 00:00:00 2001 From: Holly Evans <39742776+holly-evans@users.noreply.github.com> Date: Wed, 9 Oct 2024 19:26:01 -0500 Subject: [PATCH 43/49] feat(mappers): Stream name can now be accessed in stream maps (#2699) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add __stream_name__ as builtin variable for transform * Test other built-in variables * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add docs * Use markdown tables * Update table descriptions --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Edgar Ramírez Mondragón <16805946+edgarrmondragon@users.noreply.github.com> Co-authored-by: Edgar Ramírez-Mondragón <edgarrm358@gmail.com> --- docs/stream_maps.md | 46 +++++++++++-------- singer_sdk/mapper.py | 1 + tests/core/test_mapper.py | 28 +++++++++++ .../mapped_stream/builtin_variable_self.jsonl | 6 +++ .../builtin_variable_stream_name.jsonl | 6 +++ .../builtin_variable_underscore.jsonl | 6 +++ 6 files changed, 73 insertions(+), 20 deletions(-) create mode 100644 tests/snapshots/mapped_stream/builtin_variable_self.jsonl create mode 100644 tests/snapshots/mapped_stream/builtin_variable_stream_name.jsonl create mode 100644 tests/snapshots/mapped_stream/builtin_variable_underscore.jsonl diff --git a/docs/stream_maps.md b/docs/stream_maps.md index 786b0da5a..a47539158 100644 --- a/docs/stream_maps.md +++ b/docs/stream_maps.md @@ -228,30 +228,29 @@ can be referenced directly by mapping expressions. #### Built-In Functions -- [`md5()`](inv:python:py:module:#hashlib) - returns an inline MD5 hash of any string, outputting - the string representation of the hash's hex digest. - - This is defined by the SDK internally with native python: - [`hashlib.md5(<input>.encode("utf-8")).hexdigest()`](inv:python:py:method:#hashlib.hash.hexdigest). -- [`datetime`](inv:python:py:module:#datetime) - This is the datetime module object from the Python - standard library. You can access [`datetime.datetime`](inv:python:py:class:#datetime.datetime), - [`datetime.timedelta`](inv:python:py:class:#datetime.timedelta), etc. -- [`json`](inv:python:py:module:#json) - This is the json module object from the Python standard - library. Primarily used for calling [`json.dumps()`](inv:python:py:function:#json.dumps) - and [`json.loads()`](inv:python:py:function:#json.loads). +The following functions and namespaces are available for use in mapping expressions: + +| Function | Description | +| :------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`md5()`](inv:python:py:module:#hashlib) | Returns an inline MD5 hash of any string, outputting the string representation of the hash's hex digest. This is defined by the SDK internally with native python: [`hashlib.md5(<input>.encode("utf-8")).hexdigest()`](inv:python:py:method:#hashlib.hash.hexdigest). | +| [`datetime`](inv:python:py:module:#datetime) | This is the datetime module object from the Python standard library. You can access [`datetime.datetime`](inv:python:py:class:#datetime.datetime), [`datetime.timedelta`](inv:python:py:class:#datetime.timedelta), etc. | +| [`json`](inv:python:py:module:#json) | This is the json module object from the Python standard library. Primarily used for calling [`json.dumps()`](inv:python:py:function:#json.dumps) and [`json.loads()`](inv:python:py:function:#json.loads). | #### Built-in Variable Names -- `config` - a dictionary with the `stream_map_config` values from settings. This can be used - to provide a secret hash seed, for instance. -- `record` - an alias for the record values dictionary in the current stream. -- `_` - same as `record` but shorter to type -- `self` - the existing property value if the property already exists -- `fake` - a [`Faker`](inv:faker:std:doc#index) instance, configurable via `faker_config` - (see previous example) - see the built-in [standard providers](inv:faker:std:doc#providers) - for available methods +The following variables are available in the context of a mapping expression: + +| Variable | Description | +| :---------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `config` | A dictionary with the `stream_map_config` values from settings. This can be used to provide a secret hash seed, for instance. | +| `record` | An alias for the record values dictionary in the current stream. | +| `_` | Same as `record` but shorter to type. | +| `self` | The existing property value if the property already exists. | +| `fake` | A [`Faker`](inv:faker:std:doc#index) instance, configurable via `faker_config` (see previous example) - see the built-in [standard providers](inv:faker:std:doc#providers) for available methods. | +| `__stream_name__` | The name of the stream. Useful when [applying the same transformation to multiple streams](#applying-a-mapping-across-two-or-more-streams). | ```{tip} - The `fake` object is only available if the plugin specifies `faker` as an additional dependency (through the `singer-sdk` `faker` extra, or directly). + To use the `fake` object, the `faker` library must be installed. ``` :::{versionadded} 0.35.0 @@ -266,10 +265,17 @@ The `Faker` class. The `Faker` class was deprecated in favor of instance methods on the `fake` object. ::: +:::{versionadded} 0.42.0 +The `__stream_name__` variable. +::: + #### Built-in Alias Variable Names The following variables are available in the context of the `__alias__` expression: -- `__stream_name__` - the existing stream name + +| Variable | Description | +| :---------------- | :----------------------- | +| `__stream_name__` | The existing stream name | :::{versionadded} 0.42.0 The `__stream_name__` variable. diff --git a/singer_sdk/mapper.py b/singer_sdk/mapper.py index 14f1eac3e..4cf255708 100644 --- a/singer_sdk/mapper.py +++ b/singer_sdk/mapper.py @@ -337,6 +337,7 @@ def _eval( names["_"] = record # Add a shorthand alias in case of reserved words in names names["record"] = record # ...and a longhand alias names["config"] = self.map_config # Allow map config access within transform + names["__stream_name__"] = self.stream_alias # Access stream name in transform if self.fake: from faker import Faker # noqa: PLC0415 diff --git a/tests/core/test_mapper.py b/tests/core/test_mapper.py index 37e289e1b..8ae3f5309 100644 --- a/tests/core/test_mapper.py +++ b/tests/core/test_mapper.py @@ -780,6 +780,12 @@ def discover_streams(self): "aliased_stream_quoted.jsonl", id="aliased_stream_quoted", ), + pytest.param( + {"mystream": {"source_table": "__stream_name__"}}, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "builtin_variable_stream_name.jsonl", + id="builtin_variable_stream_name", + ), pytest.param( {"mystream": {"__alias__": "'aliased_' + __stream_name__"}}, {"flattening_enabled": False, "flattening_max_depth": 0}, @@ -792,6 +798,28 @@ def discover_streams(self): "builtin_variable_stream_name_alias_expr.jsonl", id="builtin_variable_stream_name_alias_expr", ), + pytest.param( + { + "mystream": { + "email": "self.upper()", + "__else__": None, + } + }, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "builtin_variable_self.jsonl", + id="builtin_variable_self", + ), + pytest.param( + { + "mystream": { + "email": "_['email'].upper()", + "__else__": None, + } + }, + {"flattening_enabled": False, "flattening_max_depth": 0}, + "builtin_variable_underscore.jsonl", + id="builtin_variable_underscore", + ), pytest.param( {}, {"flattening_enabled": True, "flattening_max_depth": 0}, diff --git a/tests/snapshots/mapped_stream/builtin_variable_self.jsonl b/tests/snapshots/mapped_stream/builtin_variable_self.jsonl new file mode 100644 index 000000000..4711ac95a --- /dev/null +++ b/tests/snapshots/mapped_stream/builtin_variable_self.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"ALICE@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"BOB@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"CHARLIE@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/builtin_variable_stream_name.jsonl b/tests/snapshots/mapped_stream/builtin_variable_stream_name.jsonl new file mode 100644 index 000000000..60f23741c --- /dev/null +++ b/tests/snapshots/mapped_stream/builtin_variable_stream_name.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"properties":{"email":{"type":["string"]},"count":{"type":["integer","null"]},"user":{"properties":{"id":{"type":["integer","null"]},"sub":{"properties":{"num":{"type":["integer","null"]},"custom_obj":{"type":["string","null"]}},"type":["object","null"]},"some_numbers":{"items":{"type":["number"]},"type":["array","null"]}},"type":["object","null"]},"source_table":{"type":["string","null"]}},"type":"object","required":["email"]},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"alice@example.com","count":21,"user":{"id":1,"sub":{"num":1,"custom_obj":"obj-hello"},"some_numbers":[3.14,2.718]},"source_table":"mystream"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"bob@example.com","count":13,"user":{"id":2,"sub":{"num":2,"custom_obj":"obj-world"},"some_numbers":[10.32,1.618]},"source_table":"mystream"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"charlie@example.com","count":19,"user":{"id":3,"sub":{"num":3,"custom_obj":"obj-hello"},"some_numbers":[1.414,1.732]},"source_table":"mystream"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} diff --git a/tests/snapshots/mapped_stream/builtin_variable_underscore.jsonl b/tests/snapshots/mapped_stream/builtin_variable_underscore.jsonl new file mode 100644 index 000000000..4711ac95a --- /dev/null +++ b/tests/snapshots/mapped_stream/builtin_variable_underscore.jsonl @@ -0,0 +1,6 @@ +{"type":"STATE","value":{}} +{"type":"SCHEMA","stream":"mystream","schema":{"type":"object","properties":{"email":{"type":["string","null"]}}},"key_properties":[]} +{"type":"RECORD","stream":"mystream","record":{"email":"ALICE@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"BOB@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"RECORD","stream":"mystream","record":{"email":"CHARLIE@EXAMPLE.COM"},"time_extracted":"2022-01-01T00:00:00+00:00"} +{"type":"STATE","value":{"bookmarks":{"mystream":{}}}} From c724d543774300e3e2423a7600d3acb152db206c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Fri, 11 Oct 2024 17:29:48 -0600 Subject: [PATCH 44/49] docs: Update Meltano commands in examples (#2717) --- docs/cli_commands.md | 2 +- samples/sample_tap_dummy_json/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/cli_commands.md b/docs/cli_commands.md index d12d245f8..e5d37f551 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -180,7 +180,7 @@ plugins: | Configuration store | Config JSON file (`--config=path/to/config.json`) or environment variables (`--config=ENV`) | `meltano.yml`, `.env`, environment variables, or Meltano's system db | | Simple invocation | `my-tap --config=...` | `meltano invoke my-tap` | | Other CLI options | `my-tap --about --format=json` | `meltano invoke my-tap --about --format=json` | -| ELT | `my-tap --config=... \| path/to/target-jsonl --config=...` | `meltano elt my-tap target-jsonl` | +| ELT | `my-tap --config=... \| path/to/target-jsonl --config=...` | `meltano run my-tap target-jsonl` | [Meltano]: https://www.meltano.com [declare settings]: https://docs.meltano.com/reference/command-line-interface#how-to-use-2 diff --git a/samples/sample_tap_dummy_json/README.md b/samples/sample_tap_dummy_json/README.md index e154663d9..92ff0cbe4 100644 --- a/samples/sample_tap_dummy_json/README.md +++ b/samples/sample_tap_dummy_json/README.md @@ -122,7 +122,7 @@ Now you can test and orchestrate using Meltano: # Test invocation: meltano invoke tap-dummyjson --version # OR run a test `elt` pipeline: -meltano elt tap-dummyjson target-jsonl +meltano run tap-dummyjson target-jsonl ``` ### SDK Dev Guide From 6cc9851373bd062d69ad4a4313a7821ae57eecf8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 08:31:16 -0600 Subject: [PATCH 45/49] chore(deps): bump the ci group in /.github/workflows with 3 updates (#2718) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): bump the ci group in /.github/workflows with 3 updates Bumps the ci group in /.github/workflows with 3 updates: [griffe](https://github.com/mkdocstrings/griffe), [pre-commit](https://github.com/pre-commit/pre-commit) and [nox](https://github.com/wntrblm/nox). Updates `griffe` from 1.3.2 to 1.4.1 - [Release notes](https://github.com/mkdocstrings/griffe/releases) - [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/griffe/compare/1.3.2...1.4.1) Updates `pre-commit` from 4.0.0 to 4.0.1 - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md) - [Commits](https://github.com/pre-commit/pre-commit/compare/v4.0.0...v4.0.1) Updates `nox` from 2024.4.15 to 2024.10.9 - [Release notes](https://github.com/wntrblm/nox/releases) - [Changelog](https://github.com/wntrblm/nox/blob/main/CHANGELOG.md) - [Commits](https://github.com/wntrblm/nox/compare/2024.04.15...2024.10.09) --- updated-dependencies: - dependency-name: griffe dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ci - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: ci - dependency-name: nox dependency-type: direct:production update-type: version-update:semver-minor dependency-group: ci ... Signed-off-by: dependabot[bot] <support@github.com> * Use griffe GitHub output format --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Edgar Ramírez-Mondragón <edgarrm358@gmail.com> --- .github/workflows/constraints.txt | 6 +++--- noxfile.py | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/constraints.txt b/.github/workflows/constraints.txt index 3ed7c243a..cb38ceed8 100644 --- a/.github/workflows/constraints.txt +++ b/.github/workflows/constraints.txt @@ -1,5 +1,5 @@ -griffe==1.3.2 +griffe~=1.4 pip==24.2 poetry==1.8.3 -pre-commit==4.0.0 -nox==2024.4.15 +pre-commit==4.0.1 +nox==2024.10.9 diff --git a/noxfile.py b/noxfile.py index 8e7cb5ad0..1641901e9 100644 --- a/noxfile.py +++ b/noxfile.py @@ -277,4 +277,7 @@ def api_changes(session: nox.Session) -> None: if session.posargs: args.append(f"-a={session.posargs[0]}") + if "GITHUB_ACTIONS" in os.environ: + args.append("-f=github") + session.run(*args, external=True) From 036d50b772c260dffe0b9b8a7a1b3463732cc01b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Mon, 14 Oct 2024 10:00:09 -0600 Subject: [PATCH 46/49] chore: Run `poetry lock` (#2719) --- poetry.lock | 565 ++++++++++++++++++++++++++-------------------------- 1 file changed, 288 insertions(+), 277 deletions(-) diff --git a/poetry.lock b/poetry.lock index b16b7a031..159f296c1 100644 --- a/poetry.lock +++ b/poetry.lock @@ -34,102 +34,102 @@ files = [ [[package]] name = "aiohttp" -version = "3.10.9" +version = "3.10.10" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.8" files = [ - {file = "aiohttp-3.10.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8b3fb28a9ac8f2558760d8e637dbf27aef1e8b7f1d221e8669a1074d1a266bb2"}, - {file = "aiohttp-3.10.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91aa966858593f64c8a65cdefa3d6dc8fe3c2768b159da84c1ddbbb2c01ab4ef"}, - {file = "aiohttp-3.10.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:63649309da83277f06a15bbdc2a54fbe75efb92caa2c25bb57ca37762789c746"}, - {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3e7fabedb3fe06933f47f1538df7b3a8d78e13d7167195f51ca47ee12690373"}, - {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c070430fda1a550a1c3a4c2d7281d3b8cfc0c6715f616e40e3332201a253067"}, - {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:51d0a4901b27272ae54e42067bc4b9a90e619a690b4dc43ea5950eb3070afc32"}, - {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fec5fac7aea6c060f317f07494961236434928e6f4374e170ef50b3001e14581"}, - {file = "aiohttp-3.10.9-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:172ad884bb61ad31ed7beed8be776eb17e7fb423f1c1be836d5cb357a096bf12"}, - {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d646fdd74c25bbdd4a055414f0fe32896c400f38ffbdfc78c68e62812a9e0257"}, - {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e86260b76786c28acf0b5fe31c8dca4c2add95098c709b11e8c35b424ebd4f5b"}, - {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d7cafc11d70fdd8801abfc2ff276744ae4cb39d8060b6b542c7e44e5f2cfc2"}, - {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc262c3df78c8ff6020c782d9ce02e4bcffe4900ad71c0ecdad59943cba54442"}, - {file = "aiohttp-3.10.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:482c85cf3d429844396d939b22bc2a03849cb9ad33344689ad1c85697bcba33a"}, - {file = "aiohttp-3.10.9-cp310-cp310-win32.whl", hash = "sha256:aeebd3061f6f1747c011e1d0b0b5f04f9f54ad1a2ca183e687e7277bef2e0da2"}, - {file = "aiohttp-3.10.9-cp310-cp310-win_amd64.whl", hash = "sha256:fa430b871220dc62572cef9c69b41e0d70fcb9d486a4a207a5de4c1f25d82593"}, - {file = "aiohttp-3.10.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:16e6a51d8bc96b77f04a6764b4ad03eeef43baa32014fce71e882bd71302c7e4"}, - {file = "aiohttp-3.10.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8bd9125dd0cc8ebd84bff2be64b10fdba7dc6fd7be431b5eaf67723557de3a31"}, - {file = "aiohttp-3.10.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dcf354661f54e6a49193d0b5653a1b011ba856e0b7a76bda2c33e4c6892f34ea"}, - {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42775de0ca04f90c10c5c46291535ec08e9bcc4756f1b48f02a0657febe89b10"}, - {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d1e4185c5d7187684d41ebb50c9aeaaaa06ca1875f4c57593071b0409d2444"}, - {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2695c61cf53a5d4345a43d689f37fc0f6d3a2dc520660aec27ec0f06288d1f9"}, - {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a3f063b41cc06e8d0b3fcbbfc9c05b7420f41287e0cd4f75ce0a1f3d80729e6"}, - {file = "aiohttp-3.10.9-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d37f4718002863b82c6f391c8efd4d3a817da37030a29e2682a94d2716209de"}, - {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2746d8994ebca1bdc55a1e998feff4e94222da709623bb18f6e5cfec8ec01baf"}, - {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6f3c6648aa123bcd73d6f26607d59967b607b0da8ffcc27d418a4b59f4c98c7c"}, - {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:558b3d223fd631ad134d89adea876e7fdb4c93c849ef195049c063ada82b7d08"}, - {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4e6cb75f8ddd9c2132d00bc03c9716add57f4beff1263463724f6398b813e7eb"}, - {file = "aiohttp-3.10.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:608cecd8d58d285bfd52dbca5b6251ca8d6ea567022c8a0eaae03c2589cd9af9"}, - {file = "aiohttp-3.10.9-cp311-cp311-win32.whl", hash = "sha256:36d4fba838be5f083f5490ddd281813b44d69685db910907636bc5dca6322316"}, - {file = "aiohttp-3.10.9-cp311-cp311-win_amd64.whl", hash = "sha256:8be1a65487bdfc285bd5e9baf3208c2132ca92a9b4020e9f27df1b16fab998a9"}, - {file = "aiohttp-3.10.9-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4fd16b30567c5b8e167923be6e027eeae0f20cf2b8a26b98a25115f28ad48ee0"}, - {file = "aiohttp-3.10.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:40ff5b7660f903dc587ed36ef08a88d46840182d9d4b5694e7607877ced698a1"}, - {file = "aiohttp-3.10.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4edc3fd701e2b9a0d605a7b23d3de4ad23137d23fc0dbab726aa71d92f11aaaf"}, - {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e525b69ee8a92c146ae5b4da9ecd15e518df4d40003b01b454ad694a27f498b5"}, - {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5002a02c17fcfd796d20bac719981d2fca9c006aac0797eb8f430a58e9d12431"}, - {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd4ceeae2fb8cabdd1b71c82bfdd39662473d3433ec95b962200e9e752fb70d0"}, - {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6e395c3d1f773cf0651cd3559e25182eb0c03a2777b53b4575d8adc1149c6e9"}, - {file = "aiohttp-3.10.9-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbdb8def5268f3f9cd753a265756f49228a20ed14a480d151df727808b4531dd"}, - {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f82ace0ec57c94aaf5b0e118d4366cff5889097412c75aa14b4fd5fc0c44ee3e"}, - {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6ebdc3b3714afe1b134b3bbeb5f745eed3ecbcff92ab25d80e4ef299e83a5465"}, - {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f9ca09414003c0e96a735daa1f071f7d7ed06962ef4fa29ceb6c80d06696d900"}, - {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1298b854fd31d0567cbb916091be9d3278168064fca88e70b8468875ef9ff7e7"}, - {file = "aiohttp-3.10.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:60ad5b8a7452c0f5645c73d4dad7490afd6119d453d302cd5b72b678a85d6044"}, - {file = "aiohttp-3.10.9-cp312-cp312-win32.whl", hash = "sha256:1a0ee6c0d590c917f1b9629371fce5f3d3f22c317aa96fbdcce3260754d7ea21"}, - {file = "aiohttp-3.10.9-cp312-cp312-win_amd64.whl", hash = "sha256:c46131c6112b534b178d4e002abe450a0a29840b61413ac25243f1291613806a"}, - {file = "aiohttp-3.10.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2bd9f3eac515c16c4360a6a00c38119333901b8590fe93c3257a9b536026594d"}, - {file = "aiohttp-3.10.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8cc0d13b4e3b1362d424ce3f4e8c79e1f7247a00d792823ffd640878abf28e56"}, - {file = "aiohttp-3.10.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ba1a599255ad6a41022e261e31bc2f6f9355a419575b391f9655c4d9e5df5ff5"}, - {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:776e9f3c9b377fcf097c4a04b241b15691e6662d850168642ff976780609303c"}, - {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8debb45545ad95b58cc16c3c1cc19ad82cffcb106db12b437885dbee265f0ab5"}, - {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2555e4949c8d8782f18ef20e9d39730d2656e218a6f1a21a4c4c0b56546a02e"}, - {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c54dc329cd44f7f7883a9f4baaefe686e8b9662e2c6c184ea15cceee587d8d69"}, - {file = "aiohttp-3.10.9-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e709d6ac598c5416f879bb1bae3fd751366120ac3fa235a01de763537385d036"}, - {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:17c272cfe7b07a5bb0c6ad3f234e0c336fb53f3bf17840f66bd77b5815ab3d16"}, - {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0c21c82df33b264216abffff9f8370f303dab65d8eee3767efbbd2734363f677"}, - {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9331dd34145ff105177855017920dde140b447049cd62bb589de320fd6ddd582"}, - {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ac3196952c673822ebed8871cf8802e17254fff2a2ed4835d9c045d9b88c5ec7"}, - {file = "aiohttp-3.10.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2c33fa6e10bb7ed262e3ff03cc69d52869514f16558db0626a7c5c61dde3c29f"}, - {file = "aiohttp-3.10.9-cp313-cp313-win32.whl", hash = "sha256:a14e4b672c257a6b94fe934ee62666bacbc8e45b7876f9dd9502d0f0fe69db16"}, - {file = "aiohttp-3.10.9-cp313-cp313-win_amd64.whl", hash = "sha256:a35ed3d03910785f7d9d6f5381f0c24002b2b888b298e6f941b2fc94c5055fcd"}, - {file = "aiohttp-3.10.9-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5f392ef50e22c31fa49b5a46af7f983fa3f118f3eccb8522063bee8bfa6755f8"}, - {file = "aiohttp-3.10.9-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d1f5c9169e26db6a61276008582d945405b8316aae2bb198220466e68114a0f5"}, - {file = "aiohttp-3.10.9-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8d9d10d10ec27c0d46ddaecc3c5598c4db9ce4e6398ca872cdde0525765caa2f"}, - {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d97273a52d7f89a75b11ec386f786d3da7723d7efae3034b4dda79f6f093edc1"}, - {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d271f770b52e32236d945911b2082f9318e90ff835d45224fa9e28374303f729"}, - {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7003f33f5f7da1eb02f0446b0f8d2ccf57d253ca6c2e7a5732d25889da82b517"}, - {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6e00c8a92e7663ed2be6fcc08a2997ff06ce73c8080cd0df10cc0321a3168d7"}, - {file = "aiohttp-3.10.9-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a61df62966ce6507aafab24e124e0c3a1cfbe23c59732987fc0fd0d71daa0b88"}, - {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:60555211a006d26e1a389222e3fab8cd379f28e0fbf7472ee55b16c6c529e3a6"}, - {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d15a29424e96fad56dc2f3abed10a89c50c099f97d2416520c7a543e8fddf066"}, - {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:a19caae0d670771ea7854ca30df76f676eb47e0fd9b2ee4392d44708f272122d"}, - {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:99f9678bf0e2b1b695e8028fedac24ab6770937932eda695815d5a6618c37e04"}, - {file = "aiohttp-3.10.9-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2914caa46054f3b5ff910468d686742ff8cff54b8a67319d75f5d5945fd0a13d"}, - {file = "aiohttp-3.10.9-cp38-cp38-win32.whl", hash = "sha256:0bc059ecbce835630e635879f5f480a742e130d9821fbe3d2f76610a6698ee25"}, - {file = "aiohttp-3.10.9-cp38-cp38-win_amd64.whl", hash = "sha256:e883b61b75ca6efc2541fcd52a5c8ccfe288b24d97e20ac08fdf343b8ac672ea"}, - {file = "aiohttp-3.10.9-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fcd546782d03181b0b1d20b43d612429a90a68779659ba8045114b867971ab71"}, - {file = "aiohttp-3.10.9-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:85711eec2d875cd88c7eb40e734c4ca6d9ae477d6f26bd2b5bb4f7f60e41b156"}, - {file = "aiohttp-3.10.9-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:02d1d6610588bcd743fae827bd6f2e47e0d09b346f230824b4c6fb85c6065f9c"}, - {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3668d0c2a4d23fb136a753eba42caa2c0abbd3d9c5c87ee150a716a16c6deec1"}, - {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d7c071235a47d407b0e93aa6262b49422dbe48d7d8566e1158fecc91043dd948"}, - {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ac74e794e3aee92ae8f571bfeaa103a141e409863a100ab63a253b1c53b707eb"}, - {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bbf94d4a0447705b7775417ca8bb8086cc5482023a6e17cdc8f96d0b1b5aba6"}, - {file = "aiohttp-3.10.9-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb0b2d5d51f96b6cc19e6ab46a7b684be23240426ae951dcdac9639ab111b45e"}, - {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e83dfefb4f7d285c2d6a07a22268344a97d61579b3e0dce482a5be0251d672ab"}, - {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f0a44bb40b6aaa4fb9a5c1ee07880570ecda2065433a96ccff409c9c20c1624a"}, - {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c2b627d3c8982691b06d89d31093cee158c30629fdfebe705a91814d49b554f8"}, - {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:03690541e4cc866eef79626cfa1ef4dd729c5c1408600c8cb9e12e1137eed6ab"}, - {file = "aiohttp-3.10.9-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ad3675c126f2a95bde637d162f8231cff6bc0bc9fbe31bd78075f9ff7921e322"}, - {file = "aiohttp-3.10.9-cp39-cp39-win32.whl", hash = "sha256:1321658f12b6caffafdc35cfba6c882cb014af86bef4e78c125e7e794dfb927b"}, - {file = "aiohttp-3.10.9-cp39-cp39-win_amd64.whl", hash = "sha256:9fdf5c839bf95fc67be5794c780419edb0dbef776edcfc6c2e5e2ffd5ee755fa"}, - {file = "aiohttp-3.10.9.tar.gz", hash = "sha256:143b0026a9dab07a05ad2dd9e46aa859bffdd6348ddc5967b42161168c24f857"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be7443669ae9c016b71f402e43208e13ddf00912f47f623ee5994e12fc7d4b3f"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7b06b7843929e41a94ea09eb1ce3927865387e3e23ebe108e0d0d09b08d25be9"}, + {file = "aiohttp-3.10.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:333cf6cf8e65f6a1e06e9eb3e643a0c515bb850d470902274239fea02033e9a8"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:274cfa632350225ce3fdeb318c23b4a10ec25c0e2c880eff951a3842cf358ac1"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9e5e4a85bdb56d224f412d9c98ae4cbd032cc4f3161818f692cd81766eee65a"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b606353da03edcc71130b52388d25f9a30a126e04caef1fd637e31683033abd"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab5a5a0c7a7991d90446a198689c0535be89bbd6b410a1f9a66688f0880ec026"}, + {file = "aiohttp-3.10.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:578a4b875af3e0daaf1ac6fa983d93e0bbfec3ead753b6d6f33d467100cdc67b"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8105fd8a890df77b76dd3054cddf01a879fc13e8af576805d667e0fa0224c35d"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3bcd391d083f636c06a68715e69467963d1f9600f85ef556ea82e9ef25f043f7"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fbc6264158392bad9df19537e872d476f7c57adf718944cc1e4495cbabf38e2a"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e48d5021a84d341bcaf95c8460b152cfbad770d28e5fe14a768988c461b821bc"}, + {file = "aiohttp-3.10.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2609e9ab08474702cc67b7702dbb8a80e392c54613ebe80db7e8dbdb79837c68"}, + {file = "aiohttp-3.10.10-cp310-cp310-win32.whl", hash = "sha256:84afcdea18eda514c25bc68b9af2a2b1adea7c08899175a51fe7c4fb6d551257"}, + {file = "aiohttp-3.10.10-cp310-cp310-win_amd64.whl", hash = "sha256:9c72109213eb9d3874f7ac8c0c5fa90e072d678e117d9061c06e30c85b4cf0e6"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c30a0eafc89d28e7f959281b58198a9fa5e99405f716c0289b7892ca345fe45f"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:258c5dd01afc10015866114e210fb7365f0d02d9d059c3c3415382ab633fcbcb"}, + {file = "aiohttp-3.10.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:15ecd889a709b0080f02721255b3f80bb261c2293d3c748151274dfea93ac871"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3935f82f6f4a3820270842e90456ebad3af15810cf65932bd24da4463bc0a4c"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:413251f6fcf552a33c981c4709a6bba37b12710982fec8e558ae944bfb2abd38"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1720b4f14c78a3089562b8875b53e36b51c97c51adc53325a69b79b4b48ebcb"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:679abe5d3858b33c2cf74faec299fda60ea9de62916e8b67e625d65bf069a3b7"}, + {file = "aiohttp-3.10.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79019094f87c9fb44f8d769e41dbb664d6e8fcfd62f665ccce36762deaa0e911"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe2fb38c2ed905a2582948e2de560675e9dfbee94c6d5ccdb1301c6d0a5bf092"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a3f00003de6eba42d6e94fabb4125600d6e484846dbf90ea8e48a800430cc142"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1bbb122c557a16fafc10354b9d99ebf2f2808a660d78202f10ba9d50786384b9"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:30ca7c3b94708a9d7ae76ff281b2f47d8eaf2579cd05971b5dc681db8caac6e1"}, + {file = "aiohttp-3.10.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:df9270660711670e68803107d55c2b5949c2e0f2e4896da176e1ecfc068b974a"}, + {file = "aiohttp-3.10.10-cp311-cp311-win32.whl", hash = "sha256:aafc8ee9b742ce75044ae9a4d3e60e3d918d15a4c2e08a6c3c3e38fa59b92d94"}, + {file = "aiohttp-3.10.10-cp311-cp311-win_amd64.whl", hash = "sha256:362f641f9071e5f3ee6f8e7d37d5ed0d95aae656adf4ef578313ee585b585959"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205"}, + {file = "aiohttp-3.10.10-cp312-cp312-win32.whl", hash = "sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628"}, + {file = "aiohttp-3.10.10-cp312-cp312-win_amd64.whl", hash = "sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ad7593bb24b2ab09e65e8a1d385606f0f47c65b5a2ae6c551db67d6653e78c28"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1eb89d3d29adaf533588f209768a9c02e44e4baf832b08118749c5fad191781d"}, + {file = "aiohttp-3.10.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3fe407bf93533a6fa82dece0e74dbcaaf5d684e5a51862887f9eaebe6372cd79"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50aed5155f819873d23520919e16703fc8925e509abbb1a1491b0087d1cd969e"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f05e9727ce409358baa615dbeb9b969db94324a79b5a5cea45d39bdb01d82e6"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dffb610a30d643983aeb185ce134f97f290f8935f0abccdd32c77bed9388b42"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa6658732517ddabe22c9036479eabce6036655ba87a0224c612e1ae6af2087e"}, + {file = "aiohttp-3.10.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:741a46d58677d8c733175d7e5aa618d277cd9d880301a380fd296975a9cdd7bc"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e00e3505cd80440f6c98c6d69269dcc2a119f86ad0a9fd70bccc59504bebd68a"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ffe595f10566f8276b76dc3a11ae4bb7eba1aac8ddd75811736a15b0d5311414"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdfcf6443637c148c4e1a20c48c566aa694fa5e288d34b20fcdc58507882fed3"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d183cf9c797a5291e8301790ed6d053480ed94070637bfaad914dd38b0981f67"}, + {file = "aiohttp-3.10.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:77abf6665ae54000b98b3c742bc6ea1d1fb31c394bcabf8b5d2c1ac3ebfe7f3b"}, + {file = "aiohttp-3.10.10-cp313-cp313-win32.whl", hash = "sha256:4470c73c12cd9109db8277287d11f9dd98f77fc54155fc71a7738a83ffcc8ea8"}, + {file = "aiohttp-3.10.10-cp313-cp313-win_amd64.whl", hash = "sha256:486f7aabfa292719a2753c016cc3a8f8172965cabb3ea2e7f7436c7f5a22a151"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:1b66ccafef7336a1e1f0e389901f60c1d920102315a56df85e49552308fc0486"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:acd48d5b80ee80f9432a165c0ac8cbf9253eaddb6113269a5e18699b33958dbb"}, + {file = "aiohttp-3.10.10-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3455522392fb15ff549d92fbf4b73b559d5e43dc522588f7eb3e54c3f38beee7"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45c3b868724137f713a38376fef8120c166d1eadd50da1855c112fe97954aed8"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:da1dee8948d2137bb51fbb8a53cce6b1bcc86003c6b42565f008438b806cccd8"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c5ce2ce7c997e1971b7184ee37deb6ea9922ef5163c6ee5aa3c274b05f9e12fa"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28529e08fde6f12eba8677f5a8608500ed33c086f974de68cc65ab218713a59d"}, + {file = "aiohttp-3.10.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f7db54c7914cc99d901d93a34704833568d86c20925b2762f9fa779f9cd2e70f"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:03a42ac7895406220124c88911ebee31ba8b2d24c98507f4a8bf826b2937c7f2"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7e338c0523d024fad378b376a79faff37fafb3c001872a618cde1d322400a572"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:038f514fe39e235e9fef6717fbf944057bfa24f9b3db9ee551a7ecf584b5b480"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:64f6c17757251e2b8d885d728b6433d9d970573586a78b78ba8929b0f41d045a"}, + {file = "aiohttp-3.10.10-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:93429602396f3383a797a2a70e5f1de5df8e35535d7806c9f91df06f297e109b"}, + {file = "aiohttp-3.10.10-cp38-cp38-win32.whl", hash = "sha256:c823bc3971c44ab93e611ab1a46b1eafeae474c0c844aff4b7474287b75fe49c"}, + {file = "aiohttp-3.10.10-cp38-cp38-win_amd64.whl", hash = "sha256:54ca74df1be3c7ca1cf7f4c971c79c2daf48d9aa65dea1a662ae18926f5bc8ce"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:01948b1d570f83ee7bbf5a60ea2375a89dfb09fd419170e7f5af029510033d24"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9fc1500fd2a952c5c8e3b29aaf7e3cc6e27e9cfc0a8819b3bce48cc1b849e4cc"}, + {file = "aiohttp-3.10.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f614ab0c76397661b90b6851a030004dac502e48260ea10f2441abd2207fbcc7"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00819de9e45d42584bed046314c40ea7e9aea95411b38971082cad449392b08c"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05646ebe6b94cc93407b3bf34b9eb26c20722384d068eb7339de802154d61bc5"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:998f3bd3cfc95e9424a6acd7840cbdd39e45bc09ef87533c006f94ac47296090"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9010c31cd6fa59438da4e58a7f19e4753f7f264300cd152e7f90d4602449762"}, + {file = "aiohttp-3.10.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ea7ffc6d6d6f8a11e6f40091a1040995cdff02cfc9ba4c2f30a516cb2633554"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ef9c33cc5cbca35808f6c74be11eb7f5f6b14d2311be84a15b594bd3e58b5527"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce0cdc074d540265bfeb31336e678b4e37316849d13b308607efa527e981f5c2"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:597a079284b7ee65ee102bc3a6ea226a37d2b96d0418cc9047490f231dc09fe8"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:7789050d9e5d0c309c706953e5e8876e38662d57d45f936902e176d19f1c58ab"}, + {file = "aiohttp-3.10.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e7f8b04d83483577fd9200461b057c9f14ced334dcb053090cea1da9c8321a91"}, + {file = "aiohttp-3.10.10-cp39-cp39-win32.whl", hash = "sha256:c02a30b904282777d872266b87b20ed8cc0d1501855e27f831320f471d54d983"}, + {file = "aiohttp-3.10.10-cp39-cp39-win_amd64.whl", hash = "sha256:edfe3341033a6b53a5c522c802deb2079eee5cbfbb0af032a55064bd65c73a23"}, + {file = "aiohttp-3.10.10.tar.gz", hash = "sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a"}, ] [package.dependencies] @@ -841,63 +841,63 @@ files = [ [[package]] name = "duckdb" -version = "1.1.1" +version = "1.1.2" description = "DuckDB in-process database" optional = false python-versions = ">=3.7.0" files = [ - {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e310610b692d30aa7f1f40d7878b26978a5b191f23fa8fa082bd17092c67c2fd"}, - {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:7acc97c3cc995850a4fa59dfa6ce713d7ea187c9696632161aa09d898f001a2b"}, - {file = "duckdb-1.1.1-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:c0a09d78daea0de7ddf3d6d1113e80ceed8c15537e93f8efaad53024ffbde245"}, - {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50c3b1667b0c73cb076b1b1f8fa0fd88fcef5c2bbb2b9acdef79e2eae429c248"}, - {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1499a9b159d4675ea46786b7ebdbabd8287c62b6b116ccfd529112318d47184e"}, - {file = "duckdb-1.1.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:876deda2ce97f4a9005a9ac862f0ebee9e5956d51d589a24955802ca91726d49"}, - {file = "duckdb-1.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:40be901b38c709076f699b0c2f42a0c5663a496647eba350530e3a77f46a239b"}, - {file = "duckdb-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:5cb7642c5b21b8165b60029c274fc931c7c29cae3124b9a95ed73d050dd23584"}, - {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:959716b65cf1c94fc117ac9c9692eea0bd64ae53bc8ab6538d459087b474dbeb"}, - {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:6ff3c52ce0f8d25478155eb01de043ad0a25badbd10e684a2cd74363f1b86cde"}, - {file = "duckdb-1.1.1-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:430294cf11ce866d3b726cf4530462316e20b773fed3cf2de3cf63eb89650da6"}, - {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc9d48f772fafeea52568a0568cd11314cd79a10214069f3700dbcb31ebdf511"}, - {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:572095739024d9a5aa2dd8336c289af6a624c203004213e49b7e2469275e940f"}, - {file = "duckdb-1.1.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:660d9baf637b9a15e1ba74bbe02d3b4a20d82e8cbbd7d0712e0d59e3e9d6efea"}, - {file = "duckdb-1.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b91973605c8a30a38c4381a27895e7768cb3caa6700b2534ab76cc6b72cac390"}, - {file = "duckdb-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:f57c9e070cecf42d379145a75f325ec57fb1d410d6ff6592b5a28c2ff2b5792c"}, - {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:926a99b81c50b9a4a43ca26dcb781f934d35e773d22913548396601ab8d44c12"}, - {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:55a2632d27b5a965f1d9fc74b03383e80a3f8e3dc9596807dfb02c8db08cfcb7"}, - {file = "duckdb-1.1.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:8d8174fe47caf48d830dc477a45cedc8c970722df09dc1456bddc760ff6ccf68"}, - {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ad84023399002222fa8d5264a8dc2083053027910df728da92cabb07494a489"}, - {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c8adbc8b37444424c72043288f1521c860555a4f151ee4b744e6125f5d05729"}, - {file = "duckdb-1.1.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:550524c1b423eeb7ca0fdf1c2e6d29e723d7ec7cfab3050b9feb55a620ae927f"}, - {file = "duckdb-1.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4064243e4d3f445975b78773677de0ccbe924f9c7058a7c2cfedb24bba2ba939"}, - {file = "duckdb-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:4f64516dc62dd0fcbb9785c5bc7532a4fca3e6016bbcc92a2b235aa972c631f6"}, - {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4bf75a64c927470b6618496adcfbf0f316ef09d46a44cfe8e38b78e9ff40c8a0"}, - {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:5c8cd6fd7107299b9a243836cd8163e4c08d6228f18cbee4ed9f535f53300096"}, - {file = "duckdb-1.1.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:fc81c02b4d73533a438a9bbae19499531d85b752233c905facc4df41bbde043c"}, - {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baff4014caf6553b624a296e4db2926602670bd9be6e0fc75f3e970b085631b0"}, - {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e21b75a9a60f10b5b5033138c317d929018c92f355fadae5949b310a9179e0a7"}, - {file = "duckdb-1.1.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8220f039c5ea06dc126232464ab9b77197f80ae53d4611b0a41f73c54f6f3931"}, - {file = "duckdb-1.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:07384414ceae585d4106a7dc154331ae42f45390ed675ec81e3d01f2252a6b01"}, - {file = "duckdb-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:82776b3999e71a962db0bdc3f0258407ef41453f63eb47c33da29b644f8eb530"}, - {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35d4323655be4053fb90d47e85222c93fd56aea0e8ab0ac44bd8f7249ba85697"}, - {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:990d0799e0f543a4369413dc6caf7782cbbab49955c08c28ac56d5dab5ccef11"}, - {file = "duckdb-1.1.1-cp37-cp37m-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ef3ba36b317abe000f502702eaaefdd8c3651a25aa0ad409f9487b286e2fb28"}, - {file = "duckdb-1.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:2c6e513a572967cd2bab0f20ce265f8eaf95ea7b554eecf1c233717c38569abc"}, - {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:567471cb964a0e54a7874c578e81af7b6ab474676ae6469ae1c33c2353f76fb1"}, - {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:a41d8eb4dc538d17660b78f2f4ecd0ba29666a396453bb71d6f4972bf2b3959e"}, - {file = "duckdb-1.1.1-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:31be0b9bc1909fb60abda7cd30615fe0224d1e451160d79e8e0313d6205417b0"}, - {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:541fb49da108e080d4f2984d2fdabaee36d65967a33642f8bce03373b29952f0"}, - {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c54f836dac5eddbe369fa654811e979bb07688638a52d1c006172feb5b75a5"}, - {file = "duckdb-1.1.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:afb97970ee72e554b507c6f2e40b356bdbf8fc1f466e7c4d1797183eb66c0809"}, - {file = "duckdb-1.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:a2cdcb68247f02017a35a0b617ceb1d36a02a7c0588d7e2ed91c9a4e9f14c3f6"}, - {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:36d71969cb98d10dc2391d8755921258d197995cc8c69e6c82fc377c2f71940a"}, - {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:3693f464409379a21aff4e35b5f67eb6c96fc402649d9ffddbda4ee9ee9ba9b6"}, - {file = "duckdb-1.1.1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:06ca7f4ca785cc86e9f9aa23d16b67b82dc454b14c396b2e0ff4c09698c7838e"}, - {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ed92f3229bf70897a742e7648f648aa8b0c81a7489072aec5515c5635f3303c"}, - {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a80ebf52c03f81265b67720abc06a5c7770d08df82b30cabbe266012bd526229"}, - {file = "duckdb-1.1.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:402a42b992227ebb371a48681ce71b6d1c0661385454b269e6aa379f77a8a83a"}, - {file = "duckdb-1.1.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a182d3cbf2e352aaddf392887331bbac460c473cbd55c65d6b6121ef7b43f174"}, - {file = "duckdb-1.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:fafc7d1ec4401787597a5f983d4ef8a9b0638f31e1674a458c57383911166f27"}, - {file = "duckdb-1.1.1.tar.gz", hash = "sha256:74fb07c1334a73e0ead1b0a03646d349921dac655762d916c8e45194c8218d30"}, + {file = "duckdb-1.1.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:91e7f99cf5cab1d26f92cb014429153497d805e79689baa44f4c4585a8cb243f"}, + {file = "duckdb-1.1.2-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:0107de622fe208142a1108263a03c43956048dcc99be3702d8e5d2aeaf99554c"}, + {file = "duckdb-1.1.2-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:8a09610f780857677725897856f8cdf3cafd8a991f871e6cb8ba88b2dbc8d737"}, + {file = "duckdb-1.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0f0ddac0482f0f3fece54d720d13819e82ae26c01a939ffa66a87be53f7f665"}, + {file = "duckdb-1.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84103373e818758dfa361d27781d0f096553843c5ffb9193260a0786c5248270"}, + {file = "duckdb-1.1.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bfdfd23e2bf58014ad0673973bd0ed88cd048dfe8e82420814a71d7d52ef2288"}, + {file = "duckdb-1.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:25889e6e29b87047b1dd56385ac08156e4713c59326cc6fff89657d01b2c417b"}, + {file = "duckdb-1.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:312570fa5277c3079de18388b86c2d87cbe1044838bb152b235c0227581d5d42"}, + {file = "duckdb-1.1.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:568439ea4fce8cb72ec1f767cd510686a9e7e29a011fc7c56d990059a6e94e48"}, + {file = "duckdb-1.1.2-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:74974f2d7210623a5d61b1fb0cb589c6e5ffcbf7dbb757a04c5ba24adcfc8cac"}, + {file = "duckdb-1.1.2-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:e26422a3358c816d764639070945b73eef55d1b4df990989e3492c85ef725c21"}, + {file = "duckdb-1.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87e972bd452eeeab197fe39dcaeecdb7c264b1f75a0ee67e532e235fe45b84df"}, + {file = "duckdb-1.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a6b73e70b73c8df85da383f6e557c03cad5c877868b9a7e41715761e8166c1e"}, + {file = "duckdb-1.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:623cb1952466aae5907af84107bcdec25a5ca021a8b6441e961f41edc724f6f2"}, + {file = "duckdb-1.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9fc0b550f96901fa7e76dc70a13f6477ad3e18ef1cb21d414c3a5569de3f27e"}, + {file = "duckdb-1.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:181edb1973bd8f493bcb6ecfa035f1a592dff4667758592f300619012ba251c0"}, + {file = "duckdb-1.1.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:83372b1b411086cac01ab2071122772fa66170b1b41ddbc37527464066083668"}, + {file = "duckdb-1.1.2-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:db37441deddfee6ac35a0c742d2f9e90e4e50b9e76d586a060d122b8fc56dada"}, + {file = "duckdb-1.1.2-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:19142a77e72874aeaa6fda30aeb13612c6de5e8c60fbcc3392cea6ef0694eeaf"}, + {file = "duckdb-1.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:099d99dd48d6e4682a3dd6233ceab73d977ebe1a87afaac54cf77c844e24514a"}, + {file = "duckdb-1.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be86e586ca7af7e807f72479a2b8d0983565360b19dbda4ef8a9d7b3909b8e2c"}, + {file = "duckdb-1.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:578e0953e4d8ba8da0cd69fb2930c45f51ce47d213b77d8a4cd461f9c0960b87"}, + {file = "duckdb-1.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:72b5eb5762c1a5e68849c7143f3b3747a9f15c040e34e41559f233a1569ad16f"}, + {file = "duckdb-1.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:9b4c6b6a08180261d98330d97355503961a25ca31cd9ef296e0681f7895b4a2c"}, + {file = "duckdb-1.1.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:695dcbc561374b126e86659709feadf883c9969ed718e94713edd4ba15d16619"}, + {file = "duckdb-1.1.2-cp313-cp313-macosx_12_0_universal2.whl", hash = "sha256:ada29be1e889f486c6cf1f6dffd15463e748faf361f33996f2e862779edc24a9"}, + {file = "duckdb-1.1.2-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:6ca722738fa9eb6218619740631de29acfdd132de6f6a6350fee5e291c2f6117"}, + {file = "duckdb-1.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c796d33f1e5a0c8c570d22da0c0b1db8578687e427029e1ce2c8ce3f9fffa6a3"}, + {file = "duckdb-1.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5c0996988a70dd3bc8111d9b9aeab7e38ed1999a52607c5f1b528e362b4dd1c"}, + {file = "duckdb-1.1.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c37b039f6d6fed14d89450f5ccf54922b3304192d7412e12d6cc8d9e757f7a2"}, + {file = "duckdb-1.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e8c766b87f675c76d6d17103bf6fb9fb1a9e2fcb3d9b25c28bbc634bde31223e"}, + {file = "duckdb-1.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:e3e6300b7ccaf64b609f4f0780a6e1d25ab8cf34cceed46e62c35b6c4c5cb63b"}, + {file = "duckdb-1.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a01fae9604a54ecbc26e7503c522311f15afbd2870e6d8f6fbef4545dfae550"}, + {file = "duckdb-1.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:492b1d86a696428bd3f14dc1c7c3230e2dbca8978f288be64b04a26e0e00fad5"}, + {file = "duckdb-1.1.2-cp37-cp37m-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bba58459ad897a78c4e478a097626fc266459a40338cecc68a49a8d5dc72fb7"}, + {file = "duckdb-1.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:d395a3bf510bf24686821eec15802624797dcb33e8f14f8a7cc8e17d909474af"}, + {file = "duckdb-1.1.2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:fd800f75728727fe699ed1eb22b636867cf48c9dd105ee88b977e20c89df4509"}, + {file = "duckdb-1.1.2-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:d8caaf43909e49537e26df51d80d075ae2b25a610d28ed8bd31d6ccebeaf3c65"}, + {file = "duckdb-1.1.2-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:564166811c68d9c7f9911eb707ad32ec9c2507b98336d894fbe658b85bf1c697"}, + {file = "duckdb-1.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19386aa09f0d6f97634ba2972096d1c80d880176dfb0e949eadc91c98262a663"}, + {file = "duckdb-1.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9e8387bcc9a591ad14011ddfec0d408d1d9b1889c6c9b495a04c7016a24b9b3"}, + {file = "duckdb-1.1.2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f8c5ff4970403ed3ff0ac71fe0ce1e6be3199df9d542afc84c424b444ba4ffe8"}, + {file = "duckdb-1.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:9283dcca87c3260eb631a99d738fa72b8545ed45b475bc72ad254f7310e14284"}, + {file = "duckdb-1.1.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:f87edaf20001530e63a4f7bda13b55dc3152d7171226915f2bf34e0813c8759e"}, + {file = "duckdb-1.1.2-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:efec169b3fe0b821e3207ba3e445f227d42dd62b4440ff79c37fa168a4fc5a71"}, + {file = "duckdb-1.1.2-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:89164a2d29d56605a95ee5032aa415dd487028c4fd3e06d971497840e74c56e7"}, + {file = "duckdb-1.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6858e10c60ff7e70e61d3dd53d2545c8b2609942e45fd6de38cd0dee52932de3"}, + {file = "duckdb-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ca967c5a57b1d0cb0fd5e539ab24110e5a59dcbedd365bb2dc80533d6e44a8d"}, + {file = "duckdb-1.1.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ce949f1d7999aa6a046eb64067eee41d4c5c2872ba4fa408c9947742d0c7231"}, + {file = "duckdb-1.1.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ba6d1f918e6ca47a368a0c32806016405cb9beb2c245806b0ca998f569d2bdf"}, + {file = "duckdb-1.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:7111fd3e7b334a7be383313ce29918b7c643e4f6ef44d6d63c3ab3fa6716c114"}, + {file = "duckdb-1.1.2.tar.gz", hash = "sha256:c8232861dc8ec6daa29067056d5a0e5789919f2ab22ab792787616d7cd52f02a"}, ] [[package]] @@ -1371,13 +1371,12 @@ files = [ [[package]] name = "jsonpath-ng" -version = "1.6.1" +version = "1.7.0" description = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." optional = false python-versions = "*" files = [ - {file = "jsonpath-ng-1.6.1.tar.gz", hash = "sha256:086c37ba4917304850bd837aeab806670224d3f038fe2833ff593a672ef0a5fa"}, - {file = "jsonpath_ng-1.6.1-py3-none-any.whl", hash = "sha256:8f22cd8273d7772eea9aaa84d922e0841aa36fdb8a2c6b7f6c3791a16a9bc0be"}, + {file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"}, ] [package.dependencies] @@ -1546,13 +1545,13 @@ files = [ [[package]] name = "moto" -version = "5.0.16" +version = "5.0.17" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "moto-5.0.16-py2.py3-none-any.whl", hash = "sha256:4ce1f34830307f7b3d553d77a7ef26066ab3b70006203d4226b048c9d11a3be4"}, - {file = "moto-5.0.16.tar.gz", hash = "sha256:f4afb176a964cd7a70da9bc5e053d43109614ce3cab26044bcbb53610435dff4"}, + {file = "moto-5.0.17-py2.py3-none-any.whl", hash = "sha256:6b56b7bb5675d60e79890c9867e446f29d7a5be02051238b8df079f649270130"}, + {file = "moto-5.0.17.tar.gz", hash = "sha256:165a291ac0b983f53a09f67f9841f72214c5a1b0c56392d88f7035a6a8718fca"}, ] [package.dependencies] @@ -1567,7 +1566,7 @@ werkzeug = ">=0.5,<2.2.0 || >2.2.0,<2.2.1 || >2.2.1" xmltodict = "*" [package.extras] -all = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +all = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "jsonschema", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] apigateway = ["PyYAML (>=5.1)", "joserfc (>=0.9.0)", "openapi-spec-validator (>=0.5.0)"] apigatewayv2 = ["PyYAML (>=5.1)", "openapi-spec-validator (>=0.5.0)"] appsync = ["graphql-core"] @@ -1581,6 +1580,7 @@ events = ["jsonpath-ng"] glue = ["pyparsing (>=3.0.7)"] iotdata = ["jsondiff (>=1.1.2)"] proxy = ["PyYAML (>=5.1)", "antlr4-python3-runtime", "aws-xray-sdk (>=0.93,!=0.96)", "cfn-lint (>=0.40.0)", "docker (>=2.5.1)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "jsonpath-ng", "multipart", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)", "setuptools"] +quicksight = ["jsonschema"] resourcegroupstaggingapi = ["PyYAML (>=5.1)", "cfn-lint (>=0.40.0)", "docker (>=3.0.0)", "graphql-core", "joserfc (>=0.9.0)", "jsondiff (>=1.1.2)", "openapi-spec-validator (>=0.5.0)", "py-partiql-parser (==0.5.6)", "pyparsing (>=3.0.7)"] s3 = ["PyYAML (>=5.1)", "py-partiql-parser (==0.5.6)"] s3crc32c = ["PyYAML (>=5.1)", "crc32c", "py-partiql-parser (==0.5.6)"] @@ -1695,38 +1695,43 @@ typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} [[package]] name = "mypy" -version = "1.11.2" +version = "1.12.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.11.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a"}, - {file = "mypy-1.11.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef"}, - {file = "mypy-1.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383"}, - {file = "mypy-1.11.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8"}, - {file = "mypy-1.11.2-cp310-cp310-win_amd64.whl", hash = "sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385"}, - {file = "mypy-1.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca"}, - {file = "mypy-1.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104"}, - {file = "mypy-1.11.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4"}, - {file = "mypy-1.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318"}, - {file = "mypy-1.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36"}, - {file = "mypy-1.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987"}, - {file = "mypy-1.11.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca"}, - {file = "mypy-1.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b"}, - {file = "mypy-1.11.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86"}, - {file = "mypy-1.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce"}, - {file = "mypy-1.11.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1"}, - {file = "mypy-1.11.2-cp38-cp38-win_amd64.whl", hash = "sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6"}, - {file = "mypy-1.11.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70"}, - {file = "mypy-1.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"}, - {file = "mypy-1.11.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d"}, - {file = "mypy-1.11.2-cp39-cp39-win_amd64.whl", hash = "sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24"}, - {file = "mypy-1.11.2-py3-none-any.whl", hash = "sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12"}, - {file = "mypy-1.11.2.tar.gz", hash = "sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79"}, + {file = "mypy-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4397081e620dc4dc18e2f124d5e1d2c288194c2c08df6bdb1db31c38cd1fe1ed"}, + {file = "mypy-1.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:684a9c508a283f324804fea3f0effeb7858eb03f85c4402a967d187f64562469"}, + {file = "mypy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cabe4cda2fa5eca7ac94854c6c37039324baaa428ecbf4de4567279e9810f9e"}, + {file = "mypy-1.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:060a07b10e999ac9e7fa249ce2bdcfa9183ca2b70756f3bce9df7a92f78a3c0a"}, + {file = "mypy-1.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:0eff042d7257f39ba4ca06641d110ca7d2ad98c9c1fb52200fe6b1c865d360ff"}, + {file = "mypy-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4b86de37a0da945f6d48cf110d5206c5ed514b1ca2614d7ad652d4bf099c7de7"}, + {file = "mypy-1.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:20c7c5ce0c1be0b0aea628374e6cf68b420bcc772d85c3c974f675b88e3e6e57"}, + {file = "mypy-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a64ee25f05fc2d3d8474985c58042b6759100a475f8237da1f4faf7fcd7e6309"}, + {file = "mypy-1.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:faca7ab947c9f457a08dcb8d9a8664fd438080e002b0fa3e41b0535335edcf7f"}, + {file = "mypy-1.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:5bc81701d52cc8767005fdd2a08c19980de9ec61a25dbd2a937dfb1338a826f9"}, + {file = "mypy-1.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8462655b6694feb1c99e433ea905d46c478041a8b8f0c33f1dab00ae881b2164"}, + {file = "mypy-1.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:923ea66d282d8af9e0f9c21ffc6653643abb95b658c3a8a32dca1eff09c06475"}, + {file = "mypy-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1ebf9e796521f99d61864ed89d1fb2926d9ab6a5fab421e457cd9c7e4dd65aa9"}, + {file = "mypy-1.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e478601cc3e3fa9d6734d255a59c7a2e5c2934da4378f3dd1e3411ea8a248642"}, + {file = "mypy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:c72861b7139a4f738344faa0e150834467521a3fba42dc98264e5aa9507dd601"}, + {file = "mypy-1.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52b9e1492e47e1790360a43755fa04101a7ac72287b1a53ce817f35899ba0521"}, + {file = "mypy-1.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:48d3e37dd7d9403e38fa86c46191de72705166d40b8c9f91a3de77350daa0893"}, + {file = "mypy-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2f106db5ccb60681b622ac768455743ee0e6a857724d648c9629a9bd2ac3f721"}, + {file = "mypy-1.12.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:233e11b3f73ee1f10efada2e6da0f555b2f3a5316e9d8a4a1224acc10e7181d3"}, + {file = "mypy-1.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:4ae8959c21abcf9d73aa6c74a313c45c0b5a188752bf37dace564e29f06e9c1b"}, + {file = "mypy-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eafc1b7319b40ddabdc3db8d7d48e76cfc65bbeeafaa525a4e0fa6b76175467f"}, + {file = "mypy-1.12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9b9ce1ad8daeb049c0b55fdb753d7414260bad8952645367e70ac91aec90e07e"}, + {file = "mypy-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfe012b50e1491d439172c43ccb50db66d23fab714d500b57ed52526a1020bb7"}, + {file = "mypy-1.12.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2c40658d4fa1ab27cb53d9e2f1066345596af2f8fe4827defc398a09c7c9519b"}, + {file = "mypy-1.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:dee78a8b9746c30c1e617ccb1307b351ded57f0de0d287ca6276378d770006c0"}, + {file = "mypy-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b5df6c8a8224f6b86746bda716bbe4dbe0ce89fd67b1fa4661e11bfe38e8ec8"}, + {file = "mypy-1.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5feee5c74eb9749e91b77f60b30771563327329e29218d95bedbe1257e2fe4b0"}, + {file = "mypy-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:77278e8c6ffe2abfba6db4125de55f1024de9a323be13d20e4f73b8ed3402bd1"}, + {file = "mypy-1.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:dcfb754dea911039ac12434d1950d69a2f05acd4d56f7935ed402be09fad145e"}, + {file = "mypy-1.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:06de0498798527451ffb60f68db0d368bd2bae2bbfb5237eae616d4330cc87aa"}, + {file = "mypy-1.12.0-py3-none-any.whl", hash = "sha256:fd313226af375d52e1e36c383f39bf3836e1f192801116b31b090dfcd3ec5266"}, + {file = "mypy-1.12.0.tar.gz", hash = "sha256:65a22d87e757ccd95cbbf6f7e181e6caa87128255eb2b6be901bb71b26d8a99d"}, ] [package.dependencies] @@ -3561,114 +3566,120 @@ tests-strict = ["pytest (==4.6.0)", "pytest (==6.2.5)", "pytest-cov (==3.0.0)"] [[package]] name = "xmltodict" -version = "0.14.0" +version = "0.14.1" description = "Makes working with XML feel like you are working with JSON" optional = false -python-versions = ">=3.4" +python-versions = ">=3.6" files = [ - {file = "xmltodict-0.14.0-py2.py3-none-any.whl", hash = "sha256:6dd20b8de8d0eb84d175ec706cc17b53df236615b0980de33537736319e5ee85"}, - {file = "xmltodict-0.14.0.tar.gz", hash = "sha256:8b39b25b564fd466be566c9e8a869cc4b5083c2fec7f98665f47bf0853f6cc77"}, + {file = "xmltodict-0.14.1-py2.py3-none-any.whl", hash = "sha256:3ef4a7b71c08f19047fcbea572e1d7f4207ab269da1565b5d40e9823d3894e63"}, + {file = "xmltodict-0.14.1.tar.gz", hash = "sha256:338c8431e4fc554517651972d62f06958718f6262b04316917008e8fd677a6b0"}, ] [[package]] name = "yarl" -version = "1.14.0" +version = "1.15.2" description = "Yet another URL library" optional = true python-versions = ">=3.8" files = [ - {file = "yarl-1.14.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1bfc25aa6a7c99cf86564210f79a0b7d4484159c67e01232b116e445b3036547"}, - {file = "yarl-1.14.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0cf21f46a15d445417de8fc89f2568852cf57fe8ca1ab3d19ddb24d45c0383ae"}, - {file = "yarl-1.14.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1dda53508df0de87b6e6b0a52d6718ff6c62a5aca8f5552748404963df639269"}, - {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:587c3cc59bc148a9b1c07a019346eda2549bc9f468acd2f9824d185749acf0a6"}, - {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3007a5b75cb50140708420fe688c393e71139324df599434633019314ceb8b59"}, - {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06ff23462398333c78b6f4f8d3d70410d657a471c2c5bbe6086133be43fc8f1a"}, - {file = "yarl-1.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:689a99a42ee4583fcb0d3a67a0204664aa1539684aed72bdafcbd505197a91c4"}, - {file = "yarl-1.14.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0547ab1e9345dc468cac8368d88ea4c5bd473ebc1d8d755347d7401982b5dd8"}, - {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:742aef0a99844faaac200564ea6f5e08facb285d37ea18bd1a5acf2771f3255a"}, - {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:176110bff341b6730f64a1eb3a7070e12b373cf1c910a9337e7c3240497db76f"}, - {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46a9772a1efa93f9cd170ad33101c1817c77e0e9914d4fe33e2da299d7cf0f9b"}, - {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ee2c68e4f2dd1b1c15b849ba1c96fac105fca6ffdb7c1e8be51da6fabbdeafb9"}, - {file = "yarl-1.14.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:047b258e00b99091b6f90355521f026238c63bd76dcf996d93527bb13320eefd"}, - {file = "yarl-1.14.0-cp310-cp310-win32.whl", hash = "sha256:0aa92e3e30a04f9462a25077db689c4ac5ea9ab6cc68a2e563881b987d42f16d"}, - {file = "yarl-1.14.0-cp310-cp310-win_amd64.whl", hash = "sha256:d9baec588f015d0ee564057aa7574313c53a530662ffad930b7886becc85abdf"}, - {file = "yarl-1.14.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:07f9eaf57719d6721ab15805d85f4b01a5b509a0868d7320134371bcb652152d"}, - {file = "yarl-1.14.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c14b504a74e58e2deb0378b3eca10f3d076635c100f45b113c18c770b4a47a50"}, - {file = "yarl-1.14.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:16a682a127930f3fc4e42583becca6049e1d7214bcad23520c590edd741d2114"}, - {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73bedd2be05f48af19f0f2e9e1353921ce0c83f4a1c9e8556ecdcf1f1eae4892"}, - {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3ab950f8814f3b7b5e3eebc117986f817ec933676f68f0a6c5b2137dd7c9c69"}, - {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b693c63e7e64b524f54aa4888403c680342d1ad0d97be1707c531584d6aeeb4f"}, - {file = "yarl-1.14.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85cb3e40eaa98489f1e2e8b29f5ad02ee1ee40d6ce6b88d50cf0f205de1d9d2c"}, - {file = "yarl-1.14.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f24f08b6c9b9818fd80612c97857d28f9779f0d1211653ece9844fc7b414df2"}, - {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:29a84a46ec3ebae7a1c024c055612b11e9363a8a23238b3e905552d77a2bc51b"}, - {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5cd5dad8366e0168e0fd23d10705a603790484a6dbb9eb272b33673b8f2cce72"}, - {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a152751af7ef7b5d5fa6d215756e508dd05eb07d0cf2ba51f3e740076aa74373"}, - {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3d569f877ed9a708e4c71a2d13d2940cb0791da309f70bd970ac1a5c088a0a92"}, - {file = "yarl-1.14.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6a615cad11ec3428020fb3c5a88d85ce1b5c69fd66e9fcb91a7daa5e855325dd"}, - {file = "yarl-1.14.0-cp311-cp311-win32.whl", hash = "sha256:bab03192091681d54e8225c53f270b0517637915d9297028409a2a5114ff4634"}, - {file = "yarl-1.14.0-cp311-cp311-win_amd64.whl", hash = "sha256:985623575e5c4ea763056ffe0e2d63836f771a8c294b3de06d09480538316b13"}, - {file = "yarl-1.14.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fc2c80bc87fba076e6cbb926216c27fba274dae7100a7b9a0983b53132dd99f2"}, - {file = "yarl-1.14.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:55c144d363ad4626ca744556c049c94e2b95096041ac87098bb363dcc8635e8d"}, - {file = "yarl-1.14.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b03384eed107dbeb5f625a99dc3a7de8be04fc8480c9ad42fccbc73434170b20"}, - {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f72a0d746d38cb299b79ce3d4d60ba0892c84bbc905d0d49c13df5bace1b65f8"}, - {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8648180b34faaea4aa5b5ca7e871d9eb1277033fa439693855cf0ea9195f85f1"}, - {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9557c9322aaa33174d285b0c1961fb32499d65ad1866155b7845edc876c3c835"}, - {file = "yarl-1.14.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f50eb3837012a937a2b649ec872b66ba9541ad9d6f103ddcafb8231cfcafd22"}, - {file = "yarl-1.14.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8892fa575ac9b1b25fae7b221bc4792a273877b9b56a99ee2d8d03eeb3dbb1d2"}, - {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6a2c5c5bb2556dfbfffffc2bcfb9c235fd2b566d5006dfb2a37afc7e3278a07"}, - {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ab3abc0b78a5dfaa4795a6afbe7b282b6aa88d81cf8c1bb5e394993d7cae3457"}, - {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:47eede5d11d669ab3759b63afb70d28d5328c14744b8edba3323e27dc52d298d"}, - {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fe4d2536c827f508348d7b40c08767e8c7071614250927233bf0c92170451c0a"}, - {file = "yarl-1.14.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0fd7b941dd1b00b5f0acb97455fea2c4b7aac2dd31ea43fb9d155e9bc7b78664"}, - {file = "yarl-1.14.0-cp312-cp312-win32.whl", hash = "sha256:99ff3744f5fe48288be6bc402533b38e89749623a43208e1d57091fc96b783b9"}, - {file = "yarl-1.14.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ca3894e9e9f72da93544f64988d9c052254a338a9f855165f37f51edb6591de"}, - {file = "yarl-1.14.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5d02d700705d67e09e1f57681f758f0b9d4412eeb70b2eb8d96ca6200b486db3"}, - {file = "yarl-1.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:30600ba5db60f7c0820ef38a2568bb7379e1418ecc947a0f76fd8b2ff4257a97"}, - {file = "yarl-1.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e85d86527baebb41a214cc3b45c17177177d900a2ad5783dbe6f291642d4906f"}, - {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37001e5d4621cef710c8dc1429ca04e189e572f128ab12312eab4e04cf007132"}, - {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f4f4547944d4f5cfcdc03f3f097d6f05bbbc915eaaf80a2ee120d0e756de377d"}, - {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75ff4c819757f9bdb35de049a509814d6ce851fe26f06eb95a392a5640052482"}, - {file = "yarl-1.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68ac1a09392ed6e3fd14be880d39b951d7b981fd135416db7d18a6208c536561"}, - {file = "yarl-1.14.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96952f642ac69075e44c7d0284528938fdff39422a1d90d3e45ce40b72e5e2d9"}, - {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a56fbe3d7f3bce1d060ea18d2413a2ca9ca814eea7cedc4d247b5f338d54844e"}, - {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7e2637d75e92763d1322cb5041573279ec43a80c0f7fbbd2d64f5aee98447b17"}, - {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:9abe80ae2c9d37c17599557b712e6515f4100a80efb2cda15f5f070306477cd2"}, - {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:217a782020b875538eebf3948fac3a7f9bbbd0fd9bf8538f7c2ad7489e80f4e8"}, - {file = "yarl-1.14.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9cfef3f14f75bf6aba73a76caf61f9d00865912a04a4393c468a7ce0981b519"}, - {file = "yarl-1.14.0-cp313-cp313-win32.whl", hash = "sha256:d8361c7d04e6a264481f0b802e395f647cd3f8bbe27acfa7c12049efea675bd1"}, - {file = "yarl-1.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:bc24f968b82455f336b79bf37dbb243b7d76cd40897489888d663d4e028f5069"}, - {file = "yarl-1.14.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:91d875f75fabf76b3018c5f196bf3d308ed2b49ddcb46c1576d6b075754a1393"}, - {file = "yarl-1.14.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4009def9be3a7e5175db20aa2d7307ecd00bbf50f7f0f989300710eee1d0b0b9"}, - {file = "yarl-1.14.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:582cedde49603f139be572252a318b30dc41039bc0b8165f070f279e5d12187f"}, - {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbd9ff43a04f8ffe8a959a944c2dca10d22f5f99fc6a459f49c3ebfb409309d9"}, - {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9f805e37ed16cc212fdc538a608422d7517e7faf539bedea4fe69425bc55d76"}, - {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95e16e9eaa2d7f5d87421b8fe694dd71606aa61d74b824c8d17fc85cc51983d1"}, - {file = "yarl-1.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:816d24f584edefcc5ca63428f0b38fee00b39fe64e3c5e558f895a18983efe96"}, - {file = "yarl-1.14.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd2660c01367eb3ef081b8fa0a5da7fe767f9427aa82023a961a5f28f0d4af6c"}, - {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:94b2bb9bcfd5be9d27004ea4398fb640373dd0c1a9e219084f42c08f77a720ab"}, - {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c2089a9afef887664115f7fa6d3c0edd6454adaca5488dba836ca91f60401075"}, - {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:2192f718db4a8509f63dd6d950f143279211fa7e6a2c612edc17d85bf043d36e"}, - {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:8385ab36bf812e9d37cf7613999a87715f27ef67a53f0687d28c44b819df7cb0"}, - {file = "yarl-1.14.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b4c1ecba93e7826dc71ddba75fb7740cdb52e7bd0be9f03136b83f54e6a1f511"}, - {file = "yarl-1.14.0-cp38-cp38-win32.whl", hash = "sha256:e749af6c912a7bb441d105c50c1a3da720474e8acb91c89350080dd600228f0e"}, - {file = "yarl-1.14.0-cp38-cp38-win_amd64.whl", hash = "sha256:147e36331f6f63e08a14640acf12369e041e0751bb70d9362df68c2d9dcf0c87"}, - {file = "yarl-1.14.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a9f917966d27f7ce30039fe8d900f913c5304134096554fd9bea0774bcda6d1"}, - {file = "yarl-1.14.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a2f8fb7f944bcdfecd4e8d855f84c703804a594da5123dd206f75036e536d4d"}, - {file = "yarl-1.14.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f4e475f29a9122f908d0f1f706e1f2fc3656536ffd21014ff8a6f2e1b14d1d8"}, - {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8089d4634d8fa2b1806ce44fefa4979b1ab2c12c0bc7ef3dfa45c8a374811348"}, - {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b16f6c75cffc2dc0616ea295abb0e1967601bd1fb1e0af6a1de1c6c887f3439"}, - {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498b3c55087b9d762636bca9b45f60d37e51d24341786dc01b81253f9552a607"}, - {file = "yarl-1.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3f8bfc1db82589ef965ed234b87de30d140db8b6dc50ada9e33951ccd8ec07a"}, - {file = "yarl-1.14.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:625f207b1799e95e7c823f42f473c1e9dbfb6192bd56bba8695656d92be4535f"}, - {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:781e2495e408a81e4eaeedeb41ba32b63b1980dddf8b60dbbeff6036bcd35049"}, - {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:659603d26d40dd4463200df9bfbc339fbfaed3fe32e5c432fe1dc2b5d4aa94b4"}, - {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4e0d45ebf975634468682c8bec021618b3ad52c37619e5c938f8f831fa1ac5c0"}, - {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a2e4725a08cb2b4794db09e350c86dee18202bb8286527210e13a1514dc9a59a"}, - {file = "yarl-1.14.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:19268b4fec1d7760134f2de46ef2608c2920134fb1fa61e451f679e41356dc55"}, - {file = "yarl-1.14.0-cp39-cp39-win32.whl", hash = "sha256:337912bcdcf193ade64b9aae5a4017a0a1950caf8ca140362e361543c6773f21"}, - {file = "yarl-1.14.0-cp39-cp39-win_amd64.whl", hash = "sha256:b6d0147574ce2e7b812c989e50fa72bbc5338045411a836bd066ce5fc8ac0bce"}, - {file = "yarl-1.14.0-py3-none-any.whl", hash = "sha256:c8ed4034f0765f8861620c1f2f2364d2e58520ea288497084dae880424fc0d9f"}, - {file = "yarl-1.14.0.tar.gz", hash = "sha256:88c7d9d58aab0724b979ab5617330acb1c7030b79379c8138c1c8c94e121d1b3"}, + {file = "yarl-1.15.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e4ee8b8639070ff246ad3649294336b06db37a94bdea0d09ea491603e0be73b8"}, + {file = "yarl-1.15.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7cf963a357c5f00cb55b1955df8bbe68d2f2f65de065160a1c26b85a1e44172"}, + {file = "yarl-1.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:43ebdcc120e2ca679dba01a779333a8ea76b50547b55e812b8b92818d604662c"}, + {file = "yarl-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3433da95b51a75692dcf6cc8117a31410447c75a9a8187888f02ad45c0a86c50"}, + {file = "yarl-1.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38d0124fa992dbacd0c48b1b755d3ee0a9f924f427f95b0ef376556a24debf01"}, + {file = "yarl-1.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ded1b1803151dd0f20a8945508786d57c2f97a50289b16f2629f85433e546d47"}, + {file = "yarl-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace4cad790f3bf872c082366c9edd7f8f8f77afe3992b134cfc810332206884f"}, + {file = "yarl-1.15.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c77494a2f2282d9bbbbcab7c227a4d1b4bb829875c96251f66fb5f3bae4fb053"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b7f227ca6db5a9fda0a2b935a2ea34a7267589ffc63c8045f0e4edb8d8dcf956"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:31561a5b4d8dbef1559b3600b045607cf804bae040f64b5f5bca77da38084a8a"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3e52474256a7db9dcf3c5f4ca0b300fdea6c21cca0148c8891d03a025649d935"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1af74a9529a1137c67c887ed9cde62cff53aa4d84a3adbec329f9ec47a3936"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:15c87339490100c63472a76d87fe7097a0835c705eb5ae79fd96e343473629ed"}, + {file = "yarl-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:74abb8709ea54cc483c4fb57fb17bb66f8e0f04438cff6ded322074dbd17c7ec"}, + {file = "yarl-1.15.2-cp310-cp310-win32.whl", hash = "sha256:ffd591e22b22f9cb48e472529db6a47203c41c2c5911ff0a52e85723196c0d75"}, + {file = "yarl-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:1695497bb2a02a6de60064c9f077a4ae9c25c73624e0d43e3aa9d16d983073c2"}, + {file = "yarl-1.15.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9fcda20b2de7042cc35cf911702fa3d8311bd40055a14446c1e62403684afdc5"}, + {file = "yarl-1.15.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0545de8c688fbbf3088f9e8b801157923be4bf8e7b03e97c2ecd4dfa39e48e0e"}, + {file = "yarl-1.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbda058a9a68bec347962595f50546a8a4a34fd7b0654a7b9697917dc2bf810d"}, + {file = "yarl-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ac2bc069f4a458634c26b101c2341b18da85cb96afe0015990507efec2e417"}, + {file = "yarl-1.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd126498171f752dd85737ab1544329a4520c53eed3997f9b08aefbafb1cc53b"}, + {file = "yarl-1.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3db817b4e95eb05c362e3b45dafe7144b18603e1211f4a5b36eb9522ecc62bcf"}, + {file = "yarl-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:076b1ed2ac819933895b1a000904f62d615fe4533a5cf3e052ff9a1da560575c"}, + {file = "yarl-1.15.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8cfd847e6b9ecf9f2f2531c8427035f291ec286c0a4944b0a9fce58c6446046"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:32b66be100ac5739065496c74c4b7f3015cef792c3174982809274d7e51b3e04"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34a2d76a1984cac04ff8b1bfc939ec9dc0914821264d4a9c8fd0ed6aa8d4cfd2"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0afad2cd484908f472c8fe2e8ef499facee54a0a6978be0e0cff67b1254fd747"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c68e820879ff39992c7f148113b46efcd6ec765a4865581f2902b3c43a5f4bbb"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:98f68df80ec6ca3015186b2677c208c096d646ef37bbf8b49764ab4a38183931"}, + {file = "yarl-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56ec1eacd0a5d35b8a29f468659c47f4fe61b2cab948ca756c39b7617f0aa5"}, + {file = "yarl-1.15.2-cp311-cp311-win32.whl", hash = "sha256:eedc3f247ee7b3808ea07205f3e7d7879bc19ad3e6222195cd5fbf9988853e4d"}, + {file = "yarl-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:0ccaa1bc98751fbfcf53dc8dfdb90d96e98838010fc254180dd6707a6e8bb179"}, + {file = "yarl-1.15.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:82d5161e8cb8f36ec778fd7ac4d740415d84030f5b9ef8fe4da54784a1f46c94"}, + {file = "yarl-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa2bea05ff0a8fb4d8124498e00e02398f06d23cdadd0fe027d84a3f7afde31e"}, + {file = "yarl-1.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99e12d2bf587b44deb74e0d6170fec37adb489964dbca656ec41a7cd8f2ff178"}, + {file = "yarl-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:243fbbbf003754fe41b5bdf10ce1e7f80bcc70732b5b54222c124d6b4c2ab31c"}, + {file = "yarl-1.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:856b7f1a7b98a8c31823285786bd566cf06226ac4f38b3ef462f593c608a9bd6"}, + {file = "yarl-1.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:553dad9af802a9ad1a6525e7528152a015b85fb8dbf764ebfc755c695f488367"}, + {file = "yarl-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30c3ff305f6e06650a761c4393666f77384f1cc6c5c0251965d6bfa5fbc88f7f"}, + {file = "yarl-1.15.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:353665775be69bbfc6d54c8d134bfc533e332149faeddd631b0bc79df0897f46"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f4fe99ce44128c71233d0d72152db31ca119711dfc5f2c82385ad611d8d7f897"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9c1e3ff4b89cdd2e1a24c214f141e848b9e0451f08d7d4963cb4108d4d798f1f"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:711bdfae4e699a6d4f371137cbe9e740dc958530cb920eb6f43ff9551e17cfbc"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4388c72174868884f76affcdd3656544c426407e0043c89b684d22fb265e04a5"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f0e1844ad47c7bd5d6fa784f1d4accc5f4168b48999303a868fe0f8597bde715"}, + {file = "yarl-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5cafb02cf097a82d74403f7e0b6b9df3ffbfe8edf9415ea816314711764a27b"}, + {file = "yarl-1.15.2-cp312-cp312-win32.whl", hash = "sha256:156ececdf636143f508770bf8a3a0498de64da5abd890c7dbb42ca9e3b6c05b8"}, + {file = "yarl-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:435aca062444a7f0c884861d2e3ea79883bd1cd19d0a381928b69ae1b85bc51d"}, + {file = "yarl-1.15.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:416f2e3beaeae81e2f7a45dc711258be5bdc79c940a9a270b266c0bec038fb84"}, + {file = "yarl-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:173563f3696124372831007e3d4b9821746964a95968628f7075d9231ac6bb33"}, + {file = "yarl-1.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9ce2e0f6123a60bd1a7f5ae3b2c49b240c12c132847f17aa990b841a417598a2"}, + {file = "yarl-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eaea112aed589131f73d50d570a6864728bd7c0c66ef6c9154ed7b59f24da611"}, + {file = "yarl-1.15.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4ca3b9f370f218cc2a0309542cab8d0acdfd66667e7c37d04d617012485f904"}, + {file = "yarl-1.15.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23ec1d3c31882b2a8a69c801ef58ebf7bae2553211ebbddf04235be275a38548"}, + {file = "yarl-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75119badf45f7183e10e348edff5a76a94dc19ba9287d94001ff05e81475967b"}, + {file = "yarl-1.15.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78e6fdc976ec966b99e4daa3812fac0274cc28cd2b24b0d92462e2e5ef90d368"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8657d3f37f781d987037f9cc20bbc8b40425fa14380c87da0cb8dfce7c92d0fb"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:93bed8a8084544c6efe8856c362af08a23e959340c87a95687fdbe9c9f280c8b"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:69d5856d526802cbda768d3e6246cd0d77450fa2a4bc2ea0ea14f0d972c2894b"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ccad2800dfdff34392448c4bf834be124f10a5bc102f254521d931c1c53c455a"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a880372e2e5dbb9258a4e8ff43f13888039abb9dd6d515f28611c54361bc5644"}, + {file = "yarl-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c998d0558805860503bc3a595994895ca0f7835e00668dadc673bbf7f5fbfcbe"}, + {file = "yarl-1.15.2-cp313-cp313-win32.whl", hash = "sha256:533a28754e7f7439f217550a497bb026c54072dbe16402b183fdbca2431935a9"}, + {file = "yarl-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:5838f2b79dc8f96fdc44077c9e4e2e33d7089b10788464609df788eb97d03aad"}, + {file = "yarl-1.15.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fbbb63bed5fcd70cd3dd23a087cd78e4675fb5a2963b8af53f945cbbca79ae16"}, + {file = "yarl-1.15.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2e93b88ecc8f74074012e18d679fb2e9c746f2a56f79cd5e2b1afcf2a8a786b"}, + {file = "yarl-1.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af8ff8d7dc07ce873f643de6dfbcd45dc3db2c87462e5c387267197f59e6d776"}, + {file = "yarl-1.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66f629632220a4e7858b58e4857927dd01a850a4cef2fb4044c8662787165cf7"}, + {file = "yarl-1.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:833547179c31f9bec39b49601d282d6f0ea1633620701288934c5f66d88c3e50"}, + {file = "yarl-1.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aa738e0282be54eede1e3f36b81f1e46aee7ec7602aa563e81e0e8d7b67963f"}, + {file = "yarl-1.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a13a07532e8e1c4a5a3afff0ca4553da23409fad65def1b71186fb867eeae8d"}, + {file = "yarl-1.15.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c45817e3e6972109d1a2c65091504a537e257bc3c885b4e78a95baa96df6a3f8"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:670eb11325ed3a6209339974b276811867defe52f4188fe18dc49855774fa9cf"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:d417a4f6943112fae3924bae2af7112562285848d9bcee737fc4ff7cbd450e6c"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:bc8936d06cd53fddd4892677d65e98af514c8d78c79864f418bbf78a4a2edde4"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:954dde77c404084c2544e572f342aef384240b3e434e06cecc71597e95fd1ce7"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5bc0df728e4def5e15a754521e8882ba5a5121bd6b5a3a0ff7efda5d6558ab3d"}, + {file = "yarl-1.15.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b71862a652f50babab4a43a487f157d26b464b1dedbcc0afda02fd64f3809d04"}, + {file = "yarl-1.15.2-cp38-cp38-win32.whl", hash = "sha256:63eab904f8630aed5a68f2d0aeab565dcfc595dc1bf0b91b71d9ddd43dea3aea"}, + {file = "yarl-1.15.2-cp38-cp38-win_amd64.whl", hash = "sha256:2cf441c4b6e538ba0d2591574f95d3fdd33f1efafa864faa077d9636ecc0c4e9"}, + {file = "yarl-1.15.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a32d58f4b521bb98b2c0aa9da407f8bd57ca81f34362bcb090e4a79e9924fefc"}, + {file = "yarl-1.15.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:766dcc00b943c089349d4060b935c76281f6be225e39994c2ccec3a2a36ad627"}, + {file = "yarl-1.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bed1b5dbf90bad3bfc19439258c97873eab453c71d8b6869c136346acfe497e7"}, + {file = "yarl-1.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed20a4bdc635f36cb19e630bfc644181dd075839b6fc84cac51c0f381ac472e2"}, + {file = "yarl-1.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d538df442c0d9665664ab6dd5fccd0110fa3b364914f9c85b3ef9b7b2e157980"}, + {file = "yarl-1.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c6cf1d92edf936ceedc7afa61b07e9d78a27b15244aa46bbcd534c7458ee1b"}, + {file = "yarl-1.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce44217ad99ffad8027d2fde0269ae368c86db66ea0571c62a000798d69401fb"}, + {file = "yarl-1.15.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47a6000a7e833ebfe5886b56a31cb2ff12120b1efd4578a6fcc38df16cc77bd"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e52f77a0cd246086afde8815039f3e16f8d2be51786c0a39b57104c563c5cbb0"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:f9ca0e6ce7774dc7830dc0cc4bb6b3eec769db667f230e7c770a628c1aa5681b"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:136f9db0f53c0206db38b8cd0c985c78ded5fd596c9a86ce5c0b92afb91c3a19"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:173866d9f7409c0fb514cf6e78952e65816600cb888c68b37b41147349fe0057"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:6e840553c9c494a35e449a987ca2c4f8372668ee954a03a9a9685075228e5036"}, + {file = "yarl-1.15.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:458c0c65802d816a6b955cf3603186de79e8fdb46d4f19abaec4ef0a906f50a7"}, + {file = "yarl-1.15.2-cp39-cp39-win32.whl", hash = "sha256:5b48388ded01f6f2429a8c55012bdbd1c2a0c3735b3e73e221649e524c34a58d"}, + {file = "yarl-1.15.2-cp39-cp39-win_amd64.whl", hash = "sha256:81dadafb3aa124f86dc267a2168f71bbd2bfb163663661ab0038f6e4b8edb810"}, + {file = "yarl-1.15.2-py3-none-any.whl", hash = "sha256:0d3105efab7c5c091609abacad33afff33bdff0035bece164c98bcf5a85ef90a"}, + {file = "yarl-1.15.2.tar.gz", hash = "sha256:a39c36f4218a5bb668b4f06874d676d35a035ee668e6e7e3538835c703634b84"}, ] [package.dependencies] From 2fff22996211720ce9832fbab45c1b88e4b2ff24 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 16:57:24 -0600 Subject: [PATCH 47/49] chore: pre-commit autoupdate (#2720) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/python-jsonschema/check-jsonschema: 0.29.3 → 0.29.4](https://github.com/python-jsonschema/check-jsonschema/compare/0.29.3...0.29.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 18f9fecda..5796aba15 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,7 +37,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.29.3 + rev: 0.29.4 hooks: - id: check-dependabot - id: check-github-workflows From 48fc64685c4ec18aefc6b7d903994b8d7eccdbd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 16 Oct 2024 14:43:49 -0600 Subject: [PATCH 48/49] ci: Install dependency prereleases in CI (#2722) --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 89ab95710..4224fe958 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,6 +88,8 @@ jobs: - name: Run Nox env: SQLALCHEMY_VERSION: ${{ matrix.sqlalchemy }} + PIP_PRE: "1" + UV_PRERELEASE: allow run: | nox --verbose @@ -134,6 +136,9 @@ jobs: nox --version - name: Run Nox + env: + PIP_PRE: "1" + UV_PRERELEASE: allow run: | nox -- -m "external" From 925664b01f5037ca11c06bf0b416b807e9b4034d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= <16805946+edgarrmondragon@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:02:53 -0600 Subject: [PATCH 49/49] fix: JSON schema union types are no longer conformed into boolean values (#2723) * fix: JSON schema union types are no longer conformed into boolean values * Do conform the most obvious cases * Make sure it is tested * Test one more case --- singer_sdk/helpers/_typing.py | 13 ++++++++++++- tests/core/test_typing.py | 9 +++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/singer_sdk/helpers/_typing.py b/singer_sdk/helpers/_typing.py index 1e7370fd9..b02ecb512 100644 --- a/singer_sdk/helpers/_typing.py +++ b/singer_sdk/helpers/_typing.py @@ -279,6 +279,17 @@ def is_boolean_type(property_schema: dict) -> bool | None: return False +def _is_exclusive_boolean_type(property_schema: dict) -> bool: + if "type" not in property_schema: + return False + + return ( + property_schema["type"] == "boolean" + or property_schema["type"] == ["boolean"] + or set(property_schema["type"]) == {"boolean", "null"} + ) + + def is_integer_type(property_schema: dict) -> bool | None: """Return true if the JSON Schema type is an integer or None if detection fails.""" if "anyOf" not in property_schema and "type" not in property_schema: @@ -523,6 +534,6 @@ def _conform_primitive_property( # noqa: PLR0911 if isinstance(elem, bytes): # for BIT value, treat 0 as False and anything else as True return elem != b"\x00" if is_boolean_type(property_schema) else elem.hex() - if is_boolean_type(property_schema): + if _is_exclusive_boolean_type(property_schema): return None if elem is None else elem != 0 return elem diff --git a/tests/core/test_typing.py b/tests/core/test_typing.py index 5043c75e1..25d9c68df 100644 --- a/tests/core/test_typing.py +++ b/tests/core/test_typing.py @@ -313,7 +313,16 @@ def test_conform_primitives(): assert _conform_primitive_property(None, {"type": "boolean"}) is None assert _conform_primitive_property(0, {"type": "boolean"}) is False + assert ( + _conform_primitive_property( + 0, {"anyOf": [{"type": "boolean"}, {"type": "integer"}]} + ) + == 0 + ) + assert _conform_primitive_property(0, {"type": ["boolean", "integer"]}) == 0 assert _conform_primitive_property(1, {"type": "boolean"}) is True + assert _conform_primitive_property(1, {"type": ["boolean", "null"]}) is True + assert _conform_primitive_property(1, {"type": ["boolean"]}) is True @pytest.mark.parametrize(