A previous release had provenance metadata, but this release does not. View details.
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.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Loss of provenance
These files do not have provenance metadata, despite files in a prior release including this data.
We recommend further investigation before installing these files. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| opensysml-0.10.1.tar.gz | 422.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opensysml-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 650.2 kB
Release files / opensysml-0.10.1.tar.gz
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | opensysml-0.10.1.tar.gz |
|---|---|
| Size | 422.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f7651661a37327e0380a02caa77b7a4851a24324c924eb3a78a216407c3ddd2
|
|
BLAKE2b-256 checksum How to use checksums |
88fe627eb049a0992deae78436894728c8f8ffc553b0889d1e7a4c1cf5c90f9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / opensysml-0.10.1-py3-none-any.whl
Loss of provenance
This file belongs to a release without provenance metadata, despite a prior release including this data.
We recommend further investigation before installing this file. View details.
| Download URL | opensysml-0.10.1-py3-none-any.whl |
|---|---|
| Size | 227.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a00579e46a8c521e7930e99a250d7854c9b9e6d8211ad853cd5aa43060456afc
|
|
BLAKE2b-256 checksum How to use checksums |
f52f8ef8af0aa42c285a410d1474ef057d6356595fc1fbce24565a86bd8dacf4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Security for opensysml 0.10.1
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.
Loss of provenance
A previous release of these files had provenance metadata, but this release does not.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Release comparison
- Removed 0.10.1.dev20261015 2 files With provenance
- Added 0.10.1 2 files Without provenance
A 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.