pyogrio 0.7.1__cp310-cp310-win_amd64.whl → 0.7.2__cp310-cp310-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyogrio might be problematic. Click here for more details.

Binary file
Binary file
pyogrio/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2023-10-26T15:56:41-0700",
11
+ "date": "2023-10-30T11:39:03-0700",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "97d9dee48584208ccbb479b87d58ec1eb92b3f9c",
15
- "version": "0.7.1"
14
+ "full-revisionid": "71acde57ef674c8622d17b29663ff4349b1fee6e",
15
+ "version": "0.7.2"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
pyogrio/geopandas.py CHANGED
@@ -2,7 +2,7 @@ import os
2
2
 
3
3
  import numpy as np
4
4
 
5
- from pyogrio._compat import HAS_GEOPANDAS, PANDAS_GE_20
5
+ from pyogrio._compat import HAS_GEOPANDAS, PANDAS_GE_15, PANDAS_GE_20
6
6
  from pyogrio.raw import (
7
7
  DRIVERS_NO_MIXED_SINGLE_MULTI,
8
8
  DRIVERS_NO_MIXED_DIMENSIONS,
@@ -275,7 +275,11 @@ def read_dataframe(
275
275
  # Index not asked, no geometry column and no attribute columns: return empty
276
276
  return pd.DataFrame()
277
277
  elif geometry_name in df.columns:
278
- df["geometry"] = from_wkb(df.pop(geometry_name), crs=meta["crs"])
278
+ wkb_values = df.pop(geometry_name)
279
+ if PANDAS_GE_15 and wkb_values.dtype != object:
280
+ # for example ArrowDtype will otherwise create numpy array with pd.NA
281
+ wkb_values = wkb_values.to_numpy(na_value=None)
282
+ df["geometry"] = from_wkb(wkb_values, crs=meta["crs"])
279
283
  if force_2d:
280
284
  df["geometry"] = shapely.force_2d(df["geometry"])
281
285
  return gp.GeoDataFrame(df, geometry="geometry")
@@ -17,6 +17,7 @@ from pyogrio.tests.conftest import (
17
17
  requires_arrow_api,
18
18
  requires_gdal_geos,
19
19
  )
20
+ from pyogrio._compat import PANDAS_GE_15
20
21
 
21
22
  try:
22
23
  import pandas as pd
@@ -1442,3 +1443,26 @@ def test_metadata_unsupported(tmpdir, naturalearth_lowres, metadata_type):
1442
1443
  metadata_key = "layer_metadata" if metadata_type == "metadata" else metadata_type
1443
1444
 
1444
1445
  assert read_info(filename)[metadata_key] is None
1446
+
1447
+
1448
+ @pytest.mark.skipif(not PANDAS_GE_15, reason="ArrowDtype requires pandas 1.5+")
1449
+ def test_read_dataframe_arrow_dtypes(tmp_path):
1450
+ # https://github.com/geopandas/pyogrio/issues/319 - ensure arrow binary
1451
+ # column can be converted with from_wkb in case of missing values
1452
+ pytest.importorskip("pyarrow")
1453
+ filename = tmp_path / "test.gpkg"
1454
+ df = gp.GeoDataFrame(
1455
+ {"col": [1.0, 2.0]}, geometry=[Point(1, 1), None], crs="EPSG:4326"
1456
+ )
1457
+ write_dataframe(df, filename)
1458
+
1459
+ result = read_dataframe(
1460
+ filename,
1461
+ use_arrow=True,
1462
+ arrow_to_pandas_kwargs={
1463
+ "types_mapper": lambda pa_dtype: pd.ArrowDtype(pa_dtype)
1464
+ },
1465
+ )
1466
+ assert isinstance(result["col"].dtype, pd.ArrowDtype)
1467
+ result["col"] = result["col"].astype("float64")
1468
+ assert_geodataframe_equal(result, df)
pyogrio/util.py CHANGED
@@ -2,6 +2,8 @@ import re
2
2
  import sys
3
3
  from urllib.parse import urlparse
4
4
 
5
+ from packaging.version import Version
6
+
5
7
  from pyogrio._env import GDALEnv
6
8
 
7
9
  with GDALEnv():
@@ -187,7 +189,7 @@ def _mask_to_wkb(mask):
187
189
  try:
188
190
  import shapely
189
191
 
190
- if int(shapely.__version__.split(".")[0]) < 2:
192
+ if Version(shapely.__version__) < Version("2.0.0"):
191
193
  shapely = None
192
194
  except ImportError:
193
195
  shapely = None
@@ -0,0 +1,2 @@
1
+ Version: 1.5.1
2
+ Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-4zvxj8ir\\cp310-win_amd64\\build\\venv\\Scripts\\delvewheel', 'repair', '--add-path', 'C:/vcpkg/installed/x64-windows-dynamic-release/bin', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-4zvxj8ir\\cp310-win_amd64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-4zvxj8ir\\cp310-win_amd64\\built_wheel\\pyogrio-0.7.2-cp310-cp310-win_amd64.whl']
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyogrio
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Vectorized spatial vector file format I/O using GDAL/OGR
5
5
  Home-page: https://github.com/geopandas/pyogrio
6
6
  Author: Brendan C. Ward
@@ -11,6 +11,7 @@ Description-Content-Type: text/markdown
11
11
  License-File: LICENSE
12
12
  Requires-Dist: certifi
13
13
  Requires-Dist: numpy
14
+ Requires-Dist: packaging
14
15
  Provides-Extra: benchmark
15
16
  Requires-Dist: pytest-benchmark ; extra == 'benchmark'
16
17
  Provides-Extra: dev
@@ -1,28 +1,28 @@
1
1
  pyogrio/arrow_bridge.h,sha256=EfWAiMO2rssy2SA5sMiApGWvmIFp_1YQA1Q3D9wCy6w,3688
2
2
  pyogrio/core.py,sha256=gqpACOruAauWqc5ziz8aWxU-oyvdUSfmT5yNutlX7rk,11001
3
3
  pyogrio/errors.py,sha256=EUpf5UaLuzB6mybXfZ21F-2AfC9GWPYTGjRST6AIPEM,698
4
- pyogrio/geopandas.py,sha256=ntJXY4mgytuAs0nMlJoxRgMKGuP_FhXz1ec0M6DbqMM,24151
4
+ pyogrio/geopandas.py,sha256=pzHrzZAIToRCbQhMvoS6Tcn5beBUMJF8PJ20EtF597Y,24415
5
5
  pyogrio/raw.py,sha256=c0hcxxLNjdl1LCV-9OcmGCaLm06-8J3RyOZV8XS_U-g,19108
6
- pyogrio/util.py,sha256=kQN8-iF5-Xb-4cyz1a7ePVR0USiTEoQZ2H2e8P2Wk1k,5090
7
- pyogrio/_compat.py,sha256=ZiXEYUrSQoYfzjUJxriH64-PpqVMN6dKLQkKQ_95xJU,765
6
+ pyogrio/util.py,sha256=ajIYzeZSNmwLk_auwIZGq2zbhgBUh4cn6xythhRWiuY,5136
7
+ pyogrio/_compat.py,sha256=mRTmqgoAa3FwqZnnrqVslPD_quMwC3d3K-xOr5bhiy4,852
8
8
  pyogrio/_env.py,sha256=Sl9xkpcMi-b2jxR0L8rMFKW15eESFb1HBEIxzQvXX_E,1592
9
9
  pyogrio/_err.c,sha256=5sEthM6DG7Ge1QKNkbVsGUWu-EsehRh8ISVUa7IAAOk,433292
10
- pyogrio/_err.cp310-win_amd64.pyd,sha256=tzKp-aWk_y2UTQQL6G46-DuuzWt3P397lCU0A-S_ghs,74752
10
+ pyogrio/_err.cp310-win_amd64.pyd,sha256=lQaXwA5zTALHI_kIzGVSZ3wsR5ZvfcomA3povwQTP28,74752
11
11
  pyogrio/_err.pxd,sha256=Qxp418g6T9MPmpUZJR9rhr31NZwI4pu-9hFH7aaj59w,170
12
12
  pyogrio/_err.pyx,sha256=1ftE4lFtf2ouigZz-RJHjyYZaq3akpcjvxH9I10VsLo,6223
13
13
  pyogrio/_geometry.c,sha256=tDmK6Hitw6kgZDFwisjTkX3WR3Yk32ZMygHW3CpUBSs,331842
14
- pyogrio/_geometry.cp310-win_amd64.pyd,sha256=UKN4gaqE8BBT2xxd7jeoXBVM18pjuXgXTqk7gFXbpJI,51712
14
+ pyogrio/_geometry.cp310-win_amd64.pyd,sha256=3R8MRUbNasvyueez2KcyHUR8ExGIooZAc5dp2WaMDx0,51712
15
15
  pyogrio/_geometry.pxd,sha256=mm6aPgDYvlDI79K0leMtDBGTqaRdlBH8pzg2v2zRqvs,150
16
16
  pyogrio/_geometry.pyx,sha256=l42NiTzO5INk8pOO8xDCpHdxfO8XO9WicRo5CIzh08I,4199
17
- pyogrio/_io.c,sha256=k7oXes5n7i2fC79_7FOMum9_6DzuKwt2gvtoq6S3VhI,2472969
18
- pyogrio/_io.cp310-win_amd64.pyd,sha256=Xg7vf_F-5fUj81Unr9OnxxeD6WqHyNLuvr83_jtR8bI,394752
17
+ pyogrio/_io.c,sha256=43lCNElSPku-zccKyj11VvtV7yO49Vks2p9NHgYw9EY,2472969
18
+ pyogrio/_io.cp310-win_amd64.pyd,sha256=ucLr19f8hCXni0evQDhGqJ9ZT3Y6FRMEK8skLAZ0wxM,394752
19
19
  pyogrio/_io.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  pyogrio/_io.pyx,sha256=wP8XrEoxuEohJRRKQpKixt41VZhSkognsRsD0KGMwPA,69102
21
21
  pyogrio/_ogr.c,sha256=PrIY1s5DyckvC247UVk-wRLOr5Gwin1UCxjrjRyOI2E,599636
22
- pyogrio/_ogr.cp310-win_amd64.pyd,sha256=hGrFWrm3sOzMIOSx9ru_xZ7SqC-4ZQGUrWF4rirRbHY,101376
22
+ pyogrio/_ogr.cp310-win_amd64.pyd,sha256=FIw0Xpw-bJH1Sp6NS8jRh7dpmFm_vRRoooAy5voNVis,101376
23
23
  pyogrio/_ogr.pxd,sha256=OxXpjW4hXt8n50jP_yiGNoDt1y04aa8LOtE6ZFhTwQY,15683
24
24
  pyogrio/_ogr.pyx,sha256=rUuTMK_PZxDlNKdM500EqVc5QbtCFUx3Oq8U5_B-_U4,10657
25
- pyogrio/_version.py,sha256=XFuN9W_1W9PWV3ID5zKxS62Er7U12RhXmxUuyy8-zdE,518
25
+ pyogrio/_version.py,sha256=ul2yqzdHOdtcjK_i0mWwPtAeeeHfKcYJ2F1Z1aAlcRk,518
26
26
  pyogrio/__init__.py,sha256=YeAeVQ7wSaBWuzLGWxXFzUFODGFQXEGDjEghdiFO42k,1409
27
27
  pyogrio/gdal_data/bag_template.xml,sha256=2veBb2hsNbUexmyQ_GrtvxLb75fyj5-ulzE5L5KvtzM,9020
28
28
  pyogrio/gdal_data/copyright,sha256=Ha40aOgdANpW4pNvdNM7izrQnXJkN_Gc4gml2r6kH3c,21841
@@ -213,7 +213,7 @@ pyogrio/proj_data/world,sha256=8nHNPlbHdZ0vz7u9OYcCZOuBBkFVcTwE_JLq3TCt60g,7079
213
213
  pyogrio/tests/conftest.py,sha256=XH91Uo-XDhiIj5TO92yPBLxqB4CtgyDdrh-jjN2d-Pc,3945
214
214
  pyogrio/tests/test_arrow.py,sha256=jDeD3EnXc3lA-jTLaQ18xc55Z23eb8qNpiheehbm4lE,7154
215
215
  pyogrio/tests/test_core.py,sha256=4-AjVV6-Jmx4NGAsDtdmx9yQLVTy2spPbJoEl78ingM,16664
216
- pyogrio/tests/test_geopandas_io.py,sha256=PHY-KLgK770me7QSubf8AJjNiLNcvTLFpv64zN6dhkQ,51475
216
+ pyogrio/tests/test_geopandas_io.py,sha256=R7ZtGbw5lxVXLMixMeXiO8V0OFpWrwenXEYO_X4Eb-g,52373
217
217
  pyogrio/tests/test_path.py,sha256=LXAx98tnkQaUFtzCs62AjksPGstHlr69Xugq2A7BiGQ,11116
218
218
  pyogrio/tests/test_raw_io.py,sha256=LIqk5gR-U62P7oox3xEOkYdZeGN0WC56CTtmEH66of8,40461
219
219
  pyogrio/tests/win32.py,sha256=d_lpa-anO_TvND2hXOucuhFmrGJf07NN3eEZxvroqKA,2184
@@ -232,12 +232,12 @@ pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.dbf,sha256=0q4cma
232
232
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.prj,sha256=mKrz0cDsrfGkJKRTbeJhw9r043NpfLhsQMQ7mJ2vUus,143
233
233
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shp,sha256=CONBYG6DkeRYw_CN6zEt5mS1a_rjdgZMWqCu5mgaX1U,180924
234
234
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shx,sha256=iwvirZfdSEruXC68mGl9U3LoMriuWKNaZhru9rmFZo0,1516
235
- pyogrio-0.7.1.dist-info/DELVEWHEEL,sha256=ANKHPGOFhIdKeiO939EalakHMYTv8yvAfkpZO7Ewt9U,467
236
- pyogrio-0.7.1.dist-info/LICENSE,sha256=Ct2aqKxglcGNtFadzH5GIuZMeCMkr_mE8_YzJ_b4O80,1123
237
- pyogrio-0.7.1.dist-info/METADATA,sha256=CZdC_wjV3iu13tvTny4c8aLX58abadHVRfdAupFP4Fo,3881
238
- pyogrio-0.7.1.dist-info/RECORD,,
239
- pyogrio-0.7.1.dist-info/top_level.txt,sha256=DUBAVaLxa9r0nHHskG8tHdP1P3zt6TYYPRiDBlEUc7Y,8
240
- pyogrio-0.7.1.dist-info/WHEEL,sha256=yrvteVAZzxQvtDnzdCRh4dP01sPIxYhLXIXplC7o50E,102
235
+ pyogrio-0.7.2.dist-info/DELVEWHEEL,sha256=7_-krOWROSgu6c0CGDfrjUSm5WnykIfVF76lC1yk8as,467
236
+ pyogrio-0.7.2.dist-info/LICENSE,sha256=Ct2aqKxglcGNtFadzH5GIuZMeCMkr_mE8_YzJ_b4O80,1123
237
+ pyogrio-0.7.2.dist-info/METADATA,sha256=3ChIITUDVFNm9dZFRZ3bKh1J1-nR41XQCVnxjiQ_HCI,3907
238
+ pyogrio-0.7.2.dist-info/RECORD,,
239
+ pyogrio-0.7.2.dist-info/top_level.txt,sha256=DUBAVaLxa9r0nHHskG8tHdP1P3zt6TYYPRiDBlEUc7Y,8
240
+ pyogrio-0.7.2.dist-info/WHEEL,sha256=QZRFZfINHXboTe9fmBqbFIViCGEqzQrgdxTyahla7mM,102
241
241
  pyogrio.libs/gdal-c3b1d8f66682071d0cd26d86e4182013.dll,sha256=yyy7HZx4CF_buMo5x3iNkyiqN0E2Dnm9VGByCzlQZPU,16030208
242
242
  pyogrio.libs/geos-1c764a1384537a0ad2995e83d23e8642.dll,sha256=572O9nmVHQx0YQVZyIQxc1UsM2kFx1t0xjVALYqCWWU,1993216
243
243
  pyogrio.libs/geos_c-0d7dfdcee49efa8df585e2fb993157aa.dll,sha256=SkTaKYkMSaNxzb0NF92Lb6e7TI-a9iI9Z8hwsEqd4Xs,381952
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.41.3)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-win_amd64
5
5
 
@@ -1,2 +0,0 @@
1
- Version: 1.5.1
2
- Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-_qnuvglh\\cp310-win_amd64\\build\\venv\\Scripts\\delvewheel', 'repair', '--add-path', 'C:/vcpkg/installed/x64-windows-dynamic-release/bin', '-w', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-_qnuvglh\\cp310-win_amd64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-_qnuvglh\\cp310-win_amd64\\built_wheel\\pyogrio-0.7.1-cp310-cp310-win_amd64.whl']