pyogrio 0.9.0__cp39-cp39-win_amd64.whl → 0.10.0__cp39-cp39-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 (104) hide show
  1. pyogrio/__init__.py +33 -22
  2. pyogrio/_compat.py +7 -1
  3. pyogrio/_env.py +4 -6
  4. pyogrio/_err.c +460 -445
  5. pyogrio/_err.cp39-win_amd64.pyd +0 -0
  6. pyogrio/_geometry.c +645 -612
  7. pyogrio/_geometry.cp39-win_amd64.pyd +0 -0
  8. pyogrio/_io.c +7749 -7596
  9. pyogrio/_io.cp39-win_amd64.pyd +0 -0
  10. pyogrio/_ogr.c +601 -609
  11. pyogrio/_ogr.cp39-win_amd64.pyd +0 -0
  12. pyogrio/_version.py +3 -3
  13. pyogrio/_vsi.c +7570 -2514
  14. pyogrio/_vsi.cp39-win_amd64.pyd +0 -0
  15. pyogrio/core.py +86 -20
  16. pyogrio/errors.py +9 -16
  17. pyogrio/gdal_data/GDAL-targets.cmake +1 -1
  18. pyogrio/gdal_data/GDALConfig.cmake +0 -1
  19. pyogrio/gdal_data/GDALConfigVersion.cmake +3 -3
  20. pyogrio/gdal_data/MM_m_idofic.csv +321 -0
  21. pyogrio/gdal_data/gdaltileindex.xsd +269 -0
  22. pyogrio/gdal_data/gdalvrt.xsd +130 -22
  23. pyogrio/gdal_data/ogrinfo_output.schema.json +23 -0
  24. pyogrio/gdal_data/ogrvrt.xsd +3 -0
  25. pyogrio/gdal_data/pci_datum.txt +222 -155
  26. pyogrio/gdal_data/pci_ellips.txt +90 -38
  27. pyogrio/gdal_data/vcpkg.spdx.json +21 -21
  28. pyogrio/gdal_data/vcpkg_abi_info.txt +27 -27
  29. pyogrio/geopandas.py +32 -24
  30. pyogrio/proj_data/proj-config-version.cmake +2 -2
  31. pyogrio/proj_data/proj-targets.cmake +1 -1
  32. pyogrio/proj_data/proj.db +0 -0
  33. pyogrio/proj_data/proj4-targets.cmake +1 -1
  34. pyogrio/proj_data/projjson.schema.json +1 -1
  35. pyogrio/proj_data/vcpkg.spdx.json +17 -17
  36. pyogrio/proj_data/vcpkg_abi_info.txt +15 -15
  37. pyogrio/raw.py +46 -30
  38. pyogrio/tests/conftest.py +206 -12
  39. pyogrio/tests/fixtures/README.md +32 -13
  40. pyogrio/tests/fixtures/curve.gpkg +0 -0
  41. pyogrio/tests/fixtures/{test_multisurface.gpkg → curvepolygon.gpkg} +0 -0
  42. pyogrio/tests/fixtures/line_zm.gpkg +0 -0
  43. pyogrio/tests/fixtures/multisurface.gpkg +0 -0
  44. pyogrio/tests/test_arrow.py +178 -24
  45. pyogrio/tests/test_core.py +162 -72
  46. pyogrio/tests/test_geopandas_io.py +239 -99
  47. pyogrio/tests/test_path.py +29 -17
  48. pyogrio/tests/test_raw_io.py +165 -54
  49. pyogrio/tests/test_util.py +56 -0
  50. pyogrio/util.py +54 -30
  51. pyogrio-0.10.0.dist-info/DELVEWHEEL +2 -0
  52. {pyogrio-0.9.0.dist-info → pyogrio-0.10.0.dist-info}/LICENSE +1 -1
  53. {pyogrio-0.9.0.dist-info → pyogrio-0.10.0.dist-info}/METADATA +37 -8
  54. {pyogrio-0.9.0.dist-info → pyogrio-0.10.0.dist-info}/RECORD +75 -91
  55. {pyogrio-0.9.0.dist-info → pyogrio-0.10.0.dist-info}/WHEEL +1 -1
  56. pyogrio.libs/.load-order-pyogrio-0.10.0 +18 -0
  57. pyogrio.libs/{Lerc-5e4d8cbeeabca06f95e2270792304dc3.dll → Lerc-089e3fef3df84b17326dcddbf1dedaa4.dll} +0 -0
  58. pyogrio.libs/{gdal-b434963605a006e01c486c0df6dea4e0.dll → gdal-debee5933f0da7bb90b4bcd009023377.dll} +0 -0
  59. pyogrio.libs/{geos-f0622d0794b81c937a851b2e6fa9b712.dll → geos-ace4c5b5c1f569bb4213e7bbd0b0322e.dll} +0 -0
  60. pyogrio.libs/{geos_c-0e16bf70612fc3301d077b9d863a3fdb.dll → geos_c-7478ca0a86136b280d9b2d245c6f6627.dll} +0 -0
  61. pyogrio.libs/geotiff-c8fe8a095520a4ea4e465d27e06add3a.dll +0 -0
  62. pyogrio.libs/{iconv-2-8fcc23ddc6f096c45871011b6e008b44.dll → iconv-2-27352d156a5467ca5383d3951093ea5a.dll} +0 -0
  63. pyogrio.libs/{jpeg62-2f9b7af22d78338e8f0be0058503dc35.dll → jpeg62-e56b6f95a95af498f4623b8da4cebd46.dll} +0 -0
  64. pyogrio.libs/{json-c-e52a077545e4057de42beb4948289b41.dll → json-c-c84940e2654a4f8468bfcf2ce992aa93.dll} +0 -0
  65. pyogrio.libs/libcurl-d69cfd4ad487d53d58743b6778ec85e7.dll +0 -0
  66. pyogrio.libs/{libexpat-fbe03ca8917dfda776562d4338b289b8.dll → libexpat-6576a8d02641b6a3dbad35901ec200a7.dll} +0 -0
  67. pyogrio.libs/liblzma-9ee4accb476ec1ae24e924953140273d.dll +0 -0
  68. pyogrio.libs/{libpng16-13928571ad910705eae8d7dd8eef8b11.dll → libpng16-7c36142dda59f186f6bb683e8dae2bfe.dll} +0 -0
  69. pyogrio.libs/{msvcp140-46db46e967c8db2cb7a20fc75872a57e.dll → msvcp140-98b3e5b80de1e5e9d1703b786d795623.dll} +0 -0
  70. pyogrio.libs/proj-a408c5327f3fd2f5fabe8c56815beed7.dll +0 -0
  71. pyogrio.libs/{qhull_r-c45abde5d0c92faf723cc2942138af77.dll → qhull_r-516897f855568caab1ab1fe37912766c.dll} +0 -0
  72. pyogrio.libs/sqlite3-9bc109d8536d5ed9666332fec94485fc.dll +0 -0
  73. pyogrio.libs/{tiff-43630f30487a9015213475ae86ed3fa3.dll → tiff-9b3f605fffe0bccc0a964c374ee4f820.dll} +0 -0
  74. pyogrio.libs/{zlib1-e1272810861a13dd8d6cff3beac47f17.dll → zlib1-e5af16a15c63f05bd82d90396807ae5b.dll} +0 -0
  75. pyogrio/_err.pxd +0 -4
  76. pyogrio/_err.pyx +0 -250
  77. pyogrio/_geometry.pxd +0 -4
  78. pyogrio/_geometry.pyx +0 -129
  79. pyogrio/_io.pxd +0 -0
  80. pyogrio/_io.pyx +0 -2742
  81. pyogrio/_ogr.pxd +0 -444
  82. pyogrio/_ogr.pyx +0 -346
  83. pyogrio/_vsi.pxd +0 -4
  84. pyogrio/_vsi.pyx +0 -140
  85. pyogrio/arrow_bridge.h +0 -115
  86. pyogrio/gdal_data/bag_template.xml +0 -201
  87. pyogrio/gdal_data/gmlasconf.xml +0 -169
  88. pyogrio/gdal_data/gmlasconf.xsd +0 -1066
  89. pyogrio/gdal_data/netcdf_config.xsd +0 -143
  90. pyogrio/gdal_data/template_tiles.mapml +0 -28
  91. pyogrio/tests/fixtures/poly_not_enough_points.shp.zip +0 -0
  92. pyogrio/tests/fixtures/test_datetime.geojson +0 -7
  93. pyogrio/tests/fixtures/test_datetime_tz.geojson +0 -8
  94. pyogrio/tests/fixtures/test_fgdb.gdb.zip +0 -0
  95. pyogrio/tests/fixtures/test_nested.geojson +0 -18
  96. pyogrio/tests/fixtures/test_ogr_types_list.geojson +0 -12
  97. pyogrio-0.9.0.dist-info/DELVEWHEEL +0 -2
  98. pyogrio.libs/.load-order-pyogrio-0.9.0 +0 -18
  99. pyogrio.libs/geotiff-772e7c705fb15ddf91b432adb4eb1f6c.dll +0 -0
  100. pyogrio.libs/libcurl-bc81cd8afe15b10c0821b181b6af8bd0.dll +0 -0
  101. pyogrio.libs/liblzma-6b36f24d54d3dd45f274a2aebef81085.dll +0 -0
  102. pyogrio.libs/proj-8a30239ef2dfc3b9dd2bb48e8abb330f.dll +0 -0
  103. pyogrio.libs/sqlite3-df30c3cf230727e23c43c40126a530f7.dll +0 -0
  104. {pyogrio-0.9.0.dist-info → pyogrio-0.10.0.dist-info}/top_level.txt +0 -0
pyogrio/__init__.py CHANGED
@@ -1,5 +1,8 @@
1
- """""" # start delvewheel patch
2
- def _delvewheel_patch_1_6_0():
1
+ """Vectorized vector I/O using OGR."""
2
+
3
+
4
+ # start delvewheel patch
5
+ def _delvewheel_patch_1_8_2():
3
6
  import ctypes
4
7
  import os
5
8
  import platform
@@ -10,46 +13,51 @@ def _delvewheel_patch_1_6_0():
10
13
  if os.path.isdir(libs_dir):
11
14
  os.add_dll_directory(libs_dir)
12
15
  else:
13
- load_order_filepath = os.path.join(libs_dir, '.load-order-pyogrio-0.9.0')
16
+ load_order_filepath = os.path.join(libs_dir, '.load-order-pyogrio-0.10.0')
14
17
  if os.path.isfile(load_order_filepath):
15
- with open(os.path.join(libs_dir, '.load-order-pyogrio-0.9.0')) as file:
18
+ import ctypes.wintypes
19
+ with open(os.path.join(libs_dir, '.load-order-pyogrio-0.10.0')) as file:
16
20
  load_order = file.read().split()
21
+ kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)
22
+ kernel32.LoadLibraryExW.restype = ctypes.wintypes.HMODULE
23
+ kernel32.LoadLibraryExW.argtypes = ctypes.wintypes.LPCWSTR, ctypes.wintypes.HANDLE, ctypes.wintypes.DWORD
17
24
  for lib in load_order:
18
25
  lib_path = os.path.join(os.path.join(libs_dir, lib))
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):
26
+ if os.path.isfile(lib_path) and not kernel32.LoadLibraryExW(lib_path, None, 8):
21
27
  raise OSError('Error loading {}; {}'.format(lib, ctypes.FormatError(ctypes.get_last_error())))
22
28
 
23
29
 
24
- _delvewheel_patch_1_6_0()
25
- del _delvewheel_patch_1_6_0
30
+ _delvewheel_patch_1_8_2()
31
+ del _delvewheel_patch_1_8_2
26
32
  # end delvewheel patch
27
33
 
28
34
  try:
29
35
  # we try importing shapely, to ensure it is imported (and it can load its
30
36
  # own GEOS copy) before we load GDAL and its linked GEOS
31
- import shapely # noqa
32
- import shapely.geos # noqa
37
+ import shapely
38
+ import shapely.geos # noqa: F401
33
39
  except Exception:
34
40
  pass
35
41
 
42
+ from pyogrio._version import get_versions
36
43
  from pyogrio.core import (
37
- list_drivers,
44
+ __gdal_geos_version__,
45
+ __gdal_version__,
46
+ __gdal_version_string__,
38
47
  detect_write_driver,
48
+ get_gdal_config_option,
49
+ get_gdal_data_path,
50
+ list_drivers,
39
51
  list_layers,
40
52
  read_bounds,
41
53
  read_info,
42
54
  set_gdal_config_options,
43
- get_gdal_config_option,
44
- get_gdal_data_path,
45
- __gdal_version__,
46
- __gdal_version_string__,
47
- __gdal_geos_version__,
55
+ vsi_listtree,
56
+ vsi_rmtree,
57
+ vsi_unlink,
48
58
  )
49
- from pyogrio.raw import read_arrow, open_arrow, write_arrow
50
59
  from pyogrio.geopandas import read_dataframe, write_dataframe
51
- from pyogrio._version import get_versions
52
-
60
+ from pyogrio.raw import open_arrow, read_arrow, write_arrow
53
61
 
54
62
  __version__ = get_versions()["version"]
55
63
  del get_versions
@@ -63,13 +71,16 @@ __all__ = [
63
71
  "set_gdal_config_options",
64
72
  "get_gdal_config_option",
65
73
  "get_gdal_data_path",
66
- "read_arrow",
67
74
  "open_arrow",
68
- "write_arrow",
75
+ "read_arrow",
69
76
  "read_dataframe",
77
+ "vsi_listtree",
78
+ "vsi_rmtree",
79
+ "vsi_unlink",
80
+ "write_arrow",
70
81
  "write_dataframe",
71
82
  "__gdal_version__",
72
83
  "__gdal_version_string__",
73
84
  "__gdal_geos_version__",
74
85
  "__version__",
75
- ]
86
+ ]
pyogrio/_compat.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from packaging.version import Version
2
2
 
3
- from pyogrio.core import __gdal_version__, __gdal_geos_version__
3
+ from pyogrio.core import __gdal_geos_version__, __gdal_version__
4
4
 
5
5
  # detect optional dependencies
6
6
  try:
@@ -8,6 +8,11 @@ try:
8
8
  except ImportError:
9
9
  pyarrow = None
10
10
 
11
+ try:
12
+ import pyproj
13
+ except ImportError:
14
+ pyproj = None
15
+
11
16
  try:
12
17
  import shapely
13
18
  except ImportError:
@@ -27,6 +32,7 @@ except ImportError:
27
32
  HAS_ARROW_API = __gdal_version__ >= (3, 6, 0)
28
33
  HAS_ARROW_WRITE_API = __gdal_version__ >= (3, 8, 0)
29
34
  HAS_PYARROW = pyarrow is not None
35
+ HAS_PYPROJ = pyproj is not None
30
36
 
31
37
  HAS_GEOPANDAS = geopandas is not None
32
38
 
pyogrio/_env.py CHANGED
@@ -4,13 +4,11 @@
4
4
  # adapted from Fiona: https://github.com/Toblerity/Fiona/pull/875
5
5
 
6
6
 
7
- from contextlib import contextmanager
8
7
  import logging
9
8
  import os
10
- from pathlib import Path
11
9
  import platform
12
- import sys
13
-
10
+ from contextlib import contextmanager
11
+ from pathlib import Path
14
12
 
15
13
  log = logging.getLogger(__name__)
16
14
  log.addHandler(logging.NullHandler())
@@ -29,10 +27,10 @@ except ImportError:
29
27
 
30
28
  gdal_dll_dir = None
31
29
 
32
- if platform.system() == "Windows" and sys.version_info >= (3, 8):
30
+ if platform.system() == "Windows":
33
31
  # if loading of extension modules fails, search for gdal dll directory
34
32
  try:
35
- import pyogrio._io # NOQA
33
+ import pyogrio._io # noqa: F401
36
34
 
37
35
  except ImportError:
38
36
  for path in os.getenv("PATH", "").split(os.pathsep):