Metadata-Version: 2.5
Name: syside
Version: 1.0.0b1
Summary: Syside Automator Python library for SysML v2 and KerML modeling languages.
Project-URL: Homepage, https://sensmetry.com/syside
Project-URL: Issues, https://forum.sensmetry.com/c/syside/bug-reports/5
Project-URL: Documentation, https://docs.sensmetry.com
Project-URL: Community, https://forum.sensmetry.com
Project-URL: Changelog, https://forum.sensmetry.com/c/syside/changelogs/23
Author-email: Sensmetry <syside@sensmetry.com>
License-Expression: LicenseRef-Proprietary
License-File: LICENSE
License-File: third-party-licenses.json
License-File: third-party-licenses.md
Keywords: automation,kerml,mbse,model based systems engineering,syside,sysml,sysml v2,sysmlv2,systems engineering
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: fonttools>=4.0
Requires-Dist: pathvalidate>=3.2
Requires-Dist: platformdirs>=4.0
Requires-Dist: prompt-toolkit<4,>=3
Provides-Extra: all
Requires-Dist: ipython>=8.28.0; extra == 'all'
Requires-Dist: markdown-it-py[plugins]>=4.0.0; extra == 'all'
Requires-Dist: markdownify>=0.14.1; extra == 'all'
Requires-Dist: reqif>=0.1.0; extra == 'all'
Requires-Dist: rich>=13.0.0; extra == 'all'
Requires-Dist: syside-solver>=0.11.0; extra == 'all'
Provides-Extra: ipython
Requires-Dist: ipython>=8.28.0; extra == 'ipython'
Provides-Extra: reqif
Requires-Dist: markdown-it-py[plugins]>=4.0.0; extra == 'reqif'
Requires-Dist: markdownify>=0.14.1; extra == 'reqif'
Requires-Dist: reqif>=0.1.0; extra == 'reqif'
Requires-Dist: rich>=13.0.0; extra == 'reqif'
Provides-Extra: solver
Requires-Dist: syside-solver>=0.11.0; extra == 'solver'
Description-Content-Type: text/markdown

# Syside Python Library & CLI

[![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 comes as a Python library and a command-line tool, installed together. Both require a
[paid plan](https://sensmetry.com/plans) to use. It enables the revolutionary System-as-Code paradigm, providing machine-readability and programmatic access to your system models.

**Syside CLI:** validates models, generates and exports diagrams, exports
grid views as CSV and moves requirements in and out of ReqIF.

**Syside Python Library:** enables you to generate reports, evaluate expressions,
analyze and build custom tooling to extend your workflows into SysML v2.

> **Free 30-Day Trial:** Get started with the [Solo
> plan](https://sensmetry.com/plans), which also covers the
> [Syside VS Code Extension](https://docs.sensmetry.com/extension/) —
> cancel anytime.

## 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 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
- **CLI** - Validate SysML v2 models, generate diagrams, import/export requirements through ReqIF, use Syside in CI/CD.
  See [all `syside` commands](https://docs.sensmetry.com/python-lib/cli/).

## 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 using pip:

```bash
pip install syside
```

### License Activation

Syside requires a [paid plan](https://sensmetry.com/plans) to run. Set your
license key in 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/python-lib/install/)
guide.

**Verify Installation:**

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

```bash
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 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)
- **CLI Commands**: [docs.sensmetry.com/python-lib/cli](https://docs.sensmetry.com/python-lib/cli/)
- **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 is a paid-for and licensed product. Which agreement governs your use
depends on the plan you are on, so see
[Licensing](https://docs.sensmetry.com/resources/licensing/) for the plans,
their license types, and what governs each.

To acquire a license, visit the [Syside plans
page](https://sensmetry.com/plans).

Copyright (c) 2025-2026 Sensmetry. All rights reserved.

---

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