ValueError: Can't create `geoarrow.types.Crs` from 4326
This might be expected if geoarrow-types hasn't yet updated to the latest support for non-projjson CRS representations in 0.2?
If it's not expected, I can create a more detailed repro. I don't have an easy repro here because passing a crs argument to geoarrow-rust will automatically use pyproj to convert to PROJJSON. In geodatafusion I'm assigning a CRS with SRID 4326 when calling ST_Point(x, y, 4326). You can see my SQL call here: https://github.com/developmentseed/lonboard/blob/751f1a1a3d35d078758f51c4ef422e04dd45bd01/examples/nyc_taxi_trips.py#L137-L138
Traceback (most recent call last):
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/marimo/_output/formatting.py", line 231, in try_format
mimetype, data = formatter(obj)
^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/marimo/_output/formatters/repr_formatters.py", line 107, in f_repr
contents = method()
^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/datafusion/dataframe.py", line 327, in _repr_html_
return self.df._repr_html_()
^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/datafusion/dataframe_formatter.py", line 303, in format_html
html.extend(self._build_table_header(schema))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/datafusion/dataframe_formatter.py", line 379, in _build_table_header
for field in schema:
^^^^^^
File "pyarrow/types.pxi", line 2907, in __iter__
File "pyarrow/types.pxi", line 2903, in pyarrow.lib.Schema.__getitem__
File "pyarrow/types.pxi", line 3209, in pyarrow.lib.Schema._field
File "pyarrow/public-api.pxi", line 185, in pyarrow.lib.pyarrow_wrap_field
File "pyarrow/types.pxi", line 2495, in pyarrow.lib.Field.init
File "pyarrow/public-api.pxi", line 129, in pyarrow.lib.pyarrow_wrap_data_type
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/geoarrow/types/type_pyarrow.py", line 62, in __arrow_ext_deserialize__
return _deserialize_storage(
^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/geoarrow/types/type_pyarrow.py", line 619, in _deserialize_storage
spec = TypeSpec.from_extension_metadata(extension_metadata).with_defaults(spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/geoarrow/types/type_spec.py", line 275, in from_extension_metadata
out_crs = crs.create(metadata["crs"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyle/.cache/uv/archive-v0/N2xYiaCnXio3dQ-xoXvod/lib/python3.12/site-packages/geoarrow/types/crs.py", line 322, in create
raise ValueError(f"Can't create geoarrow.types.Crs from {obj}")
ValueError: Can't create geoarrow.types.Crs from 4326
Thanks! That should definitely work.
In SedonaDB we prefix it with EPSG:4326 (i.e., we only support SRIDs that are EPSG codes, and we make that assumption explicit in the scalar function implementation rather than assume something downstream will interpret it correctly). We also have ST_Crs() and ST_SetCrs() to make it a bit easier to work with non EPSG things.
Hmm, perhaps I should assume that input is always EPSG and assign the CRS as such.
Then I would have:
{"crs_type": "authority_code", "crs": "EPSG:4326"}
I believe currently I'm creating
{"crs_type": "srid", "crs": "4326"}
I can verify this. But is this representation invalid? In terms of the spec there's not much validation around what the crs string should be formatted like here.
Yes, I think that was on purpose (on my part, anyway), to force that assumption to be made explicit. It was added to ensure that when we passed on SRIDs from other specifications where this wasn't explicit (cough, Parquet), we didn't insert any assumptions.
Yes
You're saying yes that is invalid? In the spec or in your implementation, or both?
Is there some spec text we can change to clarify this?
I think that was on purpose (on my part, anyway), to force that assumption to be made explicit. It was added to ensure that when we passed on SRIDs from other specifications where this wasn't explicit (cough, Parquet), we didn't insert any assumptions.
So you're saying we should essentially always use authority_code and EPSG:4326, and essentially never use srid?
Sorry!
- Your example code at the top shouldn't cause that error...any "string" should be propagated by geoarrow-python without erroring. Any "string" is also valid with respect to the spec, although obviously if you put in random stuff it's unlikely to be recognized correctly elsewhere.
- Yes, the specification doesn't say anything about what an SRID is or is not. I think this is the right "spec" language.
- I think for the purposes of your functions, when somebody types ST_SetSRID(geom, 1234), you should set the CRS to
"EPSG:1234"(i.e., resolve and document that assumption in your function rather than assume on an interpretation somewhere else).
Ok, thanks! That's good info.
I'm still trying to ascertain if there's any bug here in geoarrow-types.
crs.create("4326") # StringCrs(4326)
crs.create(4326) # ValueError: Can't create geoarrow.types.Crs from 4326
Perhaps I'm incorrectly saving it as an integer 👀
Ahh! That would make sense. geoarrow-types should still probably handle that even though it's theoreetically out of spec.
Hmm
https://github.com/datafusion-contrib/datafusion-geo/blob/171bdaf31069efe618371249e051e5b8eaa109d1/rust/geodatafusion/src/udf/native/constructors/point.rs#L80-L81 https://github.com/geoarrow/geoarrow-rs/blob/338a08cd2f5f2b35df36453ec3ad6ef031dfb702/rust/geoarrow-schema/src/crs.rs#L101-L107
I sure thought I was saving it as a string.
This crashes the interpreter when trying to access the table schema. (Run with uv run script.py)
# /// script
# requires-python = ">=3.10"
# dependencies = [
# "arro3-core",
# "geoarrow-types",
# "geodatafusion==0.1.1",
# "pyarrow",
# ]
# ///
from __future__ import annotations
import pyarrow as pa
from datafusion import SessionContext
from geoarrow.types.type_pyarrow import register_extension_types
from geodatafusion import register_all
register_extension_types()
ctx = SessionContext()
register_all(ctx)
sql = "SELECT ST_Point(0, 1, 4326) as geom"
df = ctx.sql(sql)
print("converting to pyarrow table")
table = pa.table(df)
print("finished converting to pyarrow table")
print("printing schema:")
print(table.schema)
print("finished printing schema")
But this works just fine when I load it into arro3:
# /// script
# requires-python = ">=3.10"
# dependencies = [
# "arro3-core",
# "geoarrow-types",
# "geodatafusion==0.1.1",
# "pyarrow",
# ]
# ///
from __future__ import annotations
from arro3.core import Table
from datafusion import SessionContext
from geodatafusion import register_all
ctx = SessionContext()
register_all(ctx)
sql = "SELECT ST_Point(0, 1, 4326) as geom"
df = ctx.sql(sql)
print("converting to pyarrow table")
table = Table(df)
print("finished converting to pyarrow table")
print("printing schema:")
print(table.schema)
print("finished printing schema")
print("printing field metadata")
print(table.schema.field(0).metadata_str)
Run with uv run script.py I see:
> uv run geodatafusion_pyarrow_test.py
converting to pyarrow table
finished converting to pyarrow table
printing schema:
arro3.core.Schema
------------
geom: Struct(x Float64, y Float64)
finished printing schema
printing field metadata
{'ARROW:extension:metadata': '{"crs":"4326","crs_type":"srid"}', 'ARROW:extension:name': 'geoarrow.point'}
Is the issue that it should be
{'ARROW:extension:metadata': {"crs":"4326","crs_type":"srid"}, 'ARROW:extension:name': 'geoarrow.point'}
without encoding the JSON as a string?
But the spec says
When GeoArrow-encoded Arrays have the
ARROW:extension:metadatametadata field set, it must be serialized as a UTF-8 encoded JSON object
I think you're doing the right thing here...I bet something funny is going on somewhere you're not in control of (hopefully not geoarrow-c, since theoretically that shouldn't be in play here). With that script I can probably get a backtrace (if the crash is happening in geoarrow-c or pyarrow).
This is happening just with geoarrow-types, where geoarrow-c isn't even a dependency I don't think?
In theory, it's not a dependency!
Just verified it's not. uv lock --script script.py; cat script.py.lock gives the following, and no geoarrow-c
version = 1
revision = 3
requires-python = ">=3.10"
[manifest]
requirements = [
{ name = "arro3-core" },
{ name = "geoarrow-types" },
{ name = "geodatafusion", specifier = "==0.1.1" },
{ name = "pyarrow" },
]
[[package]]
name = "arro3-core"
version = "0.6.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.12'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/08/44/104ec426c1bed146deae8fdf1f9b8aa1fd54872fc05768059e47d642285b/arro3_core-0.6.3.tar.gz", hash = "sha256:5da776dda9ac278d8ae61f6dbc5bc4ce95ac9869d57940938eb10115ce4b8edf", size = 107926, upload-time = "2025-09-17T21:59:52.46Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/5b/75/937519fcdbe7e406f7c8bde0beb8ac22d44df132185e5711c2a25be71f5d/arro3_core-0.6.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cac1cbb57c272293b7f4fb42ae5736103bab0a5ce3fadde47a52adf9f16b0db4", size = 2679224, upload-time = "2025-09-17T21:55:20.842Z" },
{ url = "https://files.pythonhosted.org/packages/bf/9b/9eafd4fbd4c016359e8a4c9870096e35f44f44c928b193b750df69ac52d3/arro3_core-0.6.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ecb1f1c5b83a2e24d2079f70588f4ddeb8409f0080397fb874db45c2da8c52ad", size = 2372219, upload-time = "2025-09-17T21:55:23.099Z" },
{ url = "https://files.pythonhosted.org/packages/89/5a/8f1bc061c5b18e54ff69b2e4270fdc20a217ded411d036a6f80c33fd9dc1/arro3_core-0.6.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:38b53021e6572115b1e066647db8c0d2bf322b8d984e89a10bf216124a60b85a", size = 2875551, upload-time = "2025-09-17T21:55:27.87Z" },
{ url = "https://files.pythonhosted.org/packages/95/da/ddda696d287880cc63e0bbfbe6ada8251de02443a006e0e4c3ec29c001f3/arro3_core-0.6.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:615ba271f72e3d09e6c3996db4a5b7b1fc16fec5dcc49b57e291d7b514327ab7", size = 2886930, upload-time = "2025-09-17T21:55:31.153Z" },
{ url = "https://files.pythonhosted.org/packages/ca/a0/48249d8ed00f67929ba2077b857a4e1d196b3e395f755514ae003d3b4fa3/arro3_core-0.6.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:570b65b6616856a731fa11e39c341142aa626232676edd17cfc4c4234ffa7acc", size = 3115522, upload-time = "2025-09-17T21:55:35.471Z" },
{ url = "https://files.pythonhosted.org/packages/2f/4b/4395b173b3a4f2c2ff18ab9b4b494061fbdf03a654b5facdad5e01387562/arro3_core-0.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c39d2af2106d001be55706c72f1924904f79f4908ddb32e2d57aa0bee66255", size = 2773941, upload-time = "2025-09-17T21:55:38.722Z" },
{ url = "https://files.pythonhosted.org/packages/f9/98/811cef3af0c15a512058423dba80b78f8811bdab3fbf66af8957f16cd6a5/arro3_core-0.6.3-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:76f00bea5439df58f1934f7987e8eae701a2ede52c930df71bf8cc8f1ed6a9d6", size = 2518671, upload-time = "2025-09-17T21:55:41.945Z" },
{ url = "https://files.pythonhosted.org/packages/d8/03/28be52f54d6ab49437e774daa47ea87694fa0de3f96f56c8aad48fee3769/arro3_core-0.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d65dcab157e16f2bf130d80edd261bf712a7e5f52185fd488e53dc19f4ea52", size = 3027914, upload-time = "2025-09-17T21:55:45.427Z" },
{ url = "https://files.pythonhosted.org/packages/24/37/d9281b4a7830209ac1b0594942dca0c1a89a9bf2b3efc862c5cc81c0afc9/arro3_core-0.6.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:877d3ae8d2f5ff5867e7f81047700f54f7124ff1fb5fb9912bfec6abe1a27b41", size = 2664963, upload-time = "2025-09-17T21:55:48.782Z" },
{ url = "https://files.pythonhosted.org/packages/ed/73/0561e00f53a40b4928a7a1a521a3c8291a5b5be387bbe67d9b6d65dfd504/arro3_core-0.6.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1745162a43dbeb9c689f1207e3bfe251a48fb467e455d44be0daaba85aac9b2a", size = 3138808, upload-time = "2025-09-17T21:55:52.336Z" },
{ url = "https://files.pythonhosted.org/packages/58/b8/594b856c9e33d34b35e26cb0e789a7264bf8e44f4a9c45a69403139676da/arro3_core-0.6.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f3715fcdfeb2ded8eeab14a940bf7cf350d5cdea82422982af4e2aea0fdbf866", size = 3101813, upload-time = "2025-09-17T21:55:55.89Z" },
{ url = "https://files.pythonhosted.org/packages/4e/41/6acc5bc6443090176697074fc59eac2d5f4eb32ca727255eab49d7fdc0ac/arro3_core-0.6.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:89f0070cdd259482379275c3eeaddcb7ad5a81a997215304674cf3f9f032899f", size = 2941502, upload-time = "2025-09-17T21:55:59.021Z" },
{ url = "https://files.pythonhosted.org/packages/c3/ae/1ffb462a907d2765c326173112c0b07c5c5c26bda9c698fe75d884f7c3cd/arro3_core-0.6.3-cp310-cp310-win_amd64.whl", hash = "sha256:54e7afc9955e7b409ec79638514580eea518707a90b65d35cb3819363debc88d", size = 2833453, upload-time = "2025-09-17T21:56:02.474Z" },
{ url = "https://files.pythonhosted.org/packages/4e/cd/8e92efdc61501bfd66979837e24b3c4ab63eb7222415c2984e5ab5c5815d/arro3_core-0.6.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:60d1fb6621f7319d489eda5192ad07d198b4d2af2216d81ade05a09ef3f96e1a", size = 2678994, upload-time = "2025-09-17T21:56:05.856Z" },
{ url = "https://files.pythonhosted.org/packages/51/8e/54a59b3e23b3440742f10863d16b23c34aeca56cf6ce54d7d7250203229c/arro3_core-0.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4adb82b6fda667197b9d84d0bb4d9f6557349d4cf950a84813773944d33ced27", size = 2371720, upload-time = "2025-09-17T21:56:09.119Z" },
{ url = "https://files.pythonhosted.org/packages/bb/ce/75f53e0fa120ed440a5ed5b64f6488ec1d9f377bf5c7dfe744bcea6fbc38/arro3_core-0.6.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:18c3f8419d1af70b489ebf5d655f81fcf919174f84367aff3df489b824f22b08", size = 2874192, upload-time = "2025-09-17T21:56:12.18Z" },
{ url = "https://files.pythonhosted.org/packages/1b/56/9e549efcfef137d6c8c42bf5bd2b6eb90edaf355b12734aaff6dfaf1acf9/arro3_core-0.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:234081b9038038fecafa098a7e8d069ba37ab78ccd83d5cd8e843204a42912e4", size = 2887039, upload-time = "2025-09-17T21:56:15.699Z" },
{ url = "https://files.pythonhosted.org/packages/bb/d3/cce00c8dabdb894710922551c8fca2faf1c85e73b452a07502aaec1100d4/arro3_core-0.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9141997dc999eb8a77cefd91a95de4d2958b7b23dc764e33ce37881ea4a7bae6", size = 3124472, upload-time = "2025-09-17T21:56:23.682Z" },
{ url = "https://files.pythonhosted.org/packages/5b/c7/adaa299dc5428f641076f54dd074d6a323a9b2d9cde8e37e3bfe9b16e478/arro3_core-0.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21f95a2176d861f2d767c8d988750ab1f0e13bd12e551e6c1b709470020c2144", size = 2773773, upload-time = "2025-09-17T21:56:26.729Z" },
{ url = "https://files.pythonhosted.org/packages/8b/10/b13b87eb3b9fa9378dc697fa8ec47646cd778f52fa581d49bfdba7893e1e/arro3_core-0.6.3-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:62b7fd6989db16379c22db1c2923bda4eae24ee0905e1610a932dd74cf8ce8d4", size = 2518754, upload-time = "2025-09-17T21:56:30.046Z" },
{ url = "https://files.pythonhosted.org/packages/33/f5/d52689288a4700f7dc3721175f4497f4afd0eba4b9de0b735aec3f0176d2/arro3_core-0.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b11d0b8992c810448a461baff9fcffa64131deb2362105091fce634bc08eb4d9", size = 3027932, upload-time = "2025-09-17T21:56:33.437Z" },
{ url = "https://files.pythonhosted.org/packages/07/a6/31c25e9f056b450e966d18444041e34bcd993da83898125b516882828b43/arro3_core-0.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c0ff853d61fd5bab04b846e21a4d06b2b75a7a2428674d1b16be5ebe27bed64", size = 2664877, upload-time = "2025-09-17T21:56:36.639Z" },
{ url = "https://files.pythonhosted.org/packages/e8/1d/01c18475c2d802907efbe02b1a65386d8ed65b315c9cffec967e81e98ccd/arro3_core-0.6.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:16ab37568859c80da1d24cc2b059aff078511f023ea015329da034df842004b5", size = 3137633, upload-time = "2025-09-17T21:56:39.749Z" },
{ url = "https://files.pythonhosted.org/packages/31/3b/ee1e0224a0561b6a30319b69c79bd9e4c2f12900687223a71f53c788ebfd/arro3_core-0.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ea70271c886e84e837d57027f70888e10cf81f6d9126fbdaa1d9f583e2757bb", size = 3101927, upload-time = "2025-09-17T21:56:43.348Z" },
{ url = "https://files.pythonhosted.org/packages/7d/51/06a43ce42236aaa30e886fc4727ed76bc84f61234d7e9a25cc39b570034f/arro3_core-0.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:64905d36d08a5ae72bd214031b00ea895682f88300183e532834ab15c0a7830b", size = 2941784, upload-time = "2025-09-17T21:56:47.468Z" },
{ url = "https://files.pythonhosted.org/packages/6b/55/be25f89600893d9063770435f40c40af5287942633d8962e4cb63f431956/arro3_core-0.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:896f4368a18f3303f372f9ca4e55348813afe8b3b6ab78d976a2a560d0546e57", size = 2833486, upload-time = "2025-09-17T21:56:50.827Z" },
{ url = "https://files.pythonhosted.org/packages/3d/0a/56fae7e43377e7f3b4d12cf2610600e9dd7bca80178dbedc9d9c25d2c85e/arro3_core-0.6.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:831b16044e791d7bd93aa47ebbdce219ef7e8613a04802149cd61584b236cead", size = 2667943, upload-time = "2025-09-17T21:56:54.157Z" },
{ url = "https://files.pythonhosted.org/packages/3c/d8/589a4a1ef136bca84d7b0c20a82fbfb7526b81611a8407a94c8a82a82212/arro3_core-0.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1ed625996c63443b354fed1c0756dbfa55f3b2cd5adbc4203adbfdb79549d49f", size = 2359479, upload-time = "2025-09-17T21:56:57.364Z" },
{ url = "https://files.pythonhosted.org/packages/79/7f/67729c440e3d1a41e0fea10738328785c5b3e5e78776c985a46f925e2de6/arro3_core-0.6.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a125b1c69b556bf3ad6f5fc31910489c987612c30e160b8634d86f63f53f6099", size = 2869113, upload-time = "2025-09-17T21:57:00.592Z" },
{ url = "https://files.pythonhosted.org/packages/af/29/ec07886805640b5fe7d9d9a1f6ff8286bd43e3a17e76c9c6500f6a7cb2e1/arro3_core-0.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4eaee19aef578340eb1a21358ec74a076730a0034f9201fb8300f68161442da", size = 2884956, upload-time = "2025-09-17T21:57:03.679Z" },
{ url = "https://files.pythonhosted.org/packages/42/36/95006f8ffe9ac402b9fdc30c1219e4b4c84b015a2044a64881665a39d031/arro3_core-0.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d0e3cd65d3d8291a1264f63f4d52fdec6f568b59b251b06da262c04366c4e94", size = 3128632, upload-time = "2025-09-17T21:57:07.424Z" },
{ url = "https://files.pythonhosted.org/packages/8b/68/2e26a8ab469a0c5bcee59a1237c77045a9190ff226d5802ba771ea04213c/arro3_core-0.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace96f1a933b7acc64b66f9f9b2bccac79244c693cdfc74ed7eaef92c05c4db8", size = 2769161, upload-time = "2025-09-17T21:57:10.643Z" },
{ url = "https://files.pythonhosted.org/packages/db/23/36abe2e3c146442fdec5b982fad757002469276e7cf65e8b64dad927129a/arro3_core-0.6.3-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:92d75b1b5e6faaa44aa3e24543e8bfb06703e510d2c98104eae4ef36c234fbd8", size = 2514233, upload-time = "2025-09-17T21:57:14.236Z" },
{ url = "https://files.pythonhosted.org/packages/28/99/467096bea0b81f9bb959e2d399a8dc88886a4f2c20342c26e82ad8bc643b/arro3_core-0.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f222ff4aec28cb10a422bd36d15c947f5b134682bb60c546131c5fdb2f9d75e0", size = 3028860, upload-time = "2025-09-17T21:57:17.905Z" },
{ url = "https://files.pythonhosted.org/packages/40/61/430d9f8006429c9e1e8961aaeb4fd6cd56dc5cf9eb457fd368b9b7428058/arro3_core-0.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:81bbb41244ad6ed9cbf292ed0fa22ce39ac1280cd2062faa80d6d11841517caa", size = 2659640, upload-time = "2025-09-17T21:57:21.114Z" },
{ url = "https://files.pythonhosted.org/packages/02/79/93474994e5babfe9eedbe6f2d3f45b303d9bd0c3729a7a432f1d3db4f99f/arro3_core-0.6.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b7b0295a1b792b62de0110d73e3abc77c54482e0e5bb82e06a3809bdd0c7e5c7", size = 3132602, upload-time = "2025-09-17T21:57:24.596Z" },
{ url = "https://files.pythonhosted.org/packages/87/8d/c750a612aa6c23184d078de3546c3d775ed7fc050e5fbb5752798610f687/arro3_core-0.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5ce2bc0bba2bab845d6974a9bebe7607e8edd273628d71fbe4513e8f28f44622", size = 3099007, upload-time = "2025-09-17T21:57:27.872Z" },
{ url = "https://files.pythonhosted.org/packages/86/d3/7e582fc2e413c26e6dcd993428663db33bbea26be6f3911dcb726768b4d4/arro3_core-0.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed285fba9dab1cebf3bf63a98df83e93d4fd70933d5af1dc24b6164032d845ee", size = 2936878, upload-time = "2025-09-17T21:57:31.193Z" },
{ url = "https://files.pythonhosted.org/packages/9a/13/5aed08d87a396c0b8441871f703ef06c2364d98ef1fbfa73b1c259457212/arro3_core-0.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:a564470bd529facffd71e31e11b8b38cc9ca207745b6349f5923fcd39bf75877", size = 2835145, upload-time = "2025-09-17T21:57:35.296Z" },
{ url = "https://files.pythonhosted.org/packages/a6/27/75f729785396e5780a08b7c63f3f09b0545a718e5a38976d815ccf0c51e2/arro3_core-0.6.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5510c501252212fe6b5427f465019de1d92c9ad8e8d1c0b268ab952b1888d9f7", size = 2667560, upload-time = "2025-09-17T21:57:38.531Z" },
{ url = "https://files.pythonhosted.org/packages/db/c4/d3730b7f4e7f01e502f79966733b4821388c23e7c343483f69dad0f99568/arro3_core-0.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3aa049228302c81b996fb6e5917dd6fe1cb0f0699b69e5031e9e22331379c5b0", size = 2359471, upload-time = "2025-09-17T21:57:41.714Z" },
{ url = "https://files.pythonhosted.org/packages/96/47/f7b0589c9ba7b4d0b09fc363e2b8fd62ab897c81494be2f099647d27df15/arro3_core-0.6.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae4ba5141376c668f8cc5b0607f1e1e23713d1fe922e77f153648aa21739f2de", size = 2867954, upload-time = "2025-09-17T21:57:44.884Z" },
{ url = "https://files.pythonhosted.org/packages/00/13/7a2ed0b27cc0ce265022f338446c0c133ad7f2ccd9746934203728786be4/arro3_core-0.6.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e45fa8a90ef779495b52932eaca374d69b5f0683a3458a66f002a107857f43b4", size = 2884493, upload-time = "2025-09-17T21:57:48.351Z" },
{ url = "https://files.pythonhosted.org/packages/d9/07/d1ada59bb461e0103323cb2096ffa9e0590d8504bd624745ec2d900eeab1/arro3_core-0.6.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b79291b12f3cb3f4538b07770cba15b4013ecebca8e28230ee6f08665e3b8d4e", size = 3128265, upload-time = "2025-09-17T21:57:51.651Z" },
{ url = "https://files.pythonhosted.org/packages/23/fe/3f19abcf6c0fc788df79366e5bfee643f1d0f20493a906e660bc4041f4a0/arro3_core-0.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a450d3904e834ae6a21866538e5ddf43f676a7f3881321835390d061953a98", size = 2768547, upload-time = "2025-09-17T21:57:55.056Z" },
{ url = "https://files.pythonhosted.org/packages/49/3e/b3c2a260c1e2ade25998540a151be37b000849c7d21af068f70d824f9681/arro3_core-0.6.3-cp313-cp313-manylinux_2_24_aarch64.whl", hash = "sha256:02e86a9b932639e6282ef8b5ad6a0d532d1e4909b8c3d36e8a82b8cefa3aa759", size = 2514159, upload-time = "2025-09-17T21:57:58.348Z" },
{ url = "https://files.pythonhosted.org/packages/37/56/fd6bd638be26dccb237d3c51b221b2a6e90ae70749a103a505c05387f05b/arro3_core-0.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b0115eb6a91da54dc00e99d609b37fff460aca1d3e04ffc9a827626938c5fde", size = 3028141, upload-time = "2025-09-17T21:58:01.84Z" },
{ url = "https://files.pythonhosted.org/packages/ef/29/ed5048111de3c8b65a0d4b95bd86859d88efbe9a21d2a3194f01cccd79bf/arro3_core-0.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2c29251db308c087a9bb49a71ea2e921333e8951edecfcc9659cf87a2de237e5", size = 2659264, upload-time = "2025-09-17T21:58:05.259Z" },
{ url = "https://files.pythonhosted.org/packages/d6/2e/69c651cdbc56c250dee8f44ed5a4ec11824be9e9f3513bc0ae0b1824941a/arro3_core-0.6.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:d45a6affb74f20a7c6e049f2abba73e687f6cd674e2cb747e3cfe8a012560fda", size = 3131835, upload-time = "2025-09-17T21:58:08.435Z" },
{ url = "https://files.pythonhosted.org/packages/d0/b6/82947fe4c322ef60315a12023e27048078dcf90967ec2b373687e2f9dfd9/arro3_core-0.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:312d70f7c69436a3eac716995c4fdafe94acf750d0037fa2495936dff8feaa0b", size = 3098165, upload-time = "2025-09-17T21:58:11.875Z" },
{ url = "https://files.pythonhosted.org/packages/1b/05/1ed10598ea96d80d4b2db9f3ac0b19390fe996c8b6f342c40f0fac22115d/arro3_core-0.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d8f8dd075c2f69e36b968bca420cd0c6885f8f877d544a0b6af5872deeb4ab2", size = 2936341, upload-time = "2025-09-17T21:58:15.112Z" },
{ url = "https://files.pythonhosted.org/packages/32/0e/3eadf8cf4be14df1d6c991b094685da9fd605d5727d969640a2d85873e29/arro3_core-0.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:4f69866656e8a2e75495bf8c5ed8138f4ca7169b6532e66f6c7f7e37bd96b21f", size = 2834121, upload-time = "2025-09-17T21:58:18.431Z" },
{ url = "https://files.pythonhosted.org/packages/d3/b8/af4a42a62f808b62f35d5601b1494ddab39585379754d6e87d9c5863fe98/arro3_core-0.6.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:615f5384ee2cc7b30306a91453e7b05dda310cbad7a7f2dc606b3c8ef706ce98", size = 2678187, upload-time = "2025-09-17T21:59:11.639Z" },
{ url = "https://files.pythonhosted.org/packages/bc/cb/493c1dff23830e14407425b94139475e05ad566e451ddde775f0c50466fb/arro3_core-0.6.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:183cac8d4909536ccdbc6a56be800afe96272289a6ac5547177403ec7d7ff1ff", size = 2370497, upload-time = "2025-09-17T21:59:15.414Z" },
{ url = "https://files.pythonhosted.org/packages/72/38/46ff4340c92071a265a48f2cc4089d6da2a6ad7763fe8845677ed79acc5f/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3b1bf6d96cc906c00bebb4165b6da1bed61dcdca051e0a084b3799d185aeab0", size = 2874173, upload-time = "2025-09-17T21:59:18.788Z" },
{ url = "https://files.pythonhosted.org/packages/ef/92/ff15e892a6c306ee78eb0018e7a27f9eb8ab2ddbe41d106a6d353f0e6e8c/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cea24982f6e5bd6cb5f7df6acaad8a585262376c1c633454136316187098fcb7", size = 2886020, upload-time = "2025-09-17T21:59:22.332Z" },
{ url = "https://files.pythonhosted.org/packages/58/7d/b582ad6461197b37cf8ddd5e37988232186363b774bc5048120bf7b351a1/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cf641982e1e6213c5ad62c2d4b7bfc27e972f363e00fbf3983c298ec6dad5887", size = 3114794, upload-time = "2025-09-17T21:59:26.838Z" },
{ url = "https://files.pythonhosted.org/packages/6b/14/d10a204e71861d6d595b254d4ddff1a6448c02b0f05ebf68b3a96ca36f3e/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f33a5ab3203ff4884e84c1a3ea01e4f749603a6070d8bedc29044b57253afc62", size = 2773685, upload-time = "2025-09-17T21:59:30.411Z" },
{ url = "https://files.pythonhosted.org/packages/e2/2b/a749b4103d5975fa187db5d72912a55a20470df1910c5549f893d1c13fc0/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:fdb8e17c31582b36303288c9516491c5e2e4d50c6ede437cc5a2d048065ef500", size = 2518737, upload-time = "2025-09-17T21:59:33.666Z" },
{ url = "https://files.pythonhosted.org/packages/74/83/e36c3c0e03aa4550f021dc16c20d39ab91f36c73d36536425d6e76890e29/arro3_core-0.6.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dd7d9ca69880cc92bf71c37f43cdb5aac8681c014a512f2c27088015b7adac61", size = 3027924, upload-time = "2025-09-17T21:59:37.493Z" },
{ url = "https://files.pythonhosted.org/packages/a6/70/c4f78e9bd128a4b6aa479cb24f398d79735630ae45d902c8df608951f690/arro3_core-0.6.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a6a52556b76e7dabd0a3bbd9c556e366c93e6b1ae9dcdf7f454f439ce3296d24", size = 2664871, upload-time = "2025-09-17T21:59:40.76Z" },
{ url = "https://files.pythonhosted.org/packages/6a/f7/40711fbd308d568cfa6cd882259769aebfed4dfbb580fe77e047e50f3a2b/arro3_core-0.6.3-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:3db782df72e7ccd9688fa1ff2f504261f9f346c29219d0c165791ca1d3fa35de", size = 3137750, upload-time = "2025-09-17T21:59:44.198Z" },
{ url = "https://files.pythonhosted.org/packages/2c/0a/b03c4b936ec3a93047226cdcdda7dc96362f332c56133777c9fa8139d206/arro3_core-0.6.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:ded38b6092f16e7e7f90c3879586ea76e3651e967e9fd4db7e604f435c9fdaa5", size = 3101734, upload-time = "2025-09-17T21:59:48.003Z" },
{ url = "https://files.pythonhosted.org/packages/5e/17/70a3596f7f4124113f4b8938c0f4c339f29e792a177ea3ef3b12ebc84da5/arro3_core-0.6.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8ff145b5556c07cd1968c428e57e3234dd71c258bc45e78e802bbae509c4d54b", size = 2941071, upload-time = "2025-09-17T21:59:50.575Z" },
]
[[package]]
name = "datafusion"
version = "49.0.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pyarrow" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/1b/81/eb7f69e184eba6f8fc748f09aa6ac39a50a4aa54e66e1529769d68d7c9e4/datafusion-49.0.0.tar.gz", hash = "sha256:f3ba4f00d56a199a90df145f43667131dbba9aea9b170cc61cd3663241a74a94", size = 183558, upload-time = "2025-08-29T01:39:45.889Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/02/16/a1438058d784deea42105b869323007cf9dd8a52dbb4551a9ef23967a235/datafusion-49.0.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bb419810c7b1032ec4a374260d289279c5911e3fcdcfb57c9513b6d256fe0330", size = 26455326, upload-time = "2025-08-29T01:39:19.759Z" },
{ url = "https://files.pythonhosted.org/packages/83/8d/d906b27b61838002b1cf0880eaa75c741409f0f6386192f2fabee24684af/datafusion-49.0.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:95d82ceda75767714629c1b5572a41bc919066156163d1ca3777418ffdbf4916", size = 23623419, upload-time = "2025-08-29T01:39:26.613Z" },
{ url = "https://files.pythonhosted.org/packages/66/4e/2a113bef5e51e56f7273f193959a80e4abd48a2ff6856cfa219dbba85600/datafusion-49.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e093a8d8cc68bf48376c2f553dcec35829be3ea2c9557516fcf93d2bf4695593", size = 29392602, upload-time = "2025-08-29T01:39:32.053Z" },
{ url = "https://files.pythonhosted.org/packages/ea/80/f49809e61f28343f303059572d9fdfedcb6f08653f34c057c2018d98ab5e/datafusion-49.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7e9286f92f9f292a57873f8b83f10796decba98f4c022e92d929511f68e2d79a", size = 27505100, upload-time = "2025-08-29T01:39:36.398Z" },
{ url = "https://files.pythonhosted.org/packages/f6/d7/54f1d73a9e8b084965ea40531988ca25e57f7f5c77560e198483b1c7bf25/datafusion-49.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:2079a2ec6e73820a21d6f8d466a1410a94f8ef3171eba2cd2461790fc0437c91", size = 28352189, upload-time = "2025-08-29T01:39:43.546Z" },
]
[[package]]
name = "geoarrow-types"
version = "0.3.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/a5/97/fa35f5d13a803b8f16e59c1f18f06607b9df5683c08bd7cd7a48a29ce988/geoarrow_types-0.3.0.tar.gz", hash = "sha256:82243e4be88b268fa978ae5bba6c6680c3556735e795965b2fe3e6fbfea9f9ee", size = 23708, upload-time = "2025-05-27T03:39:39.979Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/b6/16/e37cb1b0894c9cf3f9b1c50ebcfab56a0d9fe7c3b6f97d5680a7eb27ca08/geoarrow_types-0.3.0-py3-none-any.whl", hash = "sha256:439df6101632080442beccc7393cac54d6c7f6965da897554349e94d2492f613", size = 19025, upload-time = "2025-05-27T03:39:38.652Z" },
]
[[package]]
name = "geodatafusion"
version = "0.1.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "datafusion" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/60/3e/9ef4f135437b9eedae73f13b97ef59e96839db906f9e20407c9d5d8ed9bf/geodatafusion-0.1.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:5ba50701d4b78abaca14d2d6fb33c234f6494b6f207f2d3e3ab290b756bc55ec", size = 28530074, upload-time = "2025-09-15T05:45:32.659Z" },
{ url = "https://files.pythonhosted.org/packages/ce/00/1135df86d248cd84df01cd0eca160779839b3ab19f36086448ad9a874f54/geodatafusion-0.1.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:de2320b1263f920cd4ba6d6b3529c5530eba4bf528e10ab421559d1c46e28c2c", size = 26274401, upload-time = "2025-09-15T05:45:29.419Z" },
{ url = "https://files.pythonhosted.org/packages/11/61/3f419848d70c8459cc36e9131199ec7e380ceb0641e3c733041051080c21/geodatafusion-0.1.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ed1be20aaa5f7b05f68c78534db38c15c9dbf617e0ffccc6c4b03631e933080", size = 30155603, upload-time = "2025-09-15T05:45:01.693Z" },
{ url = "https://files.pythonhosted.org/packages/30/ad/64aada98741467d63ed39b1e0ec9c77fe5cca49adfd1a3ba69a7e7d66947/geodatafusion-0.1.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:537b2d19a0ba32c8b9ca2289745ff2729f388b6f386c7493f556e92b89d7277e", size = 33762357, upload-time = "2025-09-15T05:45:15.868Z" },
{ url = "https://files.pythonhosted.org/packages/fb/4e/68afb522171f2eb79ca31a6a5dd02364c9e71fe8abb492804344ce5d7766/geodatafusion-0.1.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9c01cb04644d60f82083667589dca8e5ada3400d16afb5976537c100ae76085", size = 36528469, upload-time = "2025-09-15T05:45:08.755Z" },
{ url = "https://files.pythonhosted.org/packages/c4/6a/154eb1bb3736f5d22ccf7596a2df9440bed813dcb4188b8efc1e5f415af4/geodatafusion-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:112bae9682f3419a4a5888152cfd0dfb2f4795ab1763c5aa7761f2c31fb92aed", size = 30501886, upload-time = "2025-09-15T05:45:22.645Z" },
{ url = "https://files.pythonhosted.org/packages/71/3d/b5152e4e24874a10f56d0babb05e277e9695811cac9912e742d3d8ee03ed/geodatafusion-0.1.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:26511e03bf93f7695b3c25e6dac6c8b4a8bc30401a81d4dfa5d63cce15ce6aef", size = 29066422, upload-time = "2025-09-15T05:44:54.794Z" },
{ url = "https://files.pythonhosted.org/packages/bf/d1/12ea9a604a2ec5df2053bbb1c328e02bd48a623865350e8f7ffd680dd449/geodatafusion-0.1.1-cp39-abi3-win_amd64.whl", hash = "sha256:dbbfaff31d26d28566441d268ca462b4c52a8ce78ad1c180130a7db4c118747e", size = 26681481, upload-time = "2025-09-15T05:45:36.044Z" },
{ url = "https://files.pythonhosted.org/packages/1b/22/799d268b1f7a9fcd687fc89ce602fa0dc8b6a98d48b633d202d672ed704a/geodatafusion-0.1.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d20d9d7d6b365df9f790940bc81eee39d85abe924c3df7ff87ab3149c426b984", size = 30144129, upload-time = "2025-09-15T05:45:04.902Z" },
{ url = "https://files.pythonhosted.org/packages/6a/5d/4e52b6a46e78a49e42aab99b53b8eeb237cf73dd285ca4354114303127b2/geodatafusion-0.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9a61e29aceaaaaf8b7b03dfe0c0824e2ab348509d039ea562d7e6936bf8b7c", size = 33757068, upload-time = "2025-09-15T05:45:19.505Z" },
{ url = "https://files.pythonhosted.org/packages/f7/cf/3fccc3d36db7d695d25d5a279139aad7bafa22fc5eb321ec19f3eb14dbd7/geodatafusion-0.1.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38274d703c0d403e6b6aadf392c8d39aa31edc114b590b07e8d40c349a5479fe", size = 36521785, upload-time = "2025-09-15T05:45:12.562Z" },
{ url = "https://files.pythonhosted.org/packages/70/5e/ed2f404e384b6d807ac25bedfee592807ea8f060b5e58b682021d0cbbd7a/geodatafusion-0.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:888b2d05a585b2c94846198da5e059ca1f69fc7d2263cbf07cfa7577b577260f", size = 30494275, upload-time = "2025-09-15T05:45:25.963Z" },
{ url = "https://files.pythonhosted.org/packages/0e/f3/e36350c7b57e7f020f442db77c583e158f7f5287f0de5274aa4240302461/geodatafusion-0.1.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:633c604eb2cd400e74ffd4b2321066575715dde0cae0ac716ee419fdcc182bf3", size = 29057512, upload-time = "2025-09-15T05:44:58.311Z" },
]
[[package]]
name = "pyarrow"
version = "21.0.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/ef/c2/ea068b8f00905c06329a3dfcd40d0fcc2b7d0f2e355bdb25b65e0a0e4cd4/pyarrow-21.0.0.tar.gz", hash = "sha256:5051f2dccf0e283ff56335760cbc8622cf52264d67e359d5569541ac11b6d5bc", size = 1133487, upload-time = "2025-07-18T00:57:31.761Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/17/d9/110de31880016e2afc52d8580b397dbe47615defbf09ca8cf55f56c62165/pyarrow-21.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e563271e2c5ff4d4a4cbeb2c83d5cf0d4938b891518e676025f7268c6fe5fe26", size = 31196837, upload-time = "2025-07-18T00:54:34.755Z" },
{ url = "https://files.pythonhosted.org/packages/df/5f/c1c1997613abf24fceb087e79432d24c19bc6f7259cab57c2c8e5e545fab/pyarrow-21.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:fee33b0ca46f4c85443d6c450357101e47d53e6c3f008d658c27a2d020d44c79", size = 32659470, upload-time = "2025-07-18T00:54:38.329Z" },
{ url = "https://files.pythonhosted.org/packages/3e/ed/b1589a777816ee33ba123ba1e4f8f02243a844fed0deec97bde9fb21a5cf/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:7be45519b830f7c24b21d630a31d48bcebfd5d4d7f9d3bdb49da9cdf6d764edb", size = 41055619, upload-time = "2025-07-18T00:54:42.172Z" },
{ url = "https://files.pythonhosted.org/packages/44/28/b6672962639e85dc0ac36f71ab3a8f5f38e01b51343d7aa372a6b56fa3f3/pyarrow-21.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:26bfd95f6bff443ceae63c65dc7e048670b7e98bc892210acba7e4995d3d4b51", size = 42733488, upload-time = "2025-07-18T00:54:47.132Z" },
{ url = "https://files.pythonhosted.org/packages/f8/cc/de02c3614874b9089c94eac093f90ca5dfa6d5afe45de3ba847fd950fdf1/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bd04ec08f7f8bd113c55868bd3fc442a9db67c27af098c5f814a3091e71cc61a", size = 43329159, upload-time = "2025-07-18T00:54:51.686Z" },
{ url = "https://files.pythonhosted.org/packages/a6/3e/99473332ac40278f196e105ce30b79ab8affab12f6194802f2593d6b0be2/pyarrow-21.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9b0b14b49ac10654332a805aedfc0147fb3469cbf8ea951b3d040dab12372594", size = 45050567, upload-time = "2025-07-18T00:54:56.679Z" },
{ url = "https://files.pythonhosted.org/packages/7b/f5/c372ef60593d713e8bfbb7e0c743501605f0ad00719146dc075faf11172b/pyarrow-21.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:9d9f8bcb4c3be7738add259738abdeddc363de1b80e3310e04067aa1ca596634", size = 26217959, upload-time = "2025-07-18T00:55:00.482Z" },
{ url = "https://files.pythonhosted.org/packages/94/dc/80564a3071a57c20b7c32575e4a0120e8a330ef487c319b122942d665960/pyarrow-21.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c077f48aab61738c237802836fc3844f85409a46015635198761b0d6a688f87b", size = 31243234, upload-time = "2025-07-18T00:55:03.812Z" },
{ url = "https://files.pythonhosted.org/packages/ea/cc/3b51cb2db26fe535d14f74cab4c79b191ed9a8cd4cbba45e2379b5ca2746/pyarrow-21.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:689f448066781856237eca8d1975b98cace19b8dd2ab6145bf49475478bcaa10", size = 32714370, upload-time = "2025-07-18T00:55:07.495Z" },
{ url = "https://files.pythonhosted.org/packages/24/11/a4431f36d5ad7d83b87146f515c063e4d07ef0b7240876ddb885e6b44f2e/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:479ee41399fcddc46159a551705b89c05f11e8b8cb8e968f7fec64f62d91985e", size = 41135424, upload-time = "2025-07-18T00:55:11.461Z" },
{ url = "https://files.pythonhosted.org/packages/74/dc/035d54638fc5d2971cbf1e987ccd45f1091c83bcf747281cf6cc25e72c88/pyarrow-21.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:40ebfcb54a4f11bcde86bc586cbd0272bac0d516cfa539c799c2453768477569", size = 42823810, upload-time = "2025-07-18T00:55:16.301Z" },
{ url = "https://files.pythonhosted.org/packages/2e/3b/89fced102448a9e3e0d4dded1f37fa3ce4700f02cdb8665457fcc8015f5b/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8d58d8497814274d3d20214fbb24abcad2f7e351474357d552a8d53bce70c70e", size = 43391538, upload-time = "2025-07-18T00:55:23.82Z" },
{ url = "https://files.pythonhosted.org/packages/fb/bb/ea7f1bd08978d39debd3b23611c293f64a642557e8141c80635d501e6d53/pyarrow-21.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:585e7224f21124dd57836b1530ac8f2df2afc43c861d7bf3d58a4870c42ae36c", size = 45120056, upload-time = "2025-07-18T00:55:28.231Z" },
{ url = "https://files.pythonhosted.org/packages/6e/0b/77ea0600009842b30ceebc3337639a7380cd946061b620ac1a2f3cb541e2/pyarrow-21.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:555ca6935b2cbca2c0e932bedd853e9bc523098c39636de9ad4693b5b1df86d6", size = 26220568, upload-time = "2025-07-18T00:55:32.122Z" },
{ url = "https://files.pythonhosted.org/packages/ca/d4/d4f817b21aacc30195cf6a46ba041dd1be827efa4a623cc8bf39a1c2a0c0/pyarrow-21.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3a302f0e0963db37e0a24a70c56cf91a4faa0bca51c23812279ca2e23481fccd", size = 31160305, upload-time = "2025-07-18T00:55:35.373Z" },
{ url = "https://files.pythonhosted.org/packages/a2/9c/dcd38ce6e4b4d9a19e1d36914cb8e2b1da4e6003dd075474c4cfcdfe0601/pyarrow-21.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:b6b27cf01e243871390474a211a7922bfbe3bda21e39bc9160daf0da3fe48876", size = 32684264, upload-time = "2025-07-18T00:55:39.303Z" },
{ url = "https://files.pythonhosted.org/packages/4f/74/2a2d9f8d7a59b639523454bec12dba35ae3d0a07d8ab529dc0809f74b23c/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:e72a8ec6b868e258a2cd2672d91f2860ad532d590ce94cdf7d5e7ec674ccf03d", size = 41108099, upload-time = "2025-07-18T00:55:42.889Z" },
{ url = "https://files.pythonhosted.org/packages/ad/90/2660332eeb31303c13b653ea566a9918484b6e4d6b9d2d46879a33ab0622/pyarrow-21.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b7ae0bbdc8c6674259b25bef5d2a1d6af5d39d7200c819cf99e07f7dfef1c51e", size = 42829529, upload-time = "2025-07-18T00:55:47.069Z" },
{ url = "https://files.pythonhosted.org/packages/33/27/1a93a25c92717f6aa0fca06eb4700860577d016cd3ae51aad0e0488ac899/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:58c30a1729f82d201627c173d91bd431db88ea74dcaa3885855bc6203e433b82", size = 43367883, upload-time = "2025-07-18T00:55:53.069Z" },
{ url = "https://files.pythonhosted.org/packages/05/d9/4d09d919f35d599bc05c6950095e358c3e15148ead26292dfca1fb659b0c/pyarrow-21.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:072116f65604b822a7f22945a7a6e581cfa28e3454fdcc6939d4ff6090126623", size = 45133802, upload-time = "2025-07-18T00:55:57.714Z" },
{ url = "https://files.pythonhosted.org/packages/71/30/f3795b6e192c3ab881325ffe172e526499eb3780e306a15103a2764916a2/pyarrow-21.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:cf56ec8b0a5c8c9d7021d6fd754e688104f9ebebf1bf4449613c9531f5346a18", size = 26203175, upload-time = "2025-07-18T00:56:01.364Z" },
{ url = "https://files.pythonhosted.org/packages/16/ca/c7eaa8e62db8fb37ce942b1ea0c6d7abfe3786ca193957afa25e71b81b66/pyarrow-21.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e99310a4ebd4479bcd1964dff9e14af33746300cb014aa4a3781738ac63baf4a", size = 31154306, upload-time = "2025-07-18T00:56:04.42Z" },
{ url = "https://files.pythonhosted.org/packages/ce/e8/e87d9e3b2489302b3a1aea709aaca4b781c5252fcb812a17ab6275a9a484/pyarrow-21.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:d2fe8e7f3ce329a71b7ddd7498b3cfac0eeb200c2789bd840234f0dc271a8efe", size = 32680622, upload-time = "2025-07-18T00:56:07.505Z" },
{ url = "https://files.pythonhosted.org/packages/84/52/79095d73a742aa0aba370c7942b1b655f598069489ab387fe47261a849e1/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f522e5709379d72fb3da7785aa489ff0bb87448a9dc5a75f45763a795a089ebd", size = 41104094, upload-time = "2025-07-18T00:56:10.994Z" },
{ url = "https://files.pythonhosted.org/packages/89/4b/7782438b551dbb0468892a276b8c789b8bbdb25ea5c5eb27faadd753e037/pyarrow-21.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:69cbbdf0631396e9925e048cfa5bce4e8c3d3b41562bbd70c685a8eb53a91e61", size = 42825576, upload-time = "2025-07-18T00:56:15.569Z" },
{ url = "https://files.pythonhosted.org/packages/b3/62/0f29de6e0a1e33518dec92c65be0351d32d7ca351e51ec5f4f837a9aab91/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:731c7022587006b755d0bdb27626a1a3bb004bb56b11fb30d98b6c1b4718579d", size = 43368342, upload-time = "2025-07-18T00:56:19.531Z" },
{ url = "https://files.pythonhosted.org/packages/90/c7/0fa1f3f29cf75f339768cc698c8ad4ddd2481c1742e9741459911c9ac477/pyarrow-21.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dc56bc708f2d8ac71bd1dcb927e458c93cec10b98eb4120206a4091db7b67b99", size = 45131218, upload-time = "2025-07-18T00:56:23.347Z" },
{ url = "https://files.pythonhosted.org/packages/01/63/581f2076465e67b23bc5a37d4a2abff8362d389d29d8105832e82c9c811c/pyarrow-21.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:186aa00bca62139f75b7de8420f745f2af12941595bbbfa7ed3870ff63e25636", size = 26087551, upload-time = "2025-07-18T00:56:26.758Z" },
{ url = "https://files.pythonhosted.org/packages/c9/ab/357d0d9648bb8241ee7348e564f2479d206ebe6e1c47ac5027c2e31ecd39/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:a7a102574faa3f421141a64c10216e078df467ab9576684d5cd696952546e2da", size = 31290064, upload-time = "2025-07-18T00:56:30.214Z" },
{ url = "https://files.pythonhosted.org/packages/3f/8a/5685d62a990e4cac2043fc76b4661bf38d06efed55cf45a334b455bd2759/pyarrow-21.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:1e005378c4a2c6db3ada3ad4c217b381f6c886f0a80d6a316fe586b90f77efd7", size = 32727837, upload-time = "2025-07-18T00:56:33.935Z" },
{ url = "https://files.pythonhosted.org/packages/fc/de/c0828ee09525c2bafefd3e736a248ebe764d07d0fd762d4f0929dbc516c9/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:65f8e85f79031449ec8706b74504a316805217b35b6099155dd7e227eef0d4b6", size = 41014158, upload-time = "2025-07-18T00:56:37.528Z" },
{ url = "https://files.pythonhosted.org/packages/6e/26/a2865c420c50b7a3748320b614f3484bfcde8347b2639b2b903b21ce6a72/pyarrow-21.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:3a81486adc665c7eb1a2bde0224cfca6ceaba344a82a971ef059678417880eb8", size = 42667885, upload-time = "2025-07-18T00:56:41.483Z" },
{ url = "https://files.pythonhosted.org/packages/0a/f9/4ee798dc902533159250fb4321267730bc0a107d8c6889e07c3add4fe3a5/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:fc0d2f88b81dcf3ccf9a6ae17f89183762c8a94a5bdcfa09e05cfe413acf0503", size = 43276625, upload-time = "2025-07-18T00:56:48.002Z" },
{ url = "https://files.pythonhosted.org/packages/5a/da/e02544d6997037a4b0d22d8e5f66bc9315c3671371a8b18c79ade1cefe14/pyarrow-21.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6299449adf89df38537837487a4f8d3bd91ec94354fdd2a7d30bc11c48ef6e79", size = 44951890, upload-time = "2025-07-18T00:56:52.568Z" },
{ url = "https://files.pythonhosted.org/packages/e5/4e/519c1bc1876625fe6b71e9a28287c43ec2f20f73c658b9ae1d485c0c206e/pyarrow-21.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:222c39e2c70113543982c6b34f3077962b44fca38c0bd9e68bb6781534425c10", size = 26371006, upload-time = "2025-07-18T00:56:56.379Z" },
]
[[package]]
name = "typing-extensions"
version = "4.15.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
]