Skip to main content

tts_ci_cd

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 CI/CD?

Overview

TTS CI/CD is pretty much what it says on the tin. We're not trying to reinvent the wheel of how to do CI/CD here, but we recognize that there are many ways to implement CI/CD features and that a large project like the Teamtools Studio benifits significantly from standardization.

Historically at JPL adoption of unit testing, code scanning, and even packaging as libraries has been spotty and implemented differently across different projects and developers. This stems from the fact that teamtool developers are typically more operator than software engineer and either are not familiar with best practices around CI/CD or are sympathetic to the ideas but have not yet found the time to learn them well enough to cut through the noise to find a reasonable practice to follow. Even in cases where developers do implement CI/CD features, they tend to be very individual to the developer as doing the political work of convincing every project and developer to follow one's lead is a challenge in and of itself. This library represents the best effort to date to meet the political and technical challenges of getting everyone on board and doing it the same way.

This library goes hand in hand with the conventions encoded in tts_starter_kit, so all of the tools here should work off the shelf for any library started with that starter kit.

Command Line Tools

A number of command line tools are provided in this library.

  • tts-git-dashboard: Reports on the status of all git repos in a directory (defaults to current). Provides situational awareness across all libraries assuming developer has made changes across multiple. Shows the following:
    • Setuptools_scm version available locally
    • Branch checked out locally
    • Latest versions deployed to pypi and any artifactory locations configured in .tts_config/deploy_locations.yaml
    • Summary of git status
  • tts-dev-setup: Clones, editably installs, and runs unit tests for any TTS library and its TTS dependencies (or all of them). Bootstrap to get a new development environment set up within ~5 minutes.
  • tts-doc-builder: Builds gh-pages branch by checking out each active branch and every tag in the repo (except those configured to be ignored). Builds landing page for repo docs. Deploys to gh
  • tts-deploy-lib: Deploys library to pypi or artifactory.

Configuration

Some of the command line tools in this library (tts-deploy-lib and tts-git-dashboard) have an optional configuration file. It is used to include artifactory URLs and pypi keys that cannot be shared publically. An example is provided at tts_config/README.md

Metadata

Release files for tts-ci-cd 0.2.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-ci-cd 0.2.3
File Size Uploaded Provenance
tts_ci_cd-0.2.3.tar.gz 202.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tts-ci-cd 0.2.3
File Interpreter ABI Platform
tts_ci_cd-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 294.5 kB

Release files / tts_ci_cd-0.2.3.tar.gz

Download URL tts_ci_cd-0.2.3.tar.gz
Size 202.9 kB
Tags Source
SHA-256 checksum
How to use checksums
56e92bc4d132997ed83c51e89f901a2b634fa849c04c008874caa59bc906cdf5
BLAKE2b-256 checksum
How to use checksums
a46fda0c00d1f9852a1be2fcfb5c72218689ad4a3038353211b21072df9d1f24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / tts_ci_cd-0.2.3-py3-none-any.whl

Download URL tts_ci_cd-0.2.3-py3-none-any.whl
Size 91.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4ac265737f8ab9f678606d2fd37649149838618a558ff3b5caf56ba877e60c5
BLAKE2b-256 checksum
How to use checksums
84b45ae6d9e7491640e05d76e4f611bf03730851d654cd46db2d518b273a1dd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Security for tts-ci-cd 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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