This release is a pre-release and may not be stable for production use.
opensysml
opensysml is the Python client for the OpenSysML SysML v2 parser, model
analysis and execution service. Load SysML models, inspect symbols and
diagnostics, evaluate values, verify constraints, run behaviors, edit source,
and query model documents from Python.
Install
Python 3.10 or later is required. Install the published package from PyPI:
pip install opensysml
The runtime dependencies are grpcio>=1.83.0, protobuf>=7.35.1 and
sigstore>=4.5.0,<5.
A development snapshot of the client is published every night as
opensysml==<next release>.dev<yyyymmdd>, which pip install opensysml never
picks up; install one by exact version. It starts the sysml-grpc of the same
night's snapshot, whose digests it pins. See Nightly
snapshots.
Quickstart
import opensysml
source = """\
package Demo {
part def Vehicle {
attribute mass default = 1500.0;
}
part sedan : Vehicle {
attribute :>> mass = 1800.0;
}
}
"""
model = opensysml.loads(source)
if not model.ok:
for diagnostic in model.diagnostics:
print(diagnostic)
raise SystemExit("The model has errors.")
print(model.eval("mass", subject="Demo::sedan"))
1800.0
The service
The client talks to a sysml-grpc service. You do not have to install or
start one: the first connection starts a private service for the current
interpreter and stops it when the interpreter exits.
To find the service binary, the client checks, in order:
$OPENSYSML_BINARY, if set.- The shared cache at
~/.opensysml/bin/sysml-grpc. - A download of the OpenSysML release this package was built against.
- A
sysml-grpcon$PATH.
A downloaded binary is verified against a SHA-256 digest shipped inside the
package, so a normal pip install opensysml followed by opensysml.connect()
needs no environment variables and no extra setup. Downloading another release
is also verified, through its signed checksum manifest; an unverifiable download
is refused rather than trusted.
To use a service you run yourself, pass its address:
model = opensysml.connect("localhost:50051").load("model.sysml")
The service guide covers the cache, offline use, trust configuration and connecting to an external service.
Documentation
- Python client guide
- Models and symbols
- Instances and values
- Verification and analysis
- Editing and saving
- Queries and documents
- Errors
- The service
- Typed classes
- API reference
To install from a checkout, run tests, regenerate protobufs or pin release digests, see DEVELOPING.md.
Metadata
Release files for opensysml 0.10.2.dev20261020
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| opensysml-0.10.2.dev20261020.tar.gz | 458.6 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opensysml-0.10.2.dev20261020-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 715.1 kB
Release files / opensysml-0.10.2.dev20261020.tar.gz
| Download URL | opensysml-0.10.2.dev20261020.tar.gz |
|---|---|
| Size | 458.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
310be99c241227b350c2904de7435ffe627ff1217df058c81dd1d2767bafc143
|
|
BLAKE2b-256 checksum How to use checksums |
cdd600fd0159d7eaf036a93c899605745ab97546ba518da29e835fb7c64e40e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / opensysml-0.10.2.dev20261020-py3-none-any.whl
| Download URL | opensysml-0.10.2.dev20261020-py3-none-any.whl |
|---|---|
| Size | 256.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ffbd0b9cba3916813aac2808d32b9d31f3c56e85f1396b1846c168a8550de51
|
|
BLAKE2b-256 checksum How to use checksums |
92751be012e4e525b591f0a787ce629dd2e296c2c924eea5ca9fdeb5a25b0aa2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for opensysml 0.10.2.dev20261020
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for opensysml-0.10.2.dev20261020.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA 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.