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.2.tar.gz (500.1 kB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3Windows x86-64

spiceypy-6.0.2-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.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

spiceypy-6.0.2-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.2.tar.gz.

File metadata

  • Download URL: spiceypy-6.0.2.tar.gz
  • Upload date:
  • Size: 500.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.8

File hashes

Hashes for spiceypy-6.0.2.tar.gz
Algorithm Hash digest
SHA256 638b2e34cc247cb3a402fa67dcc61fd5f795032e21bb1b63c6c1ae79fdc29b86
MD5 469c6a666253ff6529dd42ca4353a5dd
BLAKE2b-256 1014e8cc407d5a6780255185920cd1b842e02e1cbb2c12a1c2bf1ac00b33cb28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spiceypy-6.0.2-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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a8d7f5de478417c2ce90e84a71e3d9b9061e348def6715e682c1a8a5484d04d3
MD5 4d4bef4c081a613d617fdda29b3508a1
BLAKE2b-256 3aba7a6af596be0b77dd99fe3c5ac241e2a31e2c623ea218f1542c57336afdd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09bdf00d1d4baa508ba9d00a78e356c137a36df0724723c4bae6c34f0d3b9b4f
MD5 f013fb7fff57be00b881cfe14b6ee394
BLAKE2b-256 37cd37a5583b695e7673877db6292d6998b3844971ce1f10ba34b2f493eff27f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82d2b3bb0779de29dbba22eb67494f4cab11d6f7e50e4a79a36f285776a1381c
MD5 02483290e18676c72dadff0e55977868
BLAKE2b-256 4073d31114e628061feeb415607c8ec9b1cc5bf25d19dd9c52e20fcd0699f191

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66f14988722dfc7987a2a1d4a539ab5ebe403338ba3ab8dab639f7e6f45f57f1
MD5 b087528388a662b862d43883e5a761aa
BLAKE2b-256 b78fe6a9ab3534bd391151db429d7c044c9f7927e63e36cc4848097ac7142ff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.2-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 ab2263fda5fb7838d714799463787a88a745b499b032d9e44f7b41e0d6680a91
MD5 6d3564c68b775d3943975971d7a07d05
BLAKE2b-256 c4386ec3ffc78c6224c6d70192a5074c7a10e10132006a1ab19da49db183ee0b

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