SysML v2 Python Units
Project description
SysML v2 Python Units
Convert units and quantities between standard SysML v2 and Python with Syside Automator and Pint.
- Get/set quantity* as
attributevalue, specified using PintQuantityobjects - Get/set unit as
attributevalue, specified using PintUnitobjects - Supports numerical values, as well as
inf(*in SysML v2) andNaN(set asnullin SysML v2) - Conversion functions between SysML v2 units and Pint
Unit, and string parsing functions - Derive preferred units for a quantity type, for example
kgfor anISQ::massquantity - Syside Automator
ReferencePrinterfor printing unit references using their short name - Extensive caching to make units lookup fast
*: a quantity is a combination of a numerical value (the "magnitude") and units, for example: 10 kg, -1.0 m/s**2.
Note: this package uses Syside Automator for parsing SysML v2 models. Syside Automator is commercial software, so you have to obtain a license first. For academic uses you can request an academic license.
Installation
- Install the package from PyPI:
Note: currently Syside Automator only supports Python 3.12pip install sysmlv2-units - Make sure you activate Syside Automator
Usage
Refer to the documentation.
Citing
If you use this library in your work, please cite the paper that first introduces the use of these capabilities:
Bussemaker, J.H. et al., 2026, April. System Architecture Optimization Using SysML v2: Language Extension and Implementation. IEEE SysCon 2026, Halifax, Canada. doi: 10.1109/SysCon66367.2026.11503593
Contributing
The project is coordinated by: Jasper Bussemaker (jasper.bussemaker at dlr.de)
If you find a bug or have a feature request, please file an issue using the Github issue tracker. If you require support for using the library or want to collaborate, feel free to contact me.
Contributions are appreciated too:
- Fork the repository
- Add your contributions to the fork
- Update/add documentation
- Add tests and make sure they pass (tests are run using
pytest)
- Sign a Contributor License Agreement (CLA): please contact me for the template
- Issue a pull request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sysmlv2_units-1.0.0.tar.gz.
File metadata
- Download URL: sysmlv2_units-1.0.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ab790085e34c4b1af2407e131f1fe7dc5320e3038d1d9b55f559ff07f635516
|
|
| MD5 |
491078420f94f81f029bb7d9fdb207e9
|
|
| BLAKE2b-256 |
9adb61c1ac4672141bd7b5d01771720b442f66ec82cc6f77cce5b229984c75d4
|
Provenance
The following attestation bundles were made for sysmlv2_units-1.0.0.tar.gz:
Publisher:
publish.yml on jbussemaker/SysML-v2-Python-Units
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sysmlv2_units-1.0.0.tar.gz -
Subject digest:
4ab790085e34c4b1af2407e131f1fe7dc5320e3038d1d9b55f559ff07f635516 - Sigstore transparency entry: 2160809661
- Sigstore integration time:
-
Permalink:
jbussemaker/SysML-v2-Python-Units@2a884d432b45cb5c21f627f8c67b437dd40abf7f -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/jbussemaker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2a884d432b45cb5c21f627f8c67b437dd40abf7f -
Trigger Event:
push
-
Statement type:
File details
Details for the file sysmlv2_units-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sysmlv2_units-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d42286aaa464f35d970686d6287e6f84f72d39733c6cfde89d38ccb792535b48
|
|
| MD5 |
d4ca4abe925551d15631beb98a882d3f
|
|
| BLAKE2b-256 |
e825b623fb2b488114dd7ad43874edfc3158caeb01b4a2102f55c12080aac848
|
Provenance
The following attestation bundles were made for sysmlv2_units-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on jbussemaker/SysML-v2-Python-Units
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sysmlv2_units-1.0.0-py3-none-any.whl -
Subject digest:
d42286aaa464f35d970686d6287e6f84f72d39733c6cfde89d38ccb792535b48 - Sigstore transparency entry: 2160809808
- Sigstore integration time:
-
Permalink:
jbussemaker/SysML-v2-Python-Units@2a884d432b45cb5c21f627f8c67b437dd40abf7f -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/jbussemaker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2a884d432b45cb5c21f627f8c67b437dd40abf7f -
Trigger Event:
push
-
Statement type: