Introduction#
The EarthCODE Library is a Python package developed to support the creation, validation, and search of Open Science Catalog metadata within the EarthCODE publishing workflow. It provides a shared implementation layer for catalog-related operations, reducing the need for project teams and platforms to maintain separate, ad hoc approaches for generating and checking metadata. This repository includes the core package, a command-line interface, usage examples, publication guides, and a test suite, This repository provides Python tools for creating, validating, and searching EarthCODE Open Science Catalog metadata.
Documentation on usage and guides is maintained at: https://esa-earthcode.github.io/earthcode-library/README.html
1. Installation#
pip install earthcode
Requirements#
The minimum required Python version if you would like to install the library locally is 3.12
For Developers:#
Local install#
git clone https://github.com/ESA-EarthCODE/earthcode-library.gitInstall pixi - https://pixi.sh/dev/installation/
cd earthcode-librarypixi installpixi 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.
2. Quick start#
# 1. Import the library
import earthcode
# 2. Search through the catalog
from earthcode.search import search
# 3. Search through semantix text
# Here we take as an example the search done by semantix text and search the catalog via the collection.id which is known
search(collection_ids="seasfire-cube")[0]
# 4. Filter the products in the catalog
search("global chlorophyll dataset", variable=chlorophyll.id, type="products", mission="sentinel-3")
3. How to contribute to Open Science Catalogue?#
With earthcode library creating new entries in the catalogue is semi-automatic. Please find step by step instructions in the guide/ folder
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.
4. Search through Open Science Catalogue#
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
Looking for support?#
We are ready to assist you in case you have any questions/found a bug or mistake, please use GitHub Issues to open a ticket!
Alternatively contact the team via e-mail: earthcode@esa.int
If you would like to request a specific feature, or any question to the community of Earthcode and library developers, please use the EarthCODE discourse forum
How to contribute to earthcode library development?#
Edit pyproject.toml to 1.1.4 and run
pixi lockgit add pyproject.toml pixi.toml pixi.lockgit commit -m "Release v1.1.4"git push origin maingit tag -a v1.1.4 -m "Release v1.1.4"git push origin v1.1.4