geoparquet-pydantic


Namegeoparquet-pydantic JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryRead/write geoparquet with the geojson-pydanic models.
upload_time2024-02-21 02:50:25
maintainer
docs_urlNone
author
requires_python>=3.11
licenseMIT
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"
}
        
Elapsed time: 2.85104s