SpiceyPy

SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit - Published in JOSS (2020)

https://github.com/andrewannex/spiceypy

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    4 of 27 committers (14.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

ephemeris hacktoberfest nasa navigation python space spice toolkit

Keywords from Contributors

mathematics finite-element-methods simulations research
Last synced: 4 months ago · JSON representation ·

Repository

SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit.

Basic Info
  • Host: GitHub
  • Owner: AndrewAnnex
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 4.98 MB
Statistics
  • Stars: 442
  • Watchers: 26
  • Forks: 89
  • Open Issues: 4
  • Releases: 32
Topics
ephemeris hacktoberfest nasa navigation python space spice toolkit
Created almost 12 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing Funding License Code of conduct Citation Zenodo

README.rst

SpiceyPy
========

SpiceyPy is a Python wrapper for the NAIF C SPICE Toolkit, written using ctypes and Cython.

+------------------------+-------------------+--------+------------+--------------+
| Continuous Integration | Code Coverage     | Docs   |  Citation  |  Code Style  |
+========================+===================+========+============+==============+
| |Github Build Status|  | |Coverage Status| | |Docs| | |JOSS|     |  |Black|     |
+------------------------+-------------------+--------+------------+--------------+

.. |Github Build Status| image:: https://img.shields.io/github/actions/workflow/status/AndrewAnnex/SpiceyPy/ci-build.yml?branch=main
   :alt: Github - Build Status
   :target: https://github.com/AndrewAnnex/SpiceyPy/actions
.. |Coverage Status| image:: https://img.shields.io/codecov/c/github/AndrewAnnex/SpiceyPy/main?logo=codecov
   :alt: Codecov - Test Coverage
   :target: https://codecov.io/gh/AndrewAnnex/SpiceyPy
.. |Docs| image:: https://img.shields.io/readthedocs/spiceypy/main
   :alt: Readthedocs - Documentation
   :target: http://spiceypy.readthedocs.org/en/main/
.. |JOSS| image:: https://joss.theoj.org/papers/98136d30bea9982ad160d251e2039fee/status.svg
   :alt: Citation Information: Journal of Open Source Software
   :target: https://joss.theoj.org/papers/98136d30bea9982ad160d251e2039fee
.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg 
   :alt: Code Style - Black
   :target: https://github.com/psf/black


Introduction
------------

SpiceyPy is a python wrapper for the `SPICE Toolkit `__.
SPICE is an essential tool for scientists and engineers alike in the planetary
science field for Solar System Geometry. Please visit the NAIF website for more details about SPICE.

*IMPORTANT*: The code is provided "as is", use at your own risk. However, the NAIF now distributes python "lessons" that use SpiceyPy as the python to spice interface.

Citing SpiceyPy
---------------

If you are publishing work that uses SpiceyPy, please cite SpiceyPy and the SPICE toolkit.

SpiceyPy can be cited using the JOSS DOI (`https://doi.org/10.21105/joss.02050`) or with the following:
    Annex et al., (2020). SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit. Journal of Open Source Software, 5(46), 2050, https://doi.org/10.21105/joss.02050

Instructions for how to cite the SPICE Toolkit are available on the NAIF website: 
    https://naif.jpl.nasa.gov/naif/credit.html. 

To cite information about SpiceyPy usage statistics, please cite my 2017 and or 2019 abstracts as appropriate below:
    1. 2017 abstract: ``__.
    2. 2019 abstract: ``__.

Installation
------------

+----------------+-------------------+
| PyPI           | Conda Forge       |
+================+===================+
| |PyPI|         | |Conda Version|   |
+----------------+-------------------+

.. |PyPI| image:: https://img.shields.io/pypi/v/spiceypy.svg
   :alt: PyPI - python package index
   :target: https://pypi.org/project/spiceypy/
.. |Conda Version| image:: https://img.shields.io/conda/vn/conda-forge/spiceypy.svg
   :alt: Conda - conda-forge feedstock for SpiceyPy
   :target: https://anaconda.org/conda-forge/spiceypy

SpiceyPy can be installed using pip by running:
``pip install spiceypy``

Anaconda users should use the conda-forge distribution of SpiceyPy by running:

``conda config --add channels conda-forge``

``conda install spiceypy``

or the same commands prefixed by `mamba` or `micromamba` or other conda-like system.

If you wish to install spiceypy from source first download or clone the project. Then run ``python -m build`` and install the resulting wheel file in `dist`.
To uninstall run ``pip uninstall spiceypy``.

Documentation
-------------

The SpiceyPy docs are available at:
`spiceypy.readthedocs.org `__.
The documentation for SpiceyPy is intentionally abridged so as to utilize the excellent `documentation provided by the
NAIF. `__
Please refer to C and IDL documentation available on the NAIF website
for in-depth explanations. Each function docstring has a link to the
corresponding C function in the NAIF docs at a minimum.
SpiceyPy documentation contains the NAIF authored `Lessons `__ for step-by-step tutorials with code examples. 

How to Help
-----------

Feedback is always welcomed, if you discover that a function is not working as expected,
submit an issue detailing how to reproduce the problem. If you utilize SpiceyPy frequently 
please consider contributing to the project by citing me using the Zenodo DOI above.

Known Working Environments:
---------------------------

SpiceyPy is compatible with modern Linux, Mac, and Windows
environments. Since the package is a wrapper, any environment not
supported by the NAIF is similarly not supported by SpiceyPy.
If you run into issues with your system please submit an issue with details. 
Please note that support for Python minor versions are generally phased out 
as newer versions are released. 

- OS: OS X, Linux, Windows, FreeBSD
- CPU: x64, arm
- Python 3.10, 3.11, 3.12, 3.13
- ARM support for Linux-aarch64 & osx-arm64

* Support for Python 2.7 ended with version 2.3.2 January 2020 *

Acknowledgements
----------------

Supported in part through NASA PDART23 80NSSC25K7040 FY24-FY27. 

`DaRasch `__ wrote spiceminer, which I
looked at to get SpiceCells working, thanks!

Owner

  • Name: Dr. Andrew Annex
  • Login: AndrewAnnex
  • Kind: user
  • Location: Pasadena, CA
  • Company: SETI Institute

Coder and Planetary Science PhD from Johns Hopkins University. Fmr Postdoc @ Caltech, Current Senior Science Systems Engineer @ SETI Institute

JOSS Publication

SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit
Published
February 21, 2020
Volume 5, Issue 46, Page 2050
Authors
Andrew M. Annex ORCID
Johns Hopkins University
Ben Pearson
None
Benoît Seignovert ORCID
Jet Propulsion Laboratory, California Institute of Technology
Brian T. Carcich ORCID
Latchmoor Services, LLC
Helge Eichhorn ORCID
Planetary Transportation Systems GmbH
Jesse A. Mapel ORCID
USGS Astrogeology Science Center
Johan L. Freiherr von Forstner ORCID
Institute of Experimental and Applied Physics, University of Kiel
Jonathan McAuliffe
DLR Gesellschaft für Raumfahrtanwendungen (GfR) mbH
Jorge Diaz del Rio
ODC Space
Kristin L. Berry ORCID
USGS Astrogeology Science Center
K.-Michael Aye ORCID
Laboratory for Atmospheric and Space Physics, University of Colorado
Marcel Stefko ORCID
ETH Zurich
Miguel de Val-Borro ORCID
Planetary Science Institute
Shankar Kulumani ORCID
Collins Aerospace
Shin-ya Murakami ORCID
GFD Dennou Club
Editor
Monica Bobra ORCID
Tags
SPICE ephemeris geometry navigation spacecraft planets

Citation (CITATION.cff)

cff-version: 1.2.0
title: 'SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit'
message: If you are publishing work that uses SpiceyPy, please cite SpiceyPy (using its JOSS DOI)
         as well as the SPICE toolkit. To cite/refer to a specific version of SpiceyPy, use the
         associated Zenodo DOI.
type: software
authors:
  - given-names: Andrew M.
    family-names: Annex
    affiliation: Johns Hopkins University
    orcid: 'https://orcid.org/0000-0002-0253-2313'
    email: annex@jhu.edu
  - given-names: Brian T.
    family-names: Carcich
    affiliation: Latchmoor Services, LLC
    orcid: 'https://orcid.org/0000-0001-9211-6526'
  - given-names: Ben
    family-names: Pearson
  - given-names: K.-Michael
    family-names: Aye
    affiliation: Laboratory for Atmospheric and Space Physics, University of Colorado
    orcid: 'https://orcid.org/0000-0002-4088-1928'
  - given-names: Johan Lauritz Freiherr
    name-particle: von
    family-names: Forstner
    affiliation: Institute of Experimental and Applied Physics, University of Kiel
    orcid: 'https://orcid.org/0000-0002-1390-4776'
  - given-names: Jonathan
    family-names: McAuliffe
    affiliation: DLR Gesellschaft für Raumfahrtanwendungen (GfR) mbH
  - given-names: Jorge Diaz
    name-particle: del
    family-names: Rio
    affiliation: ODC Space
  - given-names: Kristin L.
    family-names: Berry
    affiliation: USGS Astrogeology Science Center
    orcid: 'https://orcid.org/0000-0001-9757-9706'
  - given-names: Marcel
    family-names: Stefko
    affiliation: ETH Zurich
    orcid: 'https://orcid.org/0000-0002-7736-2611'
  - given-names: Miguel
    name-particle: de
    family-names: Val-Borro
    affiliation: Planetary Science Institute
    orcid: 'https://orcid.org/0000-0002-0455-9384'
  - given-names: Shankar
    family-names: Kulumani
    affiliation: Collins Aerospace
    orcid: 'https://orcid.org/0000-0002-7822-0471'
  - given-names: Shin-ya
    family-names: Murakami
    affiliation: GFD Dennou Club
    orcid: 'https://orcid.org/0000-0002-7137-4849'
  - given-names: Helge
    family-names: Eichhorn
    affiliation: Planetary Transportation Systems GmbH
    orcid: 'https://orcid.org/0000-0003-0303-5199'
  - given-names: Benoît
    family-names: Seignovert
    affiliation: Jet Propulsion Laboratory, California Institute of Technology
    orcid: 'https://orcid.org/0000-0001-6533-275X'
  - given-names: Jesse A.
    family-names: Mapel
    affiliation: USGS Astrogeology Science Center
    orcid: 'https://orcid.org/0000-0001-5756-0373'
identifiers:
  - type: doi
    value: 10.21105/joss.02050
    description: JOSS publication
  - type: doi
    value: 10.5281/zenodo.593914
    description: Zenodo archive
repository-code: 'https://github.com/AndrewAnnex/SpiceyPy'
url: 'https://spiceypy.readthedocs.io/'
license: MIT
references:
  - authors:
      - given-names: Charles H.
        family-names: Acton
        name-suffix: Jr.
    title: Ancillary data services of NASA's Navigation and Ancillary Information Facility
    type: article
    doi: 10.1016/0032-0633(95)00107-7
    journal: Planetary and Space Science
    volume: 44
    issue: 1
    start: 65
    end: 70
    month: 1
    year: 1996
  - authors:
      - given-names: Charles
        family-names: Acton
      - given-names: Nathaniel
        family-names: Bachman
      - given-names: Boris
        family-names: Semenov
      - given-names: Edward
        family-names: Wright
    title: A look towards the future in the handling of space science mission geometry
    type: article
    doi: "10.1016/j.pss.2017.02.013"
    journal: "Planetary and Space Science"
    volume: 150
    start: 9
    end: 12
    month: 2
    year: 2017
preferred-citation:
  type: article
  authors:
    - given-names: Andrew M.
      family-names: Annex
      affiliation: Johns Hopkins University
      orcid: 'https://orcid.org/0000-0002-0253-2313'
      email: annex@jhu.edu
    - given-names: Ben
      family-names: Pearson
    - given-names: Benoît
      family-names: Seignovert
      affiliation: Jet Propulsion Laboratory, California Institute of Technology
      orcid: 'https://orcid.org/0000-0001-6533-275X'
    - given-names: Brian T.
      family-names: Carcich
      affiliation: 'Latchmoor Services, LLC'
      orcid: 'https://orcid.org/0000-0001-9211-6526'
    - given-names: Helge
      family-names: Eichhorn
      affiliation: Planetary Transportation Systems GmbH
      orcid: 'https://orcid.org/0000-0003-0303-5199'
    - given-names: Jesse A.
      family-names: Mapel
      affiliation: USGS Astrogeology Science Center
      orcid: 'https://orcid.org/0000-0001-5756-0373'
    - given-names: Johan Lauritz Freiherr
      name-particle: von
      family-names: Forstner
      affiliation: Institute of Experimental and Applied Physics, University of Kiel
      orcid: 'https://orcid.org/0000-0002-1390-4776'
    - given-names: Jonathan
      family-names: McAuliffe
      affiliation: DLR Gesellschaft für Raumfahrtanwendungen (GfR) mbH
    - given-names: Jorge Diaz
      name-particle: del
      family-names: Rio
      affiliation: ODC Space
    - given-names: Kristin L.
      family-names: Berry
      affiliation: USGS Astrogeology Science Center
      orcid: 'https://orcid.org/0000-0001-9757-9706'
    - given-names: K.-Michael
      family-names: Aye
      affiliation: Laboratory for Atmospheric and Space Physics, University of Colorado
      orcid: 'https://orcid.org/0000-0002-4088-1928'
    - given-names: Marcel
      family-names: Stefko
      affiliation: ETH Zurich
      orcid: 'https://orcid.org/0000-0002-7736-2611'
    - given-names: Miguel
      name-particle: de
      family-names: Val-Borro
      affiliation: Planetary Science Institute
      orcid: 'https://orcid.org/0000-0002-0455-9384'
    - given-names: Shankar
      family-names: Kulumani
      affiliation: Collins Aerospace
      orcid: 'https://orcid.org/0000-0002-7822-0471'
    - given-names: Shin-ya
      family-names: Murakami
      affiliation: GFD Dennou Club
      orcid: 'https://orcid.org/0000-0002-7137-4849'
  doi: 10.21105/joss.02050
  title: 'SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit'
  journal: Journal of Open Source Software
  volume: 5
  issue: 46
  start: 2050
  month: 2
  year: 2021

GitHub Events

Total
  • Create event: 18
  • Release event: 2
  • Issues event: 9
  • Watch event: 50
  • Issue comment event: 20
  • Push event: 176
  • Pull request review event: 8
  • Pull request review comment event: 8
  • Gollum event: 45
  • Pull request event: 26
  • Fork event: 4
Last Year
  • Create event: 19
  • Release event: 2
  • Issues event: 9
  • Watch event: 50
  • Issue comment event: 21
  • Push event: 176
  • Pull request review event: 8
  • Pull request review comment event: 8
  • Gollum event: 45
  • Pull request event: 26
  • Fork event: 4

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 588
  • Total Committers: 27
  • Avg Commits per committer: 21.778
  • Development Distribution Score (DDS): 0.08
Past Year
  • Commits: 23
  • Committers: 3
  • Avg Commits per committer: 7.667
  • Development Distribution Score (DDS): 0.087
Top Committers
Name Email Commits
Andrew Annex a****y@v****u 541
Miguel de Val-Borro m****l@g****m 5
Brian Carcich d****y@g****m 5
kd7uiy t****1@g****m 4
Caden Gobat 3****t 3
Johan von Forstner j****r@g****m 3
K.-Michael Aye m****e 3
Jonathan McAuliffe w****n@g****m 2
Kyle Niemeyer k****r@f****m 2
Marc Costa Sitjà m****t@g****m 2
fyellin fy@f****m 2
pyup.io bot g****t@p****o 1
kwan3217 k****7@g****m 1
The Gitter Badger b****r@g****m 1
Shin-ya Murakami m****n@g****m 1
Shankar Kulumani s****i 1
Marcel Stefko m****1@g****m 1
Lars Hinüber 1****r 1
Kristin k****y@u****v 1
Jorge Diaz del Rio 3****o 1
Alfonso 8****R 1
B. Seignovert s****t 1
Casey Doran c****n@g****m 1
Gavin Medley 7****6 1
Helge Eichhorn g****t@h****e 1
Jean-Luc Margot j****m@e****u 1
Jesse Mapel j****6@n****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 49
  • Total pull requests: 102
  • Average time to close issues: 7 months
  • Average time to close pull requests: 16 days
  • Total issue authors: 36
  • Total pull request authors: 14
  • Average comments per issue: 3.96
  • Average comments per pull request: 1.58
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 22
  • Average time to close issues: 14 days
  • Average time to close pull requests: 7 days
  • Issue authors: 5
  • Pull request authors: 3
  • Average comments per issue: 1.8
  • Average comments per pull request: 0.82
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • AndrewAnnex (11)
  • fyellin (3)
  • GeorgeEbberson (2)
  • OrbitalMechanic (1)
  • jlaura (1)
  • Spo-ck (1)
  • VitalianoGentile (1)
  • parkerjon (1)
  • kconnour (1)
  • gabrielb09 (1)
  • marcsit (1)
  • yangyang-studio (1)
  • DiegoBArruda (1)
  • TommasoPino (1)
  • hasanelfalakiy (1)
Pull Request Authors
  • AndrewAnnex (79)
  • pyup-bot (6)
  • elementc (2)
  • fyellin (2)
  • TommasoPino (2)
  • marcsit (2)
  • jeanlucmargot (2)
  • cgobat (1)
  • alfonsoSR (1)
  • GeorgeEbberson (1)
  • larshinueber (1)
  • johan12345 (1)
  • thandal (1)
  • GregoireHENRY (1)
Top Labels
Issue Labels
not a bug (18) spice question (5) installation (5) enhancement (5) support (5) question (5) beginners welcome (5) documentation (4) bug (3) help wanted (2) resolved (1)
Pull Request Labels
bug (1) hacktoberfest-accepted (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 89,886 last-month
  • Total docker downloads: 122
  • Total dependent packages: 44
    (may contain duplicates)
  • Total dependent repositories: 70
    (may contain duplicates)
  • Total versions: 51
  • Total maintainers: 1
pypi.org: spiceypy

A Python Wrapper for the NAIF CSPICE Toolkit

  • Versions: 30
  • Dependent Packages: 42
  • Dependent Repositories: 63
  • Downloads: 89,886 Last month
  • Docker Downloads: 122
Rankings
Dependent packages count: 0.4%
Dependent repos count: 1.9%
Downloads: 2.4%
Average: 2.6%
Docker downloads count: 2.8%
Stargazers count: 3.4%
Forks count: 4.8%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: spiceypy

SpiceyPy is a python wrapper for the SPICE Toolkit. SPICE is an essential tool for scientists and engineers alike in the planetary science field for Solar System Geometry.

  • Versions: 21
  • Dependent Packages: 2
  • Dependent Repositories: 7
Rankings
Dependent repos count: 12.8%
Average: 18.4%
Dependent packages count: 19.6%
Forks count: 19.6%
Stargazers count: 21.6%
Last synced: 4 months ago

Dependencies

ci-requirements.txt pypi
  • black *
  • build *
  • codecov >=2.1.0
  • coverage >=5.1.0
  • numpy >=1.17.0
  • pandas >=0.24.0
  • pytest >=7.0.0
  • setuptools >=38.0.0
  • twine >=3.3.0
  • wheel *
docs/requirements.txt pypi
  • myst-parser *
  • numpy *
  • sphinx >=3.1.2
  • sphinx-copybutton *
  • sphinx_autodoc_typehints *
requirements.txt pypi
  • build *
  • numpy >=1.17.0
  • setuptools >=38.0.0
test-requirements.txt pypi
  • numpy >=1.17.0
  • pandas >=0.24.0
  • pytest >=7.0.0
  • setuptools >=38.0.0
.github/workflows/ci-build.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
  • ilammy/msvc-dev-cmd v1.12.0 composite
.github/workflows/publish-to-test-and-live-pypi.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • codecov/codecov-action v3 composite
  • docker/setup-qemu-action v2 composite
  • ilammy/msvc-dev-cmd v1.12.0 composite
docs/environment.yml conda
  • myst-parser
  • numpy
  • pip
  • python 3.9.*
  • sphinx >=3.1.2
  • sphinx-copybutton