pyogrio 0.9.0__cp312-cp312-win_amd64.whl → 0.11.0__cp312-cp312-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 (125) hide show
  1. pyogrio/__init__.py +35 -28
  2. pyogrio/_compat.py +15 -1
  3. pyogrio/_env.py +4 -6
  4. pyogrio/_err.c +8941 -3106
  5. pyogrio/_err.cp312-win_amd64.pyd +0 -0
  6. pyogrio/_geometry.c +1008 -807
  7. pyogrio/_geometry.cp312-win_amd64.pyd +0 -0
  8. pyogrio/_io.c +10678 -9440
  9. pyogrio/_io.cp312-win_amd64.pyd +0 -0
  10. pyogrio/_ogr.c +1950 -1873
  11. pyogrio/_ogr.cp312-win_amd64.pyd +0 -0
  12. pyogrio/_version.py +3 -3
  13. pyogrio/_vsi.c +7558 -2509
  14. pyogrio/_vsi.cp312-win_amd64.pyd +0 -0
  15. pyogrio/core.py +86 -20
  16. pyogrio/errors.py +9 -16
  17. pyogrio/gdal_data/GDAL-targets.cmake +2 -2
  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/gdalinfo_output.schema.json +3 -3
  22. pyogrio/gdal_data/gdaltileindex.xsd +253 -0
  23. pyogrio/gdal_data/gdalvrt.xsd +178 -63
  24. pyogrio/gdal_data/nitf_spec.xml +1 -17
  25. pyogrio/gdal_data/nitf_spec.xsd +1 -17
  26. pyogrio/gdal_data/ogrinfo_output.schema.json +23 -0
  27. pyogrio/gdal_data/ogrvrt.xsd +4 -17
  28. pyogrio/gdal_data/osmconf.ini +3 -1
  29. pyogrio/gdal_data/pci_datum.txt +222 -155
  30. pyogrio/gdal_data/pci_ellips.txt +90 -38
  31. pyogrio/gdal_data/pdfcomposition.xsd +1 -17
  32. pyogrio/gdal_data/vcpkg.spdx.json +29 -24
  33. pyogrio/gdal_data/vcpkg_abi_info.txt +32 -31
  34. pyogrio/gdal_data/vdv452.xml +1 -17
  35. pyogrio/gdal_data/vdv452.xsd +1 -17
  36. pyogrio/geopandas.py +122 -66
  37. pyogrio/proj_data/ITRF2014 +1 -1
  38. pyogrio/proj_data/ITRF2020 +91 -0
  39. pyogrio/proj_data/proj-config-version.cmake +2 -2
  40. pyogrio/proj_data/proj-config.cmake +1 -1
  41. pyogrio/proj_data/proj-targets-release.cmake +3 -2
  42. pyogrio/proj_data/proj-targets.cmake +2 -2
  43. pyogrio/proj_data/proj.db +0 -0
  44. pyogrio/proj_data/proj.ini +11 -3
  45. pyogrio/proj_data/proj4-targets-release.cmake +3 -2
  46. pyogrio/proj_data/proj4-targets.cmake +2 -2
  47. pyogrio/proj_data/projjson.schema.json +1 -1
  48. pyogrio/proj_data/usage +7 -2
  49. pyogrio/proj_data/vcpkg.spdx.json +26 -21
  50. pyogrio/proj_data/vcpkg_abi_info.txt +19 -18
  51. pyogrio/raw.py +46 -30
  52. pyogrio/tests/conftest.py +214 -12
  53. pyogrio/tests/fixtures/README.md +32 -13
  54. pyogrio/tests/fixtures/curve.gpkg +0 -0
  55. pyogrio/tests/fixtures/{test_multisurface.gpkg → curvepolygon.gpkg} +0 -0
  56. pyogrio/tests/fixtures/line_zm.gpkg +0 -0
  57. pyogrio/tests/fixtures/multisurface.gpkg +0 -0
  58. pyogrio/tests/test_arrow.py +181 -24
  59. pyogrio/tests/test_core.py +170 -76
  60. pyogrio/tests/test_geopandas_io.py +483 -135
  61. pyogrio/tests/test_path.py +39 -17
  62. pyogrio/tests/test_raw_io.py +170 -55
  63. pyogrio/tests/test_util.py +56 -0
  64. pyogrio/util.py +69 -32
  65. pyogrio-0.11.0.dist-info/DELVEWHEEL +2 -0
  66. pyogrio-0.11.0.dist-info/METADATA +124 -0
  67. {pyogrio-0.9.0.dist-info → pyogrio-0.11.0.dist-info}/RECORD +90 -102
  68. {pyogrio-0.9.0.dist-info → pyogrio-0.11.0.dist-info}/WHEEL +1 -1
  69. {pyogrio-0.9.0.dist-info → pyogrio-0.11.0.dist-info/licenses}/LICENSE +1 -1
  70. pyogrio.libs/{Lerc-5e4d8cbeeabca06f95e2270792304dc3.dll → Lerc-0a4c85fb364eca6153da109568898e6c.dll} +0 -0
  71. pyogrio.libs/{gdal-b434963605a006e01c486c0df6dea4e0.dll → gdal-34e3e080255b205ef706390e097fa4dc.dll} +0 -0
  72. pyogrio.libs/geos-d8f20037634583c2efcd6ea1f4153169.dll +0 -0
  73. pyogrio.libs/geos_c-046e8885887192fced9516bda554471d.dll +0 -0
  74. pyogrio.libs/geotiff-1f2f76a5d30685a8e0497d9dbf8a79cf.dll +0 -0
  75. pyogrio.libs/{iconv-2-8fcc23ddc6f096c45871011b6e008b44.dll → iconv-2-4b71ebbdf6834234e0c64cb2439b77cf.dll} +0 -0
  76. pyogrio.libs/{jpeg62-2f9b7af22d78338e8f0be0058503dc35.dll → jpeg62-bf2a75b1f2695748cd86238ddb19c65b.dll} +0 -0
  77. pyogrio.libs/json-c-4bc6781090e73c9b22d8dc057618a277.dll +0 -0
  78. pyogrio.libs/libcrypto-3-x64-c8f1692ed45cf55faecce2c448056b2e.dll +0 -0
  79. pyogrio.libs/libcurl-f3604410cd467a44d927794ebdce81b8.dll +0 -0
  80. pyogrio.libs/libexpat-385074fd54deb4b640baafa42cbb3146.dll +0 -0
  81. pyogrio.libs/liblzma-8968f0bfd463b7fe612b20d07adc3c1e.dll +0 -0
  82. pyogrio.libs/libpng16-44105208fe941d03e9f0c17bdbb952f7.dll +0 -0
  83. pyogrio.libs/libssl-3-x64-58c364315f431ab1f0e48b311b8cf105.dll +0 -0
  84. pyogrio.libs/msvcp140-99aa35e2033bb8d388bc35c8a68b77e3.dll +0 -0
  85. pyogrio.libs/proj_9-ee59474f99643c112eb02aa34a910237.dll +0 -0
  86. pyogrio.libs/{qhull_r-c45abde5d0c92faf723cc2942138af77.dll → qhull_r-eaac2f11a3d8241f082e54447c7504d7.dll} +0 -0
  87. pyogrio.libs/sqlite3-dc748e3452944fd41001abacdd783569.dll +0 -0
  88. pyogrio.libs/tiff-c409ddbe87b39639b83fee50d4aea318.dll +0 -0
  89. pyogrio.libs/{zlib1-e1272810861a13dd8d6cff3beac47f17.dll → zlib1-094085b7b78666197dcc8e1fce2d835d.dll} +0 -0
  90. pyogrio/_err.pxd +0 -4
  91. pyogrio/_err.pyx +0 -250
  92. pyogrio/_geometry.pxd +0 -4
  93. pyogrio/_geometry.pyx +0 -129
  94. pyogrio/_io.pxd +0 -0
  95. pyogrio/_io.pyx +0 -2742
  96. pyogrio/_ogr.pxd +0 -444
  97. pyogrio/_ogr.pyx +0 -346
  98. pyogrio/_vsi.pxd +0 -4
  99. pyogrio/_vsi.pyx +0 -140
  100. pyogrio/arrow_bridge.h +0 -115
  101. pyogrio/gdal_data/bag_template.xml +0 -201
  102. pyogrio/gdal_data/gmlasconf.xml +0 -169
  103. pyogrio/gdal_data/gmlasconf.xsd +0 -1066
  104. pyogrio/gdal_data/netcdf_config.xsd +0 -143
  105. pyogrio/tests/fixtures/poly_not_enough_points.shp.zip +0 -0
  106. pyogrio/tests/fixtures/test_datetime.geojson +0 -7
  107. pyogrio/tests/fixtures/test_datetime_tz.geojson +0 -8
  108. pyogrio/tests/fixtures/test_fgdb.gdb.zip +0 -0
  109. pyogrio/tests/fixtures/test_nested.geojson +0 -18
  110. pyogrio/tests/fixtures/test_ogr_types_list.geojson +0 -12
  111. pyogrio-0.9.0.dist-info/DELVEWHEEL +0 -2
  112. pyogrio-0.9.0.dist-info/METADATA +0 -100
  113. pyogrio.libs/geos-f0622d0794b81c937a851b2e6fa9b712.dll +0 -0
  114. pyogrio.libs/geos_c-0e16bf70612fc3301d077b9d863a3fdb.dll +0 -0
  115. pyogrio.libs/geotiff-772e7c705fb15ddf91b432adb4eb1f6c.dll +0 -0
  116. pyogrio.libs/json-c-e52a077545e4057de42beb4948289b41.dll +0 -0
  117. pyogrio.libs/libcurl-bc81cd8afe15b10c0821b181b6af8bd0.dll +0 -0
  118. pyogrio.libs/libexpat-fbe03ca8917dfda776562d4338b289b8.dll +0 -0
  119. pyogrio.libs/liblzma-6b36f24d54d3dd45f274a2aebef81085.dll +0 -0
  120. pyogrio.libs/libpng16-13928571ad910705eae8d7dd8eef8b11.dll +0 -0
  121. pyogrio.libs/msvcp140-46db46e967c8db2cb7a20fc75872a57e.dll +0 -0
  122. pyogrio.libs/proj-8a30239ef2dfc3b9dd2bb48e8abb330f.dll +0 -0
  123. pyogrio.libs/sqlite3-df30c3cf230727e23c43c40126a530f7.dll +0 -0
  124. pyogrio.libs/tiff-43630f30487a9015213475ae86ed3fa3.dll +0 -0
  125. {pyogrio-0.9.0.dist-info → pyogrio-0.11.0.dist-info}/top_level.txt +0 -0
pyogrio/util.py CHANGED
@@ -1,13 +1,19 @@
1
- from pathlib import Path
1
+ """Utility functions."""
2
+
2
3
  import re
3
4
  import sys
5
+ from packaging.version import Version
6
+ from pathlib import Path
7
+ from typing import Union
4
8
  from urllib.parse import urlparse
5
9
 
6
- from packaging.version import Version
10
+ from pyogrio._vsi import vsimem_rmtree_toplevel as _vsimem_rmtree_toplevel
11
+
12
+ MULTI_EXTENSIONS = (".gpkg.zip", ".shp.zip")
7
13
 
8
14
 
9
15
  def get_vsi_path_or_buffer(path_or_buffer):
10
- """Get vsi-prefixed path or bytes buffer depending on type of path_or_buffer
16
+ """Get VSI-prefixed path or bytes buffer depending on type of path_or_buffer.
11
17
 
12
18
  If path_or_buffer is a bytes object, it will be returned directly and will
13
19
  be read into an in-memory dataset when passed to one of the Cython functions.
@@ -21,15 +27,17 @@ def get_vsi_path_or_buffer(path_or_buffer):
21
27
  Parameters
22
28
  ----------
23
29
  path_or_buffer : str, pathlib.Path, bytes, or file-like
30
+ A dataset path or URI, raw buffer, or file-like object with a read method.
24
31
 
25
32
  Returns
26
33
  -------
27
34
  str or bytes
28
- """
29
35
 
30
- # force path objects to string to specifically ignore their read method
36
+ """
37
+ # treat Path objects here already to ignore their read method + to avoid backslashes
38
+ # on Windows.
31
39
  if isinstance(path_or_buffer, Path):
32
- return vsi_path(str(path_or_buffer))
40
+ return vsi_path(path_or_buffer)
33
41
 
34
42
  if isinstance(path_or_buffer, bytes):
35
43
  return path_or_buffer
@@ -38,7 +46,7 @@ def get_vsi_path_or_buffer(path_or_buffer):
38
46
  bytes_buffer = path_or_buffer.read()
39
47
 
40
48
  # rewind buffer if possible so that subsequent operations do not need to rewind
41
- if hasattr(path_or_buffer, "seek"):
49
+ if hasattr(path_or_buffer, "seekable") and path_or_buffer.seekable():
42
50
  path_or_buffer.seek(0)
43
51
 
44
52
  return bytes_buffer
@@ -46,16 +54,14 @@ def get_vsi_path_or_buffer(path_or_buffer):
46
54
  return vsi_path(str(path_or_buffer))
47
55
 
48
56
 
49
- def vsi_path(path: str) -> str:
50
- """
51
- Ensure path is a local path or a GDAL-compatible vsi path.
52
-
53
- """
54
-
55
- if "/vsimem/" in path:
56
- raise ValueError(
57
- "path cannot contain /vsimem/ directly; to use an in-memory dataset a bytes object must be passed instead"
58
- )
57
+ def vsi_path(path: Union[str, Path]) -> str:
58
+ """Ensure path is a local path or a GDAL-compatible VSI path."""
59
+ # Convert Path objects to string, but for VSI paths, keep posix style path.
60
+ if isinstance(path, Path):
61
+ if sys.platform == "win32" and path.as_posix().startswith("/vsi"):
62
+ path = path.as_posix()
63
+ else:
64
+ path = str(path)
59
65
 
60
66
  # path is already in GDAL format
61
67
  if path.startswith("/vsi"):
@@ -64,15 +70,23 @@ def vsi_path(path: str) -> str:
64
70
  # Windows drive letters (e.g. "C:\") confuse `urlparse` as they look like
65
71
  # URL schemes
66
72
  if sys.platform == "win32" and re.match("^[a-zA-Z]\\:", path):
73
+ # If it is not a zip file or it is multi-extension zip file that is directly
74
+ # supported by a GDAL driver, return the path as is.
67
75
  if not path.split("!")[0].endswith(".zip"):
68
76
  return path
77
+ if path.split("!")[0].endswith(MULTI_EXTENSIONS):
78
+ return path
69
79
 
70
80
  # prefix then allow to proceed with remaining parsing
71
81
  path = f"zip://{path}"
72
82
 
73
83
  path, archive, scheme = _parse_uri(path)
74
84
 
75
- if scheme or archive or path.endswith(".zip"):
85
+ if (
86
+ scheme
87
+ or archive
88
+ or (path.endswith(".zip") and not path.endswith(MULTI_EXTENSIONS))
89
+ ):
76
90
  return _construct_vsi_path(path, archive, scheme)
77
91
 
78
92
  return path
@@ -98,12 +112,11 @@ SCHEMES = {
98
112
  # those are for now not added as supported URI
99
113
  }
100
114
 
101
- CURLSCHEMES = set([k for k, v in SCHEMES.items() if v == "curl"])
115
+ CURLSCHEMES = {k for k, v in SCHEMES.items() if v == "curl"}
102
116
 
103
117
 
104
118
  def _parse_uri(path: str):
105
- """
106
- Parse a URI
119
+ """Parse a URI.
107
120
 
108
121
  Returns a tuples of (path, archive, scheme)
109
122
 
@@ -138,19 +151,19 @@ def _parse_uri(path: str):
138
151
 
139
152
 
140
153
  def _construct_vsi_path(path, archive, scheme) -> str:
141
- """Convert a parsed path to a GDAL VSI path"""
142
-
154
+ """Convert a parsed path to a GDAL VSI path."""
143
155
  prefix = ""
144
156
  suffix = ""
145
157
  schemes = scheme.split("+")
146
158
 
147
- if "zip" not in schemes and (archive.endswith(".zip") or path.endswith(".zip")):
159
+ if "zip" not in schemes and (
160
+ archive.endswith(".zip")
161
+ or (path.endswith(".zip") and not path.endswith(MULTI_EXTENSIONS))
162
+ ):
148
163
  schemes.insert(0, "zip")
149
164
 
150
165
  if schemes:
151
- prefix = "/".join(
152
- "vsi{0}".format(SCHEMES[p]) for p in schemes if p and p != "file"
153
- )
166
+ prefix = "/".join(f"vsi{SCHEMES[p]}" for p in schemes if p and p != "file")
154
167
 
155
168
  if schemes[-1] in CURLSCHEMES:
156
169
  suffix = f"{schemes[-1]}://"
@@ -159,15 +172,15 @@ def _construct_vsi_path(path, archive, scheme) -> str:
159
172
  if archive:
160
173
  return "/{}/{}{}/{}".format(prefix, suffix, archive, path.lstrip("/"))
161
174
  else:
162
- return "/{}/{}{}".format(prefix, suffix, path)
175
+ return f"/{prefix}/{suffix}{path}"
163
176
 
164
177
  return path
165
178
 
166
179
 
167
180
  def _preprocess_options_key_value(options):
168
- """
169
- Preprocess options, eg `spatial_index=True` gets converted
170
- to `SPATIAL_INDEX="YES"`.
181
+ """Preprocess options.
182
+
183
+ For example, `spatial_index=True` gets converted to `SPATIAL_INDEX="YES"`.
171
184
  """
172
185
  if not isinstance(options, dict):
173
186
  raise TypeError(f"Expected options to be a dict, got {type(options)}")
@@ -191,6 +204,7 @@ def _mask_to_wkb(mask):
191
204
  Parameters
192
205
  ----------
193
206
  mask : Shapely geometry
207
+ The geometry to convert to WKB.
194
208
 
195
209
  Returns
196
210
  -------
@@ -201,8 +215,8 @@ def _mask_to_wkb(mask):
201
215
  ValueError
202
216
  raised if Shapely >= 2.0 is not available or mask is not a Shapely
203
217
  Geometry object
204
- """
205
218
 
219
+ """
206
220
  if mask is None:
207
221
  return mask
208
222
 
@@ -221,3 +235,26 @@ def _mask_to_wkb(mask):
221
235
  raise ValueError("'mask' parameter must be a Shapely geometry")
222
236
 
223
237
  return shapely.to_wkb(mask)
238
+
239
+
240
+ def vsimem_rmtree_toplevel(path: Union[str, Path]):
241
+ """Remove the parent directory of the file path recursively.
242
+
243
+ This is used for final cleanup of an in-memory dataset, which may have been
244
+ created within a directory to contain sibling files.
245
+
246
+ Additional VSI handlers may be chained to the left of /vsimem/ in path and
247
+ will be ignored.
248
+
249
+ Remark: function is defined here to be able to run tests on it.
250
+
251
+ Parameters
252
+ ----------
253
+ path : str or pathlib.Path
254
+ path to in-memory file
255
+
256
+ """
257
+ if isinstance(path, Path):
258
+ path = path.as_posix()
259
+
260
+ _vsimem_rmtree_toplevel(path)
@@ -0,0 +1,2 @@
1
+ Version: 1.10.1
2
+ Arguments: ['C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-n15zr28r\\cp312-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-n15zr28r\\cp312-win_amd64\\repaired_wheel', 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\cibw-run-n15zr28r\\cp312-win_amd64\\built_wheel\\pyogrio-0.11.0-cp312-cp312-win_amd64.whl']
@@ -0,0 +1,124 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyogrio
3
+ Version: 0.11.0
4
+ Summary: Vectorized spatial vector file format I/O using GDAL/OGR
5
+ Author: pyogrio contributors
6
+ Author-email: "Brendan C. Ward" <bcward@astutespruce.com>
7
+ Maintainer: pyogrio contributors
8
+ License: MIT License
9
+
10
+ Copyright (c) 2020-2024 Brendan C. Ward and pyogrio contributors
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+
30
+ Project-URL: Home, https://pyogrio.readthedocs.io/
31
+ Project-URL: Repository, https://github.com/geopandas/pyogrio
32
+ Classifier: Development Status :: 5 - Production/Stable
33
+ Classifier: Intended Audience :: Science/Research
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Operating System :: OS Independent
36
+ Classifier: Programming Language :: Python :: 3
37
+ Classifier: Topic :: Scientific/Engineering :: GIS
38
+ Requires-Python: >=3.9
39
+ Description-Content-Type: text/markdown
40
+ License-File: LICENSE
41
+ Requires-Dist: certifi
42
+ Requires-Dist: numpy
43
+ Requires-Dist: packaging
44
+ Provides-Extra: dev
45
+ Requires-Dist: cython; extra == "dev"
46
+ Provides-Extra: test
47
+ Requires-Dist: pytest; extra == "test"
48
+ Requires-Dist: pytest-cov; extra == "test"
49
+ Provides-Extra: benchmark
50
+ Requires-Dist: pytest-benchmark; extra == "benchmark"
51
+ Provides-Extra: geopandas
52
+ Requires-Dist: geopandas; extra == "geopandas"
53
+ Dynamic: license-file
54
+
55
+ # pyogrio - bulk-oriented spatial vector file I/O using GDAL/OGR
56
+
57
+ Pyogrio provides fast, bulk-oriented read and write access to
58
+ [GDAL/OGR](https://gdal.org/en/latest/drivers/vector/index.html) vector data
59
+ sources, such as ESRI Shapefile, GeoPackage, GeoJSON, and several others.
60
+ Vector data sources typically have geometries, such as points, lines, or
61
+ polygons, and associated records with potentially many columns worth of data.
62
+
63
+ The typical use is to read or write these data sources to/from
64
+ [GeoPandas](https://github.com/geopandas/geopandas) `GeoDataFrames`. Because
65
+ the geometry column is optional, reading or writing only non-spatial data is
66
+ also possible. Hence, GeoPackage attribute tables, DBF files, or CSV files are
67
+ also supported.
68
+
69
+ Pyogrio is fast because it uses pre-compiled bindings for GDAL/OGR to read and
70
+ write the data records in bulk. This approach avoids multiple steps of
71
+ converting to and from Python data types within Python, so performance becomes
72
+ primarily limited by the underlying I/O speed of data source drivers in
73
+ GDAL/OGR.
74
+
75
+ We have seen \>5-10x speedups reading files and \>5-20x speedups writing files
76
+ compared to using row-per-row approaches (e.g. Fiona).
77
+
78
+ Read the documentation for more information:
79
+ [https://pyogrio.readthedocs.io](https://pyogrio.readthedocs.io/en/latest/).
80
+
81
+ ## Requirements
82
+
83
+ Supports Python 3.9 - 3.13 and GDAL 3.4.x - 3.9.x.
84
+
85
+ Reading to GeoDataFrames requires `geopandas>=0.12` with `shapely>=2`.
86
+
87
+ Additionally, installing `pyarrow` in combination with GDAL 3.6+ enables
88
+ a further speed-up when specifying `use_arrow=True`.
89
+
90
+ ## Installation
91
+
92
+ Pyogrio is currently available on
93
+ [conda-forge](https://anaconda.org/conda-forge/pyogrio)
94
+ and [PyPI](https://pypi.org/project/pyogrio/)
95
+ for Linux, MacOS, and Windows.
96
+
97
+ Please read the
98
+ [installation documentation](https://pyogrio.readthedocs.io/en/latest/install.html)
99
+ for more information.
100
+
101
+ ## Supported vector formats
102
+
103
+ Pyogrio supports most common vector data source formats (provided they are also
104
+ supported by GDAL/OGR), including ESRI Shapefile, GeoPackage, GeoJSON, and
105
+ FlatGeobuf.
106
+
107
+ Please see the [list of supported formats](https://pyogrio.readthedocs.io/en/latest/supported_formats.html)
108
+ for more information.
109
+
110
+ ## Getting started
111
+
112
+ Please read the [introduction](https://pyogrio.readthedocs.io/en/latest/supported_formats.html)
113
+ for more information and examples to get started using Pyogrio.
114
+
115
+ You can also check out the [API documentation](https://pyogrio.readthedocs.io/en/latest/api.html)
116
+ for full details on using the API.
117
+
118
+ ## Credits
119
+
120
+ This project is made possible by the tremendous efforts of the GDAL, Fiona, and
121
+ Geopandas communities.
122
+
123
+ - Core I/O methods and supporting functions adapted from [Fiona](https://github.com/Toblerity/Fiona)
124
+ - Inspired by [Fiona PR](https://github.com/Toblerity/Fiona/pull/540/files)
@@ -1,34 +1,22 @@
1
- pyogrio/arrow_bridge.h,sha256=EfWAiMO2rssy2SA5sMiApGWvmIFp_1YQA1Q3D9wCy6w,3688
2
- pyogrio/core.py,sha256=WZ1F_qUSo_LR9N8KvSiwMhLPrHls_6AjHps3tmMAf6w,11424
3
- pyogrio/errors.py,sha256=EUpf5UaLuzB6mybXfZ21F-2AfC9GWPYTGjRST6AIPEM,698
4
- pyogrio/geopandas.py,sha256=QiXBuY5L5QQSSmwr2yXjwUjlL90FYkP5JTSsmL9DjpI,29509
5
- pyogrio/raw.py,sha256=nefRabIc-yOv7nQBip70wlHa-vECS_XypDU98hz-47w,34326
6
- pyogrio/util.py,sha256=aKh6E2BmiOSJc7vCVpyT8m9vu71y2pREU1dnFEhRTGU,5969
7
- pyogrio/_compat.py,sha256=vgo7B-uqGIt5fPMLTmW03qGKiL-Bz0u6HwI14v3ptyc,1049
8
- pyogrio/_env.py,sha256=Sl9xkpcMi-b2jxR0L8rMFKW15eESFb1HBEIxzQvXX_E,1592
9
- pyogrio/_err.c,sha256=Ipy4IXaOr_nOCg7-ksBv9VHMRW1RrJ9OB3ORcoYkVUg,453115
10
- pyogrio/_err.cp312-win_amd64.pyd,sha256=vjT9mwxWg74IYeNejXeR4CFRUhIKYO7hUev4TrzbemQ,72704
11
- pyogrio/_err.pxd,sha256=Qxp418g6T9MPmpUZJR9rhr31NZwI4pu-9hFH7aaj59w,170
12
- pyogrio/_err.pyx,sha256=AvI_FBahWvKvucweliHRUZlkN9HNlNWYjd2iuV9F81c,6377
13
- pyogrio/_geometry.c,sha256=7fbTC3mTonQ7Ria8QFLnxIgBQVElZm_KHwFmIYEZo-w,333530
14
- pyogrio/_geometry.cp312-win_amd64.pyd,sha256=b0Re6iqj5g3_llCn71QLznENqPj4kettEaOFd9hwV_0,49664
15
- pyogrio/_geometry.pxd,sha256=mm6aPgDYvlDI79K0leMtDBGTqaRdlBH8pzg2v2zRqvs,150
16
- pyogrio/_geometry.pyx,sha256=l42NiTzO5INk8pOO8xDCpHdxfO8XO9WicRo5CIzh08I,4199
17
- pyogrio/_io.c,sha256=1xN38MW1Ge-RnFEwpdLdQrg26fkWG4iIQwAKqEr6d4w,2710343
18
- pyogrio/_io.cp312-win_amd64.pyd,sha256=mLmGLTqnZAC6A4rusjAc7CaWSyuzxj5CwLq8i5e6RCE,442368
19
- pyogrio/_io.pxd,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- pyogrio/_io.pyx,sha256=GwqrNGgZgx_o5EHU4fsr4FG0mfbheiIFf0LUb6HaroA,94171
21
- pyogrio/_ogr.c,sha256=dGEk4yzJDP5ygyeX4-QbcPHUbcS_9M9Jm-a4XNo2an8,583071
22
- pyogrio/_ogr.cp312-win_amd64.pyd,sha256=Kex4AURrTHU4qGmFQc43UkCYF5WiPjJ4dzPND7yQoeU,95232
23
- pyogrio/_ogr.pxd,sha256=G8UgNm99mMgHcUc4MAVyKwpbb6uwgDnsGqvharareWw,17778
24
- pyogrio/_ogr.pyx,sha256=tbK1gib-0P6W_7vsUCuSCXhoQggxG1Am-p1XNrd3XzQ,10013
25
- pyogrio/_version.py,sha256=CYMzOtekFxuiUIJnPRoK7JAZ2pJ_0ZdG-4bVefkHIUY,518
26
- pyogrio/_vsi.c,sha256=3w1-FObpnag_E3xvZf6VZ5HyNqSRwQpPBypET9XizFg,264709
27
- pyogrio/_vsi.cp312-win_amd64.pyd,sha256=mr5A7YSX34xUN5g1t8mjSoh6c6SJDyOJiH-9OOu6WsI,38400
28
- pyogrio/_vsi.pxd,sha256=tvjYzLfApZVbykTJOI1GjzvxrPraM_zMC-P0TRMoPTg,209
29
- pyogrio/_vsi.pyx,sha256=5sjO7WZEk_Gbs71ETNR-dkImBS5ftEnpcT5XrAZ-Jnw,4575
30
- pyogrio/__init__.py,sha256=xbctSZM9BpMnayN-k6gf6NieJIGzha9lBvojcp-bIbw,1528
31
- pyogrio/gdal_data/bag_template.xml,sha256=2veBb2hsNbUexmyQ_GrtvxLb75fyj5-ulzE5L5KvtzM,9020
1
+ pyogrio/core.py,sha256=iQF3egPj-BtU93rrGdXs5klaBZDVkIvBFLW2zYUMvl4,13088
2
+ pyogrio/errors.py,sha256=NWQHK2RbSRr0dP7v10OjuFbK02g8wFpqN00ReyZawNY,670
3
+ pyogrio/geopandas.py,sha256=lg13sgo6gw6Gt2Dh_QekLw6RwyuuoauyTGYwexQFsm0,31923
4
+ pyogrio/raw.py,sha256=Vkto-Hx0vRwb-KebjIhorN7XAJBnsXYofxRrkdnetsA,35262
5
+ pyogrio/util.py,sha256=cpR8qVp2PXQ6oA3kdL32qhccdiWqmdzlJTh8IRWEgK4,7391
6
+ pyogrio/_compat.py,sha256=3xuU68ss60AGMG6pZ5nU9jHstRaXxu_XL9O8b2vPhxE,1563
7
+ pyogrio/_env.py,sha256=q__aML08TEOk6MCVmkzXAouOZMNihSQk_N3ekz2jGk4,1553
8
+ pyogrio/_err.c,sha256=Tf6fQBELw9vVOdpNL_MSSBJQOEb76pP6AoqWSK8ECtQ,683908
9
+ pyogrio/_err.cp312-win_amd64.pyd,sha256=cM1nPGuNZACldetmk4h5vz7gs_xrKnFixCsdsCfq9IA,115712
10
+ pyogrio/_geometry.c,sha256=qBM4IjYMImoQljE-8BkDOtlqLqYkSBeuxXsbx9mDGp4,339718
11
+ pyogrio/_geometry.cp312-win_amd64.pyd,sha256=90tAYvdiDuK4piT_q5aU1aQSxz9AddHVwlHkhCEefC8,50688
12
+ pyogrio/_io.c,sha256=KsXNfoMnipSTrT7jR2iuDj9CqbKXQPNWFk2_QUsLT8Y,2743475
13
+ pyogrio/_io.cp312-win_amd64.pyd,sha256=bF6k9cihM0N77MdeJuLF7-s58YnA9lfU6wNX5fC1hAc,448000
14
+ pyogrio/_ogr.c,sha256=9pnAvkUA-gjo0r_iCWjOT6YutSJ0QzDVrscmpbOTUXk,583206
15
+ pyogrio/_ogr.cp312-win_amd64.pyd,sha256=nG-4wjy8Ty7Wto23YxpZwJ_4PvCeCJbCA0PczKJWEec,94720
16
+ pyogrio/_version.py,sha256=w1s1VBr9YYBXvomAxq8lq0RFOtV5yLZ8QYiACL5Ap3s,519
17
+ pyogrio/_vsi.c,sha256=fT8eDDHSH0gOSnWb8GF9Jn3OwvxhbGA7ToW3Du4Z_F8,459078
18
+ pyogrio/_vsi.cp312-win_amd64.pyd,sha256=aL1afvcRJdSyQ1EFIBC6nlwfV_8G575di44i5YgRHG0,72704
19
+ pyogrio/__init__.py,sha256=J1529YV1fGpqh_CL24Cw8_rOUHHZqtavuyPEFyMnV44,1661
32
20
  pyogrio/gdal_data/copyright,sha256=Ha40aOgdANpW4pNvdNM7izrQnXJkN_Gc4gml2r6kH3c,21841
33
21
  pyogrio/gdal_data/cubewerx_extra.wkt,sha256=HMo_o-JJ9Mx9G_D_sKcaGir63RCv337QqiktvF5PB2g,11977
34
22
  pyogrio/gdal_data/default.rsc,sha256=nhydcIHVJ3XnUNQVXUklUlKwTKgf7yfLKZdnXTzZYms,463632
@@ -37,19 +25,18 @@ pyogrio/gdal_data/eedaconf.json,sha256=AxFoSKe6ytEFKJxW9dE_tZviZPHj04CegnRfQWP-E
37
25
  pyogrio/gdal_data/epsg.wkt,sha256=5QiV6QYaum3RWI8GoIiHKqViqNmHFliLwaQgGJ3LJUw,27
38
26
  pyogrio/gdal_data/esri_StatePlane_extra.wkt,sha256=aC3xsjHLbxKHaF1MZL8bJhHAr0PDBINHO7s2bOG9jTM,332546
39
27
  pyogrio/gdal_data/GDAL-targets-release.cmake,sha256=m1WoZ1dNQIJxU2WRR2-z6fb7_SfDqSM7xVrlQyM5Yoo,1008
40
- pyogrio/gdal_data/GDAL-targets.cmake,sha256=-0Io6ORPfulGPcuKvQ_idr9PS3j4pR47PtuVWJ25Oys,4140
41
- pyogrio/gdal_data/GDALConfig.cmake,sha256=6NB0ehuDTFJ_1Ypugk6EK4GDx7G9JDVFElF5mjk7brU,979
42
- pyogrio/gdal_data/GDALConfigVersion.cmake,sha256=xh0SFojiW-r_-N2sMHC3TZo4zRCUaxkocfr-sTO2AWQ,3760
28
+ pyogrio/gdal_data/GDAL-targets.cmake,sha256=WzvNVPOK63SBBZOKGYbN42F0_x48qOQdnRVqcGAs2uY,4140
29
+ pyogrio/gdal_data/GDALConfig.cmake,sha256=1AVe77_0m0Twjm9MfBf1zciDMhInvttFd41Sg-7AXnU,947
30
+ pyogrio/gdal_data/GDALConfigVersion.cmake,sha256=8x84-JTL7pliLywfqx8EnNOJ7MNwlXYiOBvm_RBuQX0,3763
43
31
  pyogrio/gdal_data/gdalicon.png,sha256=2Q9QqPdMMlCGyGe_AGqSJmwlmicNkWay9B9Ya2d1Vyk,2021
44
- pyogrio/gdal_data/gdalinfo_output.schema.json,sha256=RcdGS9NTuLwqr2KqfEWlW5aIVWyKfPq24zicQJwQP8I,8233
32
+ pyogrio/gdal_data/gdalinfo_output.schema.json,sha256=TDBG6nQXoUlzsZ0U0IY2Kgj3SqGCSueQwwXQXxrfJzM,8241
45
33
  pyogrio/gdal_data/GDALLogoBW.svg,sha256=qsnasz1HnguDK4vXyeVRDcvvNKfGzJrqlrviqrUWHFM,13022
46
34
  pyogrio/gdal_data/GDALLogoColor.svg,sha256=LBAqMcbpEWqpuYeH2L9c9kjbzCuTCu5lPNNd9l7RGNA,12305
47
35
  pyogrio/gdal_data/GDALLogoGS.svg,sha256=Gubi2S5rBDnzuu4MtV2ti5er-0_MWMkYmyO2PIGK7so,12305
48
36
  pyogrio/gdal_data/gdalmdiminfo_output.schema.json,sha256=uYqJkLuuqtCA6jwdnNGeNRF7XeeI6fy2Y-ybzZf7VaQ,6543
49
- pyogrio/gdal_data/gdalvrt.xsd,sha256=S0NVXifFzG4kJUW-XdyFzYLnwi-7YUQev8DI6Xx7av4,34063
37
+ pyogrio/gdal_data/gdaltileindex.xsd,sha256=omsAL1b7lkIHcDfWJJ7m5UoqLKRTekPOYxeuLfK6LEA,10787
38
+ pyogrio/gdal_data/gdalvrt.xsd,sha256=D_QIxwapVBY9W72htnIuTcv9SmnOXAaJgf2TxY8E3yM,39228
50
39
  pyogrio/gdal_data/gfs.xsd,sha256=TCLwaVONVD6Fh94o6Hw-NClD8-2erBsz3V9dgozmG5I,16469
51
- pyogrio/gdal_data/gmlasconf.xml,sha256=IAk50u-H3k34Dm6_MJCMYOllTgv8a3nHrk6oqUR9t24,7432
52
- pyogrio/gdal_data/gmlasconf.xsd,sha256=khv6jROHkaOsM3UI4mQsAZJDDedWGA7sJLh2RRZw_jY,48654
53
40
  pyogrio/gdal_data/gml_registry.xml,sha256=2rVxsqdOS23ieg_eYtNIhxQcpFbRHKrN11oWay3lp0M,6643
54
41
  pyogrio/gdal_data/gml_registry.xsd,sha256=75C2JexYEv3asxO4seOHmJzP6glAnFFfMTm21jSRKXo,6462
55
42
  pyogrio/gdal_data/grib2_center.csv,sha256=9qwbZ4W8m8-6dZG6LFskca3rCgl42bMLfzg0yQI_QjM,4171
@@ -152,17 +139,17 @@ pyogrio/gdal_data/jpfgdgml_WL.gfs,sha256=J9BKIPRJyY30wGjgQk9CYpguSk38EF4706xzYIq
152
139
  pyogrio/gdal_data/jpfgdgml_WStrA.gfs,sha256=ul-hFP9A9jVcIW4xKShR6C0yjXAq8HEPUkk8oLyH27A,1503
153
140
  pyogrio/gdal_data/jpfgdgml_WStrL.gfs,sha256=6_4tnRheyIf-c3JQwKYxSHA4i-I7ORkf3InxygGqyJA,1505
154
141
  pyogrio/gdal_data/LICENSE.TXT,sha256=Ha40aOgdANpW4pNvdNM7izrQnXJkN_Gc4gml2r6kH3c,21841
155
- pyogrio/gdal_data/netcdf_config.xsd,sha256=O1eIEmlSx3y7N1hIMtfb5GzD_F7hunQdlKI1pXpi3v4,7491
156
- pyogrio/gdal_data/nitf_spec.xml,sha256=KFFbjkzMZ_q8QbK4VmHQpbFZqryOrADtB6_IdXZsYq0,187445
157
- pyogrio/gdal_data/nitf_spec.xsd,sha256=60ccsb6YEuoJkrGcBxQxafXAGTSG5vqGdzMAATaJ2cE,8508
158
- pyogrio/gdal_data/ogrinfo_output.schema.json,sha256=qygAli3uNVaoDR_1ohJVQvYqiXpwWAAiDpWzKzE5x8U,11127
159
- pyogrio/gdal_data/ogrvrt.xsd,sha256=oIqipvkTNuuCddTMPX4-NvsKYaLLfSUn9O_k06cGQ8c,25921
160
- pyogrio/gdal_data/osmconf.ini,sha256=2__o9tGkmEMQa8WXGnlOPmJQtefKxePj5HdypuDLOM8,5400
142
+ pyogrio/gdal_data/MM_m_idofic.csv,sha256=acV9u5XhcnROPCNrvnMulxBaApZ45wEd9nzjGoWylgQ,32388
143
+ pyogrio/gdal_data/nitf_spec.xml,sha256=-xl5DBIJLIK6RUN-rSDAzLQhwGGInm-QyD_eQ1b6WZU,186405
144
+ pyogrio/gdal_data/nitf_spec.xsd,sha256=SkRz-ryVaE48VcuyOOeJvyVUiUZLJJazkCgKTKExm-U,7468
145
+ pyogrio/gdal_data/ogrinfo_output.schema.json,sha256=KAg0erS175ZGsaHth8ZOga_PIzra4wWbjHC3gK1qE6s,11667
146
+ pyogrio/gdal_data/ogrvrt.xsd,sha256=SNQQxkVk91zvy4iDxbz_PbOkPuhKKcq4RCxxqTAHNao,25164
147
+ pyogrio/gdal_data/osmconf.ini,sha256=oOgbs6BAhrJEBVh3S_QczWkxkeWXjY9_G-eaBEHl8Zg,5485
161
148
  pyogrio/gdal_data/ozi_datum.csv,sha256=42eOPxRAhK6zSIwuGuIkfweoQfUBqJ5yJa6d2b-xmGg,8482
162
149
  pyogrio/gdal_data/ozi_ellips.csv,sha256=DINjv97cF4fVNGPXBeLhzo-9_NSdHjx3j11CgpgNdcY,1349
163
- pyogrio/gdal_data/pci_datum.txt,sha256=cxbqOPJKtHw6h0QnpG2cHyhsOV2rbR6W3b17YuTfPtE,35094
164
- pyogrio/gdal_data/pci_ellips.txt,sha256=F2VT-O3kC-gpk_NfS9ywDW3cYv_BzOf5q0EskZSJucE,3515
165
- pyogrio/gdal_data/pdfcomposition.xsd,sha256=f5x0mBCK4xFCoM4iT_UCMM40Typm4Qy4NHjCSUL-Fg4,34334
150
+ pyogrio/gdal_data/pci_datum.txt,sha256=AvdrClRR4GgBukxN5mGsXHYAZaZfQtBsnTWcNJD_nIE,45587
151
+ pyogrio/gdal_data/pci_ellips.txt,sha256=XPN-_epqhUBrVE5v1ihrjbXyP6TNo4xqHV-8tQQy17Y,6351
152
+ pyogrio/gdal_data/pdfcomposition.xsd,sha256=2NeoZJ0rIPHUmVwsSDFZ2O_-w399Cpq62UTz_779-3w,33294
166
153
  pyogrio/gdal_data/pds4_template.xml,sha256=rqpN2EsXceGQFfSMeWMoD_2PrU88izTiY275iU5W9mI,3433
167
154
  pyogrio/gdal_data/plscenesconf.json,sha256=Vd__WXJyPouwHYD13vuYnTYDtyPD7wPk1xV4oDcQ-Gc,41372
168
155
  pyogrio/gdal_data/ruian_vf_ob_v1.gfs,sha256=FnvtM-za4grKUwHUGLzBE_wxXj_0iYMXSg9Uf02MpBs,46735
@@ -184,10 +171,10 @@ pyogrio/gdal_data/tms_NZTM2000.json,sha256=irMxe-d_H9zzagr3FS4bsJZScfe-XLvEMmdxa
184
171
  pyogrio/gdal_data/trailer.dxf,sha256=UGuvDFk9eo_yT7zXg4hykr1tPI1QVHKeO_OLlGXRGfw,2275
185
172
  pyogrio/gdal_data/usage,sha256=yFWEJh4gEalLhvBMOijdLhZcnmtHZ3qb7iaj04e8BfI,136
186
173
  pyogrio/gdal_data/vcpkg-cmake-wrapper.cmake,sha256=xQfqoHcHLph3YH_V9wOB7r8ZkAZh4uH9CZ2ExN8bjCQ,817
187
- pyogrio/gdal_data/vcpkg.spdx.json,sha256=q5dH1X16L744TI6QHBTbCDvooQ-NmDRZ0DARaXnmBYA,8732
188
- pyogrio/gdal_data/vcpkg_abi_info.txt,sha256=AbLNpG1PuFYaJrB8pnb-x3aicacIW__NNX2tZ1Exwnw,3205
189
- pyogrio/gdal_data/vdv452.xml,sha256=q1KF0BR-dDEIomwkRLhTksR4f_maMumayx4hQ2wju8k,25816
190
- pyogrio/gdal_data/vdv452.xsd,sha256=rCZLv6wROL-3FdB_OiimR6l5Jw37cV553UOiSE5K1Pg,2854
174
+ pyogrio/gdal_data/vcpkg.spdx.json,sha256=BjS7tskMJR_h49vL0Xp0XtbP0nnwlvdeTQ3UV-3KYP8,8113
175
+ pyogrio/gdal_data/vcpkg_abi_info.txt,sha256=ZWqiR7AQv-m3xAb0E1uo3wNY7z6Kzn_HezJyzsqNfbw,3286
176
+ pyogrio/gdal_data/vdv452.xml,sha256=wdV8j7f6QqQH-q4R5Z7jETRc1axL2cE0IX56tD9o3RE,24776
177
+ pyogrio/gdal_data/vdv452.xsd,sha256=3Uy74ZrFAwE8ZwlqfgXYOwb3QBzlaU2-lNxwl0qq9uk,1814
191
178
  pyogrio/gdal_data/vicar.json,sha256=eSStEB2nV89BCRrUqec03eHSNUN1P3LC7t4Ryc19Asg,3610
192
179
  pyogrio/proj_data/CH,sha256=bFPqQKLGAyW6bGuaK5wUO9FlZxw4gg7NjyPKq0omSrU,1097
193
180
  pyogrio/proj_data/copyright,sha256=ao8weT6HfTLj-IuXLwlwoFGjtaJs0FfTmTy1HiHEMxk,1784
@@ -195,68 +182,69 @@ pyogrio/proj_data/deformation_model.schema.json,sha256=ugxZERFyB6k2_HOMHjHaABtFt
195
182
  pyogrio/proj_data/GL27,sha256=hTdeYxXW9kTkV32t88XxV1KK0VtxXJmyh73asj1EGT0,728
196
183
  pyogrio/proj_data/ITRF2000,sha256=UiXDszZ6NwIeY5z9W9FSHSvV0Ay8R0zWs7OCdhWk_nI,2099
197
184
  pyogrio/proj_data/ITRF2008,sha256=3GmF1XIeLh0Y-smW3uXeyQJE7z4gw49yIF4y2IQq8uI,5682
198
- pyogrio/proj_data/ITRF2014,sha256=KYUwTjflfDYqYTl7YyZ9psYMN2HT5GOhH0xr0BPC19U,3489
185
+ pyogrio/proj_data/ITRF2014,sha256=X6F9a2aSjubLAa5BdP-L8yRYRov4Fwid8Rl3nf04Lvo,3490
186
+ pyogrio/proj_data/ITRF2020,sha256=-y_VKVGtubMjNHV-1BL-XNuchTOvKEIfoZHbp7TXPcs,5711
199
187
  pyogrio/proj_data/nad.lst,sha256=Gijthy_RVQ9b97Wl5b_F51ALX5TJdFuEodFWsyA5kow,6385
200
188
  pyogrio/proj_data/nad27,sha256=C8IxkiRhrHWJIsanJR6W1-U-ZWYIsbTwa3hI-o_CVSA,19535
201
189
  pyogrio/proj_data/nad83,sha256=mmJgyGgKvlIWyo_phZmPq6vBIbADKHmoIddcrjQR3JY,16593
202
190
  pyogrio/proj_data/other.extra,sha256=we90wKmz4fQqV2wVvENmbBNbfpNh21cno1MgTaJ5zLs,3915
203
- pyogrio/proj_data/proj-config-version.cmake,sha256=5NWmkTnFHmi-KibS8KfSsBtGtMJednI27Ohqjja_Idc,1833
204
- pyogrio/proj_data/proj-config.cmake,sha256=xRPb7cMJJ_tkFvTuwcNkcgWj-gEvD7KYMy3wulWQtyI,2576
205
- pyogrio/proj_data/proj-targets-release.cmake,sha256=-ZfsYGlactuu6NB1OHNi_9gfQTfA8Zsa090XScySkqg,878
206
- pyogrio/proj_data/proj-targets.cmake,sha256=AD61H458Z-NrBLtGve2osjKXmr6uzuOha5QOB6zj4tw,4140
207
- pyogrio/proj_data/proj.db,sha256=7l14rro5yVAdWqT2RfsLNAq_Kki3olYNb2NGFTJRbi0,9105408
208
- pyogrio/proj_data/proj.ini,sha256=SvO-E5l27NOlzFZWPKMhu1ASFjwLid8IB773in3StB4,2107
209
- pyogrio/proj_data/proj4-targets-release.cmake,sha256=i7Y0U7CMvfu7OzVnudWMxZ2oWkE00yFQlIxlkLp7qQ0,883
210
- pyogrio/proj_data/proj4-targets.cmake,sha256=c4ZQB9qFnNc_SXMlhwC_r1S2rokHxZoepkEJB15yAXU,4145
211
- pyogrio/proj_data/projjson.schema.json,sha256=HqlM_U1GCI-za_NtPEkqqSABIS62mngA5TOmEQP21W4,38312
191
+ pyogrio/proj_data/proj-config-version.cmake,sha256=u7ns3zFrJ3Dx-md2NciRCWB1rc1TqL_XaWtUwkipKIc,1833
192
+ pyogrio/proj_data/proj-config.cmake,sha256=MzzNY7EtmoxekswefuqEqwU6PZIPi_15lGsQPS_c6LA,2587
193
+ pyogrio/proj_data/proj-targets-release.cmake,sha256=fVQrIrIaW5_H6pq2DOT4i2zLGkV65_sMAmtXvJgobCw,958
194
+ pyogrio/proj_data/proj-targets.cmake,sha256=UHZKdkSdBf6GSPkqaa4U5MsbN3TIuXYEtozviJzA954,4140
195
+ pyogrio/proj_data/proj.db,sha256=f1lW9moJcBNOp1IV9AHT1794cPK8y9cbdHlyq0I2SoA,9359360
196
+ pyogrio/proj_data/proj.ini,sha256=uV6_DQBzOSREg9ZdVxzYh6UYBuK9LBq39HuJfSUyDWU,2435
197
+ pyogrio/proj_data/proj4-targets-release.cmake,sha256=i0K7zFpwZBUZY-w7Qiw0RXPp7XzkznYqUstPZocHlcM,963
198
+ pyogrio/proj_data/proj4-targets.cmake,sha256=BVPPZ7QUTqJ_UCvng9d7H-YObiWBzXyLxNbOCtuZrkg,4145
199
+ pyogrio/proj_data/projjson.schema.json,sha256=Z_CQVWuumWUi7a1IJZfA-eG5GcpMkoisn4981BgPSbY,38418
212
200
  pyogrio/proj_data/triangulation.schema.json,sha256=sVKCZmZ9Tz6HByx043CycTUQFRWpASolKH_PMSzqF5o,8403
213
- pyogrio/proj_data/usage,sha256=JhaTY8J-caRMup1wOyK70TwZGrXi0GErPdNcc1yXH-Y,120
214
- pyogrio/proj_data/vcpkg.spdx.json,sha256=UBWRn3ONV3SgzwTneXvXJMWGtXrIjyQNxYbsvGzEIyk,6543
215
- pyogrio/proj_data/vcpkg_abi_info.txt,sha256=UW-mK2joHziyqo2guxJSdW4v4spQ5Lz8do7XGq9HdGg,2067
201
+ pyogrio/proj_data/usage,sha256=rga-roM3bNnxHbjCWWvQOPia4eLNMrgu4zPxVyBwNwo,206
202
+ pyogrio/proj_data/vcpkg.spdx.json,sha256=KmOvm4D7A2RT7hh7o3xSu1W71xTZxTSQaNVDKdP8jqs,6167
203
+ pyogrio/proj_data/vcpkg_abi_info.txt,sha256=G9UTp3xOX22QGNVpmin50K4G2WIpV7ys23DA1Cm9dYg,2142
216
204
  pyogrio/proj_data/world,sha256=8nHNPlbHdZ0vz7u9OYcCZOuBBkFVcTwE_JLq3TCt60g,7079
217
- pyogrio/tests/conftest.py,sha256=L_9bILVcl8cHMUElhZTTHyBhzZgM5TaE6nZvNs2DJBo,6019
218
- pyogrio/tests/test_arrow.py,sha256=IsbbMlpajBTumGDnJiv8pXgDJq85n8xt0wLNdRsfs-0,33602
219
- pyogrio/tests/test_core.py,sha256=CWuf5WU01K7JZJBFra8C7ot_MWhAzmDmjVCu1ZzBjtU,19806
220
- pyogrio/tests/test_geopandas_io.py,sha256=PERsqNJ8PR8sE76Cjz3I4usQcUxIKb0fck0UNhmkbxo,77640
221
- pyogrio/tests/test_path.py,sha256=5itfbhbUcTr5waUxIG82BTjrNxZPxfCg-lq4ak37sps,11762
222
- pyogrio/tests/test_raw_io.py,sha256=NE9OPeCtWwUTi1oQv3qeFvK8lQgIfKSORrFh-vpAdJs,48505
205
+ pyogrio/tests/conftest.py,sha256=X_5EtfgUUZioV4HKFbDBZMJnjmvCh5yEtFgn4bGaNVQ,12066
206
+ pyogrio/tests/test_arrow.py,sha256=JU6ZgvvzdCSXnMpaAdtG49JbtOsa2YQPa7ipjyfFaug,39001
207
+ pyogrio/tests/test_core.py,sha256=rYlFvOEa3WUxu2uKzOdJjJ0nuLf55_Bpg61YK8rMSDI,22995
208
+ pyogrio/tests/test_geopandas_io.py,sha256=9jaSovSg3IuUuWh6sOHXH3tSghzksOGy0JV1rR7TTgY,89850
209
+ pyogrio/tests/test_path.py,sha256=Yi2SxeFDE5GaLVEw8105dSs1vEQ1Ce8sJE0-bEw4IhI,12979
210
+ pyogrio/tests/test_raw_io.py,sha256=LxQXdvN-NMp3RG20PvSM-unygn81n-g9q2l57XUDMVQ,52292
211
+ pyogrio/tests/test_util.py,sha256=tla0E1Sp7CudLRy5f0NlQdVjC9ye-lEFF5gut1HW8ZQ,2182
223
212
  pyogrio/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
- pyogrio/tests/fixtures/poly_not_enough_points.shp.zip,sha256=84E3TnPK9pZvXLdDxoYuRKmnrHjckOoJQU35OO0LrqY,2402
225
- pyogrio/tests/fixtures/README.md,sha256=nMqphjTNWxwtOfT-vAcRYaUYS_PhmkeYdakj_cW88Yk,2779
213
+ pyogrio/tests/fixtures/curve.gpkg,sha256=A6nFkE_TB1xhupblvwqsOBch1DeZ2yPAZjSgxW4E8wI,98304
214
+ pyogrio/tests/fixtures/curvepolygon.gpkg,sha256=AKEwmrDyn5ekxfbLnNO94nFD_JNnEtUQF2f2DwyWusc,98304
215
+ pyogrio/tests/fixtures/line_zm.gpkg,sha256=lWPlE7BkR27nq4xmhY8_Q0MHylVPdJVlLQlnTSdHxww,98304
216
+ pyogrio/tests/fixtures/multisurface.gpkg,sha256=iYoji8EZ8FFiLCLelziZ9QFGajOmpsDMQFEigCxtZI0,98304
217
+ pyogrio/tests/fixtures/README.md,sha256=ofw3oXiq1PS-axG4DGpF7e3CFzAs0f25QuvFg21ohzg,3714
226
218
  pyogrio/tests/fixtures/sample.osm.pbf,sha256=QKJQWdMaglIdz0nj8cnfOF8XWbV02bscpOo325FBaZI,9653
227
- pyogrio/tests/fixtures/test_datetime.geojson,sha256=KD-81IQagRLe77icGKia9RZBZ5zyDMsfKW8wCd8iuWY,325
228
- pyogrio/tests/fixtures/test_datetime_tz.geojson,sha256=nyriyN-JBj-5eUtwOJmaPZq3GUpvFDhON67Sr8oeb0U,442
229
- pyogrio/tests/fixtures/test_fgdb.gdb.zip,sha256=c7sFaFVfxEfn_R1NxpijRgOIxa2u1pFBSL9h_4PNpHI,101524
230
219
  pyogrio/tests/fixtures/test_gpkg_nulls.gpkg,sha256=QoHTxV8gQuIXSrmhPFxaBtE4QQccGqPqLMExr69x4dg,98304
231
- pyogrio/tests/fixtures/test_multisurface.gpkg,sha256=sc6yaD6RxjqCGIT0ijBXgxEWYNMZNPLOetKvD5njGYY,98304
232
- pyogrio/tests/fixtures/test_nested.geojson,sha256=t-RWmcP2inY4oOZHobP2OA7qdOvV2swDxKeGucilT_4,416
233
- pyogrio/tests/fixtures/test_ogr_types_list.geojson,sha256=JzRcu0cTf30WseR0S73A-D9jaPmpZ8GMOF4-hDjjTZw,857
234
220
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.cpg,sha256=CfwxMHV0jOjq2WIintickZ1an_cZdO5yWgtIu4fZdaI,10
235
221
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.dbf,sha256=0q4cma3PjkWGpbEsY5ZyA1-i8_Rp5yVZR94AQBw-1-E,48869
236
222
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.prj,sha256=mKrz0cDsrfGkJKRTbeJhw9r043NpfLhsQMQ7mJ2vUus,143
237
223
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shp,sha256=CONBYG6DkeRYw_CN6zEt5mS1a_rjdgZMWqCu5mgaX1U,180924
238
224
  pyogrio/tests/fixtures/naturalearth_lowres/naturalearth_lowres.shx,sha256=iwvirZfdSEruXC68mGl9U3LoMriuWKNaZhru9rmFZo0,1516
239
- pyogrio-0.9.0.dist-info/DELVEWHEEL,sha256=XiPYT6hSB2jrE10FrqefZcgU8J3tcmG9v6qvE0Jzqwg,467
240
- pyogrio-0.9.0.dist-info/LICENSE,sha256=Ct2aqKxglcGNtFadzH5GIuZMeCMkr_mE8_YzJ_b4O80,1123
241
- pyogrio-0.9.0.dist-info/METADATA,sha256=lEmo3bFu2EnyNLcJ4nlYPSZYCz32AMPT189Q_6ss5Dg,3907
242
- pyogrio-0.9.0.dist-info/RECORD,,
243
- pyogrio-0.9.0.dist-info/top_level.txt,sha256=DUBAVaLxa9r0nHHskG8tHdP1P3zt6TYYPRiDBlEUc7Y,8
244
- pyogrio-0.9.0.dist-info/WHEEL,sha256=fZWyj_84lK0cA-ZNCsdwhbJl0OTrpWkxInEn424qrSs,102
245
- pyogrio.libs/gdal-b434963605a006e01c486c0df6dea4e0.dll,sha256=Ar9GmYiZHQIf-gn506z3iZvBXFNbBHFxj7zD0iCEmG8,16762880
246
- pyogrio.libs/geos-f0622d0794b81c937a851b2e6fa9b712.dll,sha256=W-46yggeIlcdA6UNfdVXQtTUAdZ_nH4s8UqtgBWS6hI,1995776
247
- pyogrio.libs/geos_c-0e16bf70612fc3301d077b9d863a3fdb.dll,sha256=iF0o3h6yi58QInArw3qA3WZHOex1WpSPEG-A6a3ONys,382976
248
- pyogrio.libs/geotiff-772e7c705fb15ddf91b432adb4eb1f6c.dll,sha256=h6KzmktQjvCNmsjweADdCZcstUPLLkVBkr_6yIGLTMY,160256
249
- pyogrio.libs/iconv-2-8fcc23ddc6f096c45871011b6e008b44.dll,sha256=cA2jaYBVK96Fo5KVXMEpi4Yb4fNqgUFHu4tuGMdbsu4,1075200
250
- pyogrio.libs/jpeg62-2f9b7af22d78338e8f0be0058503dc35.dll,sha256=ftg2ITmTUblnvOpaM2dxHbV2QWjhfuanfRKwumc_FN8,672256
251
- pyogrio.libs/json-c-e52a077545e4057de42beb4948289b41.dll,sha256=FKWvPzFX3UyMEAh57oPINYQX8mlfnYaBSN2ySEcaLxs,57344
252
- pyogrio.libs/Lerc-5e4d8cbeeabca06f95e2270792304dc3.dll,sha256=uYO9_9CcU5yNt6Ui_Gy8E22ivQ9YPgcHBimGi5GXWRA,513536
253
- pyogrio.libs/libcurl-bc81cd8afe15b10c0821b181b6af8bd0.dll,sha256=ljc1YBkbd0WBQGgqvZgtPe81sZFCv5gimteobI3aDbs,557056
254
- pyogrio.libs/libexpat-fbe03ca8917dfda776562d4338b289b8.dll,sha256=8Hajrb4RDSeqz9XHhbv6Mywpihkp1vbS-hS5nYXMmG0,153600
255
- pyogrio.libs/liblzma-6b36f24d54d3dd45f274a2aebef81085.dll,sha256=cYcRROW5JSCaqxyeABe-KPd-N8tql7jW0idP9MwvoWM,185344
256
- pyogrio.libs/libpng16-13928571ad910705eae8d7dd8eef8b11.dll,sha256=DHdexIB6AtsLraX1Sctp9Hj81Cb08C2DK5kRLTVJcgs,197120
257
- pyogrio.libs/msvcp140-46db46e967c8db2cb7a20fc75872a57e.dll,sha256=hUSON2360YWXQK7aolRLVl6Kbk4uVV3mxGOPSrGyiEM,621960
258
- pyogrio.libs/proj-8a30239ef2dfc3b9dd2bb48e8abb330f.dll,sha256=dWZOQDyzTQVbDkwUILXHpp9WsyzV2DZvBsomZRajkAQ,3415552
259
- pyogrio.libs/qhull_r-c45abde5d0c92faf723cc2942138af77.dll,sha256=PxqZkrFr2CzU9DveCjOS_QxQL1qWrOOfx2RlSEawQYA,448512
260
- pyogrio.libs/sqlite3-df30c3cf230727e23c43c40126a530f7.dll,sha256=2eknN3het2P6B6xY4UEuojMl_ruj7LsV8BqgF5caw-w,1115136
261
- pyogrio.libs/tiff-43630f30487a9015213475ae86ed3fa3.dll,sha256=xZYVivpkSLAOCCwIkYIbI3UDUrr6-4x-yZek01hBNwI,459264
262
- pyogrio.libs/zlib1-e1272810861a13dd8d6cff3beac47f17.dll,sha256=RbnHl18gSf2Jhu-oFhhJlEm3hsHARV8e3eqKF3-m8RY,89088
225
+ pyogrio-0.11.0.dist-info/DELVEWHEEL,sha256=tdz8XPIiKluIMElCao2hRZB7vzdMHK38bW8-lIKDVS8,469
226
+ pyogrio-0.11.0.dist-info/METADATA,sha256=C5aQMzlfM55FMoxZWTfKIMm2VOXUgHapu6r3CWWtHqs,5380
227
+ pyogrio-0.11.0.dist-info/RECORD,,
228
+ pyogrio-0.11.0.dist-info/top_level.txt,sha256=DUBAVaLxa9r0nHHskG8tHdP1P3zt6TYYPRiDBlEUc7Y,8
229
+ pyogrio-0.11.0.dist-info/WHEEL,sha256=VryZucl_XSB78oskhQFN0jfmderyetLlP0R6bZqf7Ys,101
230
+ pyogrio-0.11.0.dist-info/licenses/LICENSE,sha256=1PJXrxdEttvXcAzr4Cgw2H5--f6ZfStiYnQzWKz_3iI,1123
231
+ pyogrio.libs/gdal-34e3e080255b205ef706390e097fa4dc.dll,sha256=BcQNLcFn6uUWFmVkjsxSs9ghxKJE3e2W-fJnrwkj3pY,18020864
232
+ pyogrio.libs/geos-d8f20037634583c2efcd6ea1f4153169.dll,sha256=QSz2Zrp2b0HrezDlHQwknNF7_I90mlEvmf_LPPtYkjo,2539520
233
+ pyogrio.libs/geos_c-046e8885887192fced9516bda554471d.dll,sha256=7PAkobHDmZcxkog5X_YdsfL-y40KBlS-JwsfMdWqu-Q,455168
234
+ pyogrio.libs/geotiff-1f2f76a5d30685a8e0497d9dbf8a79cf.dll,sha256=hrKPfEJ6PMAbpOs_7NW24xsiVU8uUscMhacYqLqu7yI,160768
235
+ pyogrio.libs/iconv-2-4b71ebbdf6834234e0c64cb2439b77cf.dll,sha256=Yl2mdB-xklhIMSQ-8PazmJ9O4ABHmJjllC8Fh2VsBhI,1088512
236
+ pyogrio.libs/jpeg62-bf2a75b1f2695748cd86238ddb19c65b.dll,sha256=a-_bWnanqcweJ87AOYcj-bGbcby3MJWj95Ki9NKEGBA,675328
237
+ pyogrio.libs/json-c-4bc6781090e73c9b22d8dc057618a277.dll,sha256=6iv5TU92fcgehu6rh2AxGcoRRz5FN-v9cydNZCE15Us,57344
238
+ pyogrio.libs/Lerc-0a4c85fb364eca6153da109568898e6c.dll,sha256=DfRX7aZ3BEnIU6Y5ULJ7RDYgID2dUdVQReSZfGvq00E,513536
239
+ pyogrio.libs/libcrypto-3-x64-c8f1692ed45cf55faecce2c448056b2e.dll,sha256=mC6tF0v6PKAsYyQWkoTwy54WxcuT7dDIvtfu9Y5i_Fo,5201408
240
+ pyogrio.libs/libcurl-f3604410cd467a44d927794ebdce81b8.dll,sha256=tdIuL3oPpsEQbx7IBDLPE3x1pTvUZ9eNjE-NChmC7yA,606720
241
+ pyogrio.libs/libexpat-385074fd54deb4b640baafa42cbb3146.dll,sha256=AOsUIBWCsVXxiZa8RwuX-Pb0rXnSNbSqJ4tCS7cOIXA,154624
242
+ pyogrio.libs/liblzma-8968f0bfd463b7fe612b20d07adc3c1e.dll,sha256=UFso6kkIKI3NlphhxeSmncX4csl77uwRTFN1gqwFK9U,186880
243
+ pyogrio.libs/libpng16-44105208fe941d03e9f0c17bdbb952f7.dll,sha256=kb-CF6vIUvw4w_gYA5oviWNYMNoZlBovtHEWko0K8aE,203776
244
+ pyogrio.libs/libssl-3-x64-58c364315f431ab1f0e48b311b8cf105.dll,sha256=CcwniiWXxghj2lWrouvsjybcp5H7VuKx-I-7khhcpaQ,858112
245
+ pyogrio.libs/msvcp140-99aa35e2033bb8d388bc35c8a68b77e3.dll,sha256=pMIim9wqKmMKzcCVtNhgCOXD47x3cxdDVPPaT1vrnN4,575056
246
+ pyogrio.libs/proj_9-ee59474f99643c112eb02aa34a910237.dll,sha256=F3nFdgoDUJTMkxCyZxqkVtAlcjUKZ2M8fuPvAlF533I,3486208
247
+ pyogrio.libs/qhull_r-eaac2f11a3d8241f082e54447c7504d7.dll,sha256=D70hhAdC_p6fbRVQMmrv7Xd93D61_gUTvUL_FHPDQso,448512
248
+ pyogrio.libs/sqlite3-dc748e3452944fd41001abacdd783569.dll,sha256=05P_P52RiVA8M8BZaaC4YXenN26SLz8PNQRlR7zElSY,1139200
249
+ pyogrio.libs/tiff-c409ddbe87b39639b83fee50d4aea318.dll,sha256=BbclP3DwXTW-AQgXGG-cFwBWM26ND-Kc6pix6tz4SMA,466432
250
+ pyogrio.libs/zlib1-094085b7b78666197dcc8e1fce2d835d.dll,sha256=PDEfZFu7GcRHW2kvOkS8IzF-tFUup2AJ_EYeVbJTFqQ,89088
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (80.3.1)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp312-cp312-win_amd64
5
5
 
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020-2021 Brendan C. Ward and pyogrio contributors
3
+ Copyright (c) 2020-2024 Brendan C. Ward and pyogrio contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal