Skip to main content

Standardized JSON Schema for authoring multi-mission sequences

Project description

npm (scoped) PyPI

seq-json-schema

Standardized JSON Schema for authoring multi-mission sequences. You can read the schema definition here.
You can use our validation site to validate a .seq.json document against the latest schema.

Why a Sequence Schema?

Spacecraft are often controlled via sets of time ordered commands called sequences. Although spacecraft are built with a variety of different on-board flight softwares, each of which have different commanding interfaces, there are sufficient commonalities between these interfaces to justify creating a common sequencing specification that works for a number of flight software types.

If organizations must support operating different missions with different flight software, operators can use this common specification (with potential customization) for these different missions. Operators would author and transport the set of commands they want to send to the spacecraft in this common specification and then perform a final translation from this specification to the format required by the flight software for final verification.

Propose a Change

Interested in proposing a change to the schema? Begin by writing a change request issue.

JavaScript or TypeScript

Install

npm install @nasa-jpl/seq-json-schema --save

Basic Usage

import seqSchema from '@nasa-jpl/seq-json-schema/schema.json' assert { type: 'json' };
console.log(seqSchema);

TypeScript Types

This library also ships with automatically generated TypeScript types from the schema. For example:

import type { Command, SeqJson } from '@nasa-jpl/seq-json-schema/types';

const command: Command = {
  args: [],
  stem: 'SEND_DATA',
  time: { type: 'COMMAND_COMPLETE' },
  type: 'command',
};

const seqJson: SeqJson = {
  id: 'sequence0',
  metadata: {},
  steps: [command],
};

console.log(seqJson);

Python

Install

pip install seq-json-schema

Basic Usage

import importlib.resources
import json

with importlib.resources.path('seq-json-schema', 'schema.json') as schemaPath:
  file = open(schemaPath)
  schema = json.load(file)
  print(schema)

Note if you are using a Python version lower than 3.7 you will have to import the schema using the importlib-resources library.

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

seq-json-schema-1.3.1.tar.gz (8.4 kB view details)

Uploaded Source

File details

Details for the file seq-json-schema-1.3.1.tar.gz.

File metadata

  • Download URL: seq-json-schema-1.3.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for seq-json-schema-1.3.1.tar.gz
Algorithm Hash digest
SHA256 6cd9e1e996e0c7a3ecaebc2836a420ea81a94d046c76959b81ebed99b3dd234b
MD5 69bc690712bea9b00e0827573d3b7b3c
BLAKE2b-256 f5563cba2e81f745637212f6076e7870b39fc9c7f0293eb221773079e470743a

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