Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nasa-ammos/seq-json-schema

Standardized JSON Schema for authoring multi-mission sequences.
https://github.com/nasa-ammos/seq-json-schema

aerospace command json-schema modeling multi-mission nasa planning schema sequence sequencing spacecraft

Last synced: 3 months ago
JSON representation

Standardized JSON Schema for authoring multi-mission sequences.

Awesome Lists containing this project

README

        

[![npm (scoped)](https://img.shields.io/npm/v/@nasa-jpl/seq-json-schema)](https://www.npmjs.com/package/@nasa-jpl/seq-json-schema)
[![PyPI](https://img.shields.io/pypi/v/seq-json-schema)](https://pypi.org/project/seq-json-schema/)

# seq-json-schema

Standardized [JSON Schema](https://json-schema.org/) for authoring multi-mission sequences. You can read the schema definition [here](https://github.com/NASA-AMMOS/seq-json-schema/blob/develop/schema.json).
You can use our [validation site](https://nasa-ammos.github.io/seq-json-schema/) to validate a `.seq.json` document against the latest schema.

## JavaScript or TypeScript

### Install

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

### Basic Usage

```ts
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:

```ts
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

```sh
pip install seq-json-schema
```

### Basic Usage

```py
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](https://pypi.org/project/importlib-resources/) library.