Metadata-Version: 2.4
Name: tts-data-utils
Version: 0.7.4
Summary: Utilities for working with 2D data.
Author: muszynsk
Author-email: muszynsk <matt.muszynski@jpl.nasa.gov>
License: Apache-2.0
Project-URL: Homepage, https://github.com/NASA-JPL-Teamtools-Studio/tts_data_utils
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: docxtpl
Requires-Dist: pandas
Requires-Dist: pytest
Requires-Dist: tabulate
Requires-Dist: jinja2
Requires-Dist: plotly
Requires-Dist: jpl_time
Requires-Dist: openpyxl
Requires-Dist: datetime
Requires-Dist: jpl-time
Requires-Dist: tabulate
Requires-Dist: pandas
Requires-Dist: tts-utilities<1.0.0,>=0.2.1
Requires-Dist: tts-html-utils<1.0.0,>=0.4.2
Dynamic: author
Dynamic: requires-python

# Teamtools Data Utilities

![Project logo](https://github.com/NASA-JPL-Teamtools-Studio/teamtools_documentation/blob/main/docs/images/tts_image_artifacts/data_utils.png)

## 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](https://nasa-jpl-teamtools-studio.github.io/teamtools_documentation/).

## What is Data Utilities?

### Overview

Data Utilties is one of the central building blocks of the Teamtools Studio. It is primarily a means of organizing
and tracking the changes in 2D data (think spreadsheets). It is used as the primary data structure in Tower and Dexter,
and is used liberally elsewhere throughout the TTS project.

It is a reality that much of Systems Engineering is executed via spreadsheets and tables. They are the media in which 
the most SEs are the most comfortable, so data utils provides methods to read, write, manipulate, convert, and mange tabular
data. It goes beyond a library like Pandas by providing a core DataContainer class and examples of extensions of it to
provide the custom behavior needed for each bespoke data source.

For cases where data is too complex for a single 2D table, Data Utilities also handles the nesting of tables where each
row in a table can be associated with a subtable.

Data Utilities also provides significant quality of life functionality for diffing containers (including visual diff) and
visualizing them in custom ways in with HTML, Excel, and DOCX output styles.

Additionally, Data Utilities provides a lorem ipsum data generation feature that allows you to quickly create containers with semi-realistic dummy data for prototyping and testing purposes.

### Projects Currently Supported

* Europa Clipper
* Mars 2020/Perseverance
* Mars Sample Return/Sample Retrieval Lander
* Mars Science Laboratory/Curiosity
* Mars Reconnaisance Orbiter
* NISAR
* Orbiting Carbon Observatory 2 (OCO-2)

## Architecture

### TTS dependencies

* Teamtools Studio Utilities
* HTML Utilites

