Skip to content

A set of Astronomical utility functions. PANOPTES style. 🛠️ 🔭 🌠

License

Notifications You must be signed in to change notification settings

panoptes/panoptes-utils

Repository files navigation

PANOPTES Utilities

PANOPTES Logo


GHA Status codecov Documentation Status PyPI version

Utility functions for use within the Project PANOPTES ecosystem and for general astronomical processing.

This library defines a number of modules that contain useful functions as well as a few services.

Install

To install type:

pip install panoptes-utils

Full options for install:

pip install "panoptes-utils[config,docs,images,testing,social]"

See the full documentation at: https://panoptes-utils.readthedocs.io

Dependencies

There are a few system dependencies depending on what functionality you will be using.

In particular, the plate solving requires astrometry.net and the appropriate index files.

Use the following on a debian-based system (e.g. Ubuntu) to easily install all dependencies:

apt-get update && apt-get install --no-install-recommends --yes \
  libffi-dev libssl-dev \
  astrometry.net astrometry-data-tycho2 \
  dcraw exiftool libcfitsio-dev libcfitsio-bin \
  libfreetype6-dev libpng-dev libjpeg-dev libffi-dev

Command Line

The panoptes-utils command line tool is available for use with subcommands corresponding to the modules in this library. Currently, the only implemented subcommand is image, which includes commands for converting cr2 files into jpg and/or fits files as well as for plate-solving fits images.

The panoptes-utils image watch <path> command will watch the given path for new files and convert them to jpg and/or fits files as they are added.

See panoptes-utils --help and panoptes-utils image --help for details.

Config Server

There is a simple key-value configuration server available as part of the module.

After installing with the config option as above, type:

panoptes-config-server run --config-file <path-to-file.yaml>

Developing

panoptes-utils uses pyscaffold for project setup, which then uses the standard tox and pyproject.toml tools to manage the project. Tests can be run with tox, e.g.

# Clean repository.
tox -e clean

# Run tests.
tox

# Build project.
tox -e build