/mocpy

Python library to easily create and manipulate MOCs (Multi-Order Coverage maps)

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

MOCPy

PyPI version Build/Test status Notebook Binder Doc

mocpy's logo

MOCPy is a Python library allowing easy creation and manipulation of MOCs (Multi-Order Coverage maps).

MOC is an IVOA standard enabling description of arbitrary sky regions. Based on the HEALPix sky tessellation, it maps regions on the sky into hierarchically grouped predefined cells.

A support for TMOC (temporal MOC) has been added since version 0.4.0. It allows creation, parsing and comparison of TMOCs. The support for Frequency MOCs has been added since version 0.13.0

Space & Time coverages (STMOC) are an extension of MOC to add time information. It is possible to get a TMOC by querying a STMOC with a MOC and/or get a MOC by querying a STMOC with a TMOC.

Please check the mocpy's documentation for more details about installing MOCPy and using it.

For a command line tool, see the moc-cli.

For more information about the MOCPy Rust core, see the moc crate.

a moc plotted with mocpy

Rendered with MOCpy!

Installation

We strongly recommend to work in an environnement

Latest stable version

  • from pip pip install mocpy
  • from conda conda install -c conda-forge mocpy
  • from this repository

Unreleased latest version

To install mocpy from this repository, make sure you have Python (https://www.python.org/downloads/) and Rust (https://www.rust-lang.org/tools/install) on your machine. Then, run

pip install git+https://github.com/cds-astro/mocpy.git

To run the notebooks

The example notebooks require additional dependencies. They can be installed with

pip install mocpy[notebooks]

For use in pyodide

Wheels that run in pyodide can be downloaded from this repository assets. This is not fully tested.