Skip to main content

Core code for developing Python AMPCS dictionary interfaces.

Project description

Teamtools Dictionary Interface

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 Teamtools Dictionary Interface?

Overview

The TTS Dicitonary Interface is an interoperability solution to ensure that other TTS libraries (Dexter, Tower, Dante, TTS Seq, FRESH) can make common assumptions about how to retreive the metadata on spacraft commands and telemetry they need in order to appropriately interpret it. This helps them answer questions like "is this arugment value valid?" and "what are the units for this telemetry point?".

Dictionaries are a key part of the Flight Ground Interface for any spacecraft. They containing the information needed to translate human-readable commands and arugments to binary files that make sense to a spacecraft's command and sequencing flight software and the to take the stream of ones and zeros returned from the spacecraft back into human-readable telemetry back on the ground. They are the Rosetta Stone of any space mission.

While TTS Dictionary Interface is built around AMPCS's XML dictionary schema, it can ostensibly be used with any format of dictionary so long as it can be made into a Pyhton class that behaves the same way that the SemanticDictionary does. More than anything this is an interoperability layer.

For projects that do not use AMPCS, the easiest way to leverage this library is likely to write some middleware to turn your dictionary format into the kind of XML that would be required if you were using AMPCS. Short of that, it is likely that the only other solution is to write a completely new class that looks to downstream TTS modules as if it were generated by TTS Dictionary Interface. This is likely much harder to validate than simply converting to XML and validating against the multimisison AMPCS schema shared in the DemoSat extension of this library.

Projects Currently Supported

  • DemoSat
  • Orbiting Carbon Observatory 2 (OCO-2)
  • NISAR

Architecture

TTS dependencies

  • TTS Utilities

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

tts_dictionary_interface-0.2.3.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tts_dictionary_interface-0.2.3-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file tts_dictionary_interface-0.2.3.tar.gz.

File metadata

File hashes

Hashes for tts_dictionary_interface-0.2.3.tar.gz
Algorithm Hash digest
SHA256 9c508f7180d604f273f0742d3756d6b6687a567c6acc0c507600f86a3111e2bd
MD5 a99cdc61b578826853a7c3f674a6a3f1
BLAKE2b-256 cd3b954754bbd91376facb238009f63d374cdd5123ad824382ae0127b981025c

See more details on using hashes here.

File details

Details for the file tts_dictionary_interface-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tts_dictionary_interface-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b246b1072c05fe49506fd78aa1e1f3a7a3e7aa436a3de2978777b98b54f98b20
MD5 2c8a5ed65f7988940610e6e773203722
BLAKE2b-256 95e00950c29cc07488989c22ae98b9068227f66780b8f2ceb407ef64577c9225

See more details on using hashes here.

Supported by

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