Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/macro-consortium/pyscope

pyscope is a pure-Python package for control of small robotic telescopes.
https://github.com/macro-consortium/pyscope

ascom astronomy astropy automation observatory python

Last synced: about 18 hours ago
JSON representation

pyscope is a pure-Python package for control of small robotic telescopes.

Awesome Lists containing this project

README

        

*******
pyscope
*******

.. container::

|License| |Zenodo| |PyPI Version| |PyPI Python Versions| |PyPI Downloads| |Astropy| |GitHub CI| |Code Coverage| |Documentation Status| |Codespaces Status| |pre-commit| |Black| |isort| |Donate|

.. image:: https://github.com/macro-consortium/pyscope/blob/main/docs/source/_static/pyscope_logo_white.png
:alt: pyscope logo

This is the repository for `pyscope `_,
a pure-Python package for robotic scheduling, operation, and control of small
optical telescopes.

`pyscope `_ is an
`open-source `_ project that provides a set of tools to rapidly and easily
control astronomical instrumentation. It is designed to be modular and extensible,
allowing users to easily add support for new devices and observatories.
`pyscope `_ is built on top of the
`ASCOM `_ standard, but also provides support for
non-ASCOM devices. Users may also access their devices through third-party applications
such as `MaxIm DL `_.

Observatories who use `pyscope `_ can take
advantage of the `telrun `_
module, which provides a simple interface for fully-robotic observatory control.

`pyscope `_ is aiming to become an
`astropy-affiliated package `_.

Features
--------
* Control observatory hardware with Python

* Support for `ASCOM `_ and non-ASCOM devices

* `Observatory `_
convenience methods like `run_autofocus `_
and `recenter `_

* `telrun `_ module
for fully-robotic operation of an observatory

* Basic data reduction tools like
`avg_fits `_
and `ccd_calib `_

* Simple analysis scripts like
`calc_zmag `_

* Powered by `Astropy `_,
`Astropy-affiliated `_
packages, and `ASCOM `_

Installation
------------
pyscope is available on PyPI and can be installed with pip:

.. code-block:: bash

pip install pyscope

pyscope will be available on conda-forge soon.

Development Installation
========================
|Codespaces|

We recommend using a virtual environment for development. You may create a new
virtual environment with pip:

.. code-block:: bash

python -m venv pyscope-dev
source pyscope-dev/bin/activate

Or with conda:

.. code-block:: bash

conda create -n pyscope-dev python=3.12
conda activate pyscope-dev

To install pyscope for development, clone the repository and install with pip:

.. code-block:: bash

git clone https://github.com/macro-consortium/pyscope
cd pyscope
pip install -e ".[dev]"

Usage
-----
TBD

Documentation
-------------
All supporting documentation can be found at `readthedocs `_.

Citing
------
If you use this package in your research, please cite it using the following:

History
-------
pyscope is based off of the IOTAlib (Iowa Optical Telescope Automation library) package, drawing on 25+ years of robotic observatory development at the University of Iowa, now with an emphasis on usage by anyone with a computerized telescope and python experience.

Contributing
------------
Please see the `developer documentation `_.

License
-------
This project is licensed under the `GNU AGPLv3 License `_.

Issues
------
Please post any issues you find `here `_.

.. |License| image:: https://img.shields.io/pypi/l/pyscope
:target: https://pypi.org/project/pyscope/
:alt: License

.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8403570.svg
:target: https://doi.org/10.5281/zenodo.8403570
:alt: Zenodo

.. |PyPI Version| image:: https://img.shields.io/pypi/v/pyscope
:target: https://pypi.org/project/pyscope/
:alt: PyPI Version

.. |PyPI Python Versions| image:: https://img.shields.io/pypi/pyversions/pyscope?logo=Python
:target: https://pypi.org/project/pyscope/
:alt: PyPI Python Versions

.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/pyscope?logo=python
:target: https://pypi.org/project/pyscope/
:alt: PyPI Downloads

.. |Astropy| image:: http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat
:target: http://www.astropy.org
:alt: Powered by Astropy

.. |GitHub CI| image:: https://img.shields.io/github/actions/workflow/status/macro-consortium/pyscope/ci.yml?logo=GitHub&label=CI
:target: https://github.com/macro-consortium/pyscope/actions/workflows/ci.yml
:alt: GitHub CI

.. |Code Coverage| image:: https://codecov.io/gh/macro-consortium/pyscope/branch/main/graph/badge.svg
:target: https://app.codecov.io/gh/macro-consortium/pyscope/
:alt: Code Coverage

.. |Documentation Status| image:: https://img.shields.io/readthedocs/pyscope?logo=ReadtheDocs
:target: https://pyscope.readthedocs.io/en/latest/
:alt: Documentation Status

.. |Codespaces Status| image:: https://github.com/macro-consortium/pyscope/actions/workflows/codespaces/create_codespaces_prebuilds/badge.svg
:target: https://github.com/macro-consortium/pyscope/actions/workflows/codespaces/create_codespaces_prebuilds
:alt: Codespaces Status

.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit enabled

.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code Style

.. |isort| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
:target: https://pycqa.github.io/isort/
:alt: isort

.. |Donate| image:: https://img.shields.io/badge/Donate-to_pyscope-crimson
:target: https://github.com/sponsors/macro-consortium
:alt: Donate

.. |Codespaces| image:: https://github.com/codespaces/badge.svg
:target: https://codespaces.new/macro-consortium/pyscope
:alt: Codespaces