*******
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 <https://pyscope.readthedocs.io/en/latest/>`_,
a pure-Python package for robotic scheduling, operation, and control of small
optical telescopes.
`pyscope <https://pyscope.readthedocs.io/en/latest/>`_ is an
`open-source <LICENSE>`_ 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 <https://pyscope.readthedocs.io/en/latest/>`_ is built on top of the
`ASCOM <https://ascom-standards.org/>`_ standard, but also provides support for
non-ASCOM devices. Users may also access their devices through third-party applications
such as `MaxIm DL <https://diffractionlimited.com/product/maxim-dl/>`_.
Observatories who use `pyscope <https://pyscope.readthedocs.io/en/latest/>`_ can take
advantage of the `telrun <https://pyscope.readthedocs.io/en/latest/api/pyscope.telrun.html>`_
module, which provides a simple interface for fully-robotic observatory control.
`pyscope <https://pyscope.readthedocs.io/en/latest/>`_ is aiming to become an
`astropy-affiliated package <https://www.astropy.org/affiliated/>`_.
Features
--------
* Control observatory hardware with Python
* Support for `ASCOM <https://ascom-standards.org/>`_ and non-ASCOM devices
* `Observatory <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html>`_
convenience methods like `run_autofocus <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html#pyscope.observatory.Observatory.run_autofocus>`_
and `recenter <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html#pyscope.observatory.Observatory.recenter>`_
* `telrun <https://pyscope.readthedocs.io/en/latest/api/pyscope.telrun.html>`_ module
for fully-robotic operation of an observatory
* Basic data reduction tools like
`avg_fits <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.reduction.avg_fits.html>`_
and `ccd_calib <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.reduction.ccd_calib.html#pyscope.reduction.ccd_calib>`_
* Simple analysis scripts like
`calc_zmag <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.analysis.calc_zmag.html#pyscope.analysis.calc_zmag>`_
* Powered by `Astropy <https://www.astropy.org/>`_,
`Astropy-affiliated <https://www.astropy.org/affiliated/>`_
packages, and `ASCOM <https://ascom-standards.org/>`_
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 <https://pyscope.readthedocs.io/en/latest/>`_.
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 <https://pyscope.readthedocs.io/en/latest/development/>`_.
License
-------
This project is licensed under the `GNU AGPLv3 License <LICENSE>`_.
Issues
------
Please post any issues you find `here <https://github.com/macro-consortium/pyscope/issues>`_.
.. |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
Raw data
{
"_id": null,
"home_page": null,
"name": "pyscope",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "astronomy, astrophysics, telescope, astrophotography, astrometry, photometry, python, automation, ascom, astropy, observatory, observatory automation",
"author": "Walter Golay",
"author_email": "wgolay@cfa.harvard.edu",
"download_url": "https://files.pythonhosted.org/packages/6f/08/e545400536001b731dbef88189f02ceab6f7f6b00240b995d2994b7b1fa3/pyscope-0.2.0.tar.gz",
"platform": null,
"description": "*******\npyscope\n*******\n\n.. container::\n\n |License| |Zenodo| |PyPI Version| |PyPI Python Versions| |PyPI Downloads| |Astropy| |GitHub CI| |Code Coverage| |Documentation Status| |Codespaces Status| |pre-commit| |Black| |isort| |Donate|\n\n.. image:: https://github.com/macro-consortium/pyscope/blob/main/docs/source/_static/pyscope_logo_white.png\n :alt: pyscope logo\n\nThis is the repository for `pyscope <https://pyscope.readthedocs.io/en/latest/>`_,\na pure-Python package for robotic scheduling, operation, and control of small\noptical telescopes.\n\n`pyscope <https://pyscope.readthedocs.io/en/latest/>`_ is an\n`open-source <LICENSE>`_ project that provides a set of tools to rapidly and easily\ncontrol astronomical instrumentation. It is designed to be modular and extensible,\nallowing users to easily add support for new devices and observatories.\n`pyscope <https://pyscope.readthedocs.io/en/latest/>`_ is built on top of the\n`ASCOM <https://ascom-standards.org/>`_ standard, but also provides support for\nnon-ASCOM devices. Users may also access their devices through third-party applications\nsuch as `MaxIm DL <https://diffractionlimited.com/product/maxim-dl/>`_.\n\nObservatories who use `pyscope <https://pyscope.readthedocs.io/en/latest/>`_ can take\nadvantage of the `telrun <https://pyscope.readthedocs.io/en/latest/api/pyscope.telrun.html>`_\nmodule, which provides a simple interface for fully-robotic observatory control.\n\n`pyscope <https://pyscope.readthedocs.io/en/latest/>`_ is aiming to become an\n`astropy-affiliated package <https://www.astropy.org/affiliated/>`_.\n\nFeatures\n--------\n* Control observatory hardware with Python\n\n* Support for `ASCOM <https://ascom-standards.org/>`_ and non-ASCOM devices\n\n* `Observatory <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html>`_\n convenience methods like `run_autofocus <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html#pyscope.observatory.Observatory.run_autofocus>`_\n and `recenter <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.observatory.Observatory.html#pyscope.observatory.Observatory.recenter>`_\n\n* `telrun <https://pyscope.readthedocs.io/en/latest/api/pyscope.telrun.html>`_ module\n for fully-robotic operation of an observatory\n\n* Basic data reduction tools like\n `avg_fits <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.reduction.avg_fits.html>`_\n and `ccd_calib <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.reduction.ccd_calib.html#pyscope.reduction.ccd_calib>`_\n\n* Simple analysis scripts like\n `calc_zmag <https://pyscope.readthedocs.io/en/latest/api/auto_api/pyscope.analysis.calc_zmag.html#pyscope.analysis.calc_zmag>`_\n\n* Powered by `Astropy <https://www.astropy.org/>`_,\n `Astropy-affiliated <https://www.astropy.org/affiliated/>`_\n packages, and `ASCOM <https://ascom-standards.org/>`_\n\nInstallation\n------------\npyscope is available on PyPI and can be installed with pip:\n\n.. code-block:: bash\n\n pip install pyscope\n\npyscope will be available on conda-forge soon.\n\nDevelopment Installation\n========================\n|Codespaces|\n\nWe recommend using a virtual environment for development. You may create a new\nvirtual environment with pip:\n\n.. code-block:: bash\n\n python -m venv pyscope-dev\n source pyscope-dev/bin/activate\n\nOr with conda:\n\n.. code-block:: bash\n\n conda create -n pyscope-dev python=3.12\n conda activate pyscope-dev\n\nTo install pyscope for development, clone the repository and install with pip:\n\n.. code-block:: bash\n\n git clone https://github.com/macro-consortium/pyscope\n cd pyscope\n pip install -e \".[dev]\"\n\nUsage\n-----\nTBD\n\nDocumentation\n-------------\nAll supporting documentation can be found at `readthedocs <https://pyscope.readthedocs.io/en/latest/>`_.\n\nCiting\n------\nIf you use this package in your research, please cite it using the following:\n\nHistory\n-------\npyscope 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.\n\nContributing\n------------\nPlease see the `developer documentation <https://pyscope.readthedocs.io/en/latest/development/>`_.\n\nLicense\n-------\nThis project is licensed under the `GNU AGPLv3 License <LICENSE>`_.\n\nIssues\n------\nPlease post any issues you find `here <https://github.com/macro-consortium/pyscope/issues>`_.\n\n.. |License| image:: https://img.shields.io/pypi/l/pyscope\n :target: https://pypi.org/project/pyscope/\n :alt: License\n\n.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.8403570.svg\n :target: https://doi.org/10.5281/zenodo.8403570\n :alt: Zenodo\n\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/pyscope\n :target: https://pypi.org/project/pyscope/\n :alt: PyPI Version\n\n.. |PyPI Python Versions| image:: https://img.shields.io/pypi/pyversions/pyscope?logo=Python\n :target: https://pypi.org/project/pyscope/\n :alt: PyPI Python Versions\n\n.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/pyscope?logo=python\n :target: https://pypi.org/project/pyscope/\n :alt: PyPI Downloads\n\n.. |Astropy| image:: http://img.shields.io/badge/powered%20by-AstroPy-orange.svg?style=flat\n :target: http://www.astropy.org\n :alt: Powered by Astropy\n\n.. |GitHub CI| image:: https://img.shields.io/github/actions/workflow/status/macro-consortium/pyscope/ci.yml?logo=GitHub&label=CI\n :target: https://github.com/macro-consortium/pyscope/actions/workflows/ci.yml\n :alt: GitHub CI\n\n.. |Code Coverage| image:: https://codecov.io/gh/macro-consortium/pyscope/branch/main/graph/badge.svg\n :target: https://app.codecov.io/gh/macro-consortium/pyscope/\n :alt: Code Coverage\n\n.. |Documentation Status| image:: https://img.shields.io/readthedocs/pyscope?logo=ReadtheDocs\n :target: https://pyscope.readthedocs.io/en/latest/\n :alt: Documentation Status\n\n.. |Codespaces Status| image:: https://github.com/macro-consortium/pyscope/actions/workflows/codespaces/create_codespaces_prebuilds/badge.svg\n :target: https://github.com/macro-consortium/pyscope/actions/workflows/codespaces/create_codespaces_prebuilds\n :alt: Codespaces Status\n\n.. |pre-commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\n :target: https://github.com/pre-commit/pre-commit\n :alt: pre-commit enabled\n\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/psf/black\n :alt: Code Style\n\n.. |isort| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336\n :target: https://pycqa.github.io/isort/\n :alt: isort\n\n.. |Donate| image:: https://img.shields.io/badge/Donate-to_pyscope-crimson\n :target: https://github.com/sponsors/macro-consortium\n :alt: Donate\n\n.. |Codespaces| image:: https://github.com/codespaces/badge.svg\n :target: https://codespaces.new/macro-consortium/pyscope\n :alt: Codespaces\n",
"bugtrack_url": null,
"license": "AGPLv3",
"summary": "A python package for controlling small optical telescopes",
"version": "0.2.0",
"project_urls": {
"Documentation": "https://pyscope.readthedocs.io/en/latest/",
"Source": "https://github.com/macro-consortium/pyscope"
},
"split_keywords": [
"astronomy",
" astrophysics",
" telescope",
" astrophotography",
" astrometry",
" photometry",
" python",
" automation",
" ascom",
" astropy",
" observatory",
" observatory automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c938914dae1c9df7d3fd2a290eb2b95108b8dd9cb8f589902a0ea303f5445822",
"md5": "53ad918236aff24250e4cf1bed8327fb",
"sha256": "e5d9453725a8d704605d8a66104463b43a5b4e625675bcbf37f95dc25300e417"
},
"downloads": -1,
"filename": "pyscope-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "53ad918236aff24250e4cf1bed8327fb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 181288,
"upload_time": "2024-08-14T11:59:14",
"upload_time_iso_8601": "2024-08-14T11:59:14.817017Z",
"url": "https://files.pythonhosted.org/packages/c9/38/914dae1c9df7d3fd2a290eb2b95108b8dd9cb8f589902a0ea303f5445822/pyscope-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f08e545400536001b731dbef88189f02ceab6f7f6b00240b995d2994b7b1fa3",
"md5": "502e9f873a2731399e84fe3c88408505",
"sha256": "a0a8195b6b8871d9e9b039ba6196b0f139a0387bc5d6908d655b2ac5e6995d0d"
},
"downloads": -1,
"filename": "pyscope-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "502e9f873a2731399e84fe3c88408505",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 231700,
"upload_time": "2024-08-14T11:59:16",
"upload_time_iso_8601": "2024-08-14T11:59:16.539166Z",
"url": "https://files.pythonhosted.org/packages/6f/08/e545400536001b731dbef88189f02ceab6f7f6b00240b995d2994b7b1fa3/pyscope-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-14 11:59:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "macro-consortium",
"github_project": "pyscope",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pyscope"
}