pyogrio 0.7.2__cp38-cp38-win_amd64.whl → 0.9.0__cp38-cp38-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.

Files changed (87) hide show
  1. pyogrio/__init__.py +12 -7
  2. pyogrio/_compat.py +6 -1
  3. pyogrio/_err.c +855 -321
  4. pyogrio/_err.cp38-win_amd64.pyd +0 -0
  5. pyogrio/_err.pyx +7 -3
  6. pyogrio/_geometry.c +134 -75
  7. pyogrio/_geometry.cp38-win_amd64.pyd +0 -0
  8. pyogrio/_io.c +28947 -23126
  9. pyogrio/_io.cp38-win_amd64.pyd +0 -0
  10. pyogrio/_io.pyx +904 -242
  11. pyogrio/_ogr.c +1317 -1640
  12. pyogrio/_ogr.cp38-win_amd64.pyd +0 -0
  13. pyogrio/_ogr.pxd +69 -13
  14. pyogrio/_ogr.pyx +8 -24
  15. pyogrio/_version.py +3 -3
  16. pyogrio/_vsi.c +6815 -0
  17. pyogrio/_vsi.cp38-win_amd64.pyd +0 -0
  18. pyogrio/_vsi.pxd +4 -0
  19. pyogrio/_vsi.pyx +140 -0
  20. pyogrio/core.py +43 -44
  21. pyogrio/gdal_data/GDAL-targets-release.cmake +1 -1
  22. pyogrio/gdal_data/GDAL-targets.cmake +10 -6
  23. pyogrio/gdal_data/GDALConfigVersion.cmake +3 -3
  24. pyogrio/gdal_data/gdalinfo_output.schema.json +2 -0
  25. pyogrio/gdal_data/gdalvrt.xsd +163 -0
  26. pyogrio/gdal_data/ogrinfo_output.schema.json +12 -1
  27. pyogrio/gdal_data/vcpkg.spdx.json +23 -23
  28. pyogrio/gdal_data/vcpkg_abi_info.txt +29 -28
  29. pyogrio/geopandas.py +140 -34
  30. pyogrio/proj_data/ITRF2008 +2 -2
  31. pyogrio/proj_data/proj-config-version.cmake +2 -2
  32. pyogrio/proj_data/proj-config.cmake +2 -1
  33. pyogrio/proj_data/proj-targets-release.cmake +0 -1
  34. pyogrio/proj_data/proj-targets.cmake +10 -6
  35. pyogrio/proj_data/proj.db +0 -0
  36. pyogrio/proj_data/proj4-targets-release.cmake +0 -1
  37. pyogrio/proj_data/proj4-targets.cmake +10 -6
  38. pyogrio/proj_data/vcpkg.spdx.json +21 -43
  39. pyogrio/proj_data/vcpkg_abi_info.txt +16 -17
  40. pyogrio/raw.py +438 -116
  41. pyogrio/tests/conftest.py +75 -6
  42. pyogrio/tests/fixtures/poly_not_enough_points.shp.zip +0 -0
  43. pyogrio/tests/test_arrow.py +841 -7
  44. pyogrio/tests/test_core.py +99 -7
  45. pyogrio/tests/test_geopandas_io.py +827 -121
  46. pyogrio/tests/test_path.py +23 -3
  47. pyogrio/tests/test_raw_io.py +276 -50
  48. pyogrio/util.py +39 -19
  49. pyogrio-0.9.0.dist-info/DELVEWHEEL +2 -0
  50. {pyogrio-0.7.2.dist-info → pyogrio-0.9.0.dist-info}/METADATA +2 -2
  51. {pyogrio-0.7.2.dist-info → pyogrio-0.9.0.dist-info}/RECORD +74 -69
  52. {pyogrio-0.7.2.dist-info → pyogrio-0.9.0.dist-info}/WHEEL +1 -1
  53. pyogrio.libs/.load-order-pyogrio-0.9.0 +19 -0
  54. pyogrio.libs/Lerc-5e4d8cbeeabca06f95e2270792304dc3.dll +0 -0
  55. pyogrio.libs/{gdal-c3b1d8f66682071d0cd26d86e4182013.dll → gdal-b434963605a006e01c486c0df6dea4e0.dll} +0 -0
  56. pyogrio.libs/geos-f0622d0794b81c937a851b2e6fa9b712.dll +0 -0
  57. pyogrio.libs/geos_c-0e16bf70612fc3301d077b9d863a3fdb.dll +0 -0
  58. pyogrio.libs/{geotiff-e43cdab688866b59f8800cfcde836d16.dll → geotiff-772e7c705fb15ddf91b432adb4eb1f6c.dll} +0 -0
  59. pyogrio.libs/iconv-2-8fcc23ddc6f096c45871011b6e008b44.dll +0 -0
  60. pyogrio.libs/{jpeg62-567ab743ac805dfb57fe3867ba5788a4.dll → jpeg62-2f9b7af22d78338e8f0be0058503dc35.dll} +0 -0
  61. pyogrio.libs/json-c-e52a077545e4057de42beb4948289b41.dll +0 -0
  62. pyogrio.libs/libcurl-bc81cd8afe15b10c0821b181b6af8bd0.dll +0 -0
  63. pyogrio.libs/libexpat-fbe03ca8917dfda776562d4338b289b8.dll +0 -0
  64. pyogrio.libs/{liblzma-de7f4770d4e3715acd031ca93883f10c.dll → liblzma-6b36f24d54d3dd45f274a2aebef81085.dll} +0 -0
  65. pyogrio.libs/libpng16-13928571ad910705eae8d7dd8eef8b11.dll +0 -0
  66. pyogrio.libs/{msvcp140-83b6a1a2fa8b1735a358b2fe13cabe4e.dll → msvcp140-46db46e967c8db2cb7a20fc75872a57e.dll} +0 -0
  67. pyogrio.libs/proj-8a30239ef2dfc3b9dd2bb48e8abb330f.dll +0 -0
  68. pyogrio.libs/{qhull_r-99ae8a526357acc44b162cb4df2c3bb6.dll → qhull_r-c45abde5d0c92faf723cc2942138af77.dll} +0 -0
  69. pyogrio.libs/sqlite3-df30c3cf230727e23c43c40126a530f7.dll +0 -0
  70. pyogrio.libs/{tiff-7c2d4b204ec2db46c81f6a597895c2f7.dll → tiff-43630f30487a9015213475ae86ed3fa3.dll} +0 -0
  71. pyogrio.libs/vcruntime140_1-8f7e93381c4b3d1e411993c0bae01646.dll +0 -0
  72. pyogrio.libs/{zlib1-824de9299616f0908aeeb9441a084848.dll → zlib1-e1272810861a13dd8d6cff3beac47f17.dll} +0 -0
  73. pyogrio/tests/win32.py +0 -86
  74. pyogrio-0.7.2.dist-info/DELVEWHEEL +0 -2
  75. pyogrio.libs/.load-order-pyogrio-0.7.2 +0 -18
  76. pyogrio.libs/Lerc-d5afc4101deffe7de21241ccd4d562f6.dll +0 -0
  77. pyogrio.libs/geos-1c764a1384537a0ad2995e83d23e8642.dll +0 -0
  78. pyogrio.libs/geos_c-0d7dfdcee49efa8df585e2fb993157aa.dll +0 -0
  79. pyogrio.libs/json-c-36c91e30c4410d41c22b2010c31183e3.dll +0 -0
  80. pyogrio.libs/libcurl-ebcc8c18195071a90e59f818902e10c6.dll +0 -0
  81. pyogrio.libs/libexpat-345379c9c11632130d8c383cbacde1a6.dll +0 -0
  82. pyogrio.libs/libpng16-2c30e6846653c47ef2ff9d7dec3338ba.dll +0 -0
  83. pyogrio.libs/proj-98758c96a6cb682b5cec7e8dc5e29a50.dll +0 -0
  84. pyogrio.libs/sqlite3-327ed7b38bfd91fb4a17544960e055e9.dll +0 -0
  85. pyogrio.libs/vcruntime140_1-d1a1506707e0c0a26950a60c5f97ad99.dll +0 -0
  86. {pyogrio-0.7.2.dist-info → pyogrio-0.9.0.dist-info}/LICENSE +0 -0
  87. {pyogrio-0.7.2.dist-info → pyogrio-0.9.0.dist-info}/top_level.txt +0 -0
pyogrio/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
1
  """""" # start delvewheel patch
2
- def _delvewheel_patch_1_5_1():
2
+ def _delvewheel_patch_1_6_0():
3
3
  import ctypes
4
4
  import os
5
5
  import platform
@@ -10,18 +10,19 @@ def _delvewheel_patch_1_5_1():
10
10
  if os.path.isdir(libs_dir):
11
11
  os.add_dll_directory(libs_dir)
12
12
  else:
13
- load_order_filepath = os.path.join(libs_dir, '.load-order-pyogrio-0.7.2')
13
+ load_order_filepath = os.path.join(libs_dir, '.load-order-pyogrio-0.9.0')
14
14
  if os.path.isfile(load_order_filepath):
15
- with open(os.path.join(libs_dir, '.load-order-pyogrio-0.7.2')) as file:
15
+ with open(os.path.join(libs_dir, '.load-order-pyogrio-0.9.0')) as file:
16
16
  load_order = file.read().split()
17
17
  for lib in load_order:
18
18
  lib_path = os.path.join(os.path.join(libs_dir, lib))
19
- if os.path.isfile(lib_path) and not ctypes.windll.kernel32.LoadLibraryExW(ctypes.c_wchar_p(lib_path), None, 0x00000008):
20
- raise OSError('Error loading {}; {}'.format(lib, ctypes.FormatError()))
19
+ kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
20
+ if os.path.isfile(lib_path) and not kernel32.LoadLibraryExW(ctypes.c_wchar_p(lib_path), None, 0x00000008):
21
+ raise OSError('Error loading {}; {}'.format(lib, ctypes.FormatError(ctypes.get_last_error())))
21
22
 
22
23
 
23
- _delvewheel_patch_1_5_1()
24
- del _delvewheel_patch_1_5_1
24
+ _delvewheel_patch_1_6_0()
25
+ del _delvewheel_patch_1_6_0
25
26
  # end delvewheel patch
26
27
 
27
28
  try:
@@ -45,6 +46,7 @@ from pyogrio.core import (
45
46
  __gdal_version_string__,
46
47
  __gdal_geos_version__,
47
48
  )
49
+ from pyogrio.raw import read_arrow, open_arrow, write_arrow
48
50
  from pyogrio.geopandas import read_dataframe, write_dataframe
49
51
  from pyogrio._version import get_versions
50
52
 
@@ -61,6 +63,9 @@ __all__ = [
61
63
  "set_gdal_config_options",
62
64
  "get_gdal_config_option",
63
65
  "get_gdal_data_path",
66
+ "read_arrow",
67
+ "open_arrow",
68
+ "write_arrow",
64
69
  "read_dataframe",
65
70
  "write_dataframe",
66
71
  "__gdal_version__",
pyogrio/_compat.py CHANGED
@@ -24,12 +24,17 @@ except ImportError:
24
24
  pandas = None
25
25
 
26
26
 
27
- HAS_ARROW_API = __gdal_version__ >= (3, 6, 0) and pyarrow is not None
27
+ HAS_ARROW_API = __gdal_version__ >= (3, 6, 0)
28
+ HAS_ARROW_WRITE_API = __gdal_version__ >= (3, 8, 0)
29
+ HAS_PYARROW = pyarrow is not None
28
30
 
29
31
  HAS_GEOPANDAS = geopandas is not None
30
32
 
31
33
  PANDAS_GE_15 = pandas is not None and Version(pandas.__version__) >= Version("1.5.0")
32
34
  PANDAS_GE_20 = pandas is not None and Version(pandas.__version__) >= Version("2.0.0")
35
+ PANDAS_GE_22 = pandas is not None and Version(pandas.__version__) >= Version("2.2.0")
36
+
37
+ GDAL_GE_38 = __gdal_version__ >= (3, 8, 0)
33
38
 
34
39
  HAS_GDAL_GEOS = __gdal_geos_version__ is not None
35
40