diff --git a/python/README.md b/python/README.md index 49a5e55..eea777d 100644 --- a/python/README.md +++ b/python/README.md @@ -1,11 +1,86 @@ # async-tiff - +[pypi_badge]: https://badge.fury.io/py/async-tiff.svg +[pypi_link]: https://pypi.org/project/async-tiff/ -Fast, async TIFF and GeoTIFF reader for Python. +Fast, low-level async TIFF and GeoTIFF reader for Python. - +This documentation is for the Python bindings. [Refer here for the Rust crate documentation](https://docs.rs/async-tiff). + +## Examples + +### Reading NAIP + +```py +from async_tiff import TIFF +from async_tiff.store import S3Store + +# You'll also need to provide credentials to access a requester pays bucket +store = S3Store("naip-visualization", region="us-west-2", request_payer=True) +path = "ny/2022/60cm/rgb/40073/m_4007307_sw_18_060_20220803.tif" + +tiff = await TIFF.open(path, store=store, prefetch=32768) +primary_ifd = tiff.ifds[0] + +primary_ifd.geo_key_directory.citation +# 'NAD83 / UTM zone 18N' + +primary_ifd.geo_key_directory.projected_type +# 26918 +# (EPSG code) + +primary_ifd.sample_format +# [, , ] + +primary_ifd.bits_per_sample +# [8, 8, 8] + +tile = await tiff.fetch_tile(0, 0, 4) +decoded_bytes = await tile.decode_async() + +# Use rasterio and matplotlib for visualization +import numpy as np +from rasterio.plot import reshape_as_raster, show + +# Wrap the rust buffer into a numpy array +arr = np.frombuffer(decoded_bytes, np.uint8) + +# We first need to reshape the array into the *existing* "image" axes +arr = arr.reshape(512, 512, 3) + +# Then we need to reshape the "image" axes into "raster" axes +# https://rasterio.readthedocs.io/en/stable/topics/image_processing.html +arr = reshape_as_raster(arr) +show(arr, adjust=True) +``` + +![](assets/naip-example.jpg) + + +### Reading Sentinel 2 L2A + +```py +from async_tiff import TIFF +from async_tiff.store import S3Store + +store = S3Store("sentinel-cogs", region="us-west-2", skip_signature=True) +path = "sentinel-s2-l2a-cogs/12/S/UF/2022/6/S2B_12SUF_20220609_0_L2A/B04.tif" + +tiff = await TIFF.open(path, store=store, prefetch=32768) +primary_ifd = tiff.ifds[0] +# Text readable citation +primary_ifd.geo_key_directory.citation +# EPSG code +primary_ifd.geo_key_directory.projected_type + +primary_ifd.sample_format[0] +# +primary_ifd.bits_per_sample[0] +# 16 + +tile = await tiff.fetch_tile(0, 0, 0) +decoded_bytes = await tile.decode_async() +``` diff --git a/python/docs/assets/logo_no_text.png b/python/assets/logo_no_text.png similarity index 100% rename from python/docs/assets/logo_no_text.png rename to python/assets/logo_no_text.png diff --git a/python/assets/naip-example.jpg b/python/assets/naip-example.jpg new file mode 100644 index 0000000..72d370f Binary files /dev/null and b/python/assets/naip-example.jpg differ diff --git a/python/docs/assets b/python/docs/assets new file mode 120000 index 0000000..ec2e4be --- /dev/null +++ b/python/docs/assets @@ -0,0 +1 @@ +../assets \ No newline at end of file diff --git a/python/pyproject.toml b/python/pyproject.toml index 1cfc990..e7a225e 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -31,7 +31,7 @@ dev-dependencies = [ "mkdocstrings-python>=1.13.0", "mkdocstrings>=0.27.0", "numpy>=1", - "obstore", + "obstore>=0.5.1", "pip>=24.2", "pytest-asyncio>=0.24.0", "pytest>=8.3.3", diff --git a/python/python/async_tiff/_tile.pyi b/python/python/async_tiff/_tile.pyi index fd62cc6..6dc072a 100644 --- a/python/python/async_tiff/_tile.pyi +++ b/python/python/async_tiff/_tile.pyi @@ -18,7 +18,7 @@ class Tile: @property def compression_method(self) -> CompressionMethod | int: """The compression method used by this tile.""" - async def decode( + async def decode_async( self, *, decoder_registry: DecoderRegistry | None = None, diff --git a/python/uv.lock b/python/uv.lock index cd2ead3..f869127 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -65,7 +65,7 @@ dev = [ { name = "mkdocstrings", specifier = ">=0.27.0" }, { name = "mkdocstrings-python", specifier = ">=1.13.0" }, { name = "numpy", specifier = ">=1" }, - { name = "obstore" }, + { name = "obstore", specifier = ">=0.5.1" }, { name = "pip", specifier = ">=24.2" }, { name = "pytest", specifier = ">=8.3.3" }, { name = "pytest-asyncio", specifier = ">=0.24.0" }, @@ -989,86 +989,86 @@ wheels = [ [[package]] name = "obstore" -version = "0.4.0" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/48/48/d5114e5afc1ba74512b635dc391a54340085125c497b40863d00b268adbe/obstore-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:5289f9d2b3e76384594c678bf61b128d9d108439add15152cc67a3f126a54269", size = 5371532 }, - { url = "https://files.pythonhosted.org/packages/48/0a/10f0cd0aa5d7cc8367658fe130467a3e197ee87ff0b468aa5336676c9356/obstore-0.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:72a4a838a5311f4172c70da52bdcaa0c85d681708cb08f87fc47dacef441e3dd", size = 5055603 }, - { url = "https://files.pythonhosted.org/packages/8c/a4/d15136199796f246b783ab9274e95bf606b1fbe8d2860fd232e4c42effb7/obstore-0.4.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fbef4a0d5b79290527ab99215accf2cd1f19a1c2f384491c526c7fb88716b732", size = 5380849 }, - { url = "https://files.pythonhosted.org/packages/a6/4b/fbd5d0a2576d155b61abe805076177b2c418ae2fd268b8c9bc397623804e/obstore-0.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb1002100dad78b09fe222f2fe98153b70972b0a96217c6aacda038a2c95165d", size = 5431424 }, - { url = "https://files.pythonhosted.org/packages/83/54/af3b5b3fada4244319037b35b010993f7f7b579dc665324e1f4263f8c13f/obstore-0.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b5037c258627e3c6c6ad04b85822ae3fa31d339be42115b15fbea3530b19e09", size = 5666035 }, - { url = "https://files.pythonhosted.org/packages/c9/5f/fb2b7bf6ac5b3e46fd220f2124355d8245895883698cee1ad9ec4493bc10/obstore-0.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4f2305673735b0cfe81707d518e2501b7cb7b3297781bab4ad44987ddcc2f9e9", size = 6873585 }, - { url = "https://files.pythonhosted.org/packages/a4/6b/b890896f5949cea6168ae97ccf21e61e732747e2a579dd5dedd9dd7cbf42/obstore-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f40816f10e866acaaafc8f24ce3b3bee418ba357541cbd46c0079c7f63e3fdfb", size = 5499357 }, - { url = "https://files.pythonhosted.org/packages/06/9d/935c055b9c8866f1a56c9c9af6e25aa7e0b996a084df233ff70d92964fbd/obstore-0.4.0-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:55ce93e06be84732742c0ac1c1da3e09f256f8886dfc593da94f3113eec04544", size = 5330606 }, - { url = "https://files.pythonhosted.org/packages/aa/17/13d342fc53d009f79521b45ce21e8266495411c947a53e65cdd61c36ad0a/obstore-0.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7882d1df2851499caeda20b4af3f45132075fac8ca6dd5dcdcc8de475328e21c", size = 5438162 }, - { url = "https://files.pythonhosted.org/packages/2c/e2/f6f19e994f6a67e58d6b3ca366512f0436b1ce8f1299b8d0932aa6e89676/obstore-0.4.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:395b94d7f3eaf07c2d4a018c8f5ae1115918a3967715dbf8d2c7c571c80e9d8a", size = 5567570 }, - { url = "https://files.pythonhosted.org/packages/55/4f/fbd96b4720feb3b6d7db05a2e9a19677d2dcd029371e075420a5bfbbf2dd/obstore-0.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b213da09d0ca7846227d76ddc215476adb08339a1733cbb7fd726be501614f6d", size = 5449310 }, - { url = "https://files.pythonhosted.org/packages/f1/c3/670566abdcf86f533394a6c3f01f640dc0f926d07d8562ff4383eb7eeb93/obstore-0.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b94fe1c387885ac7bf98edb0f87a2585250c7d539144a284dfad30568083d7ad", size = 5626037 }, - { url = "https://files.pythonhosted.org/packages/d4/7b/c303fa4d9df5bbe237fa366ff632cb563b8846978edb5db730be3bf79dd5/obstore-0.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:5fc1ab0318787028ae62069c579a6fdc56ec77cb5ec896931d7f2e2c4774f65b", size = 5346606 }, - { url = "https://files.pythonhosted.org/packages/d6/e7/1ab6c56055ed2ba7901e613432d8e296e9c6cb8f611b3059b9f68406fe36/obstore-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:204d9b6fec49d4a4ba33e7a391bfa2ba068e80b82858521a240695c9bf4643de", size = 5371630 }, - { url = "https://files.pythonhosted.org/packages/80/3c/8648cbd3a95f8b475ecf091ad9b1f42d82a974746b3ac89d5880b77fb475/obstore-0.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:80f3d23ca211b8d64fcbdd9d6406ab10795f0405c14a5309a59cb57a6b253e80", size = 5055837 }, - { url = "https://files.pythonhosted.org/packages/e3/30/9116c9adddd47f2f82c8dcc0ad31a3d0f50139209fd0d2175ac0a97063c4/obstore-0.4.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cd21a142da82bb3734245351d7aad565b5abc8b6a33669bef59e5e32fafb9739", size = 5381158 }, - { url = "https://files.pythonhosted.org/packages/06/21/d041a0593a606b5f1fdf76178e85058d4da0c69f9c13955482d7c40f613c/obstore-0.4.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2cc7d9b38d8b8ced7838e8e7c4ab51fa936d77c4b6707ba947e9382666cfb8fd", size = 5431325 }, - { url = "https://files.pythonhosted.org/packages/c0/b4/9a3f3ea26ba296bd2dcb18e657215a2cea42c08dd7633309a4d35c34c977/obstore-0.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3de0b735a4c5e4ce9a64a491c69028e30061674f888485f8b4d7d98686f40093", size = 5666060 }, - { url = "https://files.pythonhosted.org/packages/ba/73/353a179795aa585cd17d0d66207bbe714986fffc1b35d39407ada1bcf754/obstore-0.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7bac9affd710d41ba11738d034e893ec79464a1d885a9b9e584f679970239253", size = 6873593 }, - { url = "https://files.pythonhosted.org/packages/e4/b3/cda6a80a189a1e3b997ccf017fe577b4f4c6fd96c8832fb3a6d2cf8893a5/obstore-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b908f5d06abba647ae135b2fef9d68b6ea4a9a3280c9f6032b6ef7cfc91a5ca0", size = 5499358 }, - { url = "https://files.pythonhosted.org/packages/0c/1d/570d206148e235ed980f4443498e8e08bfa071dbfec70b9887b46a52d41a/obstore-0.4.0-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:3ae058a9d867cde891e6d54af6c4e0da503106457825d044a2cbfc7bdc2fa083", size = 5330895 }, - { url = "https://files.pythonhosted.org/packages/bc/3c/5ba48939d31798d8c9eb9d4bebb68919bf029c5538b104699adc150eec7f/obstore-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4a939b82e6c7981cc8c6f28e6e78458d52adb39c962910f221410ad96e24be18", size = 5437847 }, - { url = "https://files.pythonhosted.org/packages/00/e2/953cd59f615417189d59664d2034b505bc3d45fdc75658f70d6accfa780f/obstore-0.4.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e843e13781a996bc77e3b8496e836d5b8071304fd369065892815bd9cdc54f64", size = 5567460 }, - { url = "https://files.pythonhosted.org/packages/d6/b8/9bc4537f543acb38c424713ee91e6c1a73a04f3c07072634688503d5638b/obstore-0.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b55f592bcccb254875ded17cd8b091202c21e79af20c757016683f00496caff5", size = 5449093 }, - { url = "https://files.pythonhosted.org/packages/2a/39/9367a29b07b62d540a205d7cb609a20ab85a5e5279d9020bc3521c2a6470/obstore-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2ad4837f12d4e67a14a307cfae405fb2c1f954f44b1f8e3b40be9334fedd5015", size = 5625984 }, - { url = "https://files.pythonhosted.org/packages/e8/41/e2d351753dfe76f8f2afa5f102e8ad5f26298dd489e81d24f7a33d79d952/obstore-0.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:a27a59f89d377fb4fc26164362ccc71358cc174f8b163b0c1a7be24c8a5d8629", size = 5346266 }, - { url = "https://files.pythonhosted.org/packages/b1/45/047e15a7a484764053487d471a7ef5d3cd56cd4a9e1f39f9bac186b6b97a/obstore-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f8fdf3c090f2af97b6cb93130ca2046d4d9825bec904d63f1100a83bc122bea4", size = 5380054 }, - { url = "https://files.pythonhosted.org/packages/48/e6/3134aca631141251ce3d14c60f3206fc63693aba4abb4a9430e43d838efc/obstore-0.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0d8c7009d7dc908658f106b3529dad260629f407b7ae4ed7e54b79e3ec2b3e3e", size = 5057062 }, - { url = "https://files.pythonhosted.org/packages/83/a2/0543d84061d31c92927d4f034ca4a3a1cef291352a1434c75cac6da397bb/obstore-0.4.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c63a1ff1159c1370fd919388f4b77556f55f77a631eba97ed5b582d47330200", size = 5375893 }, - { url = "https://files.pythonhosted.org/packages/be/69/e6815d506445521759c45b4e44d3fb6abd6250a2d9b173449d82774d8975/obstore-0.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ec00fba4232b899a139b8e02f29bfaa67ee9dbf07bc72a8baab26c5303bb877", size = 5428874 }, - { url = "https://files.pythonhosted.org/packages/7f/bb/873955c5f3543ce18f5193aba0b92954d31742aa8fab89897c279d943252/obstore-0.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e561e68b65df69923bd45eac234e5d1de1920a6722668c00f155c95f019b977e", size = 5661417 }, - { url = "https://files.pythonhosted.org/packages/bf/ea/769bf9931201caf0f09366946e5ca446b66563dcfe6271c164206dc5644f/obstore-0.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ce927ed3411472efc6c75a7a1b187e5f11d7a88706335da1aa2a52a6d30313a", size = 6878883 }, - { url = "https://files.pythonhosted.org/packages/85/5f/20dc1bc6be1c5f482551c41ab5799d565a0c96928ce13729356596960d25/obstore-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:903b7d13de2897911a137a2f07cd4cf72d01ff3cf64cb111dbdadc1d28963be3", size = 5497357 }, - { url = "https://files.pythonhosted.org/packages/64/73/06abfa3ea9c3e216d89163553fdbcd714cc09d57c2de80cb233b4c2d8c4b/obstore-0.4.0-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:76f6181ae02f039ba9c7b7d35be54dc289f54499ede1cb384217cd438f81bb20", size = 5325647 }, - { url = "https://files.pythonhosted.org/packages/23/56/26fad6390857f4bc9d6a2e038bd496ac20545d47c2e0b290bbdb5ca38b80/obstore-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:636f79f458485fb922d326588dca2d25879780591c0655b151a838e5f944afab", size = 5429720 }, - { url = "https://files.pythonhosted.org/packages/af/b1/840f0e0536f0a65760fdc89922ea461765d6241e64ffb0b5c61506c07c94/obstore-0.4.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7ecc3d7bcb69e694b8beda7dc0358c2b9e57b67867f64ad1b4a0c5d5d999d0bc", size = 5565572 }, - { url = "https://files.pythonhosted.org/packages/72/fa/8b77f2abea5752676ce2a9247c57ad9199c2adc7c48976b1381127debb46/obstore-0.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:05dd81e7ae7d79b79dbc04bfb8b8d6f451b9b65b87923a9d3288ab97833eb475", size = 5446130 }, - { url = "https://files.pythonhosted.org/packages/75/3f/a971a72afc52da438a571f9c5dfeb77430b4def370c6fe68cd95222abec5/obstore-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8d94af6b030bab5646f7be2e749120918c4244237acff486b501f44849a5fc06", size = 5620114 }, - { url = "https://files.pythonhosted.org/packages/b8/60/3cf820671da9c423b81c25943eedd1af2cb610d52a286ff933affad18831/obstore-0.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:fc292904246c90b00f3b5fa094c85ab16f020db38463391e98d937f070a2a14c", size = 5354538 }, - { url = "https://files.pythonhosted.org/packages/71/9b/c0b80467b1b09784febe23f285ca8f58f7fa896a273fe4f5895c631cf022/obstore-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:c9ed6f0d42ea516723e070a92b49f8ff23b714d7e49732673009ab0757dbf8db", size = 5379929 }, - { url = "https://files.pythonhosted.org/packages/b9/f0/de9bc14b0c6651baf4763129e5c726c606c69b958bd2293c076db5ccaf54/obstore-0.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be199652c2e20f9fec8bc6cc6f672de5e932128a7f21d5710180fa4d33e43223", size = 5056262 }, - { url = "https://files.pythonhosted.org/packages/42/0c/f1d4370ac3b0d97d9c4e5d6f93823396f4af1923e0159edc46216fd58331/obstore-0.4.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ea1bf7c870101f7fa95e33b9ca1fb6231e71864001203b599abb0196f84a904d", size = 5375198 }, - { url = "https://files.pythonhosted.org/packages/c5/da/80d701c3aeb4afcf411a43a9c4e90917c3e5704c3959e7ae09d81c22c4eb/obstore-0.4.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca0890226973af024b87114efa6b8e5d1a5bb326a6ea808eb3b1bcd1ed6c60db", size = 5428503 }, - { url = "https://files.pythonhosted.org/packages/50/4c/10c041f30c21ed49b03e1cbeb2d22a5209d2abe2acf868262b506173b95a/obstore-0.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cc2f643880b29b98b692ee865c275314be8be5443c0ea4268abb4751d87c2276", size = 5661624 }, - { url = "https://files.pythonhosted.org/packages/4f/d6/b2dbc565bc103e352d7225b0e1615e93e02ebee6d421efa3e06b0ecc8527/obstore-0.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b48b86d229f76f9b43cb2a382a452bfd32e451814c86de66dea1b82a232a639", size = 6891986 }, - { url = "https://files.pythonhosted.org/packages/eb/83/db5388be110caf8a777d50ed42369b603b49e907bf5b3b3182becbe72808/obstore-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0265af83cd23de5d703a14caa356c78d466af3f84fd5532ea3669d750224fb66", size = 5496734 }, - { url = "https://files.pythonhosted.org/packages/03/a8/a8d0a66e7bcd3d8274b5756ceac62dc6fce552e5c3eab2c6247228955776/obstore-0.4.0-cp313-cp313-manylinux_2_24_aarch64.whl", hash = "sha256:61f9fa93933100852e28771775852d4ae148633201fc0d9f4718ae555ea3b991", size = 5325192 }, - { url = "https://files.pythonhosted.org/packages/e6/f4/4f9540b1cd1ec8b319425045857bf1372b8bdfbaa3372f45c151d9c9036b/obstore-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cb3e6e21c5b24cab70a601f78ab9637e7820ffcaf3a437e698c658b59fb30587", size = 5428852 }, - { url = "https://files.pythonhosted.org/packages/3b/1f/b0663184392daaa882396648b5835dadb2ab4adeedc460ced9441830a582/obstore-0.4.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:999cec62e647aec112151af1152d08b68fe091c55debbc0d1d78f7b17dc186b9", size = 5565446 }, - { url = "https://files.pythonhosted.org/packages/24/a8/89c7957dca2ef894a5855b928d8548884a4f85516ed9b12868ff2701a4d9/obstore-0.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac43866ff6f5363acdf6ae6d5e683474a71ecc717f7ec41e0fbe2b025ec23f88", size = 5445762 }, - { url = "https://files.pythonhosted.org/packages/57/9d/f34a4fd15039a72231ddca2830e7a12100087cf5b464745c30bf76c63601/obstore-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c18487cf52b7a29b1dddaa020eeaf750fce354ddc045d38e2a908a4ed1639705", size = 5619370 }, - { url = "https://files.pythonhosted.org/packages/46/1d/c9f3e956cbb600fb933a8e3bce14177ff80bdc949d0702758b9c4590331f/obstore-0.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:e6966717477cddf0def201c09f9c4d5f86dcd57c0b4c17dbe12915d73ccf7e72", size = 5354096 }, - { url = "https://files.pythonhosted.org/packages/6d/e9/7832310a23e48aa0ec55bc77478ee618abe6b06df6dc9730bcf3ade7c523/obstore-0.4.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:0b4c644ba553801e8c8d035fcd16e1bb9648a250b0f099a00fde6a2f107eb617", size = 5373235 }, - { url = "https://files.pythonhosted.org/packages/2b/49/91db092f768fbf44085789dc73eba14e6ae31d7dd8fd503a8d47eb28963d/obstore-0.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b98656e29b46fe912e8eeaf3cc282ea5c55a6b444cc40df154e5b89c769749f", size = 5057399 }, - { url = "https://files.pythonhosted.org/packages/bb/98/514d900249f5afb3a14efc2eddd64d93fa5595939f4e5ede85db3f5f59c5/obstore-0.4.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1683ca43f4e9ab766890b4b9aeebea40879767a60df9369b0857a5cf17a648a4", size = 5381549 }, - { url = "https://files.pythonhosted.org/packages/8e/e0/4411366ed5e81b708b0115dde557add93abfe459de9bc45020a06e94093b/obstore-0.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e86accb6132f39acc2b45f56ae80ba5c179a1217ee06e53ca78bb364978633d", size = 5431599 }, - { url = "https://files.pythonhosted.org/packages/d4/96/bba265b4d8383b0f19133a549389e32ac25251163969b151d7e187e9ec1e/obstore-0.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6488c4ebf1fff212b8dccbe047d8fe8abda1d14b53222d321d15d4af9b7c1f31", size = 5666883 }, - { url = "https://files.pythonhosted.org/packages/78/b3/8bd13334a690f45c228c8c3add497db88e1819de1d34e4fcb92601c64628/obstore-0.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20b9b0d2a2148bc809ebd4eab59a6e21b5cc7a7ad4447410f826373124fd325a", size = 6863064 }, - { url = "https://files.pythonhosted.org/packages/dc/68/b5a127a33ec4437eaa772c8dab31139c1d1613de3f4c94405bb348912582/obstore-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfda30454fb98b01bafafa75e1f8481c75bebb71df9ae4a74feefaf88dc8057c", size = 5500471 }, - { url = "https://files.pythonhosted.org/packages/4a/8f/c6e8bebe820c3fb1c632e96dddac45f040f63bcdcaa5857b8e2340fbc342/obstore-0.4.0-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:4ce38e0ed246a7d401082b178b68068a411835e5bda4780a668aed6d12c7f997", size = 5331955 }, - { url = "https://files.pythonhosted.org/packages/66/c5/2abd124accab204afdcf1e41c0d469f41cff0230a36c4881a878b6a2bbea/obstore-0.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c8e37459c7e1e8f3d99d47aedd92591467d1a26cee63705aef105c35c3804deb", size = 5438865 }, - { url = "https://files.pythonhosted.org/packages/34/4f/29aa5ed8b17fdfcf72ead66d3caec6feb101baa4bb3f96ee372cebbff55a/obstore-0.4.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:6373bca008cf800b6455225fb8c2483b1d830010d3857bd3a72c3f0523b86788", size = 5567882 }, - { url = "https://files.pythonhosted.org/packages/88/3d/09370c467b5f33d5a6371b8972e4d68aa7b51fdf380dfb69be76e6058896/obstore-0.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4c3c715e36fcc380c51dd5624224ddf8f1150db52cf8fea525b1c2189abc9945", size = 5449205 }, - { url = "https://files.pythonhosted.org/packages/4b/ad/4ba42c3c7db86d0ea04636da6af5a35e208a4aeaeffe9480cad8bf9d4af6/obstore-0.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:e5b7a73f4e73b24d0ddc63034bcc8540ecc036fa1dec2a2bf61e4be54d179667", size = 5626806 }, - { url = "https://files.pythonhosted.org/packages/45/37/8d017b71f22156bfba91b1f5b76cfc160c55838cf69b4b8e2aa8c47d462b/obstore-0.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:bee833f67e9da1e2b43af692e76076b19fba2fec57c437ebfb9b1c92360c7815", size = 5346817 }, - { url = "https://files.pythonhosted.org/packages/c6/01/f6876d8f00400f1f913c3f92d0e0460a771960944b6f7a0c636220ab35e6/obstore-0.4.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:45125db600b7ae3699c83887d669312a56008f022c99de19efa724b3ac50d848", size = 5371024 }, - { url = "https://files.pythonhosted.org/packages/16/24/82dfcd91c13845c17afa008d8f387a0d634ed5226d2dd26c80cacb943eab/obstore-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fc5272ccab9faca768eb5ac7745c39778155d2d966619a4482eeadaa2291c6fd", size = 5054972 }, - { url = "https://files.pythonhosted.org/packages/cf/25/acc043cb83b1ab4e16a6fa92bcfd30e0e7d5cd919b300c5143b80c7fc9b5/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15c7c98cbfe028c55a0dcdc44a6fdb0c68570ded9ecc8b84bafbcad47272c8f8", size = 5380773 }, - { url = "https://files.pythonhosted.org/packages/74/21/2acb48b709c480dd4f0a1598446e244475262c33ffcf5a6860cbaed79d4b/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be74de1dd797ee5442457efeee69408440307811d1920ab967493cb3bf0705c0", size = 5431257 }, - { url = "https://files.pythonhosted.org/packages/aa/4a/ec910819628d8ccab070d3a59546d9d8fb9a449ea5965ca44148bbdafaee/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa4a8de1845bf3dc3cc05c53f994a46fe3c9bdff20962337c7c4b9bcbb57bc0d", size = 5665982 }, - { url = "https://files.pythonhosted.org/packages/f0/7d/b69e119451d00ff05619151240fc844e35f50a815447258d7ec0bbf165cf/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03bf8f55a6420e3648ae9a42971d624c3a382d6a12ee3924111b1ceaf3e41b52", size = 6871028 }, - { url = "https://files.pythonhosted.org/packages/27/f0/1e397eb80ca75c203c54b952a9bd3220d355d6ac2dbb3e0b01dabc22cebb/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3d87aaba03010dc95c223890f4400e5793e572f834d4e790a4f7f659e5088c3", size = 5498784 }, - { url = "https://files.pythonhosted.org/packages/fc/bb/bae4ef625054494d0c6ebad7b51b9e2ab99895dc98d18d05d424223b5dca/obstore-0.4.0-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:b72804ed80506b0d362ac63c9a18ac56a3841d334d781069d6e08c252f809d9f", size = 5331133 }, - { url = "https://files.pythonhosted.org/packages/cd/ef/70462b05a7e41b684474c4d828dfb5db791dbbac68c945f9943e8e91c89e/obstore-0.4.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e0f0027948fa57e0ff8ac25e4e26816b1dc071d3d29b2ab4c0b2512b17922b0a", size = 5436802 }, - { url = "https://files.pythonhosted.org/packages/5b/16/f3602e908ec7ab3dcd59b985e118522589ffb8891cb37d1324afc95a1a24/obstore-0.4.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:e7516450d8afab2019cc6e5b9e38d15ba9f769117993a9d568746df938bea13c", size = 5567533 }, - { url = "https://files.pythonhosted.org/packages/1c/87/7564b4c5204d08259b9b279b5b38c2b3847f33d05483c3eeebd95f0005bb/obstore-0.4.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:7101a3074feedd5ffc3ba7640ca3132d149ac946431fbdbab9ca01702c5f81e4", size = 5448566 }, - { url = "https://files.pythonhosted.org/packages/24/a8/e6ec971a5fe1d0cf1694c27e113841c7d5e316e4ca0ac7b293ca3be066c9/obstore-0.4.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:f5a555277970f4f43d78c79a963300d539211dc1972e7cdd57e47c4aaf14d3a5", size = 5625428 }, +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/e3/2f35d471e3d11af1bb7ac1f92a965eaf0c81dfad9f6cd488391584c7b8d5/obstore-0.5.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:58a90dcae4f8807e6de1df0b1330af34840d4b239a5dee08d6616e7440bd954a", size = 3546046 }, + { url = "https://files.pythonhosted.org/packages/de/6b/4e3ba42bedfe63b60b8c32223d9f0eb0f5c752af9aeaea0412ac2112930b/obstore-0.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4228eb9732e8be19cd0c2f1848c097b2e9a24a47e207227188220a7ddbd0db5d", size = 3296169 }, + { url = "https://files.pythonhosted.org/packages/3c/b9/1925aa2954bc620e18b9944f3a7e6aa7684e933904cf9f5244f0bc19b530/obstore-0.5.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a81a62cc278e4eb0c830842109018a08f10223e1c1decd67657116ee61c62c34", size = 3431266 }, + { url = "https://files.pythonhosted.org/packages/0d/d5/9753eace45757ac365a0ba7fff4790c216c231186ced2a4beb49d0a5121c/obstore-0.5.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:debec1db4673f5d255c11663e2bcf68cc44b957fcb763ac71ebee85a9640e38a", size = 3562154 }, + { url = "https://files.pythonhosted.org/packages/f8/75/c36266c5a4f04c7fbf82b2f9451ebd873fdcebe01bb5a5776a5c371ed1d6/obstore-0.5.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8ca51cd9cdb70ba3cf32acc781af6adbf5d55c538221ae19785ad80e32d35a7", size = 3764647 }, + { url = "https://files.pythonhosted.org/packages/86/99/c3954a5795779661507f0ed6ac0041b76688aa3ab717604368d46027d747/obstore-0.5.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68a955000c83f9f837c2d0d0433c87f146aeed30341886c7b4cd451ee041187d", size = 4645369 }, + { url = "https://files.pythonhosted.org/packages/be/8a/96d7de98a0ff120d2883785e9f177e9f9f7f36d444fea3805a877d0dd83e/obstore-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2aa791ae6dc6b5770cfe8ff2383d7cdfb365c4e0c29e1aaf528922be9d6db40", size = 3665620 }, + { url = "https://files.pythonhosted.org/packages/84/bf/59447b329653ba11c0e3dc11224f7665fe15c1b037b1c8a0e418abe88dda/obstore-0.5.1-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:4fcfb67dfba393a2cc2c859b227dcdd0b58d69ea1f459bc174f1857eec46d309", size = 3473452 }, + { url = "https://files.pythonhosted.org/packages/04/98/5a79d8b566759905d0864bf1f65a86626707b188a41f4ee803b4bacc3d78/obstore-0.5.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4940436904118fc24c061fd371bb130a49809732f698b3bfcdf215ed095061a", size = 3632858 }, + { url = "https://files.pythonhosted.org/packages/7b/09/79e53ffcf20d4b846f2584a23c595b701e67181c85c4a4be21fd9792921a/obstore-0.5.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:24fc92de28a1a8d100d7702ed6c06c706727f1100abbbc508938547f3c2c41de", size = 3658492 }, + { url = "https://files.pythonhosted.org/packages/36/87/84149e8a5c6ef9c4634e0416987164fcf59e024eac0aaf836a6bf5d68edf/obstore-0.5.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58b94c7d81c213ae9d67cdefa458170b2d164ec04a2eaef0b28e6018556aa046", size = 3644997 }, + { url = "https://files.pythonhosted.org/packages/2e/9b/25eb969d5bc8f2dfa478ee535c8281235f1f75a046c140ede8d7be1ed5c8/obstore-0.5.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4fecdd74088723541525ef95cfcbc387d0b762725b1f3a041e2db66cd0c5cce1", size = 3836866 }, + { url = "https://files.pythonhosted.org/packages/67/61/5e25d19dbd21c340b694919c0022f14f732104048218cdcdcca25ec0db86/obstore-0.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:b5cf1a48ecc604d2d7580ee4e011cf839bb15978324afb0252cf2951e0cc7e10", size = 3903481 }, + { url = "https://files.pythonhosted.org/packages/ed/3e/35837b1ab4515ed692a8d560346d0626ef1fae92e1d0de0d5769642d5ed1/obstore-0.5.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cdfe2b7bf535d7fd829a6cb6700afb488cb9473955e1f9e6952274ff43199fbd", size = 3546300 }, + { url = "https://files.pythonhosted.org/packages/e2/eb/97080384a6914e0fec3b7efc7fadd3d72be37025e871b515e196b618d910/obstore-0.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:21b8ed4ab74f58622350bc462cb57776c10214f9dd26e460c09a91e7eac963bd", size = 3295894 }, + { url = "https://files.pythonhosted.org/packages/ba/d4/b465dcabbccd047132432114cfaac7c3e1444812a1079bd656190c05b3cf/obstore-0.5.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e978f485774cd01a75ce5859c3c67630cc4c983078c65279d8e1e30108842c5d", size = 3431699 }, + { url = "https://files.pythonhosted.org/packages/b6/20/990098a60023633ffe046503c45b1744faffffab4aae399f02ce8934a475/obstore-0.5.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de33c24b355a746a8839666fd9a14033af62f5f48d4a0d2f323db360e8a98da1", size = 3562379 }, + { url = "https://files.pythonhosted.org/packages/df/6a/8b43241dc5edf7cc5c1b3184e892688a06954109de8f2373886ba6e04b63/obstore-0.5.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7d185909d0c6eed091c9976d89672657cb7bf70e0a1947cd40ae974bb76299f7", size = 3764691 }, + { url = "https://files.pythonhosted.org/packages/a5/3a/10a957098b565f9f0d04b605e6fe9c5bf5d39668c2753b92fffccab9d7af/obstore-0.5.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2bf719f330ca6ff9673fe806c4529fc1e5ecf9e55fe1d94cb7bef79177dda33d", size = 4644044 }, + { url = "https://files.pythonhosted.org/packages/4f/52/458df6194d950d00df808e60c6ecf60d95e747914483bbfcabf7ed388d83/obstore-0.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:909f3e855c50c1fa26aec7a10e6fed6a4d3d3675ba5e1e0362a4d45c4252f226", size = 3665679 }, + { url = "https://files.pythonhosted.org/packages/e3/fa/70501b96935e1c66a557d417ba7d3a98fac0afbf06bf59d3d55424c80ea0/obstore-0.5.1-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:b1f12744664b6ef524d8a325dc1ce9bd18fddb6d91e89376de3f5514105aaafb", size = 3473481 }, + { url = "https://files.pythonhosted.org/packages/a5/42/1f40cc338b46c8a44386fb9debc44a0e2fbd6877f20722b6017a59992d32/obstore-0.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1821b740729717d8987d1079a9c016d025505238ca50d260f8bd53c6a62764ab", size = 3632889 }, + { url = "https://files.pythonhosted.org/packages/83/9f/6bea3ecfa6bad463c489de0bbc90f03b504d534329c69471fc61776ddecf/obstore-0.5.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c9787f66057521fb692eb95b7e5b45112a5a70529f7f6a2370dcd09d5203fc1e", size = 3658740 }, + { url = "https://files.pythonhosted.org/packages/69/85/3c855c99e4bdbaf258da299b0071ae4d49e8b3a861f30f319b055d19ee7c/obstore-0.5.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bdb11bbb85c9eeaad4f6acf00dfe1502cf90515c5d5652a87b7549a9cc79b078", size = 3645239 }, + { url = "https://files.pythonhosted.org/packages/ff/bb/551a13a852243532539f951603240ca6d7c229c2fdd6fa60e6b9a0d0ae1b/obstore-0.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ece15baa07be4becfefef86fd9c8c914fd0ac0b8a9cc8b85a35b47ec919c18c7", size = 3836970 }, + { url = "https://files.pythonhosted.org/packages/b8/fd/3c801676fed834f15f148bd647f05e8faea4db6403ca65e4e32b1f0688d5/obstore-0.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:2c481fd2cb2f67dcdb2a5d9b40d27054b679d88af3d247b80f139a50a04d47e8", size = 3903730 }, + { url = "https://files.pythonhosted.org/packages/9d/17/549be4590758c028ff80713d940ef380301e25dc87b2aa30658032c3e09f/obstore-0.5.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:545807d26e133fd2f136930061e44719ab9fbbe766f18532053cc31f5f4ff60a", size = 3537783 }, + { url = "https://files.pythonhosted.org/packages/70/47/3ba55ec9d9c212d26cac8881bb5f4070974cae712273f80d412e0d3f4087/obstore-0.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:966baf8d0a8e6d442898c2413d78aa2d9cb42f73ea5c6fb48dbefd91071bbf17", size = 3292329 }, + { url = "https://files.pythonhosted.org/packages/bb/7b/4ab73712f1ff942326b1f2db6d1ed9fec54268ceb02e61aac151f657d556/obstore-0.5.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:282fe32478a7803a6afb7323a89437d33c5e6ada94d7b1dfc0765203fbfd15b9", size = 3434062 }, + { url = "https://files.pythonhosted.org/packages/6e/35/f22abe954adcfa23d90e541d2796f5a4a1f63525ea69350e6621d8fcf289/obstore-0.5.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33e4d1beba0cbcf0c3e4cbebacf8bc3158b54b34e30208aaebfb9dd46f8abe87", size = 3564637 }, + { url = "https://files.pythonhosted.org/packages/dd/05/fedb79d5d8f4c3dfcdb5309b4dcba77185270c10514d9cf72ae1e7ee3bb9/obstore-0.5.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd1bef06ff40fd6ca3bec41bfc9548c284f0393f316ea9bd3f9e61868710f18a", size = 3763193 }, + { url = "https://files.pythonhosted.org/packages/25/93/f89f7d7e9559b8436d8f0701c79f57789844b9f655791332b0350e756654/obstore-0.5.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:908cdae55c615008d0cd298311fe65bf731fc77acf61e4095918bfdeed96d87f", size = 4639117 }, + { url = "https://files.pythonhosted.org/packages/26/b1/65f223a3752e37dbe46d0cb7ddb1401054a5e5071e52b17ec97bd73c73f6/obstore-0.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:877c8e28a2dff8ecd2527acfdb9e1ca43bd5f940adbed2c90add08fb498f3d5f", size = 3663252 }, + { url = "https://files.pythonhosted.org/packages/73/57/8ced55dbb752cac474729a991f8e970f08d05e9c13e25f9525b5a61ac8da/obstore-0.5.1-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:fc35adc56d252f55b0cfffd09635c933fdf4267b3ce1ce4a97fde5b5baff5a78", size = 3470334 }, + { url = "https://files.pythonhosted.org/packages/59/bf/2a103ef4dd7698532bd9d8961c196c34bcb163cfd3d7e6ada36c81dd8254/obstore-0.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d24282c9c26f9d48eb2a4193cd2b43a5f9deea0a03721d411ed26007d73b9677", size = 3628970 }, + { url = "https://files.pythonhosted.org/packages/a6/10/33e470509f421e6a9e55d7f90875f2794dd155cf2edd6c6c32a8a02f6aea/obstore-0.5.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:33b635836adad6e9ded0db2f9fd650c3d06f19549eec5310819149f3c5937370", size = 3661790 }, + { url = "https://files.pythonhosted.org/packages/81/88/1f91818b0f211493a49d8c82cbf4c0102cef1278fcddfde72db2add51ea5/obstore-0.5.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:026d9f553fb6e7d8e44d6d6254a8797f86206c1d40c28c6e06080783fe758e4e", size = 3645048 }, + { url = "https://files.pythonhosted.org/packages/26/0e/d36e0df9c2a0f3dd3f280869167e848e747a04b812bc7485cc7a60d328fc/obstore-0.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6d54b23bafb015431012d5d810d902cb42c5870ca133e311aa88ccf3869c5f7d", size = 3833799 }, + { url = "https://files.pythonhosted.org/packages/33/25/267f7a56058b61642be8e471d89b3c75c92be8cbee33e2fcdae33fd8231b/obstore-0.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:e770f57011d93ad193a69d9095718843197976b2ef4b818780266309b65e11ab", size = 3915063 }, + { url = "https://files.pythonhosted.org/packages/e0/77/5675afb2ebf3cdaf46c36f593af7c7157bbd91ac102e8e1b9825acecdf0e/obstore-0.5.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:edeba170d117b0ad0f4c059b5340a370e79a58a8058439376fa322c7745dea4b", size = 3537437 }, + { url = "https://files.pythonhosted.org/packages/7b/7b/73fec2e2367a5aa1f21f83210bb2763ee78dca9a7c5c2775915053b105cf/obstore-0.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5a8a6f8e7383c45e3af756f30b8eae9930469a615161f67eed800e586a9bdfd4", size = 3291327 }, + { url = "https://files.pythonhosted.org/packages/66/94/e839809cc3981d1f00acf4949ca28f89b7f312ca49a09a6797c848ca1321/obstore-0.5.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c00ca92c7fb18c4a26c171977cca20026f2eb1b4f4b465de998409b8541dced", size = 3433904 }, + { url = "https://files.pythonhosted.org/packages/59/fe/89f10b757c21ca97073adc35688d5431d176b1dd44cb675deeaecc8aa289/obstore-0.5.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20a67508a2e2ab4d25b4dbcd313273819d83b88b090bd47474043541992c3526", size = 3564281 }, + { url = "https://files.pythonhosted.org/packages/67/58/1a6eff2abf761569b8a41edc6cebdd8bfcf2da03c409c46114ad844c0de6/obstore-0.5.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d8b7d4b834064e2f30929652f0382b96f1b93b7e22098c4c9581b7017324d58b", size = 3762889 }, + { url = "https://files.pythonhosted.org/packages/62/cf/7ad15462043218ab0b67d29460fd4c1803041b5d427ac58de04c71766a94/obstore-0.5.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:161c4e024c7c430c9e18e17b69ae909344e6e403de23c4775be49b2d42de1e46", size = 4648165 }, + { url = "https://files.pythonhosted.org/packages/56/70/0a534c1adcad297445a3e158826281c1c0f5be6f2d7eb4a305fdab5cedf5/obstore-0.5.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54b747d1dd446f4675d1a6c019b6c65d03a592eb046bfb0fa219a7972bc09fee", size = 3662489 }, + { url = "https://files.pythonhosted.org/packages/86/ee/efb99122955864591f69159faf108610d9e406e25f5e1d49cd808b8916a7/obstore-0.5.1-cp313-cp313-manylinux_2_24_aarch64.whl", hash = "sha256:1ba42e3d485cf03f02944d8c950e954ce37bf0ef7571b6e47884283ea2739e31", size = 3469788 }, + { url = "https://files.pythonhosted.org/packages/70/43/8530d3a80401bdfb37225ab889657380c10b10d8bf1ae098586873ebf5ce/obstore-0.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3284a464d98a4b9e3cdf4187055af57707a18aa3bd1a2865fbdf9e105f90bd64", size = 3628508 }, + { url = "https://files.pythonhosted.org/packages/0c/f3/aa83315e7157828874e11d027320186075c604145417a626f8e2ac17eed1/obstore-0.5.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:7ea803d81334cffd3ae8baef32688381ed38b8e7d18ff303993a1107379026bb", size = 3661665 }, + { url = "https://files.pythonhosted.org/packages/25/b2/ce9d4b8f38438e44b434a25f7149b0db570d0454ea69b657611493374d1b/obstore-0.5.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c643eaf1dc59de3868469c186447bb7beb01928ed703453656f9407da363a2a4", size = 3644560 }, + { url = "https://files.pythonhosted.org/packages/56/fd/9aeb35bbc48ec187443b0a5e6c48079c5d9fdb784e634abf8467a149257f/obstore-0.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0ebb7b1cff887103f7426c017d2fdaa06cec2cbbc7985c05bba8488f187ef29f", size = 3832737 }, + { url = "https://files.pythonhosted.org/packages/93/54/1ac493bdb92e20201efc6e16915e85a79224400598a4c2e59c7cc93b34f1/obstore-0.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:2a3535c4f47db7d6030e934983cedc493a2673469d600714159cbbe3599d2077", size = 3914922 }, + { url = "https://files.pythonhosted.org/packages/3e/f2/f39000ca20c3b10fd39eb6eeb93df542782a1b523150a95bbd67b15715b6/obstore-0.5.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:572cf3de5b8522143c9f3ff6c6b9d84ad7a2811dd5e20dbd340cf6fb7ac33747", size = 3547133 }, + { url = "https://files.pythonhosted.org/packages/36/10/2c6e37f603a212aea98df694ded976cff87917b8e9cdbaaeb5842dcce6c9/obstore-0.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:98d1fe719ab3e6e55e074ae3656032bde4265daaceac522f6b4cb0328e06bf18", size = 3296371 }, + { url = "https://files.pythonhosted.org/packages/2d/09/e826d254fe46f268f34403924587b64b11d2ac688ea72972c7e900cc3f83/obstore-0.5.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20ed899fa4237b116cc64fb4ca3ea562bfab8b6ada858ec6cc1ef96c6ecba6aa", size = 3431742 }, + { url = "https://files.pythonhosted.org/packages/19/ad/6b4c643580edffa28175525460c67d69e96348d110f928faf610cf68c5e4/obstore-0.5.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2718dabc4b0c054464eb49d23d445eb5782e325bb0c7ff82939e96594f915e46", size = 3562334 }, + { url = "https://files.pythonhosted.org/packages/d0/e2/d93cf2e09d5845f37e09540f50612420d06874995b42965c0d0921e14713/obstore-0.5.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:07e5e8af1785827aa7dda0d576e2d7b64ba5e1a3f97ba4cbfa404c1b4ef251dd", size = 3765216 }, + { url = "https://files.pythonhosted.org/packages/92/a0/7a155963d5468f0f883f0e496173cbd0718dca85bcec875c5924df122063/obstore-0.5.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20e242990c96b20b69f950ca23c0b3491e11d7fe35f37c2cd5d15b5e1acdd883", size = 4636690 }, + { url = "https://files.pythonhosted.org/packages/1a/e4/42b22779d62b1123f277dfc6e38c9dcf89c50caebef1d12658c3968e9dc8/obstore-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84b0db701f5f30fa1dda6316af26717cf172f1e50d72e4129b40ac5b52cb5124", size = 3666716 }, + { url = "https://files.pythonhosted.org/packages/d6/39/9528585d9f444d78f7299bd099c9ede6c146119e81a925a0b59b7623673e/obstore-0.5.1-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:dce09900a85470941ba537baa6825efb069b701f0dfdee460986f4cf3871aa6f", size = 3474266 }, + { url = "https://files.pythonhosted.org/packages/b9/5d/8c06a4fb1fedfb8ee93c9aadeb5e0fbbdc86e0596e2096c8ff476a323bae/obstore-0.5.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9cc6923078e53d364b0f95d5d374605fc753965ae3af1d41139fb94a89a97b40", size = 3633503 }, + { url = "https://files.pythonhosted.org/packages/dc/63/612f54a4eed28ce3f92105081774d148fe33a4ddc1fa671ddc638ffbfddc/obstore-0.5.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:d1cb15c96b45aa0701e4d74469283b2b526413926dcbcf90fb5689f8f2d47ba4", size = 3658564 }, + { url = "https://files.pythonhosted.org/packages/e5/67/c1d15fc73bf2f349eb1338413cb8998f108ede7678f2d4b5c6a80d865ccd/obstore-0.5.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:accc6ddfeb5226ddcb273443449a85bd57d4591b9a3edfff6dff709e251a791c", size = 3645053 }, + { url = "https://files.pythonhosted.org/packages/94/a8/58cc9edee144fc76af05a793ed9c9b5817123ed613e7106cc63adef856d3/obstore-0.5.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:fcbb08af9f1f7427c429d090d47646a78a81074a26cf05a61487331d5115c673", size = 3837871 }, + { url = "https://files.pythonhosted.org/packages/c1/03/a6a00380cae132ac993f529f77c70bcaf2c903052065546cc935d129d59f/obstore-0.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:1d7e074d4be7e6f3830807b72f60340a2346f38fa78d29863b44715ea764fc9c", size = 3903816 }, + { url = "https://files.pythonhosted.org/packages/56/37/9583b9fd5d064fca5b79ad6d14ffef850777d4acfe959046cf4c09c1ff1b/obstore-0.5.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e33eaa154aaf6cda41c9a9817d3396bd8d07eeb5ab84c18fe0f4576b537941c3", size = 3544967 }, + { url = "https://files.pythonhosted.org/packages/58/d6/48aaa13efb753a227a887ad44a85cf1170457d4468eb52f04505df4fa1d3/obstore-0.5.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:060661610e3b08fa15dd4573e0a83b8930fddfb9408cc2838be573076d504c88", size = 3294297 }, + { url = "https://files.pythonhosted.org/packages/af/67/4ea9679946906a3e44b2e147f0b20339e16d6c48492eb6e3907451493bef/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:05c25acbc51676370c3ba08d9b250075c4de785349cabca336812b43b69e764d", size = 3430584 }, + { url = "https://files.pythonhosted.org/packages/2f/ee/1de09e4370da662641b415d5c509c846878a00037b2cbb5049fc55b46001/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f2052c9798dade941284465d47b4453f49fe97f1f28b995edf1783c6701e357", size = 3562276 }, + { url = "https://files.pythonhosted.org/packages/f4/da/cff902cd61482c9c7c03487fada9506a589d206e8ec6ddd581de3684338a/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bf92a5c52edc6ab3bf5a82c23a2ff1c8f2ea2aef1bc99487bd9261a41431c098", size = 3763671 }, + { url = "https://files.pythonhosted.org/packages/55/69/285d50e29b2db7d32be7c1e50ddd9b24452a28cc201c34b386197afe82fc/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59ef16f0a60f19d3245babeb57b92c3ad844cf17f21c0ccb28dd4a025f8df822", size = 4632347 }, + { url = "https://files.pythonhosted.org/packages/c0/d9/b10dc35355a63f5ed524fbd440009068bf138982d47f8ba6480eb1bae073/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32ba0f02f631016ce115a8c357836eed99c21a6f2a45c99c4a10cb58f6a67bf0", size = 3665162 }, + { url = "https://files.pythonhosted.org/packages/32/60/ca3463a74ba216b2d882424220c404a99a7fa756fdf48da37b878cc60a34/obstore-0.5.1-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:8c9864cb441a13ae272c33eb1d50bb34ad5d7a06aa1d29e1fe2283298fba894f", size = 3472352 }, + { url = "https://files.pythonhosted.org/packages/36/81/61bac2be453ed27cf8f518fad1cf74624a3e7ea001ebec9947039b94839b/obstore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9b39b16bbfed3484a76ec099eaa19e9c930989ffd3c4dedac758e5ca468a9849", size = 3631446 }, + { url = "https://files.pythonhosted.org/packages/4e/9d/170de900ab172f108382602d00604d5ed6bac220ef5cc8bc9696423331c1/obstore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:8ce6cf46261445fc687d29c4ce50f3c9019c1ec699a6355fd0aac3e55c600b49", size = 3658051 }, + { url = "https://files.pythonhosted.org/packages/d1/da/d390d73a9c6eff3ebe6684c4e62f9797ce477bb85ba364ea48a203dae626/obstore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:503942196913c52e85ecb4c939620ab95b37ce312e6c0c47b166c9397c7d42db", size = 3644488 }, + { url = "https://files.pythonhosted.org/packages/48/2d/2d112ddafd6f856e8e03192ee514ced0b6094aa7cf57aa3f4717e1e44a37/obstore-0.5.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dfaf0cf7ce3ae3751a2909d11105a59fd509ddfade7106cbe79bd6a98d44580e", size = 3836795 }, ] [[package]]