Name | geoparquet-pydantic JSON |
Version |
0.0.1
JSON |
| download |
home_page | |
Summary | Read/write geoparquet with the geojson-pydanic models. |
upload_time | 2024-02-21 02:50:25 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.11 |
license | MIT |
keywords |
geoparquet
pydantic
geospatial
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# GeoParquet-Pydantic
**Motivation:** This project started at the 2024 San Fransisco GeoParquet Community hackathon, and arose out of a simple observation:
why must Python users install the *massive* GDAL dependency (typically via GeoPandas) to do simple GeoJSON<>GeoParquet conversions.
**Is this library the right choice for you?:**
* Do you need to use a wide variety of Geospatial functions? If so, you will likely have to add GDAL/GeoPandas as a dependency anyways,
making this ibrary's conversion functions *probably* redundant.
* Is your workflow command line centric? If so you may want to consider Planet Lab's simular CLI tool [`gpq`](https://github.com/planetlabs/gpq),
which is written in Go and substantially faster.
* Otherwise, if you are using Python and want to avoid unnecessary bulky dependencies, this library will be a great choice!
**Note:** All user-exposed functions and schema classes are available at the top level (i.e., `geoparquet_pydantic.validate_geoparquet_table(...)`) of this library.
# Documentation is on GitHub [here](https://github.com/xaviernogueira/geoparquet-pydantic/blob/main/README.md)
# Getting Started
Install from [PyPi](https://pypi.org/project/geoparquet-pydantic):
```bash
pip install geoparquet-pydantic
```
Or from source:
```bash
$ git clone https://github.com/xaviernogueira/geoparquet-pydantic.git
$ cd geoparquet-pydantic
$ pip install .
```
Then import with an underscore:
```python
import geoparquet_pydantic
```
Or just import the functions/classes you need from the top-level:
```python
from geoparquet_pydantic import GeometryColumnMetadata
from geoparquet_pydantic import GeoParquetMetadata
from geoparquet_pydantic import validate_geoparquet_table
from geoparquet_pydantic import validate_geoparquet_file
from geoparquet_pydantic import geojson_to_geoparquet
from geoparquet_pydantic import geoparquet_to_geojson
```
# Roadmap
- [ ] Make CLI file<>file functions w/ `click`.
- [ ] Add parrallelized Parquet read for `geoparquet_pydantic.geoparquet_to_geojson()`.
# Contribute
We encourage contributions, feature requests, and bug reports!
Here is our recomended workflow:
* Use `dev-requirements.txt` to install our development dependencies.
* Make your edits using `pyright` as a linter.
* Use `pre-commit run --all-file` before commiting your work.
* If you add a new feature, we request that you add test coverage for it.
Happy coding!
Raw data
{
"_id": null,
"home_page": "",
"name": "geoparquet-pydantic",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "geoparquet,pydantic,geospatial",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/b0/48/600a04bae770448e0bb82635bed30667afaa8d26aaceb081214f82bb2025/geoparquet_pydantic-0.0.1.tar.gz",
"platform": null,
"description": "# GeoParquet-Pydantic\n\n**Motivation:** This project started at the 2024 San Fransisco GeoParquet Community hackathon, and arose out of a simple observation:\nwhy must Python users install the *massive* GDAL dependency (typically via GeoPandas) to do simple GeoJSON<>GeoParquet conversions.\n\n**Is this library the right choice for you?:**\n* Do you need to use a wide variety of Geospatial functions? If so, you will likely have to add GDAL/GeoPandas as a dependency anyways,\nmaking this ibrary's conversion functions *probably* redundant.\n* Is your workflow command line centric? If so you may want to consider Planet Lab's simular CLI tool [`gpq`](https://github.com/planetlabs/gpq),\nwhich is written in Go and substantially faster.\n* Otherwise, if you are using Python and want to avoid unnecessary bulky dependencies, this library will be a great choice!\n\n**Note:** All user-exposed functions and schema classes are available at the top level (i.e., `geoparquet_pydantic.validate_geoparquet_table(...)`) of this library.\n\n# Documentation is on GitHub [here](https://github.com/xaviernogueira/geoparquet-pydantic/blob/main/README.md)\n\n# Getting Started\n\nInstall from [PyPi](https://pypi.org/project/geoparquet-pydantic):\n```bash\npip install geoparquet-pydantic\n```\n\nOr from source:\n```bash\n$ git clone https://github.com/xaviernogueira/geoparquet-pydantic.git\n$ cd geoparquet-pydantic\n$ pip install .\n```\n\nThen import with an underscore:\n```python\nimport geoparquet_pydantic\n```\n\nOr just import the functions/classes you need from the top-level:\n```python\nfrom geoparquet_pydantic import GeometryColumnMetadata\nfrom geoparquet_pydantic import GeoParquetMetadata\nfrom geoparquet_pydantic import validate_geoparquet_table\nfrom geoparquet_pydantic import validate_geoparquet_file\nfrom geoparquet_pydantic import geojson_to_geoparquet\nfrom geoparquet_pydantic import geoparquet_to_geojson\n```\n\n# Roadmap\n\n- [ ] Make CLI file<>file functions w/ `click`.\n- [ ] Add parrallelized Parquet read for `geoparquet_pydantic.geoparquet_to_geojson()`.\n\n# Contribute\n\nWe encourage contributions, feature requests, and bug reports!\n\nHere is our recomended workflow:\n\n* Use `dev-requirements.txt` to install our development dependencies.\n* Make your edits using `pyright` as a linter.\n* Use `pre-commit run --all-file` before commiting your work.\n* If you add a new feature, we request that you add test coverage for it.\n\nHappy coding!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Read/write geoparquet with the geojson-pydanic models.",
"version": "0.0.1",
"project_urls": null,
"split_keywords": [
"geoparquet",
"pydantic",
"geospatial"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "008a7af4f6ea6b323de63756c13f9bd9fd2077fb50d7249a5c1406c30ad1a446",
"md5": "3330e6bbd84bcd7e713c87634859b23b",
"sha256": "fc0e3b15cd6a2063498c0b7bb0809dde7d9547b6c3a0d7a0e9fc116074391554"
},
"downloads": -1,
"filename": "geoparquet_pydantic-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3330e6bbd84bcd7e713c87634859b23b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 9065,
"upload_time": "2024-02-21T02:50:22",
"upload_time_iso_8601": "2024-02-21T02:50:22.844110Z",
"url": "https://files.pythonhosted.org/packages/00/8a/7af4f6ea6b323de63756c13f9bd9fd2077fb50d7249a5c1406c30ad1a446/geoparquet_pydantic-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b048600a04bae770448e0bb82635bed30667afaa8d26aaceb081214f82bb2025",
"md5": "9597d2b6f1a3e99541b4ad3606a781ca",
"sha256": "1a482ecef1c856da9fcaec82a052e477bbc559d6042749b59d24660bae659fbe"
},
"downloads": -1,
"filename": "geoparquet_pydantic-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "9597d2b6f1a3e99541b4ad3606a781ca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 81514,
"upload_time": "2024-02-21T02:50:25",
"upload_time_iso_8601": "2024-02-21T02:50:25.609589Z",
"url": "https://files.pythonhosted.org/packages/b0/48/600a04bae770448e0bb82635bed30667afaa8d26aaceb081214f82bb2025/geoparquet_pydantic-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-21 02:50:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "geoparquet-pydantic"
}