Planetary coverage package
==========================
<img src="https://docs.planetary-coverage.org/en/1.1.1/_static/planetary-coverage-logo.svg" align="right" hspace="50" vspace="50" height="200" alt="Planetary coverage logo">
[
![CI/CD](https://juigitlab.esac.esa.int/python/planetary-coverage/badges/main/pipeline.svg)
![Coverage](https://juigitlab.esac.esa.int/python/planetary-coverage/badges/main/coverage.svg)
](https://juigitlab.esac.esa.int/python/planetary-coverage/pipelines/main/latest)
[
![Documentation Status](https://readthedocs.org/projects/planetary-coverage/badge/?version=latest)
](https://readthedocs.org/projects/planetary-coverage/builds/)
[
![PyPI](https://img.shields.io/pypi/v/planetary-coverage.svg?logo=pypi&logoColor=white)
](https://docs.planetary-coverage.org/pypi)
[
![Conda-Forge](https://img.shields.io/conda/vn/conda-forge/planetary-coverage?logo=condaforge&logoColor=white)
](https://anaconda.org/conda-forge/planetary-coverage)
[
![Python](https://img.shields.io/pypi/pyversions/planetary-coverage.svg?logo=Python&logoColor=white)
](https://docs.planetary-coverage.org/pypi)
[
![License](https://img.shields.io/pypi/l/planetary-coverage.svg)
](https://juigitlab.esac.esa.int/python/planetary-coverage/-/blob/main/LICENSE.md)
[
![Docs](https://img.shields.io/badge/Docs-docs.planetary--coverage.org-blue?&color=orange&logo=Read%20The%20Docs&logoColor=white)
](https://docs.planetary-coverage.org)
[
![DataLab](https://img.shields.io/badge/Datalab-datalabs.esa.int-blue?&color=orange&logo=Jupyter&logoColor=white)
](https://docs.planetary-coverage.org/datalab)
[
![Software Heritage](https://archive.softwareheritage.org/badge/origin/https://juigitlab.esac.esa.int/python/planetary-coverage/)
](https://docs.planetary-coverage.org/swh)
---
The [planetary-coverage](https://docs.planetary-coverage.org)
package is a toolbox to perform surface coverage analysis based on orbital trajectory calculations.
Its main intent is to provide an easy way to compute observation
opportunities of specific region of interest above the Galilean
satellites for the ESA-Juice mission but could be extended in the
future to other space mission.
It is actively developed by the
[Observatoire des Sciences de l'Univers Nantes Atlantique](https://osuna.univ-nantes.fr)
(OSUNA, CNRS-UAR 3281) and the
[Laboratory of Planetology and Geosciences](https://lpg-umr6112.fr)
(LPG, CNRS-UMR 6112) at Nantes University (France), under
[ESA-Juice](https://sci.esa.int/web/juice) and [CNES](https://cnes.fr) founding support.
<p align="center">
<img src="https://docs.planetary-coverage.org/en/1.1.1/_images/logos.png" alt="logos"/>
</p>
📦 Installation
---------------
The package is available on [PyPI](https://pypi.org/project/planetary-coverage/) and can be installed very easily:
- If you are in a [`Jupyter environnement`](https://jupyter.org/), you can use the magic command `%pip` in a notebook cell and ▶️ `Run` it:
```bash
%pip install planetary-coverage
```
- or, if you are using a `terminal environment`, you can do:
```bash
pip install planetary-coverage
```
> __Note:__ If you plan to use this package with Juice and you want to enable [PTR simulation with AGM](https://esa-ptr.readthedocs.io/).
> You can add a `juice` extra parameter in the `pip` install command: `pip install planetary-coverage[juice]`
The package is also available on [conda-forge](https://anaconda.org/conda-forge/planetary-coverage)
and you can install it with `conda`:
```bash
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install planetary-coverage
```
✏️ How to cite this package
---------------------------
If you use this package for your analyses, please consider using the following citation:
> Seignovert et al. 2023,
> Planetary coverage package (1.1.1),
> [planetary-coverage.org](https://docs.planetary-coverage.org/en/1.1.1/),
> [swh:1:rel:f6280865fc5144b4beadc04d4085385f7a58491d](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://juigitlab.esac.esa.int/python/planetary-coverage&release=1.1.1)
or can use either:
- [planetary-coverage.bib](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/planetary-coverage.bib?inline=false)
- [citation.cff](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/CITATION.cff?inline=false)
- [codemeta.json](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/codemeta.json?inline=false)
⚡️ Issues and 💬 feedback
-------------------------
If you have any issue with this package, we highly recommend to take a look at:
- 📚 our [extended documentation online](https://docs.planetary-coverage.org/).
- 📓 the collection of [notebook examples](https://juigitlab.esac.esa.int/notebooks/planetary-coverage).
If you did not find a solution there, feel free to:
- 📝 [open an issue](https://juigitlab.esac.esa.int/python/planetary-coverage/-/issues/new) (if you have an account on the [Juice Gitlab](https://juigitlab.esac.esa.int/python/planetary-coverage)).
- ✉️ send us an email at [contact@planetary-coverage.org](mailto:contact@planetary-coverage.org
)
🎨 Contribution and 🐛 fix bugs
-------------------------------
Contributions are always welcome and appreciated.
An account on the [Juice Giltab](https://juigitlab.esac.esa.int/python/planetary-coverage) is required.
You also need to install the recent version of [Poetry](https://python-poetry.org/docs/) (`≥1.8`), for example on _Linux/macOS/Windows (WSL)_, you can run this command:
```bash
curl -sSL https://install.python-poetry.org | python3 -
```
Then you are good to go!
1. 🍴 [Fork this project](https://juigitlab.esac.esa.int/python/planetary-coverage/-/forks/new)
2. 🐑 Clone and 📦 install the repository locally:
```bash
git clone https://juigitlab.esac.esa.int/<YOUR_USERNAME>/planetary-coverage
cd planetary-coverage
poetry install --extras juice
```
3. ✍️ Make your edits and 🚧 write the tests.
4. 🚦 Check that the linter and formatter are happy 😱 🤔 😃 :
```bash
poetry run ruff format --diff
poetry run ruff check
```
5. 🛠 Check that your tests succeed 👍 and you have a coverage of 100% ✨ :
```bash
poetry run pytest
```
6. 📖 Complete and ⚙️ build the documentation (if needed):
```bash
cd docs/
poetry run make docs
```
7. 📤 Push your changes to your forked branch and 🚀 open a [new merge request](https://juigitlab.esac.esa.int/python/planetary-coverage/-/merge_requests/new) explaining what you changed 🙌 👏 💪.
👽 Maintainer section
---------------------
- To add a new contributor, you need to edit the following files:
- `CITATION.cff`
- `codemeta.json`
- `planetary-coverage.bib`
- To release a new version:
```bash
PREVIOUS_RELEASE_DATE="YYYY-MM-DD" bump2version [patch|minor|major]
```
Then, on the `main` branch add a new tag:
```bash
git tag x.y.z -m "Bump version: a.b.c → x.y.z"
```
Raw data
{
"_id": null,
"home_page": "https://juigitlab.esac.esa.int/python/planetary-coverage",
"name": "planetary-coverage",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "planetary, coverage, spice, esa, juice",
"author": "Seignovert et al.",
"author_email": "contact@planetary-coverage.org",
"download_url": "https://files.pythonhosted.org/packages/0f/4e/1daee6bb24f8633378709d1eaeaa9585595281668d055b6163e855fd6aa7/planetary_coverage-1.1.1.tar.gz",
"platform": null,
"description": "Planetary coverage package\n==========================\n\n<img src=\"https://docs.planetary-coverage.org/en/1.1.1/_static/planetary-coverage-logo.svg\" align=\"right\" hspace=\"50\" vspace=\"50\" height=\"200\" alt=\"Planetary coverage logo\">\n\n[\n ![CI/CD](https://juigitlab.esac.esa.int/python/planetary-coverage/badges/main/pipeline.svg)\n ![Coverage](https://juigitlab.esac.esa.int/python/planetary-coverage/badges/main/coverage.svg)\n](https://juigitlab.esac.esa.int/python/planetary-coverage/pipelines/main/latest)\n[\n ![Documentation Status](https://readthedocs.org/projects/planetary-coverage/badge/?version=latest)\n](https://readthedocs.org/projects/planetary-coverage/builds/)\n\n[\n ![PyPI](https://img.shields.io/pypi/v/planetary-coverage.svg?logo=pypi&logoColor=white)\n](https://docs.planetary-coverage.org/pypi)\n[\n ![Conda-Forge](https://img.shields.io/conda/vn/conda-forge/planetary-coverage?logo=condaforge&logoColor=white)\n](https://anaconda.org/conda-forge/planetary-coverage)\n[\n ![Python](https://img.shields.io/pypi/pyversions/planetary-coverage.svg?logo=Python&logoColor=white)\n](https://docs.planetary-coverage.org/pypi)\n[\n ![License](https://img.shields.io/pypi/l/planetary-coverage.svg)\n](https://juigitlab.esac.esa.int/python/planetary-coverage/-/blob/main/LICENSE.md)\n\n\n[\n ![Docs](https://img.shields.io/badge/Docs-docs.planetary--coverage.org-blue?&color=orange&logo=Read%20The%20Docs&logoColor=white)\n](https://docs.planetary-coverage.org)\n[\n ![DataLab](https://img.shields.io/badge/Datalab-datalabs.esa.int-blue?&color=orange&logo=Jupyter&logoColor=white)\n](https://docs.planetary-coverage.org/datalab)\n[\n ![Software Heritage](https://archive.softwareheritage.org/badge/origin/https://juigitlab.esac.esa.int/python/planetary-coverage/)\n](https://docs.planetary-coverage.org/swh)\n\n---\n\nThe [planetary-coverage](https://docs.planetary-coverage.org)\npackage is a toolbox to perform surface coverage analysis based on orbital trajectory calculations.\nIts main intent is to provide an easy way to compute observation\nopportunities of specific region of interest above the Galilean\nsatellites for the ESA-Juice mission but could be extended in the\nfuture to other space mission.\n\nIt is actively developed by the\n[Observatoire des Sciences de l'Univers Nantes Atlantique](https://osuna.univ-nantes.fr)\n(OSUNA, CNRS-UAR 3281) and the\n[Laboratory of Planetology and Geosciences](https://lpg-umr6112.fr)\n(LPG, CNRS-UMR 6112) at Nantes University (France), under\n[ESA-Juice](https://sci.esa.int/web/juice) and [CNES](https://cnes.fr) founding support.\n\n<p align=\"center\">\n <img src=\"https://docs.planetary-coverage.org/en/1.1.1/_images/logos.png\" alt=\"logos\"/>\n</p>\n\n\ud83d\udce6 Installation\n---------------\n\nThe package is available on [PyPI](https://pypi.org/project/planetary-coverage/) and can be installed very easily:\n\n- If you are in a [`Jupyter environnement`](https://jupyter.org/), you can use the magic command `%pip` in a notebook cell and \u25b6\ufe0f `Run` it:\n```bash\n%pip install planetary-coverage\n```\n\n- or, if you are using a `terminal environment`, you can do:\n```bash\npip install planetary-coverage\n```\n\n> __Note:__ If you plan to use this package with Juice and you want to enable [PTR simulation with AGM](https://esa-ptr.readthedocs.io/).\n> You can add a `juice` extra parameter in the `pip` install command: `pip install planetary-coverage[juice]`\n\n\nThe package is also available on [conda-forge](https://anaconda.org/conda-forge/planetary-coverage)\nand you can install it with `conda`:\n\n```bash\nconda config --add channels conda-forge\nconda config --set channel_priority strict\n\nconda install planetary-coverage\n```\n\n\u270f\ufe0f How to cite this package\n---------------------------\n\nIf you use this package for your analyses, please consider using the following citation:\n\n> Seignovert et al. 2023,\n> Planetary coverage package (1.1.1),\n> [planetary-coverage.org](https://docs.planetary-coverage.org/en/1.1.1/),\n> [swh:1:rel:f6280865fc5144b4beadc04d4085385f7a58491d](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://juigitlab.esac.esa.int/python/planetary-coverage&release=1.1.1)\n\nor can use either:\n- [planetary-coverage.bib](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/planetary-coverage.bib?inline=false)\n- [citation.cff](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/CITATION.cff?inline=false)\n- [codemeta.json](https://juigitlab.esac.esa.int/python/planetary-coverage/-/raw/main/codemeta.json?inline=false)\n\n\n\u26a1\ufe0f Issues and \ud83d\udcac feedback\n-------------------------\n\nIf you have any issue with this package, we highly recommend to take a look at:\n\n- \ud83d\udcda our [extended documentation online](https://docs.planetary-coverage.org/).\n- \ud83d\udcd3 the collection of [notebook examples](https://juigitlab.esac.esa.int/notebooks/planetary-coverage).\n\nIf you did not find a solution there, feel free to:\n\n- \ud83d\udcdd [open an issue](https://juigitlab.esac.esa.int/python/planetary-coverage/-/issues/new) (if you have an account on the [Juice Gitlab](https://juigitlab.esac.esa.int/python/planetary-coverage)).\n- \u2709\ufe0f send us an email at [contact@planetary-coverage.org](mailto:contact@planetary-coverage.org\n)\n\n\n\ud83c\udfa8 Contribution and \ud83d\udc1b fix bugs\n-------------------------------\n\nContributions are always welcome and appreciated.\nAn account on the [Juice Giltab](https://juigitlab.esac.esa.int/python/planetary-coverage) is required.\nYou also need to install the recent version of [Poetry](https://python-poetry.org/docs/) (`\u22651.8`), for example on _Linux/macOS/Windows (WSL)_, you can run this command:\n\n```bash\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\nThen you are good to go!\n\n1. \ud83c\udf74 [Fork this project](https://juigitlab.esac.esa.int/python/planetary-coverage/-/forks/new)\n\n2. \ud83d\udc11 Clone and \ud83d\udce6 install the repository locally:\n\n```bash\ngit clone https://juigitlab.esac.esa.int/<YOUR_USERNAME>/planetary-coverage\ncd planetary-coverage\n\npoetry install --extras juice\n```\n\n3. \u270d\ufe0f Make your edits and \ud83d\udea7 write the tests.\n\n4. \ud83d\udea6 Check that the linter and formatter are happy \ud83d\ude31 \ud83e\udd14 \ud83d\ude03 :\n```bash\npoetry run ruff format --diff\npoetry run ruff check\n```\n\n5. \ud83d\udee0 Check that your tests succeed \ud83d\udc4d and you have a coverage of 100% \u2728 :\n\n```bash\npoetry run pytest\n```\n\n6. \ud83d\udcd6 Complete and \u2699\ufe0f build the documentation (if needed):\n```bash\ncd docs/\npoetry run make docs\n```\n\n7. \ud83d\udce4 Push your changes to your forked branch and \ud83d\ude80 open a [new merge request](https://juigitlab.esac.esa.int/python/planetary-coverage/-/merge_requests/new) explaining what you changed \ud83d\ude4c \ud83d\udc4f \ud83d\udcaa.\n\n\n\ud83d\udc7d Maintainer section\n---------------------\n\n- To add a new contributor, you need to edit the following files:\n - `CITATION.cff`\n - `codemeta.json`\n - `planetary-coverage.bib`\n\n- To release a new version:\n```bash\nPREVIOUS_RELEASE_DATE=\"YYYY-MM-DD\" bump2version [patch|minor|major]\n```\nThen, on the `main` branch add a new tag:\n```bash\ngit tag x.y.z -m \"Bump version: a.b.c \u2192 x.y.z\"\n```\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License",
"summary": "Planetary coverage package",
"version": "1.1.1",
"project_urls": {
"Bug Tracker": "https://juigitlab.esac.esa.int/python/planetary-coverage/-/issues",
"Changelog": "https://docs.planetary-coverage.org/en/latest/CHANGELOG.html",
"Documentation": "https://docs.planetary-coverage.org",
"Homepage": "https://juigitlab.esac.esa.int/python/planetary-coverage",
"Repository": "https://juigitlab.esac.esa.int/python/planetary-coverage"
},
"split_keywords": [
"planetary",
" coverage",
" spice",
" esa",
" juice"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "65ffc20d934e6701753a57dbabd33082172427acf32c91028e46e44516546b47",
"md5": "c740cacb972ae987407ee1dd1fac6f12",
"sha256": "2cb71187f680cb82b2caf3e89b9e8afebe9aa4df666a962529c3014aa8694de3"
},
"downloads": -1,
"filename": "planetary_coverage-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c740cacb972ae987407ee1dd1fac6f12",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 4695286,
"upload_time": "2024-10-23T14:50:49",
"upload_time_iso_8601": "2024-10-23T14:50:49.754501Z",
"url": "https://files.pythonhosted.org/packages/65/ff/c20d934e6701753a57dbabd33082172427acf32c91028e46e44516546b47/planetary_coverage-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0f4e1daee6bb24f8633378709d1eaeaa9585595281668d055b6163e855fd6aa7",
"md5": "eb155e822fb385b88ec31e534495b179",
"sha256": "be483ba59dcb4d2e8744af15d8579c57a6824bba0f4728ef06b23a7ffa5cddfc"
},
"downloads": -1,
"filename": "planetary_coverage-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "eb155e822fb385b88ec31e534495b179",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 4673704,
"upload_time": "2024-10-23T14:50:53",
"upload_time_iso_8601": "2024-10-23T14:50:53.663785Z",
"url": "https://files.pythonhosted.org/packages/0f/4e/1daee6bb24f8633378709d1eaeaa9585595281668d055b6163e855fd6aa7/planetary_coverage-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-23 14:50:53",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "planetary-coverage"
}