Skip to main content

A Python Wrapper for the NAIF CSPICE Toolkit

Project description

SpiceyPy is a Python wrapper for the NAIF C SPICE Toolkit (N66), written using ctypes.

Continuous Integration

Code Coverage

Docs

Citation

Code Style

Github - Build Status

Codecov - Test Coverage

Readthedocs - Documentation

Citation Information: Journal of Open Source Software

Code Style - 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: https://ui.adsabs.harvard.edu/abs/2017LPICo1986.7081A/abstract.

  2. 2019 abstract: https://ui.adsabs.harvard.edu/abs/2019LPICo2151.7043A/abstract.

Installation

PyPI

Conda Forge

PyPI - python package index

Conda - conda-forge feedstock for 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

If you wish to install spiceypy from source first download or clone the project. Then run python setup.py install. 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: 64bit only!

  • Python 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12

  • ARM support for Linux-aarch64 & osx-arm64

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

Acknowledgements

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spiceypy-6.0.3.tar.gz (500.0 kB view details)

Uploaded Source

Built Distributions

spiceypy-6.0.3-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

spiceypy-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

spiceypy-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

spiceypy-6.0.3-py3-none-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

spiceypy-6.0.3-py3-none-macosx_10_13_x86_64.whl (1.5 MB view details)

Uploaded Python 3macOS 10.13+ x86-64

File details

Details for the file spiceypy-6.0.3.tar.gz.

File metadata

  • Download URL: spiceypy-6.0.3.tar.gz
  • Upload date:
  • Size: 500.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for spiceypy-6.0.3.tar.gz
Algorithm Hash digest
SHA256 5b7338651525c605738f41b1ff3bd363ee2bc09380b574c671e0651b2298ca4b
MD5 9bee4813a960874bad76e97f8f85b342
BLAKE2b-256 9294f91c721921b9ec23b39534aaeb73e0725bb8a542c7aa54da5ff994132257

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: spiceypy-6.0.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for spiceypy-6.0.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c64ec3ce9699ba41a955abcf2d86ca4e971ce8424fbe5c3ba0464f878581cf8b
MD5 75528736d2de89c3b4a81dab8bd7766c
BLAKE2b-256 d04fe49c66bde8f0d48e60c5e9c49e77cddc0bae865e37aeb8d4f8cb63da9236

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spiceypy-6.0.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 435404915f282e1002b59ae3a682a1e3558411d6f7dd5483aecbb1daaea8b574
MD5 7083dab639910ef46fdfd39c614d4e9f
BLAKE2b-256 80a3a14e97e52fc23f0a5bdaabf9f669bfba67b40201fee501a6afe03e7bd4ef

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spiceypy-6.0.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2818fdd9cdaf5f898be8cad257a4cabc0126f649a46272a1be088aa55990bcc5
MD5 80ae25c774b53f881449c6a4c3a6ed13
BLAKE2b-256 63316ba29294929972a250c3127ba7632c3ab26ce6ceafc4f4ac42276f73aee5

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for spiceypy-6.0.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f579c85384fe0db50ca79eba019a5784ef24ca259010db0c0c4444ac0578776e
MD5 3cc21534bc0b8ead9e7288f3e29cfd6d
BLAKE2b-256 976a1eb03efcd24eba392cd4606e41d64fdb63ba132d685cb31a370151c7ea11

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.3-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for spiceypy-6.0.3-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 303352c3881264c7177c4f7dfc163fcb4fb638226b670a9892799fd648be3e5e
MD5 12ec929544c1b23862e4f5c0beb93579
BLAKE2b-256 e2c8aa33a52d16aee503211da35ecffbcf52f44353c92e9691f60c0c3cbc14f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page