syside 0.8.4
Syside Automator Python library for SysML v2 and KerML modeling languages.
Requires Python: >=3.12
Keywords: syside, sysml, sysmlv2, sysml v2, kerml, mbse, systems engineering, model based systems engineering, automation

# Syside Automator

[![PyPI version](https://badge.fury.io/py/syside.svg)](https://badge.fury.io/py/syside)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red.svg)](https://sensmetry.com/terms)

_Syside Automator_ is a Python library that enables the analysis and
optimization of SysML v2 models, automation of modeling workflows, and building
custom applications. It utilizes the latest features of Python such as typing
hints and generics making it easier to write correct Python code that queries
and manipulates [SysML v2](https://www.omg.org/sysml/sysmlv2/) models.

Syside Automator enables the revolutionary System-as-Code paradigm, providing
machine-readability and programmatic access to your system models.

> **Free 30-Day Trial:** Get started with the [Solo
> plan](https://sensmetry.com/syside-pricing/) that includes _Syside Automator_
> and [Syside Modeler](https://docs.sensmetry.com/latest/modeler/index.html) —
> cancel anytime.

## Table of Contents

- [Syside Automator](#syside-automator)
  - [Table of Contents](#table-of-contents)
  - [Key Features](#key-features)
  - [Quick Example](#quick-example)
  - [Getting Started](#getting-started)
    - [System Requirements](#system-requirements)
    - [Installation](#installation)
    - [License Activation](#license-activation)
  - [Use Cases](#use-cases)
  - [Useful Resources](#useful-resources)
  - [Licensing Information](#licensing-information)

## Key Features

Syside Automator provides comprehensive capabilities for working with SysML v2
models programmatically:

- **Model Loading & Analysis** - Load and analyze SysML v2 (`.sysml`) files
- **Element Extraction** - Extract and display model elements, parts,
  attributes, and relationships
- **Type Hierarchies** - Navigate and work with part types, specializations, and
  hierarchies
- **Documentation Extraction** - Extract structured documentation from models
- **JSON Import/Export** - Convert models to and from JSON format for
  integration with other tools
- **Model Creation** - Programmatically create and modify SysML v2 models

## Quick Example

```python
import syside

# Load a SysML v2 model
model, _ = syside.load_model([r"path/to/model.sysml"])

# Extract all parts from the model
for part in model.elements(syside.PartUsage):
    print(f"Part: {part.name}")
```

## Getting Started

### System Requirements

- **Operating System:**
  - Windows 10+ x64 or arm64
  - macOS Big Sur (11.0+, arm64) or High Sierra (10.13+, x64)
  - x64 Linux distribution with glibc >= 2.31
- **Python:** 3.12 or newer

### Installation

Install Syside Automator using pip:

```bash
pip install syside
```

### License Activation

Syside Automator requires a license key to run. Set the `SYSIDE_LICENSE_KEY`
environment variable:

```bash
# Windows (PowerShell)
$env:SYSIDE_LICENSE_KEY = "<your-license-key>"

# macOS / Linux
export SYSIDE_LICENSE_KEY=<your-license-key>
```

For other activation methods (`.env` file, system keyring, CI/CD setup), see the
[License Activation](https://docs.sensmetry.com/latest/automator/install.html)
guide.

**Verify Installation:**

```bash
python -c "import syside; print(syside.__version__)"
```

Got questions, concerns or ideas? Talk to us directly at our [Community
Forum](https://forum.sensmetry.com/) or reach out to
<syside.support@sensmetry.com>.

## Use Cases

Syside Automator enables powerful automation and analysis workflows:

- **Automated Model Validation** - Build custom validation rules and checks for
  your models
- **Requirements Analysis** - Extract, analyze, and trace requirements across
  large model bases
- **Documentation Generation** - Auto-generate technical documentation from your
  models
- **Model Transformation** - Convert between different model formats and
  representations
- **Integration Pipelines** - Integrate SysML v2 models into CI/CD workflows
- **Custom Tooling** - Build domain-specific tools and applications on top of
  your models
- **Data Analytics** - Perform quantitative analysis on model complexity,
  coverage, and metrics
- **System-as-Code** - Treat your system models as code with full programmatic
  control

## Useful Resources

- **Documentation**: [docs.sensmetry.com](https://docs.sensmetry.com)
- **API Reference**: [docs.sensmetry.com/python](https://docs.sensmetry.com/python)
- **Website**: [sensmetry.com/syside](https://sensmetry.com/syside)
- **Community Forum**: [forum.sensmetry.com](https://forum.sensmetry.com)
- **Upcoming Features**: [Syside
  Roadmap](https://sensmetry.com/category/roadmap/)

## Licensing Information

Syside Automator is a paid-for and licensed product. By installing or using this
software, you agree to the terms of the [Syside License
Agreement](https://sensmetry.com/terms).

To purchase a license, visit the [Syside pricing
page](https://sensmetry.com/syside-pricing/) or reach out to us at
<syside@sensmetry.com>.

> **CI/CD Usage:** Using Automator in CI/CD requires a Deployment License Key
> (available under the [Business plan](https://sensmetry.com/syside-pricing/)).

Copyright (c) 2025 Sensmetry. All rights reserved.

---

**Developed by [Sensmetry](https://sensmetry.com)** - Enabling Systems
Integrated Digital Engineering to build superior systems much faster.