Metadata-Version: 2.4
Name: earthcode
Version: 0.1.8
Summary: Tools for creating, validating, and searching EarthCODE Open Science Catalog metadata.
Project-URL: Homepage, https://github.com/ESA-EarthCODE/earthcode-library
Project-URL: Repository, https://github.com/ESA-EarthCODE/earthcode-library
Project-URL: Issues, https://github.com/ESA-EarthCODE/earthcode-library/issues
Project-URL: Documentation, https://esa-earthcode.github.io/earthcode-library/
Author-email: Krasen Samardzhiev <krasensam@gmail.com>, Deyan Samardzhiev <dean@lampata.co.uk>, Claudio Candelori <claudio.candelori@cgi.com>
License-Expression: MIT
License-File: LICENSE
Keywords: earth observation,earthcode,geospatial
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.12
Requires-Dist: bottleneck<2,>=1.6.0
Requires-Dist: dask<2026,>=2025.12.0
Requires-Dist: fsspec<2026,>=2025.10.0
Requires-Dist: geopandas<2,>=1.1.2
Requires-Dist: jsonschema<5,>=4.25.1
Requires-Dist: netcdf4<2,>=1.7.3
Requires-Dist: numpy<3,>=2.4.1
Requires-Dist: onnxruntime<2,>=1.23.2
Requires-Dist: pandas<4,>=3.0.0
Requires-Dist: pillow<12,>=10.3
Requires-Dist: platformdirs<5,>=4.5.0
Requires-Dist: pyarrow<24,>=23.0.0
Requires-Dist: pydantic<3,>=2.12.5
Requires-Dist: pylance<3,>=2.0.1
Requires-Dist: pystac<2,>=1.14.1
Requires-Dist: pyyaml<7,>=6.0.3
Requires-Dist: requests<3,>=2.32.5
Requires-Dist: rioxarray<0.21,>=0.20.0
Requires-Dist: shapely<3,>=2.1.2
Requires-Dist: tokenizers<1,>=0.22.2
Requires-Dist: xarray<2026,>=2025.12.0
Requires-Dist: xstac<2,>=1.2.0
Requires-Dist: zarr<4,>=3.1.5
Provides-Extra: dev
Requires-Dist: jupyter-book<2,>=1.0.4; extra == 'dev'
Requires-Dist: jupyterlab<5,>=4.5.0; extra == 'dev'
Requires-Dist: papermill<3,>=2.7.0; extra == 'dev'
Requires-Dist: pytest-cov<8,>=7.0.0; extra == 'dev'
Requires-Dist: pytest<10,>=9.0.2; extra == 'dev'
Description-Content-Type: text/markdown

# Introduction

This repository provides Python tools for creating, validating, and searching EarthCODE [Open Science Catalog metadata](https://opensciencedata.esa.int/).


## Installation
```bash
pip install earthcode
```

## Publishing to the Open Science catalog

In the `guide/` folder you can find instructions how to publish your results to the Open Science Catalog.
Start with the `guide/0.Prerequisites - local.ipynb` notebook if you are running the examples locally.
Alternatively, start with `guide/0.Prerequisites-EarthCODE-Workspaces.ipynb` if you are using the EarthCODE workspace.


## Examples
In the examples folder you can find notebooks that show:
- How to use the library to semantically search the Open Science Catalog - `examples/earthcode_data_discovery.ipynb`
- (Experimental) How to combine the library and the OSC editor - `examples/contribute_via_osc_editor.ipynb`
- How to validate a local copy of the catalog and open a PR - `examples/contribute_via_pr_osc.ipynb`


# For Developers:

## Local install
1. `git clone https://github.com/ESA-EarthCODE/earthcode-library.git`
2. Install pixi - https://pixi.sh/dev/installation/
3. `cd earthcode-library`
4. `pixi install`
5. `pixi run jupyter lab`

You can run tests through `pixi run pytest`. If running on Windows use ` pixi run pytest --basetemp=C:\t` to avoid long path errors, since some of the project names are >260 chars.

## To create a new release and publish it

edit pyproject.toml to 1.1.4 and run

- `pixi lock`
- `git add pyproject.toml pixi.toml pixi.lock`
- `git commit -m "Release v1.1.4"`
- `git push origin main`
- `git tag -a v1.1.4 -m "Release v1.1.4"`
- `git push origin v1.1.4`
