Skip to content

Commit 826415b

Browse files
authored
Next release prep (#768)
### Change list - Docs updates - README updates - Update `geometry_col` to work on RecordBatch as well
1 parent f3fec6b commit 826415b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+285
-246
lines changed

README.md

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,19 @@ This repository also includes [Python bindings](https://github.com/geoarrow/geoa
1111

1212
## Documentation
1313

14+
[**Documentation Website**](https://geoarrow.org/geoarrow-rs/)
15+
16+
<!--
1417
- [Use from Rust](https://docs.rs/geoarrow/latest/geoarrow/)
15-
- [Use from Python](https://geoarrow.github.io/geoarrow-rs/python)
16-
- [Use from JavaScript](https://geoarrow.github.io/geoarrow-rs/js)
17-
- [Create your own Rust-JavaScript library with `wasm-bindgen`](https://docs.rs/geoarrow-wasm/latest/geoarrow_wasm/)
18+
- [Use from Python](https://geoarrow.org/geoarrow-rs/python)
19+
- [Use from JavaScript](https://geoarrow.org/geoarrow-rs/js)
20+
- [Create your own Rust-JavaScript library with `wasm-bindgen`](https://docs.rs/geoarrow-wasm/latest/geoarrow_wasm/) -->
21+
<!-- - [Create your own Rust-Python library with `pyo3-geoarrow`](https://docs.rs/geoarrow-wasm/latest/geoarrow_wasm/) -->
1822

1923
## Examples
2024

2125
- [Rust examples](examples/README.md)
2226

23-
## Install
24-
25-
Add this to your `Cargo.toml`:
26-
27-
```toml
28-
geoarrow = "0.2"
29-
```
30-
3127
## References
3228

3329
- [Prototyping GeoRust + GeoArrow in WebAssembly](https://observablehq.com/@kylebarron/prototyping-georust-geoarrow-in-webassembly) gives an early preview of the JavaScript API.

python/README.md

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,42 @@
22

33
[![GitHub Workflow Status (Python)](https://img.shields.io/github/actions/workflow/status/geoarrow/geoarrow-rs/python.yml?branch=main)](https://github.com/geoarrow/geoarrow-rs/actions/workflows/python.yml)
44

5-
This folder contains Python bindings to the [GeoArrow Rust implementation](https://github.com/geoarrow/geoarrow-rs).
5+
Python bindings to the [GeoArrow Rust implementation](https://github.com/geoarrow/geoarrow-rs).
66

7-
`geoarrow.rust` is distributed with [namespace packaging](https://packaging.python.org/en/latest/guides/packaging-namespace-packages/), meaning that each python package `geoarrow-rust-[submodule-name]` (imported as `geoarrow.rust.[submodule-name]`) can be published to PyPI independently. The benefit of this approach is that complex C dependencies can be built and packaged independently.
7+
## Overview
88

9-
Modules so far:
9+
This library contains Python bindings to the [GeoArrow Rust implementation](https://github.com/geoarrow/geoarrow-rs).
1010

11-
- [`core`](./core/README.md): All algorithms and data structures implemented in pure Rust without any C dependencies. Having a pure Rust dependency tree means it's trivial to build binary wheels for many operating system architectures that might not be possible with C dependencies.
12-
- [`io`](./io/README.md): Pure-rust readers and writers for geospatial file formats.
11+
- **Fast**: Connects to algorithms implemented in [GeoRust](https://georust.org/), which compile to native code.
12+
- **Parallel**: Multi-threading is enabled out-of-the-box for all operations on chunked data structures.
13+
- **Self-contained**: `pyproj` is the only Python dependency.
14+
- **Easy to install**: Distributed as static binary wheels with zero C dependencies.
15+
- **Static typing**: type hints for all operations.
16+
- **Interoperable ecosystem**: Efficient data exchange with other libraries in the Python Arrow and GeoArrow ecosystems. , such as [geoarrow-c](https://github.com/geoarrow/geoarrow-c/tree/main/python) or [lightning-fast map rendering](https://github.com/developmentseed/lonboard).
1317

14-
Future potential modules:
18+
## Documentation
19+
20+
Refer to the [documentation website](https://geoarrow.org/geoarrow-rs/python).
21+
22+
## Modules
23+
24+
`geoarrow.rust` is distributed with [namespace packaging](https://packaging.python.org/en/latest/guides/packaging-namespace-packages/), meaning that each Python submodule is published to PyPI independently. This allows for separation of concerns and smaller environments when only some portion of functionality is necessary.
1525

16-
- `geos`: [GEOS](https://libgeos.org/)-based algorithms on GeoArrow memory.
17-
- `proj`: [PROJ](https://proj.org/en/9.3/)-based coordinate reprojection on GeoArrow memory.
26+
Existing modules:
27+
28+
- `geoarrow-rust-core`: Data structures to store and manage geometry data in GeoArrow format.
29+
- `geoarrow-rust-compute`: Compute operations on GeoArrow data.
30+
- `geoarrow-rust-io`: Pure-rust readers and writers for geospatial file formats.
1831

1932
In order to obtain relevant modules, you should install them from PyPI directly, e.g.:
2033

2134
```
22-
pip install geoarrow-rust-core
35+
pip install geoarrow-rust-core geoarrow-rust-compute geoarrow-rust-io
2336
```
2437

25-
See [DEVELOP.md](docs/DEVELOP.md) in the `docs` folder for more information on developing and building the Python bindings.
38+
Future potential modules:
39+
40+
- `geoarrow-rust-geos`: [GEOS](https://libgeos.org/)-based algorithms on GeoArrow memory.
41+
- `geoarrow-rust-proj`: [PROJ](https://proj.org/en/9.3/)-based coordinate reprojection on GeoArrow memory.
42+
43+
See [DEVELOP.md](DEVELOP.md) for more information on developing and building the Python bindings.

python/docs/api/compute/enums.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Enums
2+
3+
::: geoarrow.rust.compute.enums

python/docs/api/compute/functions.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Functions
2+
3+
## Array/Chunked Array functions
4+
5+
::: geoarrow.rust.compute
6+
options:
7+
filters:
8+
- "!^_"
9+
members:
10+
- affine_transform
11+
- area
12+
- center
13+
- centroid
14+
- chaikin_smoothing
15+
- convex_hull
16+
- densify
17+
- envelope
18+
- frechet_distance
19+
- geodesic_perimeter
20+
- is_empty
21+
- length
22+
- line_interpolate_point
23+
- line_locate_point
24+
- polylabel
25+
- rotate
26+
- scale
27+
- signed_area
28+
- simplify
29+
- skew
30+
- total_bounds
31+
- translate
32+
33+
## Table functions
34+
35+
::: geoarrow.rust.compute
36+
options:
37+
filters:
38+
- "!^_"
39+
members:
40+
- explode

python/docs/api/compute/types.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Types
2+
3+
::: geoarrow.rust.compute.types

python/docs/api/core/functions.md

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,21 @@
1-
# Top-level functions
1+
# Functions
22

3-
## Array/Chunked Array functions
3+
Interoperability with other Python geospatial libraries (Shapely, GeoPandas) and in-memory geospatial formats (WKB, WKT).
44

55
::: geoarrow.rust.core
66
options:
77
filters:
88
- "!^_"
99
members:
10-
- affine_transform
11-
- area
12-
- center
13-
- centroid
14-
- chaikin_smoothing
15-
- convex_hull
16-
- densify
17-
- envelope
18-
- frechet_distance
19-
- geodesic_perimeter
20-
- is_empty
21-
- length
22-
- line_interpolate_point
23-
- line_locate_point
24-
- polylabel
25-
- rotate
26-
- scale
27-
- signed_area
28-
- simplify
29-
- skew
30-
- total_bounds
31-
- translate
10+
- read_pyogrio
11+
- from_ewkb
12+
- from_geopandas
13+
- from_shapely
14+
- from_wkb
15+
- from_wkt
16+
- to_geopandas
17+
- to_shapely
18+
- to_wkb
3219

3320
## Table functions
3421

@@ -37,5 +24,4 @@
3724
filters:
3825
- "!^_"
3926
members:
40-
- explode
4127
- geometry_col

python/docs/api/core/interop.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

python/docs/api/io/io.md renamed to python/docs/api/io/functions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# I/O
1+
# Functions
22

33
Read and write to and from geospatial file formats.
44

python/docs/ecosystem/pyogrio.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ from geoarrow.rust.core import read_pyogrio, geometry_col
1010
path = "path/to/file.shp"
1111
table = read_pyogrio(path)
1212
geometry = geometry_col(table)
13-
# <geoarrow.rust.core._rust.ChunkedMultiLineStringArray at 0x13fb61e70>
1413
```

python/docs/index.md

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)