diff --git a/poetry.lock b/poetry.lock index 202af1f6..5a899fbe 100644 --- a/poetry.lock +++ b/poetry.lock @@ -455,21 +455,7 @@ description = "Tools for converting python data types" optional = false python-versions = ">=3.10" files = [ - {file = "convertertools-0.5.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b723a3486f6250d5d738a31591776cbb20378177030a29f0e4fda56d7b99e795"}, - {file = "convertertools-0.5.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:fbf4a533608c525dfbbd9b931e290dd679a74a2d6630f0f2e04d1fa44b33f3b0"}, - {file = "convertertools-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8069e4c6bc908b370bfdb9129af5011d40c0704bda265a8f56345001d0478e6b"}, - {file = "convertertools-0.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:cfea4d24a8e988db79b2213124dafdd3d12dc3209c7d1d4d7205a21631bb8888"}, - {file = "convertertools-0.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e89fbb97f5f2945e11da457c5888f50ca006f9930a3d8d3a932091403cbea36b"}, - {file = "convertertools-0.5.0-cp311-cp311-win32.whl", hash = "sha256:03e2816ea8bd481e0816d27b55a37ba90c01ae9df105d654a1a0e213c6fe425a"}, - {file = "convertertools-0.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:1b7e7dfd3daae6c44e9376297adc9920bd75791ad8de32ebb2f70dcee263e460"}, - {file = "convertertools-0.5.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:4a8630056eb0d1250177fec1176b1bf9cf6e92eec7973cb78f238b802cc2003c"}, - {file = "convertertools-0.5.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:e259aca6b4b9b7a30df25be2d2dafd7985c98fd6ce5f8eb5a43874e5ee1b6016"}, - {file = "convertertools-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24fd3d2c71beb77502ceaab9bb99c3d28b18f071e3856e7c39a62c631173fc7e"}, {file = "convertertools-0.5.0-cp312-cp312-manylinux_2_36_x86_64.whl", hash = "sha256:021ff984d888b110040ea86a12ff8d02aa29a6f1b603bf88cd42b990f16e5f4e"}, - {file = "convertertools-0.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:723e34b5859c2f7bb1892fe6be71e4d98a89cedd3f9e219b4cb70eb0d94a869a"}, - {file = "convertertools-0.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:714dd41ef8bdcba5a9a20c3dc55d604b83b80b603da9ed9ca379893634792eca"}, - {file = "convertertools-0.5.0-cp312-cp312-win32.whl", hash = "sha256:cefe9f4be7c600f1e27c1354e8dfd192bcd59f058f99ab93ca1c49abffbae687"}, - {file = "convertertools-0.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:4ac2ae852cc6c3e0e3d75fe80276fdecd1889155141364a5c75128c9ff249c29"}, {file = "convertertools-0.5.0.tar.gz", hash = "sha256:477812a307adf368805da5ee2cbc2fe984ed305d76164fe3fbc2a9f9baf4c3f0"}, ] @@ -1629,6 +1615,107 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "propcache" +version = "0.0.0" +description = "Accelerated property cache" +optional = false +python-versions = ">=3.8" +files = [ + {file = "propcache-0.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:82f17d5934b9923e2537d49963ea58c685953512bd875169fa0343270e82142b"}, + {file = "propcache-0.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f54e7dd5ed74b2e9963d682326d3ee2fdc164ef728ac4b7c205a8cb463dc801f"}, + {file = "propcache-0.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1001001e3227568861510115b3e1c89e63a0691680157bd1b677c9761e7906db"}, + {file = "propcache-0.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c50ce063f25a5abfe30f926149d77e0e3b573d3f5c17fae32c78eff89432171a"}, + {file = "propcache-0.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:24278e7cc199842a91ec0c97bcc1cc232dd7357b376f8019b827df25a19d354b"}, + {file = "propcache-0.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:555ddda26eb6349becde74296ae08458f83c8d908ba943e4ce2956e4f2de68c0"}, + {file = "propcache-0.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:398fcdbfcd50a2811cf52fc04bc97d215adfd0fd1229ffdeaa266856c1aa19cb"}, + {file = "propcache-0.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1996a8608321637511cff47bfba8a6313d94d4c6e112590fd5b7cad4c803aa1"}, + {file = "propcache-0.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1ef1c7125acf707c6f4e73b499ba00ea99bed71dbf0e75214f0fdcb78a1ebf4d"}, + {file = "propcache-0.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5a4dde8046d3ed507293b2dc96d7a43e8f5a6ff88b0000769d2a16345f06fbfa"}, + {file = "propcache-0.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:30892e463f15e709252b57d9964abaad00d0a4cc5308d94acea7e037185835e7"}, + {file = "propcache-0.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2ee8aeec8bb3d08edd3bcb0db450122114d680c5a7a4d7454f509523cdc428f4"}, + {file = "propcache-0.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d639e182706e62c9fb9db9b88e43cd78c12505918e0c501c9c02b1836c727ffa"}, + {file = "propcache-0.0.0-cp310-cp310-win32.whl", hash = "sha256:d991886a973012df1728d00e68d24957bc7c00678e7845c00ebd43de49c1070f"}, + {file = "propcache-0.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:5599cfe888dbd123bddcb61467048a85bdd3908cf3c82425b2ec1a8e68ecefd1"}, + {file = "propcache-0.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ed94cfc87331938ac15db9d0fc1a72848fad0750b66c2fff525e6493e37a6ed"}, + {file = "propcache-0.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:242dee671408ddd4dc08afbecbe7453ef38ec7df7684a86618e3781a66dc8dd8"}, + {file = "propcache-0.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa2e9da74df234dd6a409cc4c7eb2603aaa94703cf80d1214ac5ac558d04c29e"}, + {file = "propcache-0.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:818680e2a71de289ca35b4eeb3d93116adf7ce77cc979af248ba99bf52047203"}, + {file = "propcache-0.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39beb27bc75b5dd84c16effcda69d261e923dbd23478b88a5da62b2177d8c67d"}, + {file = "propcache-0.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4170b0767df5e60fc4f1c97896d7e220ee5f581651c61b1983d36ea4a67234f"}, + {file = "propcache-0.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09351fbae5b1d41c08fe3eb21b27459a3f29389fe1617d2866e80e1530e6eb4f"}, + {file = "propcache-0.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c02ed1038764131232b214f3b3bcf893e110637486da072528899d62da342ca4"}, + {file = "propcache-0.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5a29147be5530dac41b043762cdb3c8c78e2fd7db8f9090ff4082075bfc0ac3f"}, + {file = "propcache-0.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dc8c0f62bef3cd60102515fa1512b3d9150d27e114e0daf017b4edebcae5f8e2"}, + {file = "propcache-0.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1b426f42d6156fd747c8455438861bdd3b8adde7817db4c46836e0e091665755"}, + {file = "propcache-0.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7e34dcfedfc8e2b24cdfc76b3aa5a8676eba72e05a7ab6b0dc6c9d220a857dad"}, + {file = "propcache-0.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec0ec3f17aa9130d1f3105263c9c907c985a85f465056212df6323913dde0d94"}, + {file = "propcache-0.0.0-cp311-cp311-win32.whl", hash = "sha256:d967a378d95c71714772e72202a497e34a3b6cf1d137bbdf404c1bd048eb6e54"}, + {file = "propcache-0.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:41962653ffa64cf30308e77ca597b549757c22603fc8cc06e37dd1f984914593"}, + {file = "propcache-0.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:de90e93273f11d394f6bffa1718ccf08f4f0f7c02616eb6a11507ea0623d2970"}, + {file = "propcache-0.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d38ad63b23016a6a56b668a578976570657b48a93bdcbb7ef40c176da05e17c6"}, + {file = "propcache-0.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1beec02c635c2ba8bb9e0bb702eac1376c99643f370bab257ff22f5c8e56e61c"}, + {file = "propcache-0.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca48af80482f06b62db9673779687076484a18f6d2ff62d4e6c72225c1b160d3"}, + {file = "propcache-0.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4df19e1db2db8d872b2d141f14eaed40043d7540d4c2310f477886ee5cf0832"}, + {file = "propcache-0.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40153e746a46dc59d4dedbb4aa98b2ac67810522eaaa0a06710487ddc94c89fc"}, + {file = "propcache-0.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0d5ffecca2f23092802ead97531d30ecc202f2e240d50273b2a3607144fa379"}, + {file = "propcache-0.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1075084a63e3892e4de9ab7bbc1925b2e4c4fa7a0fc9440771d1e15a3d3d53f5"}, + {file = "propcache-0.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cd6736e858ad9b8d3c0e07a164ede2bae4a06fc563066075c7e628f863b046ec"}, + {file = "propcache-0.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:923584e532106fa7a48e0f458a623b29bd0006e192c1c530f37655f21f978425"}, + {file = "propcache-0.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:fdafb3a810b6adcf087824348b842a77b323c5df559875bbdb08df2f04730168"}, + {file = "propcache-0.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6bcc647fc48c41d47006a03a0799c08f199518609e2ad9f7ce52956ce4903b3c"}, + {file = "propcache-0.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:962eea61007202328e3ed2684345aa53fd3c3ff8e6fa849c3d6c2a09fe01500b"}, + {file = "propcache-0.0.0-cp312-cp312-win32.whl", hash = "sha256:b0eabe94192073f0f80a02fc72ea1ab99f5dcf9ce043dc2b49ae1ea0ed3f88cf"}, + {file = "propcache-0.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bc6369c49a9a861d31a6b3520bd3bfdb4692fcb5a4a83624b45409f4f238e2b"}, + {file = "propcache-0.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7c652848e0118a450857f3b575a71e2cf2c1656c0bfee63e2943244010cb8e68"}, + {file = "propcache-0.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:07ed26abd2c44ebf999c76f10c0dffa5c33a5433953ad03f61a00b706c93fabd"}, + {file = "propcache-0.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7c3763c4d73a8d05aa1a76592d0e5db41a69067f1ccd38a912d2ee2b79a3d5f0"}, + {file = "propcache-0.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6230994e6089f9e066df293b60a75caf7b65b3651ccf5bdd01f1af86c6290c3f"}, + {file = "propcache-0.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23b779898ded8bd7ec3fcbc1be3ce149356735f2a85cc1dd2d6fbdde9050851f"}, + {file = "propcache-0.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79803a592f546db59681d39e8d056fcf68bec757d314d0294f5b20d191a0c398"}, + {file = "propcache-0.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a06686828ff83a4bc540034190363370ccd3e665b03f62fd553a2a12480a9b"}, + {file = "propcache-0.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:efa8c41c7b95970f41e71566f0a97d4089da17ca5e8862c96a8a7cea9cbe21de"}, + {file = "propcache-0.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f0a3a07433a37f127dbe357bd23daf5acd6eda7d20cb86b538a8877da69e4719"}, + {file = "propcache-0.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ccae14cc5c104e18709ccb2eaf4f63b2fe1a4c84cde9904e8edceffad28c285c"}, + {file = "propcache-0.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5b1b42b8914d403cd0831d253d279d609f88d585299b5132239f2ce3c2d5c3b0"}, + {file = "propcache-0.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2fb86290aa83bbb5acd6928dc6795a4d561bfc3df82201ceed3e2839ed1ccd3d"}, + {file = "propcache-0.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7a88a0258a27c8df6967e7e067d3e79be6725b47645dd21010ab99f8f75f28c8"}, + {file = "propcache-0.0.0-cp313-cp313-win32.whl", hash = "sha256:1b31dce960e57f2a5df94aec9951455e608447eb9c8586230fbe6a562e852576"}, + {file = "propcache-0.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:9dd8bb463f84226b60650f6d2bfcf7aa0a48af8afeb663b485a0115c58085004"}, + {file = "propcache-0.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b1a147f5085af8b00aaf0f67afca7e446c1335fa1a971ccbda2e650741db06bd"}, + {file = "propcache-0.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:128fab4828a7d690dc17c94e522d3848881e36c3ab3e8480a3089356d9e5a717"}, + {file = "propcache-0.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5ecb7b65ad2b777aa576fe85a38ea431bbe75ce5d27fe453858f21389095cf3a"}, + {file = "propcache-0.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10f34ee6821bf481b1478506d6d732a91cd4f8868a9bf42153958ba7f55fcdea"}, + {file = "propcache-0.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:896f45f4149436794a95bb130812b2bbf36437b0442cd37db93e12a2b9671357"}, + {file = "propcache-0.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28ec223c2f5153bd15ac90b7619594d104d63885ba2160b4ed83d2875d5f39af"}, + {file = "propcache-0.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ad828689c3bdca5b1bb130086fb1896f7ade3770eee59b789bed47bd4003ee6"}, + {file = "propcache-0.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:06f425027348fa8e95d3bcaf2295c3591376198d38a7f1aadaae73c1cdc8e302"}, + {file = "propcache-0.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:4cc214c4f2d3d84ee9acd7221c0dae79aee7a69255dc1e94de406ce1a8ead664"}, + {file = "propcache-0.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:6ced2706d46ad51c3a0dc5057c56a4fed6f0a2ea12cde5b0137978542967fc25"}, + {file = "propcache-0.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3fbd29cd678a13cea0fd1b779eeb9cf38f32c80a5de9726b46393b423c733ea"}, + {file = "propcache-0.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:8db5e0b87aa8f822f3f628c36c1a1a5d8a7b5713d8b724f4e7f6e16757e7d1ad"}, + {file = "propcache-0.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ca5bb919e1219d7c3954accbdfe64212400aa092a940b280253d7d5c6bfe550c"}, + {file = "propcache-0.0.0-cp38-cp38-win32.whl", hash = "sha256:64ab8fea156c63a3cb38c5921cea0ac26628f8084fa1cb5105e3e19bc2ffc033"}, + {file = "propcache-0.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:b1193b60c3768d8b52502dcff646d7ac836ee3363ffa4319e5b8b2b163fe9c5c"}, + {file = "propcache-0.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:812e3beeeedf66cdbb654704bc5f4c1a2e7b5fc286a37073f3971c4a7e64e3a8"}, + {file = "propcache-0.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dd210c21ae4fa9ba7682bb7d012006cb6e18222640565281442bcb02ef564c9b"}, + {file = "propcache-0.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fb88fff10bec0d3940bcab381e30f9b51b2dc537bb99e39a404289cb3a79e253"}, + {file = "propcache-0.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60a159d64c97d1ea520f843169bd232791f7791e2d845d4304aae1b59b0c2549"}, + {file = "propcache-0.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c83864a6e408503f0ddbeced0d8eefd2115c8f6f9d03b084eb58c245f903432"}, + {file = "propcache-0.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c21393a4f59519447974b0aedb73816a0c5eb53a7613e58b3b5148676a18d6c"}, + {file = "propcache-0.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:df5f8849db20100f5a74f4babad37b3aeabeb1e683a7a67e3227bb8604708174"}, + {file = "propcache-0.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6b6f13b6b08993c7142f7d8aedb812a0cf7cd5e38d3c244bdf0d8a2dcbcd0e38"}, + {file = "propcache-0.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c599ad56270cba842e8ed953d74381476b63937568a4ac954bdfdddf8bf4f178"}, + {file = "propcache-0.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:00fe78e9e406bf7344b763507d62df867e0840b43e80495eef9f75942f57c439"}, + {file = "propcache-0.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:91f98a09da6954bca1e33b544be5e21313a26b09ff585846b1f9e5e21aac716e"}, + {file = "propcache-0.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c2b6e4e3471f0b52787e2e254ef368a34aca6ae21a1d3d2bd4bd3501d78fd723"}, + {file = "propcache-0.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:248973cf6b39c75a94dfc047804c20382448e2ec9ce76ddb6ece04ca014e3f85"}, + {file = "propcache-0.0.0-cp39-cp39-win32.whl", hash = "sha256:0e775d87b2030e848479fe4d94336d62c6b8608485856f5842e10fcbc9a89160"}, + {file = "propcache-0.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:7eeedf7006c42cd0668e83d4e4d9c1621f92fdd83f506b21bc9bf5b3610ff65f"}, + {file = "propcache-0.0.0-py3-none-any.whl", hash = "sha256:37614efe97fc14118f31f2d779289935ee7a370f6aa79e70fcd4cf5f9784c991"}, + {file = "propcache-0.0.0.tar.gz", hash = "sha256:6b32798a5a4839018bf48a95ba07cbc07807a2b93f61180d44769b7e5ddd3608"}, +] + [[package]] name = "py-cpuinfo" version = "9.0.0" @@ -2935,4 +3022,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = ">=3.10" -content-hash = "4f3a5906119cb6fb374d14db3d452001d57fe579b077b418bf33c3be7226f5e3" +content-hash = "143d4fc26a957a340eba5841490c991e6c685568375fdcd0d0acaf9eec7f694c" diff --git a/pyproject.toml b/pyproject.toml index f74c8e87..3ecb5f03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,7 @@ pyjwt = ">=2.6" yarl = ">=1.9" typer = ">=0.12.3" convertertools = ">=0.5.0" +propcache = ">=0.0.0" [tool.poetry.group.dev.dependencies] pytest = ">=7,<9" diff --git a/src/uiprotect/api.py b/src/uiprotect/api.py index 32e7b1b6..6fe10191 100644 --- a/src/uiprotect/api.py +++ b/src/uiprotect/api.py @@ -11,7 +11,7 @@ import time from collections.abc import Callable from datetime import datetime, timedelta -from functools import cached_property, partial +from functools import partial from http import HTTPStatus from http.cookies import Morsel, SimpleCookie from ipaddress import IPv4Address, IPv6Address @@ -25,6 +25,7 @@ from aiofiles import os as aos from aiohttp import CookieJar, client_exceptions from platformdirs import user_cache_dir, user_config_dir +from propcache import cached_property from yarl import URL from .data import ( diff --git a/src/uiprotect/data/base.py b/src/uiprotect/data/base.py index 4c71a97e..91bce4c6 100644 --- a/src/uiprotect/data/base.py +++ b/src/uiprotect/data/base.py @@ -6,12 +6,13 @@ import logging from collections.abc import Callable from datetime import datetime, timedelta -from functools import cache, cached_property +from functools import cache from ipaddress import IPv4Address from typing import TYPE_CHECKING, Any, NamedTuple, TypeVar from uuid import UUID from convertertools import pop_dict_set_if_none, pop_dict_tuple +from propcache import cached_property from pydantic.v1 import BaseModel from pydantic.v1.fields import SHAPE_DICT, SHAPE_LIST, PrivateAttr diff --git a/src/uiprotect/data/types.py b/src/uiprotect/data/types.py index 548e34ed..ee622d87 100644 --- a/src/uiprotect/data/types.py +++ b/src/uiprotect/data/types.py @@ -2,10 +2,11 @@ import enum from collections.abc import Callable, Coroutine -from functools import cache, cached_property +from functools import cache from typing import Any, Literal, Optional, TypeVar, Union from packaging.version import Version as BaseVersion +from propcache import cached_property from pydantic.v1 import BaseModel, ConstrainedInt from pydantic.v1.color import Color as BaseColor from pydantic.v1.types import ConstrainedFloat, ConstrainedStr diff --git a/src/uiprotect/data/websocket.py b/src/uiprotect/data/websocket.py index d7f6c8c3..de403d63 100644 --- a/src/uiprotect/data/websocket.py +++ b/src/uiprotect/data/websocket.py @@ -7,10 +7,11 @@ import struct import zlib from dataclasses import dataclass -from functools import cache, cached_property +from functools import cache from typing import TYPE_CHECKING, Any import orjson +from propcache import cached_property from ..exceptions import WSDecodeError, WSEncodeError from .types import ProtectWSPayloadFormat