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

Chat

Citation

Code Style

Github - Build Status

Codecov - Test Coverage

Readthedocs - Documentation

Gitter - Chat room

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:

SpicyPy 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

  • 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.0.tar.gz (291.2 kB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

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

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

spiceypy-6.0.0-py3-none-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

spiceypy-6.0.0-py3-none-macosx_10_9_x86_64.whl (1.5 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: spiceypy-6.0.0.tar.gz
  • Upload date:
  • Size: 291.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for spiceypy-6.0.0.tar.gz
Algorithm Hash digest
SHA256 ac27096a12b795898c3a6d1fa1f12a7e4485f480acd2e59fbd3a986cb0ade2be
MD5 47a62058a58655c48b0202aa9be5ad18
BLAKE2b-256 7721fa389a42cf2ab1425ef91007e549b7a3e58fe49c6834e687743609fe1386

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spiceypy-6.0.0-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/4.0.2 CPython/3.11.4

File hashes

Hashes for spiceypy-6.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5737a4e19fb8030916b60d6280358d672330243d5aab6299954346a22c92ce58
MD5 7d34a55dde2a885d5966982afee36726
BLAKE2b-256 9088ad0e920604097ff649672d5b69737e69373e91a5ab302ce9cce4b961215d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a7da6cdb0eaa1e1a27a2198be58404262c0def0216ad62de7183223461e35aa0
MD5 fe1f434592aa4a8a7c1610a1e79c9262
BLAKE2b-256 ce8967f98fcfd5e8320a5e39b00d070e9f1ef32e4d9faa1c420b4c894d11b861

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 22b50777174c6ef61cdb57aac4f4003ab8de69a0c4b0b87f66881f0a9758e9a2
MD5 717f03b69d559de77abfc5cc289aca2c
BLAKE2b-256 5668e4b1c6c7c7f5483ef4667760afdcdf13e45bf10890074b704aa728c0474c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for spiceypy-6.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20d70ce09e6efa78e9e3f2400c6ee85bd7065f19edf2d4ebce257c79eb43e534
MD5 80212a02fe4eeb1b7d4d7047d128d918
BLAKE2b-256 b4d622ccd3631f55e4b2ccc610e988a6ae5f46fa14d7c28eee02a22ef618c6a5

See more details on using hashes here.

File details

Details for the file spiceypy-6.0.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for spiceypy-6.0.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 70cda5b057d1b83dd8a4ecd9d4d2823b2f9c263b85fcdcc0df0370ca5b94c74f
MD5 ff39d73bb60ba242d07c65cf85eb5c49
BLAKE2b-256 2a97ccab62d2c0f37c422c75144323aa084f03261740387f48d116904fcbc06b

See more details on using hashes here.

Supported by

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