Skip to main content

TTS Spice

Project logo

About Teamtools Studio

Teamtools Studio Utilities is part of JPL's Teamtools Studio (TTS).

TTS is an effort originated in JPL's Planning and Execution section to centralize shared repositories across missions. This benefits JPL by reducing cost through reducing duplicated code, collaborating across missions, and unifying standards for development and design across JPL.

Although Planning and Execution is primarily concerned with flight operations, the TTS suite has been generalized and atomized to the point where many of these tools are applicable during other mission phases and even in non-spaceflight contexts. Through our work flying space missions, we hope to provide tools to the open source community that have utility in data analysis or planning for any complex system where failure is not an option.

For more infomation on how to contribute, and how these libraries form a complete ecosystem for high reliability data analysis, see the Full TTS Documentation.

What is TTS Spice?

Overview

TTS Spice is a library that provides a clean, organized approach to SPICE kernel management. As we developed the Teamtools Studio suite, we found ourselves needing to put kernels in every repository, leading to duplication and inconsistency. This library centralizes kernel management, allowing the TTS team to manage which kernels are used and update them in a single place when new ones are released.

The library provides:

  • A structured way to organize SPICE kernels by type and celestial body
  • Functions to load standard kernels (leap seconds, planetary ephemerides, etc.)
  • Body-specific kernel loading (Earth, Moon, etc.)
  • Mission-specific kernel setup
  • Kernel tracking to prevent duplicate loading
  • Clean error handling and logging

Features

  • Organized Kernel Management: Kernels are organized by type (LSK, SPK, PCK, etc.) and by celestial body
  • Standard Kernel Loading: Easy loading of commonly used kernels
  • Body-Specific Kernels: Load rotation models and other kernels for specific bodies
  • Mission Setup: Configure SPICE for specific missions with a single function call
  • Duplicate Prevention: Automatically tracks loaded kernels to prevent duplicates
  • Error Handling: Proper error handling and logging for kernel loading issues

Usage Examples

# Load standard kernels (leap seconds, planetary ephemerides, constants)
from tts_spice import standard_kernels, rotation_kernels, clear_kernels

# Load the basic kernels needed for most operations
standard_kernels()

# Load Earth and Moon rotation kernels
rotation_kernels(["earth", "moon"])

# Use SPICE functions as normal
import spiceypy as sp
et = sp.str2et("2026-01-17")
position, _ = sp.spkpos("EARTH", et, "J2000", "NONE", "SUN")

# Always clean up when done
clear_kernels()

Available Kernels

The library includes these standard kernels:

  • Leap Seconds: naif0012.tls
  • Planetary Ephemerides: de430.bsp
  • Planetary Constants: pck00010.tpc

Body-specific kernels:

  • Earth: earth_latest_high_prec.bpc
  • Moon: moon_pa_de421_1900-2050.bpc

TTS dependencies

  • TTS Utilities

Extending the Library

Adding New Kernels

To add new kernels to the library:

  1. Place the kernel file in the tts_spice/kernels/ directory
  2. Update the KernelRegistry class in furnish.py to include the new kernel

For mission-specific kernels, create a subdirectory in tts_spice/kernels/missions/mission_name/

Depending on your mission needs, you might want to add:

  • Higher precision ephemerides (e.g., de440.bsp or de441.bsp)
  • Additional planetary rotation models
  • Spacecraft-specific kernels
  • DSK (shape) kernels for small bodies
  • Instrument kernels for specific missions

Metadata

Release files for tts-spice 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tts-spice 0.1.3
File Size Uploaded
tts_spice-0.1.3.tar.gz 20.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for tts-spice 0.1.3
File Interpreter ABI Platform
tts_spice-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 41.8 MB

Release files / tts_spice-0.1.3.tar.gz

Download URL tts_spice-0.1.3.tar.gz
Size 20.9 MB
Tags Source
SHA-256 checksum
How to use checksums
e77165591226e330c80ce2c007b774863446d2f6bf9ab33b7d470358ed1d3d8c
BLAKE2b-256 checksum
How to use checksums
1c6106683345d4f5c74cec87279b49c0cc2317b48afb337bb981119151649204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / tts_spice-0.1.3-py3-none-any.whl

Download URL tts_spice-0.1.3-py3-none-any.whl
Size 20.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5550137d9c4c8aadef5820cde74652f95321d4a8ab3c4c6822afa6da0b930c28
BLAKE2b-256 checksum
How to use checksums
476da8d68376c1e6e3109ba669557843d7325c40c997ad84f2d5d6e30ad17c0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page