Metadata-Version: 2.4
Name: osc-metadata-client
Version: 0.8.0
Summary: Open Science Catalog client
Project-URL: Documentation, https://terradue.github.io/osc-metadata-client/
Project-URL: Issues, https://github.com/Terradue/osc-metadata-client/issues
Project-URL: Source, https://github.com/Terradue/osc-metadata-client
Author-email: Simone Tripodi <simone.tripodi@terradue.com>, Fabrice Brito <fabrice.brito@terradue.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Requires-Dist: click==8.4.2
Requires-Dist: loguru==0.7.3
Requires-Dist: ogc-api-processes-client==0.6.0
Requires-Dist: pydantic==2.13.4
Requires-Dist: pystac==1.14.3
Requires-Dist: transpiler-mate==0.50.0
Description-Content-Type: text/markdown

# Open Science Catalog Client

[![PyPI - Version](https://img.shields.io/pypi/v/osc-metadata-client.svg)](https://pypi.org/project/osc-metadata-client)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/osc-metadata-client.svg)](https://pypi.org/project/osc-metadata-client)

`osc-metadata-client` is a small, purpose-built connector for the ESA
[Open Science Catalog](https://opensciencedata.esa.int/). It converts metadata
associated with OGC API - Processes processes, jobs, and results into the
catalog's workflow, experiment, and product records.

The client delegates CWL metadata extraction and OGC API Records conversion to
Terradue's [transpiler-mate](https://terradue.github.io/transpiler-mate/) API. It
then adds the Open Science Catalog relationships and execution context.

For product metadata, this project also provides proper PySTAC extension
implementations for the upstream
[STAC Themes extension](https://github.com/stac-extensions/themes) and
[STAC Open Science Catalog extension](https://github.com/stac-extensions/osc).
These typed implementations register extension hooks, manage schema URIs, and
read and write extension fields on PySTAC objects.

The CLI accepts CWL sources over HTTP(S), local `file://` URLs, and OCI URLs. It
can authenticate HTTP(S) requests with an OAuth2 bearer token and OCI requests
with registry credentials.

The documentation follows the [Diátaxis](https://diataxis.fr/) structure:

- [Tutorial](docs/tutorials/create-workflow-record.md)
- [How-to guide](docs/how-to/publish-processing-lifecycle.md)
- [CLI reference](docs/reference/cli.md)
- [Architecture explanation](docs/explanation/architecture.md)

## License

[![Apache License, Version 2.0](https://img.shields.io/badge/license-Apache%20License%202.0-blue)](https://www.apache.org/licenses/LICENSE-2.0)
