Metadata-Version: 2.4
Name: eopf
Version: 3.0.0rc1
Summary: Earth Observation Platform Core Python Modules
Author: Sopra-CS
Requires-Python: ~=3.13.0
Description-Content-Type: text/x-rst
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
License-File: LICENSE
Requires-Dist: setuptools >=78.1.1
Requires-Dist: pydantic >=2, <3
Requires-Dist: numcodecs ==0.15.1
Requires-Dist: Jinja2 >=3
Requires-Dist: beautifulsoup4 >=4
Requires-Dist: cloudpickle >=3
Requires-Dist: future >= 1.0.0
Requires-Dist: dacite >=1
Requires-Dist: dask[distributed] >=2024
Requires-Dist: dask[array] >=2024
Requires-Dist: dask_image >=2024
Requires-Dist: distributed >=2024
Requires-Dist: xarray >=2024
Requires-Dist: netcdf4 >=1, != 1.7.3, != 1.7.4
Requires-Dist: numpy >=2, <2.4.0
Requires-Dist: zarr >=2, <3
Requires-Dist: fsspec >=2024
Requires-Dist: lxml >=6
Requires-Dist: cfgrib >= 0.9.15.1
Requires-Dist: eccodes>=2.43.0
Requires-Dist: eccodeslib; platform_system != 'Windows'
Requires-Dist: rioxarray >=0
Requires-Dist: rasterio >=1
Requires-Dist: kerchunk >=0
Requires-Dist: h5py >=3
Requires-Dist: s3fs >=2024
Requires-Dist: click >=8
Requires-Dist: starlette[full] >=0.49.1
Requires-Dist: fastapi >=0.103
Requires-Dist: uvicorn[standard] >=0
Requires-Dist: requests >=2
Requires-Dist: aiokafka >=0
Requires-Dist: pytz >=2024
Requires-Dist: Shapely >=2
Requires-Dist: importlib-metadata >=6
Requires-Dist: rio-cogeo >=5
Requires-Dist: toml >=0
Requires-Dist: configparser >=7
Requires-Dist: deepdiff >=8.6.1
Requires-Dist: jsonschema >=4
Requires-Dist: shapely >=2
Requires-Dist: geopandas >=1
Requires-Dist: overrides >=7
Requires-Dist: xmlschema >=4
Requires-Dist: dask-jobqueue >=0 ; extra == "cluster-plugin"
Requires-Dist: dask-gateway >=2024 ; extra == "cluster-plugin"
Requires-Dist: xenon >=0, <1 ; extra == "complexity"
Requires-Dist: pre-commit >=3, <4 ; extra == "dev"
Requires-Dist: eopf[complexity, tests, doc-cov, doc-check] ; extra == "dev"
Requires-Dist: eopf[linter, typing, formatter] ; extra == "dev"
Requires-Dist: eopf[security, doc, notebook] ; extra == "dev"
Requires-Dist: eopf[cluster-plugin] ; extra == "dev"
Requires-Dist: GitPython >= 3, <4 ; extra == "doc"
Requires-Dist: urllib3 >= 2.6.3 ; extra == "doc"
Requires-Dist: breathe >=4, <5 ; extra == "doc"
Requires-Dist: eopf[cluster-plugin] ; extra == "doc"
Requires-Dist: eopf[notebook] ; extra == "doc"
Requires-Dist: jupyter-sphinx >=0, <1 ; extra == "doc"
Requires-Dist: jupytext >=1, <2 ; extra == "doc"
Requires-Dist: linkify-it-py>=2, <3 ; extra == "doc"
Requires-Dist: mdutils >=1, <2 ; extra == "doc"
Requires-Dist: myst-nb >=1, <2 ; extra == "doc"
Requires-Dist: nbsphinx >=0, <1 ; extra == "doc"
Requires-Dist: numpydoc >=1, <2 ; extra == "doc"
Requires-Dist: sphinx >=6, <7 ; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints >=1, <2 ; extra == "doc"
Requires-Dist: sphinx-book-theme >=1, <2 ; extra == "doc"
Requires-Dist: sphinxcontrib-apidoc >=0, <1 ; extra == "doc"
Requires-Dist: sphinxcontrib-spelling >=8, <9 ; extra == "doc"
Requires-Dist: sphinxcontrib-plantuml >=0, <1 ; extra == "doc"
Requires-Dist: sphinxcontrib-mermaid >=1, <2 ; extra == "doc"
Requires-Dist: sphinx-copybutton >=0, <1 ; extra == "doc"
Requires-Dist: sphinx-inline-tabs >=2023, <2024 ; extra == "doc"
Requires-Dist: sphinx-panels >=0, <1 ; extra == "doc"
Requires-Dist: sphinx-togglebutton >=0, <1 ; extra == "doc"
Requires-Dist: sqlalchemy >= 2.0.0b1, <3 ; extra == "doc"
Requires-Dist: tomark >=0, <1 ; extra == "doc"
Requires-Dist: python-gitlab >=4, <5 ; extra == "doc"
Requires-Dist: rstcheck >=6, <7 ; extra == "doc"
Requires-Dist: rstcheck-core >=1, <2 ; extra == "doc"
Requires-Dist: rstcheck == 6.2.5 ; extra == "doc-check"
Requires-Dist: rstcheck-core == 1.2.2 ; extra == "doc-check"
Requires-Dist: docstr-coverage >=2, <3 ; extra == "doc-cov"
Requires-Dist: ruff ; extra == "formatter"
Requires-Dist: pylint >=3 ; extra == "linter"
Requires-Dist: ruff ; extra == "linter"
Requires-Dist: IPython >=9, <10 ; extra == "notebook"
Requires-Dist: fonttools >=4, <5 ; extra == "notebook"
Requires-Dist: bokeh >=3, <4 ; extra == "notebook"
Requires-Dist: graphviz >=0, <1 ; extra == "notebook"
Requires-Dist: jupyter >=1, <2 ; extra == "notebook"
Requires-Dist: matplotlib >=3, <4 ; extra == "notebook"
Requires-Dist: bandit >=1 ; extra == "security"
Requires-Dist: pip-audit >=2 ; extra == "security"
Requires-Dist: pytest >=7, <8 ; extra == "tests"
Requires-Dist: pytest-cov >=4 ; extra == "tests"
Requires-Dist: hypothesis >=6 ; extra == "tests"
Requires-Dist: pytest-lazy-fixture >=0 ; extra == "tests"
Requires-Dist: pytest-error-for-skips >=2 ; extra == "tests"
Requires-Dist: eopf[cluster-plugin] ; extra == "tests"
Requires-Dist: mypy >=1 ; extra == "typing"
Requires-Dist: types-jsonschema >=4 ; extra == "typing"
Requires-Dist: types-python-dateutil >=2 ; extra == "typing"
Requires-Dist: types-psutil >=7 ; extra == "typing"
Requires-Dist: types-pytz >=2023 ; extra == "typing"
Requires-Dist: types-setuptools >=68 ; extra == "typing"
Requires-Dist: types-toml >=0 ; extra == "typing"
Requires-Dist: lxml-stubs >=0 ; extra == "typing"
Requires-Dist: eopf[cluster-plugin] ; extra == "typing"
Project-URL: Changelog, https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/-/blob/main/CHANGELOG.md
Project-URL: Documentation, https://cpm.pages.eopf.copernicus.eu/eopf-cpm/main/index.html
Project-URL: Homepage, https://eopf.copernicus.eu/
Project-URL: Issues, https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/-/issues
Project-URL: Repository, https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm.git
Provides-Extra: cluster-plugin
Provides-Extra: complexity
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: doc-check
Provides-Extra: doc-cov
Provides-Extra: formatter
Provides-Extra: linter
Provides-Extra: notebook
Provides-Extra: security
Provides-Extra: tests
Provides-Extra: typing


.. image:: https://esamultimedia.esa.int/docs/corporate/ESA_logo_2020_Deep.png
   :width: 400
   :alt: [Image not found]


EOPF CPM: Earth Observation Platform framework for python developers
====================================================================

|pipeline|
|coverage|
|docstr-coverage|




Introduction
=============

The **EOPF Core Python Modules (EOPF-CPM)** is python package gathering the best-in-class open-source python modules in
a harmonized framework intended for the development of image processors. Particularly the re-engineering of the
operational Level-0, Level-1 and Level-2 processors for the instruments on-board of the Copernicus Sentinel-1, Sentinel-2, Sentinel-3 (Land) missions.
It is providing features such as:

   * A generic product representation EOProduct compatible with the UNIDATA CDM model with utilities library allowing:
            * Writing an EOProduct to different external representations, formats and file systems.
            * Reading an EOProduct from different external representations including the legacy file format (mostly SAFE).
   * Distributed and parallel computing based on Dask.
   * Logging and tracing tools.
   * Processors triggering and workflows definition.


Installation
=============

See https://cpm.pages.eopf.copernicus.eu/eopf-cpm/main/quickstart/installation.html for installation documentation

Contributing
============

See https://cpm.pages.eopf.copernicus.eu/eopf-cpm/main/contributing.html for contributing documentation


API Reference
=============

See https://cpm.pages.eopf.copernicus.eu/eopf-cpm/main/api/eopf.html for the latest release API


License
========

EOPF CPM is licensed under the Apache License, Version 2.0. See LICENSE.txt for the full license text.


Copyright
=========

Copyright (C)  2021-2025 ESA



.. |pipeline| image:: https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/badges/main/pipeline.svg
   :target: https://github.com/CSC-DPR/eopf-cpm/tree/main

.. |coverage| image:: https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/badges/main/coverage.svg
   :target: https://github.com/CSC-DPR/eopf-cpm/tree/main

.. |docstr-coverage| image:: https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/-/jobs/artifacts/main/raw/docstrcov.svg?job=docs-cov
   :target: https://github.com/CSC-DPR/eopf-cpm/tree/main

.. _dask: https://www.dask.org/

