Metadata-Version: 2.3
Name: eopf
Version: 2.5.2
Summary: Earth Observation Platform Core Python Modules
Requires-Python: >=3.11
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
Requires-Dist: python-multipart >= 0.0.17
Requires-Dist: cryptography >= 42.0.6
Requires-Dist: aiohttp >= 3.10.11
Requires-Dist: aiobotocore >= 2.7.1
Requires-Dist: certifi >= 2024.07.4
Requires-Dist: pydantic >=2.5.0
Requires-Dist: tornado >= 6.4.2
Requires-Dist: overrides == 7.7.0
Requires-Dist: IPython
Requires-Dist: beautifulsoup4 == 4.12.3
Requires-Dist: future == 1.0.0
Requires-Dist: dask ==2024.5.2
Requires-Dist: distributed ==2024.5.2
Requires-Dist: xarray ==2024.5.0
Requires-Dist: netcdf4 ==1.6.5
Requires-Dist: numpy ==1.26.4
Requires-Dist: zarr ==2.18.1
Requires-Dist: fsspec ==2024.5.0
Requires-Dist: lxml ==4.9.4
Requires-Dist: eccodes == 1.7.1
Requires-Dist: ecmwflibs ==0.6.3
Requires-Dist: cfgrib ==0.9.10.4
Requires-Dist: rioxarray ==0.15.5
Requires-Dist: rasterio ==1.3.10
Requires-Dist: kerchunk ==0.2.2
Requires-Dist: h5py ==3.10.0
Requires-Dist: s3fs ==2024.5.0
Requires-Dist: boto3 ==1.34.106
Requires-Dist: click ==8.1.7
Requires-Dist: starlette[full] ==0.40.0
Requires-Dist: fastapi ==0.115.5
Requires-Dist: uvicorn[standard] ==0.29.0
Requires-Dist: requests ==2.32.2
Requires-Dist: aiokafka ==0.8.1
Requires-Dist: pytz ==2024.1
Requires-Dist: Shapely ==2.0.2
Requires-Dist: importlib-metadata ==6.8.0
Requires-Dist: rio-cogeo == 5.3.0
Requires-Dist: toml ==0.10.2
Requires-Dist: configparser ==7.0.0
Requires-Dist: sentineltoolbox ==0.3.4
Requires-Dist: deepdiff == 8.0.1
Requires-Dist: dask-jobqueue ==0.8.5 ; extra == "cluster-plugin"
Requires-Dist: dask-gateway ==2024.1.0 ; extra == "cluster-plugin"
Requires-Dist: xenon ==0.9.1 ; extra == "complexity"
Requires-Dist: pre-commit ==3.5.0 ; extra == "dev"
Requires-Dist: eopf[complexity, tests, doc-cov] ; 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.1.41 ; extra == "doc"
Requires-Dist: breathe == 4.35.0 ; extra == "doc"
Requires-Dist: dacite == 1.8.1 ; extra == "doc"
Requires-Dist: eopf[cluster-plugin] ; extra == "doc"
Requires-Dist: eopf[notebook] ; extra == "doc"
Requires-Dist: jupyter-sphinx == 0.4.0 ; extra == "doc"
Requires-Dist: jupytext == 1.16.1 ; extra == "doc"
Requires-Dist: linkify-it-py == 2.0.3 ; extra == "doc"
Requires-Dist: mdutils == 1.6.0 ; extra == "doc"
Requires-Dist: myst-nb == 1.1.0 ; extra == "doc"
Requires-Dist: nbsphinx == 0.9.3 ; extra == "doc"
Requires-Dist: numpydoc == 1.7.0 ; extra == "doc"
Requires-Dist: sphinx == 6.2.1 ; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints == 1.23.0 ; extra == "doc"
Requires-Dist: sphinx-book-theme == 1.0.1 ; extra == "doc"
Requires-Dist: sphinxcontrib-apidoc == 0.5.0 ; extra == "doc"
Requires-Dist: sphinxcontrib-spelling == 8.0.0 ; extra == "doc"
Requires-Dist: sphinxcontrib-plantuml == 0.29 ; extra == "doc"
Requires-Dist: sphinx-copybutton == 0.5.2 ; extra == "doc"
Requires-Dist: sphinx-inline-tabs == 2023.4.21 ; extra == "doc"
Requires-Dist: sphinx-panels == 0.4.1 ; extra == "doc"
Requires-Dist: sphinx-togglebutton == 0.3.2 ; extra == "doc"
Requires-Dist: sqlalchemy >= 2.0.0b1 ; extra == "doc"
Requires-Dist: tomark == 0.1.4 ; extra == "doc"
Requires-Dist: urllib3 >= 1.26.17 ; extra == "doc"
Requires-Dist: python-gitlab == 4.4.0 ; extra == "doc"
Requires-Dist: tqdm >= 4.66.3 ; extra == "doc-cov"
Requires-Dist: docstr-coverage ==2.3.2 ; extra == "doc-cov"
Requires-Dist: black ==24.4.2 ; extra == "formatter"
Requires-Dist: isort ==5.13.2 ; extra == "formatter"
Requires-Dist: flake8 ==7.1.0 ; extra == "linter"
Requires-Dist: fonttools >=4.43.0 ; extra == "notebook"
Requires-Dist: bokeh ==3.4.1 ; extra == "notebook"
Requires-Dist: graphviz ==0.20.3 ; extra == "notebook"
Requires-Dist: jupyter ==1.0.0 ; extra == "notebook"
Requires-Dist: Jinja2 ==3.1.4 ; extra == "notebook"
Requires-Dist: matplotlib ==3.7.1 ; extra == "notebook"
Requires-Dist: bandit ==1.7.9 ; extra == "security"
Requires-Dist: safety ==3.1.0 ; extra == "security"
Requires-Dist: pytest ==7.4.3 ; extra == "tests"
Requires-Dist: pytest-cov ==4.1.0 ; extra == "tests"
Requires-Dist: hypothesis ==6.88.4 ; extra == "tests"
Requires-Dist: pytest-lazy-fixture ==0.6.3 ; extra == "tests"
Requires-Dist: pytest-error-for-skips ==2.0.2 ; extra == "tests"
Requires-Dist: eopf[cluster-plugin] ; extra == "tests"
Requires-Dist: mypy ==1.10.0 ; extra == "typing"
Requires-Dist: types-python-dateutil ==2.8.19.14 ; extra == "typing"
Requires-Dist: types-pytz ==2023.3.1.1 ; extra == "typing"
Requires-Dist: types-setuptools ==68.2.0.1 ; extra == "typing"
Requires-Dist: types-toml ==0.10.8.7 ; extra == "typing"
Requires-Dist: eopf[cluster-plugin] ; extra == "typing"
Provides-Extra: cluster-plugin
Provides-Extra: complexity
Provides-Extra: dev
Provides-Extra: doc
Provides-Extra: doc-cov
Provides-Extra: formatter
Provides-Extra: linter
Provides-Extra: notebook
Provides-Extra: security
Provides-Extra: tests
Provides-Extra: typing

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

|pipeline|
|coverage|
|docstr-coverage|



[!WARNING]
Some dependencies seems to be missing at installation :

 * bs4 : BeautifulSoup4
 * IPython



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/developer-guide/index.html for developer documentation


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

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


Creating a changelog file for a new release
===========================================

The first step when preparing a new release is updating the
[change log](https://gitlab.eopf.copernicus.eu/cpm/eopf-cpm/-/blob/main/CHANGELOG.md). If you want to generate a changelog file from
scratch, you can launch the script "docs/source/_scripts_and_notebooks/generate_changelog_markdown_file.py" which will build a new
markdown file containing information about previous and current releases (the markdown file is generated to the path
eopf_cpm_folder/docs/build/changelog_files/changelog.md folder). To launch this script, you will need to generate a Gitlab token so that
the script can use the Gitlab API to generate the changelog page: follow the instructions of the page
`Generate your personal API token  <https://sde.pages.eopf.copernicus.eu/sde/main/user-manual/gitlab-setup.html>`_ to generate your
Gitlab token.


License
========

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


Copyright
=========

Copyright (C)  2021-2023 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/

