From 84c924df9f1a19547b9e98f911321ba125ab7dfb Mon Sep 17 00:00:00 2001 From: Brian Pepple Date: Mon, 22 Jul 2024 16:29:38 -0400 Subject: [PATCH] Add Status field to Series Schema (#58) * Add `status` to Series schema. * Refresh test data & update tests * Update project deps --- mokkari/schemas/series.py | 2 + poetry.lock | 419 ++++++++++++++++++++------------------ tests/test_arcs.py | 2 +- tests/test_characters.py | 4 +- tests/test_creator.py | 2 +- tests/test_publishers.py | 16 +- tests/test_series.py | 18 +- tests/test_series_type.py | 6 +- tests/test_teams.py | 4 +- tests/testing_mock.sqlite | Bin 1241088 -> 1310720 bytes 10 files changed, 245 insertions(+), 228 deletions(-) diff --git a/mokkari/schemas/series.py b/mokkari/schemas/series.py index 2abafaa..b9eef7d 100644 --- a/mokkari/schemas/series.py +++ b/mokkari/schemas/series.py @@ -71,6 +71,7 @@ class Series(CommonSeries): name (str): The name of the series. sort_name (str): The name used to determine the sort order for a series. series_type (GenericItem): The type of series. + status (str): The status of the series. publisher (GenericItem): The publisher of the series. year_end (int): The year the series ended. desc (str): The description of the series. @@ -84,6 +85,7 @@ class Series(CommonSeries): name: str sort_name: str series_type: GenericItem + status: str publisher: GenericItem year_end: int | None = None desc: str diff --git a/poetry.lock b/poetry.lock index daf3efd..0edfe94 100644 --- a/poetry.lock +++ b/poetry.lock @@ -38,13 +38,13 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] [[package]] name = "cachetools" -version = "5.3.3" +version = "5.4.0" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.3.3-py3-none-any.whl", hash = "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945"}, - {file = "cachetools-5.3.3.tar.gz", hash = "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"}, + {file = "cachetools-5.4.0-py3-none-any.whl", hash = "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474"}, + {file = "cachetools-5.4.0.tar.gz", hash = "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827"}, ] [[package]] @@ -209,63 +209,63 @@ files = [ [[package]] name = "coverage" -version = "7.5.3" +version = "7.6.0" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.5.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45"}, - {file = "coverage-7.5.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc"}, - {file = "coverage-7.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d"}, - {file = "coverage-7.5.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c"}, - {file = "coverage-7.5.3-cp310-cp310-win32.whl", hash = "sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84"}, - {file = "coverage-7.5.3-cp310-cp310-win_amd64.whl", hash = "sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac"}, - {file = "coverage-7.5.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974"}, - {file = "coverage-7.5.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807"}, - {file = "coverage-7.5.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8"}, - {file = "coverage-7.5.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614"}, - {file = "coverage-7.5.3-cp311-cp311-win32.whl", hash = "sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9"}, - {file = "coverage-7.5.3-cp311-cp311-win_amd64.whl", hash = "sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a"}, - {file = "coverage-7.5.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8"}, - {file = "coverage-7.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84"}, - {file = "coverage-7.5.3-cp312-cp312-win32.whl", hash = "sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08"}, - {file = "coverage-7.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb"}, - {file = "coverage-7.5.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb"}, - {file = "coverage-7.5.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98"}, - {file = "coverage-7.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce"}, - {file = "coverage-7.5.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0"}, - {file = "coverage-7.5.3-cp38-cp38-win32.whl", hash = "sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485"}, - {file = "coverage-7.5.3-cp38-cp38-win_amd64.whl", hash = "sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56"}, - {file = "coverage-7.5.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85"}, - {file = "coverage-7.5.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341"}, - {file = "coverage-7.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303"}, - {file = "coverage-7.5.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd"}, - {file = "coverage-7.5.3-cp39-cp39-win32.whl", hash = "sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d"}, - {file = "coverage-7.5.3-cp39-cp39-win_amd64.whl", hash = "sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0"}, - {file = "coverage-7.5.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884"}, - {file = "coverage-7.5.3.tar.gz", hash = "sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd"}, + {file = "coverage-7.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791"}, + {file = "coverage-7.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6"}, + {file = "coverage-7.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb"}, + {file = "coverage-7.6.0-cp310-cp310-win32.whl", hash = "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c"}, + {file = "coverage-7.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933"}, + {file = "coverage-7.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1"}, + {file = "coverage-7.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d"}, + {file = "coverage-7.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63"}, + {file = "coverage-7.6.0-cp311-cp311-win32.whl", hash = "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713"}, + {file = "coverage-7.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b"}, + {file = "coverage-7.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807"}, + {file = "coverage-7.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee"}, + {file = "coverage-7.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605"}, + {file = "coverage-7.6.0-cp312-cp312-win32.whl", hash = "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da"}, + {file = "coverage-7.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b"}, + {file = "coverage-7.6.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b"}, + {file = "coverage-7.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6"}, + {file = "coverage-7.6.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b"}, + {file = "coverage-7.6.0-cp38-cp38-win32.whl", hash = "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428"}, + {file = "coverage-7.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c"}, + {file = "coverage-7.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b"}, + {file = "coverage-7.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166"}, + {file = "coverage-7.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd"}, + {file = "coverage-7.6.0-cp39-cp39-win32.whl", hash = "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2"}, + {file = "coverage-7.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca"}, + {file = "coverage-7.6.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6"}, + {file = "coverage-7.6.0.tar.gz", hash = "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51"}, ] [package.dependencies] @@ -298,13 +298,13 @@ files = [ [[package]] name = "exceptiongroup" -version = "1.2.1" +version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, - {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] @@ -312,13 +312,13 @@ test = ["pytest (>=6)"] [[package]] name = "filelock" -version = "3.15.3" +version = "3.15.4" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.15.3-py3-none-any.whl", hash = "sha256:0151273e5b5d6cf753a61ec83b3a9b7d8821c39ae9af9d7ecf2f9e2f17404103"}, - {file = "filelock-3.15.3.tar.gz", hash = "sha256:e1199bf5194a2277273dacd50269f0d87d0682088a3c561c15674ea9005d8635"}, + {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, + {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, ] [package.extras] @@ -328,13 +328,13 @@ typing = ["typing-extensions (>=4.8)"] [[package]] name = "identify" -version = "2.5.36" +version = "2.6.0" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.36-py2.py3-none-any.whl", hash = "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa"}, - {file = "identify-2.5.36.tar.gz", hash = "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d"}, + {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"}, + {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"}, ] [package.extras] @@ -563,109 +563,122 @@ virtualenv = ">=20.10.0" [[package]] name = "pydantic" -version = "2.7.4" +version = "2.8.2" description = "Data validation using Python type hints" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"}, - {file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"}, + {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, + {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.18.4" -typing-extensions = ">=4.6.1" +pydantic-core = "2.20.1" +typing-extensions = [ + {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, + {version = ">=4.6.1", markers = "python_version < \"3.13\""}, +] [package.extras] email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.18.4" +version = "2.20.1" description = "Core functionality for Pydantic validation and serialization" optional = false python-versions = ">=3.8" files = [ - {file = "pydantic_core-2.18.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4"}, - {file = "pydantic_core-2.18.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be"}, - {file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb"}, - {file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c"}, - {file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e"}, - {file = "pydantic_core-2.18.4-cp310-none-win32.whl", hash = "sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc"}, - {file = "pydantic_core-2.18.4-cp310-none-win_amd64.whl", hash = "sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0"}, - {file = "pydantic_core-2.18.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:942ba11e7dfb66dc70f9ae66b33452f51ac7bb90676da39a7345e99ffb55402d"}, - {file = "pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b2ebef0e0b4454320274f5e83a41844c63438fdc874ea40a8b5b4ecb7693f1c4"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a642295cd0c8df1b86fc3dced1d067874c353a188dc8e0f744626d49e9aa51c4"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f09baa656c904807e832cf9cce799c6460c450c4ad80803517032da0cd062e2"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98906207f29bc2c459ff64fa007afd10a8c8ac080f7e4d5beff4c97086a3dabd"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19894b95aacfa98e7cb093cd7881a0c76f55731efad31073db4521e2b6ff5b7d"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fbbdc827fe5e42e4d196c746b890b3d72876bdbf160b0eafe9f0334525119c8"}, - {file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f85d05aa0918283cf29a30b547b4df2fbb56b45b135f9e35b6807cb28bc47951"}, - {file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e85637bc8fe81ddb73fda9e56bab24560bdddfa98aa64f87aaa4e4b6730c23d2"}, - {file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2f5966897e5461f818e136b8451d0551a2e77259eb0f73a837027b47dc95dab9"}, - {file = "pydantic_core-2.18.4-cp311-none-win32.whl", hash = "sha256:44c7486a4228413c317952e9d89598bcdfb06399735e49e0f8df643e1ccd0558"}, - {file = "pydantic_core-2.18.4-cp311-none-win_amd64.whl", hash = "sha256:8a7164fe2005d03c64fd3b85649891cd4953a8de53107940bf272500ba8a788b"}, - {file = "pydantic_core-2.18.4-cp311-none-win_arm64.whl", hash = "sha256:4e99bc050fe65c450344421017f98298a97cefc18c53bb2f7b3531eb39bc7805"}, - {file = "pydantic_core-2.18.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6f5c4d41b2771c730ea1c34e458e781b18cc668d194958e0112455fff4e402b2"}, - {file = "pydantic_core-2.18.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2fdf2156aa3d017fddf8aea5adfba9f777db1d6022d392b682d2a8329e087cef"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4748321b5078216070b151d5271ef3e7cc905ab170bbfd27d5c83ee3ec436695"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847a35c4d58721c5dc3dba599878ebbdfd96784f3fb8bb2c356e123bdcd73f34"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c40d4eaad41f78e3bbda31b89edc46a3f3dc6e171bf0ecf097ff7a0ffff7cb1"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:21a5e440dbe315ab9825fcd459b8814bb92b27c974cbc23c3e8baa2b76890077"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01dd777215e2aa86dfd664daed5957704b769e726626393438f9c87690ce78c3"}, - {file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4b06beb3b3f1479d32befd1f3079cc47b34fa2da62457cdf6c963393340b56e9"}, - {file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:564d7922e4b13a16b98772441879fcdcbe82ff50daa622d681dd682175ea918c"}, - {file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0eb2a4f660fcd8e2b1c90ad566db2b98d7f3f4717c64fe0a83e0adb39766d5b8"}, - {file = "pydantic_core-2.18.4-cp312-none-win32.whl", hash = "sha256:8b8bab4c97248095ae0c4455b5a1cd1cdd96e4e4769306ab19dda135ea4cdb07"}, - {file = "pydantic_core-2.18.4-cp312-none-win_amd64.whl", hash = "sha256:14601cdb733d741b8958224030e2bfe21a4a881fb3dd6fbb21f071cabd48fa0a"}, - {file = "pydantic_core-2.18.4-cp312-none-win_arm64.whl", hash = "sha256:c1322d7dd74713dcc157a2b7898a564ab091ca6c58302d5c7b4c07296e3fd00f"}, - {file = "pydantic_core-2.18.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:823be1deb01793da05ecb0484d6c9e20baebb39bd42b5d72636ae9cf8350dbd2"}, - {file = "pydantic_core-2.18.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebef0dd9bf9b812bf75bda96743f2a6c5734a02092ae7f721c048d156d5fabae"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae1d6df168efb88d7d522664693607b80b4080be6750c913eefb77e34c12c71a"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9899c94762343f2cc2fc64c13e7cae4c3cc65cdfc87dd810a31654c9b7358cc"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99457f184ad90235cfe8461c4d70ab7dd2680e28821c29eca00252ba90308c78"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18f469a3d2a2fdafe99296a87e8a4c37748b5080a26b806a707f25a902c040a8"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cdf28938ac6b8b49ae5e92f2735056a7ba99c9b110a474473fd71185c1af5d"}, - {file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:938cb21650855054dc54dfd9120a851c974f95450f00683399006aa6e8abb057"}, - {file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:44cd83ab6a51da80fb5adbd9560e26018e2ac7826f9626bc06ca3dc074cd198b"}, - {file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:972658f4a72d02b8abfa2581d92d59f59897d2e9f7e708fdabe922f9087773af"}, - {file = "pydantic_core-2.18.4-cp38-none-win32.whl", hash = "sha256:1d886dc848e60cb7666f771e406acae54ab279b9f1e4143babc9c2258213daa2"}, - {file = "pydantic_core-2.18.4-cp38-none-win_amd64.whl", hash = "sha256:bb4462bd43c2460774914b8525f79b00f8f407c945d50881568f294c1d9b4443"}, - {file = "pydantic_core-2.18.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:44a688331d4a4e2129140a8118479443bd6f1905231138971372fcde37e43528"}, - {file = "pydantic_core-2.18.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a2fdd81edd64342c85ac7cf2753ccae0b79bf2dfa063785503cb85a7d3593223"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86110d7e1907ab36691f80b33eb2da87d780f4739ae773e5fc83fb272f88825f"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:46387e38bd641b3ee5ce247563b60c5ca098da9c56c75c157a05eaa0933ed154"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:123c3cec203e3f5ac7b000bd82235f1a3eced8665b63d18be751f115588fea30"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dc1803ac5c32ec324c5261c7209e8f8ce88e83254c4e1aebdc8b0a39f9ddb443"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53db086f9f6ab2b4061958d9c276d1dbe3690e8dd727d6abf2321d6cce37fa94"}, - {file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:abc267fa9837245cc28ea6929f19fa335f3dc330a35d2e45509b6566dc18be23"}, - {file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a0d829524aaefdebccb869eed855e2d04c21d2d7479b6cada7ace5448416597b"}, - {file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:509daade3b8649f80d4e5ff21aa5673e4ebe58590b25fe42fac5f0f52c6f034a"}, - {file = "pydantic_core-2.18.4-cp39-none-win32.whl", hash = "sha256:ca26a1e73c48cfc54c4a76ff78df3727b9d9f4ccc8dbee4ae3f73306a591676d"}, - {file = "pydantic_core-2.18.4-cp39-none-win_amd64.whl", hash = "sha256:c67598100338d5d985db1b3d21f3619ef392e185e71b8d52bceacc4a7771ea7e"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d"}, - {file = "pydantic_core-2.18.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee"}, - {file = "pydantic_core-2.18.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9"}, - {file = "pydantic_core-2.18.4.tar.gz", hash = "sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, + {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, + {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, + {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, + {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, + {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, + {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, + {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, + {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, + {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, + {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, + {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, + {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, + {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, + {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, + {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, + {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, + {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, + {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, + {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, + {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, + {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, + {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, + {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, + {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, + {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, + {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, + {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, + {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, + {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, + {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, + {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, + {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, ] [package.dependencies] @@ -687,32 +700,32 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyproject-api" -version = "1.6.1" +version = "1.7.1" description = "API to interact with the python pyproject.toml based projects" optional = false python-versions = ">=3.8" files = [ - {file = "pyproject_api-1.6.1-py3-none-any.whl", hash = "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675"}, - {file = "pyproject_api-1.6.1.tar.gz", hash = "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538"}, + {file = "pyproject_api-1.7.1-py3-none-any.whl", hash = "sha256:2dc1654062c2b27733d8fd4cdda672b22fe8741ef1dde8e3a998a9547b071eeb"}, + {file = "pyproject_api-1.7.1.tar.gz", hash = "sha256:7ebc6cd10710f89f4cf2a2731710a98abce37ebff19427116ff2174c9236a827"}, ] [package.dependencies] -packaging = ">=23.1" +packaging = ">=24.1" tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} [package.extras] -docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"] -testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"] +docs = ["furo (>=2024.5.6)", "sphinx-autodoc-typehints (>=2.2.1)"] +testing = ["covdefaults (>=2.3)", "pytest (>=8.2.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "setuptools (>=70.1)"] [[package]] name = "pyright" -version = "1.1.368" +version = "1.1.372" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.368-py3-none-any.whl", hash = "sha256:4a86e34b61c755b43b367af7fbf927fc6466fff6b81a9dcea07d42416c640af3"}, - {file = "pyright-1.1.368.tar.gz", hash = "sha256:9b2aa48142d9d9fc9a6aedff743c76873cc4e615f3297cdbf893d5793f75b306"}, + {file = "pyright-1.1.372-py3-none-any.whl", hash = "sha256:25b15fb8967740f0949fd35b963777187f0a0404c0bd753cc966ec139f3eaa0b"}, + {file = "pyright-1.1.372.tar.gz", hash = "sha256:a9f5e0daa955daaa17e3d1ef76d3623e75f8afd5e37b437d3ff84d5b38c15420"}, ] [package.dependencies] @@ -724,13 +737,13 @@ dev = ["twine (>=3.4.1)"] [[package]] name = "pytest" -version = "8.2.2" +version = "8.3.1" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, - {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, + {file = "pytest-8.3.1-py3-none-any.whl", hash = "sha256:e9600ccf4f563976e2c99fa02c7624ab938296551f280835ee6516df8bc4ae8c"}, + {file = "pytest-8.3.1.tar.gz", hash = "sha256:7e8e5c5abd6e93cb1cc151f23e57adc31fcf8cfd2a3ff2da63e23f732de35db6"}, ] [package.dependencies] @@ -738,7 +751,7 @@ colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=1.5,<2.0" +pluggy = ">=1.5,<2" tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] @@ -891,28 +904,28 @@ fixture = ["fixtures"] [[package]] name = "ruff" -version = "0.4.9" +version = "0.4.10" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.4.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b262ed08d036ebe162123170b35703aaf9daffecb698cd367a8d585157732991"}, - {file = "ruff-0.4.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:98ec2775fd2d856dc405635e5ee4ff177920f2141b8e2d9eb5bd6efd50e80317"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4555056049d46d8a381f746680db1c46e67ac3b00d714606304077682832998e"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e91175fbe48f8a2174c9aad70438fe9cb0a5732c4159b2a10a3565fea2d94cde"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e8e7b95673f22e0efd3571fb5b0cf71a5eaaa3cc8a776584f3b2cc878e46bff"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2d45ddc6d82e1190ea737341326ecbc9a61447ba331b0a8962869fcada758505"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:78de3fdb95c4af084087628132336772b1c5044f6e710739d440fc0bccf4d321"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:06b60f91bfa5514bb689b500a25ba48e897d18fea14dce14b48a0c40d1635893"}, - {file = "ruff-0.4.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88bffe9c6a454bf8529f9ab9091c99490578a593cc9f9822b7fc065ee0712a06"}, - {file = "ruff-0.4.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:673bddb893f21ab47a8334c8e0ea7fd6598ecc8e698da75bcd12a7b9d0a3206e"}, - {file = "ruff-0.4.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8c1aff58c31948cc66d0b22951aa19edb5af0a3af40c936340cd32a8b1ab7438"}, - {file = "ruff-0.4.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:784d3ec9bd6493c3b720a0b76f741e6c2d7d44f6b2be87f5eef1ae8cc1d54c84"}, - {file = "ruff-0.4.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:732dd550bfa5d85af8c3c6cbc47ba5b67c6aed8a89e2f011b908fc88f87649db"}, - {file = "ruff-0.4.9-py3-none-win32.whl", hash = "sha256:8064590fd1a50dcf4909c268b0e7c2498253273309ad3d97e4a752bb9df4f521"}, - {file = "ruff-0.4.9-py3-none-win_amd64.whl", hash = "sha256:e0a22c4157e53d006530c902107c7f550b9233e9706313ab57b892d7197d8e52"}, - {file = "ruff-0.4.9-py3-none-win_arm64.whl", hash = "sha256:5d5460f789ccf4efd43f265a58538a2c24dbce15dbf560676e430375f20a8198"}, - {file = "ruff-0.4.9.tar.gz", hash = "sha256:f1cb0828ac9533ba0135d148d214e284711ede33640465e706772645483427e3"}, + {file = "ruff-0.4.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:5c2c4d0859305ac5a16310eec40e4e9a9dec5dcdfbe92697acd99624e8638dac"}, + {file = "ruff-0.4.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a79489607d1495685cdd911a323a35871abfb7a95d4f98fc6f85e799227ac46e"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1dd1681dfa90a41b8376a61af05cc4dc5ff32c8f14f5fe20dba9ff5deb80cd6"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c75c53bb79d71310dc79fb69eb4902fba804a81f374bc86a9b117a8d077a1784"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18238c80ee3d9100d3535d8eb15a59c4a0753b45cc55f8bf38f38d6a597b9739"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d8f71885bce242da344989cae08e263de29752f094233f932d4f5cfb4ef36a81"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:330421543bd3222cdfec481e8ff3460e8702ed1e58b494cf9d9e4bf90db52b9d"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e9b6fb3a37b772628415b00c4fc892f97954275394ed611056a4b8a2631365e"}, + {file = "ruff-0.4.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f54c481b39a762d48f64d97351048e842861c6662d63ec599f67d515cb417f6"}, + {file = "ruff-0.4.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:67fe086b433b965c22de0b4259ddfe6fa541c95bf418499bedb9ad5fb8d1c631"}, + {file = "ruff-0.4.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:acfaaab59543382085f9eb51f8e87bac26bf96b164839955f244d07125a982ef"}, + {file = "ruff-0.4.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3cea07079962b2941244191569cf3a05541477286f5cafea638cd3aa94b56815"}, + {file = "ruff-0.4.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:338a64ef0748f8c3a80d7f05785930f7965d71ca260904a9321d13be24b79695"}, + {file = "ruff-0.4.10-py3-none-win32.whl", hash = "sha256:ffe3cd2f89cb54561c62e5fa20e8f182c0a444934bf430515a4b422f1ab7b7ca"}, + {file = "ruff-0.4.10-py3-none-win_amd64.whl", hash = "sha256:67f67cef43c55ffc8cc59e8e0b97e9e60b4837c8f21e8ab5ffd5d66e196e25f7"}, + {file = "ruff-0.4.10-py3-none-win_arm64.whl", hash = "sha256:dd1fcee327c20addac7916ca4e2653fbbf2e8388d8a6477ce5b4e986b68ae6c0"}, + {file = "ruff-0.4.10.tar.gz", hash = "sha256:3aa4f2bc388a30d346c56524f7cacca85945ba124945fe489952aadb6b5cd804"}, ] [[package]] @@ -1025,13 +1038,13 @@ test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.5" +version = "2.0.6" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"}, - {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"}, + {file = "sphinxcontrib_htmlhelp-2.0.6-py3-none-any.whl", hash = "sha256:1b9af5a2671a61410a868fce050cab7ca393c218e6205cbc7f590136f207395c"}, + {file = "sphinxcontrib_htmlhelp-2.0.6.tar.gz", hash = "sha256:c6597da06185f0e3b4dc952777a04200611ef563882e0c244d27a15ee22afa73"}, ] [package.extras] @@ -1084,19 +1097,19 @@ six = ">=1.5.2" [[package]] name = "sphinxcontrib-qthelp" -version = "1.0.7" +version = "1.0.8" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" optional = false python-versions = ">=3.9" files = [ - {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"}, - {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"}, + {file = "sphinxcontrib_qthelp-1.0.8-py3-none-any.whl", hash = "sha256:323d6acc4189af76dfe94edd2a27d458902319b60fcca2aeef3b2180c106a75f"}, + {file = "sphinxcontrib_qthelp-1.0.8.tar.gz", hash = "sha256:db3f8fa10789c7a8e76d173c23364bdf0ebcd9449969a9e6a3dd31b8b7469f03"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] standalone = ["Sphinx (>=5)"] -test = ["pytest"] +test = ["defusedxml (>=0.7.1)", "pytest"] [[package]] name = "sphinxcontrib-serializinghtml" @@ -1127,30 +1140,30 @@ files = [ [[package]] name = "tox" -version = "4.15.1" +version = "4.16.0" description = "tox is a generic virtualenv management and test command line tool" optional = false python-versions = ">=3.8" files = [ - {file = "tox-4.15.1-py3-none-any.whl", hash = "sha256:f00a5dc4222b358e69694e47e3da0227ac41253509bca9f45aa8f012053e8d9d"}, - {file = "tox-4.15.1.tar.gz", hash = "sha256:53a092527d65e873e39213ebd4bd027a64623320b6b0326136384213f95b7076"}, + {file = "tox-4.16.0-py3-none-any.whl", hash = "sha256:61e101061b977b46cf00093d4319438055290ad0009f84497a07bf2d2d7a06d0"}, + {file = "tox-4.16.0.tar.gz", hash = "sha256:43499656f9949edb681c0f907f86fbfee98677af9919d8b11ae5ad77cb800748"}, ] [package.dependencies] -cachetools = ">=5.3.2" +cachetools = ">=5.3.3" chardet = ">=5.2" colorama = ">=0.4.6" -filelock = ">=3.13.1" -packaging = ">=23.2" -platformdirs = ">=4.1" -pluggy = ">=1.3" -pyproject-api = ">=1.6.1" +filelock = ">=3.15.4" +packaging = ">=24.1" +platformdirs = ">=4.2.2" +pluggy = ">=1.5" +pyproject-api = ">=1.7.1" tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} -virtualenv = ">=20.25" +virtualenv = ">=20.26.3" [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"] -testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"] +docs = ["furo (>=2024.5.6)", "sphinx (>=7.3.7)", "sphinx-argparse-cli (>=1.16)", "sphinx-autodoc-typehints (>=2.2.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"] +testing = ["build[virtualenv] (>=1.2.1)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=9.1)", "distlib (>=0.3.8)", "flaky (>=3.8.1)", "hatch-vcs (>=0.4)", "hatchling (>=1.25)", "psutil (>=6)", "pytest (>=8.2.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-xdist (>=3.6.1)", "re-assert (>=1.1)", "setuptools (>=70.2)", "time-machine (>=2.14.2)", "wheel (>=0.43)"] [[package]] name = "types-python-dateutil" @@ -1193,13 +1206,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.2" +version = "20.26.3" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.26.2-py3-none-any.whl", hash = "sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b"}, - {file = "virtualenv-20.26.2.tar.gz", hash = "sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c"}, + {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, + {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, ] [package.dependencies] diff --git a/tests/test_arcs.py b/tests/test_arcs.py index e4e3d76..6c2f193 100644 --- a/tests/test_arcs.py +++ b/tests/test_arcs.py @@ -44,7 +44,7 @@ def test_arcs_list(talker: Session) -> None: assert next(arc_iter).name == "(She) Drunk History" assert next(arc_iter).name == "1+2 = Fantastic Three" assert next(arc_iter).name == "1602" - assert len(arcs) == 1498 + assert len(arcs) == 1813 assert arcs[5].name == "1602" diff --git a/tests/test_characters.py b/tests/test_characters.py index fccbbf9..0dac9d0 100644 --- a/tests/test_characters.py +++ b/tests/test_characters.py @@ -60,14 +60,14 @@ def test_character_list(talker: Session) -> None: assert next(character_iter).name == "'Mazing Man" assert next(character_iter).name == "3-D Man (Chandler)" assert next(character_iter).name == "3-D Man (Garrett)" - assert len(chars) == 907 + assert len(chars) == 975 assert chars[2].name == "3-D Man (Garrett)" def test_character_issue_list(talker: Session) -> None: """Test for getting an issue list for an arc.""" issues = talker.character_issues_list(1) - assert len(issues) == 403 + assert len(issues) == 412 assert issues[0].id == 258 assert issues[0].issue_name == "Fantastic Four (1961) #45" assert issues[0].cover_date == date(1965, 12, 1) diff --git a/tests/test_creator.py b/tests/test_creator.py index 9b74cd1..cf7221c 100644 --- a/tests/test_creator.py +++ b/tests/test_creator.py @@ -44,7 +44,7 @@ def test_creator_list(talker: Session) -> None: assert next(creator_iter).name == "Abel Laxamana" assert next(creator_iter).name == "Adam Freeman" assert next(creator_iter).name == "Adam Schlagman" - assert len(creators) == 352 + assert len(creators) == 377 assert creators[3].name == "Adam Schlagman" diff --git a/tests/test_publishers.py b/tests/test_publishers.py index e564627..202ed40 100644 --- a/tests/test_publishers.py +++ b/tests/test_publishers.py @@ -23,13 +23,13 @@ def test_known_publishers(talker: Session) -> None: ) assert marvel.founded == 1939 assert marvel.modified == datetime( - 2019, - 6, - 23, - 15, - 13, - 23, - 591390, + 2024, + 4, + 7, + 4, + 53, + 45, + 729670, tzinfo=timezone(timedelta(days=-1, seconds=72000), "-0400"), ) assert marvel.resource_url.__str__() == "https://metron.cloud/publisher/marvel/" @@ -42,7 +42,7 @@ def test_publisher_list(talker: Session) -> None: assert next(publisher_iter).name == "12-Gauge Comics" assert next(publisher_iter).name == "AAA Pop Comics" assert next(publisher_iter).name == "AWA Studios" - assert len(publishers) == 103 + assert len(publishers) == 110 assert publishers[2].name == "AWA Studios" diff --git a/tests/test_series.py b/tests/test_series.py index d1e5ecb..652599a 100644 --- a/tests/test_series.py +++ b/tests/test_series.py @@ -23,6 +23,7 @@ def test_known_series(talker: Session) -> None: assert death.year_end == 2018 assert death.issue_count == 5 assert death.series_type.name == "Limited Series" + assert death.status == "Completed" assert death.publisher.id == 1 assert death.publisher.name == "Marvel" assert death.modified == datetime( @@ -53,6 +54,7 @@ def test_series_without_year_end(talker: Session) -> None: assert abs_carnage.publisher.id == 1 assert abs_carnage.publisher.name == "Marvel" assert abs_carnage.series_type.name == "Limited Series" + assert abs_carnage.status == "Completed" def test_series_list(talker: Session) -> None: @@ -61,16 +63,16 @@ def test_series_list(talker: Session) -> None: series_iter = iter(series) assert next(series_iter).id == 2547 assert next(series_iter).id == 5959 + assert next(series_iter).id == 7972 assert next(series_iter).id == 2481 assert next(series_iter).id == 763 - assert next(series_iter).id == 7133 - assert len(series) == 230 - assert series[3].id == 763 - assert series[3].volume == 2 - assert series[3].issue_count == 57 - assert series[4].id == 7133 - assert series[4].display_name == "Batman HC (2012)" - assert series[4].volume == 1 + assert len(series) == 245 + assert series[3].id == 2481 + assert series[3].volume == 1 + assert series[3].issue_count == 715 + assert series[4].id == 763 + assert series[4].display_name == "Batman (2011)" + assert series[4].volume == 2 def test_bad_series(talker: Session) -> None: diff --git a/tests/test_series_type.py b/tests/test_series_type.py index 7496336..367dd71 100644 --- a/tests/test_series_type.py +++ b/tests/test_series_type.py @@ -10,7 +10,7 @@ def test_series_type_list(talker: Session) -> None: """Test the SeriesTypeList.""" series_types = talker.series_type_list() st_iter = iter(series_types) - assert next(st_iter).name == "Annual Series" - assert next(st_iter).name == "Cancelled Series" + assert next(st_iter).name == "Annual" + assert next(st_iter).name == "Digital Chapters" assert series_types[3].name == "Hard Cover" - assert len(series_types) == 8 + assert len(series_types) == 9 diff --git a/tests/test_teams.py b/tests/test_teams.py index f81c694..eae2b56 100644 --- a/tests/test_teams.py +++ b/tests/test_teams.py @@ -35,14 +35,14 @@ def test_team_list(talker: Session) -> None: assert next(team_iter).name == "A-Force" assert next(team_iter).name == "A-Next" assert next(team_iter).name == "A.I.M." - assert len(teams) == 1399 + assert len(teams) == 1534 assert teams[4].name == "A.I.M." def test_team_issue_list(talker: Session) -> None: """Test for getting an issue list for an arc.""" issues = talker.team_issues_list(1) - assert len(issues) == 611 + assert len(issues) == 618 assert issues[0].id == 258 assert issues[0].issue_name == "Fantastic Four (1961) #45" assert issues[0].cover_date == date(1965, 12, 1) diff --git a/tests/testing_mock.sqlite b/tests/testing_mock.sqlite index 5ee189119dbfe3f587ecb3d4b211cfa21b3c2f2d..8d47264863e1f0014e0ad7b29d1ebecda2ef54a1 100644 GIT binary patch delta 54225 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�x+O{YtP+woVUka>UyD zplyXt)~Lx|WTND2m?yyY=d}V5YWCY0%utzlOf#efc`iBE7y^XZ#FFf?W;ywCi{2u1 z^aM$?d?`u?GiIaLT#77$xXheM7+4@ybAhqTdrpCl-Srx2NBkc%&|cPSQSJqlHVv(L zNQWiR_RbcS5`XY_IR9Gm03Z!A06vNr(|_={Qks8>FNeM$aAtCaPSS zIaCgoP$9P@WD!Y4Cv1Q=l`^)y1& z#*P^A-;epNCLP?C$}?trx|R~7d$p7;mGPRhW^QFOKakv8M}FgfUG9GyW>?s!ZJQh3 zFuf6->nyD+Go12_dk*;%>HF3I6SllePi6FxgO+^;A3p6fe-rmp07NW_5Rd>&Ps4`A Oy9@P9(`D#4;C}$=^96$d delta 19012 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 J)=F&C{{iWbyZ-