{"id":13735349,"url":"https://github.com/stac-utils/stac-geoparquet","last_synced_at":"2025-06-23T17:12:31.177Z","repository":{"id":37882031,"uuid":"498892414","full_name":"stac-utils/stac-geoparquet","owner":"stac-utils","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-07T14:54:05.000Z","size":211,"stargazers_count":56,"open_issues_count":10,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-06-11T16:57:53.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stac-utils.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-01T20:42:02.000Z","updated_at":"2024-06-14T21:45:29.499Z","dependencies_parsed_at":"2023-09-28T17:18:57.625Z","dependency_job_id":"3bf863ce-6873-4d36-80d3-dd8d99504177","html_url":"https://github.com/stac-utils/stac-geoparquet","commit_stats":{"total_commits":81,"total_committers":6,"mean_commits":13.5,"dds":0.1728395061728395,"last_synced_commit":"d791973338db9bebbb8c775ec86a18c2ee927e96"},"previous_names":["stac-utils/stac-geoparquet"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fstac-geoparquet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fstac-geoparquet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fstac-geoparquet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stac-utils%2Fstac-geoparquet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stac-utils","download_url":"https://codeload.github.com/stac-utils/stac-geoparquet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224727181,"owners_count":17359532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T03:01:05.872Z","updated_at":"2025-06-23T17:12:31.165Z","avatar_url":"https://github.com/stac-utils.png","language":"Python","funding_links":[],"categories":["`Python` processing of optical imagery (non deep learning)"],"sub_categories":["Cloud Native Geospatial"],"readme":"# STAC-GeoParquet\n\nConvert [STAC](https://stacspec.org/en) items between JSON, [GeoParquet](https://geoparquet.org/), [pgstac](https://github.com/stac-utils/pgstac), and [Delta Lake](https://delta.io/).\n\n## Purpose\n\nThe STAC spec defines a JSON-based schema.\nBut it can be hard to manage and search through many millions of STAC items in JSON format.\nFor one, JSON is very large on disk.\nAnd you need to parse the entire JSON data into memory to extract just a small piece of information, say the `datetime` and one `asset` of an Item.\n\nGeoParquet can be a good complement to JSON for many bulk-access and analytic use cases.\nWhile STAC Items are commonly distributed as individual JSON files on object storage or through a [STAC API](https://github.com/radiantearth/stac-api-spec), STAC GeoParquet allows users to access a large number of STAC items in bulk without making repeated HTTP requests.\n\nFor analytic questions like \"find the items in the Sentinel-2 collection in June 2024 over New York City with cloud cover of less than 20%\" it can be much, much faster to find the relevant data from a GeoParquet source than from JSON, because GeoParquet needs to load only the relevant columns for that query, not the full data.\n\nSee the [STAC-GeoParquet specification](./spec/stac-geoparquet-spec.md) for details on the exact schema of the written Parquet files.\n\n\n## Installation\n\nInstall via `pip` or `conda`:\n\n* `pip install stac-geoparquet`\n* `conda install conda-forge::stac-geoparquet`\n\n## Documentation\n\n[Documentation website](https://stac-utils.github.io/stac-geoparquet/)\n\n## Development\n\nGet [uv](https://docs.astral.sh/uv/getting-started/installation/), then:\n\n```shell\ngit clone git@github.com:stac-utils/stac-geoparquet.git\ncd stac-geoparquet\nuv sync\nuv run pre-commit install\nuv run pytest\nscripts/lint\n```\n\nValidate the example collection metadata against the jsonschema:\n\n```shell\ncheck-jsonschema --schemafile spec/json-schema/metadata.json spec/example-metadata.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstac-utils%2Fstac-geoparquet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstac-utils%2Fstac-geoparquet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstac-utils%2Fstac-geoparquet/lists"}