{"id":21432661,"url":"https://github.com/ecmwf/covjsonkit","last_synced_at":"2026-02-11T16:02:53.491Z","repository":{"id":218894709,"uuid":"722544245","full_name":"ecmwf/covjsonkit","owner":"ecmwf","description":"A library for encoding and decoding coverageJSON files/objects of meteorlogical features such as vertical profiles and time series.","archived":false,"fork":false,"pushed_at":"2025-11-19T10:38:25.000Z","size":1610,"stargazers_count":5,"open_issues_count":3,"forks_count":2,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-11-27T17:54:15.187Z","etag":null,"topics":["coveragejson","ogc","polytope"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ecmwf.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-23T11:29:33.000Z","updated_at":"2025-11-19T10:37:59.000Z","dependencies_parsed_at":"2024-01-24T12:06:41.545Z","dependency_job_id":"efa5fb82-02e6-4628-87b7-b10afe42d74f","html_url":"https://github.com/ecmwf/covjsonkit","commit_stats":null,"previous_names":["ecmwf/eccovjson","ecmwf/covjsonkit"],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/ecmwf/covjsonkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf%2Fcovjsonkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf%2Fcovjsonkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf%2Fcovjsonkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf%2Fcovjsonkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecmwf","download_url":"https://codeload.github.com/ecmwf/covjsonkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf%2Fcovjsonkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29337009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:00:30.228Z","status":"ssl_error","status_checked_at":"2026-02-11T16:00:25.398Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["coveragejson","ogc","polytope"],"created_at":"2024-11-22T23:19:34.027Z","updated_at":"2026-02-11T16:02:53.484Z","avatar_url":"https://github.com/ecmwf.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- | :warning: This project is BETA and will be experimental for the foreseeable future. Interfaces and functionality are likely to change. DO NOT use this software in any project/software that is operational. |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --\u003e\n\n\u003ch3 align=\"center\"\u003e\n\u003cimg src=\"./docs/images/ECMWF_logo.svg.png\" width=60%\u003e\n\u003c/br\u003e\n\n# covjsonkit\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ecmwf/covjsonkit/actions/workflows/ci.yaml\"\u003e\n  \u003cimg src=\"https://github.com/ecmwf/covjsonkit/actions/workflows/ci.yaml/badge.svg\" alt=\"ci\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/ecmwf/covjsonkit\"\u003e\u003cimg src=\"https://codecov.io/gh/ecmwf/covjsonkit/branch/develop/graph/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/Apache-2.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ecmwf/covjsonkit/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/ecmwf/covjsonkit?color=blue\u0026label=Release\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity\"\u003e\n    \u003cimg src=\"https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity/incubating_badge.svg\" alt=\"Project Maturity\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#concept\"\u003eConcept\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#example\"\u003eExample\u003c/a\u003e •\n  \u003ca href=\"#testing\"\u003eTesting\u003c/a\u003e\n\u003c/p\u003e\n\n## Concept\n\nCovjsonkit is an ECMWF library for encoding and decoding coverageJSON files/objects of meteorlogical features such as vertical profiles and time series.\n\n* Encodes and decodes CoverageJSON objects\n* Convert CoverageJSON files to and from xarray\n* Works in conjunction with ECMWFs Polytope feature extraction library\n\nCurrent features implemented:\n\n* Time Series\n* Vertical Profile\n* Bounding Box\n* Frame\n* Path\n* Wkt Polygons\n* Shapefiles\n\n\u003e \\[!IMPORTANT\\]\n\u003e This software is **Incubating** and subject to ECMWF's guidelines on [Software Maturity](https://github.com/ecmwf/codex/raw/refs/heads/main/Project%20Maturity).\n\n## Installation\n\nInstall the covjsonkit with Python 3 (\u003e=3.7) from GitHub directly with the command\n\n    python3 -m pip install git+ssh://git@github.com/ecmwf/covjsonkit.git@develop\n\nor from PyPI with the command\n\n    python3 -m pip install covjsonkit\n\n## Example\n\nThe library consists of an encoder and a decoder element. The decoder can be used to decode valid coverageJSON files that can be then be edited and accessed via the api. It can also be used to convert to ther formats such as xarray.\n\n### Decoder\n\n```Python\nfrom covjsonkit.api import Covjsonkit\n\ndecoder = Covjsonkit().decode(coverage.covjson)\n\nprint(decoder.type)\nprint(decoder.parameters)\nprint(decoder.get_referencing())\n\nds = decoder.to_xarray()\n```\n\n\n### Encoder\n\nThe following example encodes data output from the polytope feature extraction library assuming polytope_output is a valid output from polytope.\n\n```Python\nfrom covjsonkit.api import Covjsonkit\n\nencoder = Covjsonkit().encode(\"CoverageCollection\", \"BoundingBox\")\nres = encoder.from_polytope(polytope_output)\n```\n\n### Config\n\nCovjsonkit uses a config to determine what parameter metadata to use, an example can be found in [example_config.json](example_config.json). This will automatically be loaded at runtime to point to the correct parameter metadata files.\n\nThe example config has to be stored in one of the following places:\n\n1. System-wide configuration in /etc/covjsonkit/config.json (and yaml)\n2. User configuration in ~/.covjsonkit.json (and yaml)\n\nUsers can add their own parameter metadata in the [data directory](covjsonkit/data/) by add ing a new directory containing a param.json, param_id.json, and units.json in a format the same as can be found in [ecmwf directory](covjsonkit/data/ecmwf/). Then edit the config to point to your newly named directory.\n\nIf users want to pass in their own config tehy can do this as a python dictioanry in the following way:\n\n```Python\nencoder = Covjsonkit(cf).encode(\"CoverageCollection\", \"BoundingBox\")\n```\n\nWhere `cf` is a valid covjsonkit config.\n## Testing\n\nPython unit tests can be run with pytest:\n\n    python -m pytest\n\nWhen a pull request is merged into develop or main a github actions CI pipeline is triggered to test formatting and unit tests.\n\n## Acknowledgements\n\nPast and current funding and support is listed in the adjoining [Acknowledgements](./ACKNOWLEDGEMENTS.rst).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmwf%2Fcovjsonkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecmwf%2Fcovjsonkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmwf%2Fcovjsonkit/lists"}