mstlo-python 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mstlo_python-0.1.0/Cargo.toml +4 -0
- mstlo_python-0.1.0/PKG-INFO +80 -0
- mstlo_python-0.1.0/mstlo/.gitignore +3 -0
- mstlo_python-0.1.0/mstlo/Cargo.lock +1675 -0
- mstlo_python-0.1.0/mstlo/Cargo.toml +39 -0
- mstlo_python-0.1.0/mstlo/LICENSE +266 -0
- mstlo_python-0.1.0/mstlo/README.md +176 -0
- mstlo_python-0.1.0/mstlo/benches/monitor_benchmark.rs +249 -0
- mstlo_python-0.1.0/mstlo/benches/paper_benchmark.rs +638 -0
- mstlo_python-0.1.0/mstlo/examples/intro_example.rs +29 -0
- mstlo_python-0.1.0/mstlo/examples/simple_example.rs +23 -0
- mstlo_python-0.1.0/mstlo/examples/variables_example.rs +33 -0
- mstlo_python-0.1.0/mstlo/mstlo-macros/Cargo.lock +47 -0
- mstlo_python-0.1.0/mstlo/mstlo-macros/Cargo.toml +20 -0
- mstlo_python-0.1.0/mstlo/mstlo-macros/LICENSE +266 -0
- mstlo_python-0.1.0/mstlo/mstlo-macros/README.md +176 -0
- mstlo_python-0.1.0/mstlo/mstlo-macros/src/lib.rs +1123 -0
- mstlo_python-0.1.0/mstlo/src/core.rs +696 -0
- mstlo_python-0.1.0/mstlo/src/formula_definition.rs +468 -0
- mstlo_python-0.1.0/mstlo/src/formulas.rs +145 -0
- mstlo_python-0.1.0/mstlo/src/lib.rs +70 -0
- mstlo_python-0.1.0/mstlo/src/monitor.rs +1426 -0
- mstlo_python-0.1.0/mstlo/src/naive_operators.rs +1010 -0
- mstlo_python-0.1.0/mstlo/src/operators/atomic_operators.rs +338 -0
- mstlo_python-0.1.0/mstlo/src/operators/binary_operators.rs +608 -0
- mstlo_python-0.1.0/mstlo/src/operators/mod.rs +14 -0
- mstlo_python-0.1.0/mstlo/src/operators/not_operator.rs +122 -0
- mstlo_python-0.1.0/mstlo/src/operators/unary_temporal_operators.rs +937 -0
- mstlo_python-0.1.0/mstlo/src/operators/until_operator.rs +630 -0
- mstlo_python-0.1.0/mstlo/src/parser.rs +1133 -0
- mstlo_python-0.1.0/mstlo/src/ring_buffer.rs +486 -0
- mstlo_python-0.1.0/mstlo/src/synchronizer.rs +345 -0
- mstlo_python-0.1.0/mstlo/tests/common/mod.rs +33 -0
- mstlo_python-0.1.0/mstlo/tests/fixtures/formulas.rs +123 -0
- mstlo_python-0.1.0/mstlo/tests/fixtures/mod.rs +3 -0
- mstlo_python-0.1.0/mstlo/tests/fixtures/oracles.rs +310 -0
- mstlo_python-0.1.0/mstlo/tests/fixtures/signals.rs +107 -0
- mstlo_python-0.1.0/mstlo/tests/macros_test.rs +321 -0
- mstlo_python-0.1.0/mstlo/tests/monitor_build_fail_test.rs +35 -0
- mstlo_python-0.1.0/mstlo/tests/monitor_rosi_test.rs +209 -0
- mstlo_python-0.1.0/mstlo/tests/monitor_signal_sync_test.rs +114 -0
- mstlo_python-0.1.0/mstlo/tests/monitor_test.rs +121 -0
- mstlo_python-0.1.0/mstlo/tests/parser_parity_test.rs +316 -0
- mstlo_python-0.1.0/mstlo-python/.gitignore +75 -0
- mstlo_python-0.1.0/mstlo-python/Cargo.lock +196 -0
- mstlo_python-0.1.0/mstlo-python/Cargo.toml +14 -0
- mstlo_python-0.1.0/mstlo-python/README.md +53 -0
- mstlo_python-0.1.0/mstlo-python/docs/index.md +77 -0
- mstlo_python-0.1.0/mstlo-python/docs/reference.md +52 -0
- mstlo_python-0.1.0/mstlo-python/examples/batch_update.py +21 -0
- mstlo_python-0.1.0/mstlo-python/examples/semantics-comparison.ipynb +349 -0
- mstlo_python-0.1.0/mstlo-python/examples/simple-example.py +17 -0
- mstlo_python-0.1.0/mstlo-python/examples/variables_example.py +46 -0
- mstlo_python-0.1.0/mstlo-python/mkdocs.yml +23 -0
- mstlo_python-0.1.0/mstlo-python/src/lib.rs +819 -0
- mstlo_python-0.1.0/mstlo-python/tests/__init__.py +1 -0
- mstlo_python-0.1.0/mstlo-python/tests/test_mstlo_python.py +1340 -0
- mstlo_python-0.1.0/pyproject.toml +42 -0
- mstlo_python-0.1.0/python/mstlo_python/__init__.py +11 -0
- mstlo_python-0.1.0/python/mstlo_python/mstlo_python.pyi +1022 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: mstlo-python
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Classifier: Programming Language :: Rust
|
|
5
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
6
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
7
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
12
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
13
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
14
|
+
Requires-Dist: mkdocs-material>=9.5 ; extra == 'docs'
|
|
15
|
+
Requires-Dist: mkdocstrings-python>=0.24 ; extra == 'docs'
|
|
16
|
+
Provides-Extra: docs
|
|
17
|
+
Summary: Python bindings for the mstlo online Signal Temporal Logic (STL) monitoring library.
|
|
18
|
+
Keywords: signal temporal logic,stl,monitoring,runtime verification,online monitoring,temporal logic
|
|
19
|
+
Author-email: Andreas Kaag Thomsen <akt@ece.au.dk>, Niels Viggo Stark Madsen <nielsviggostark@gmail.com>
|
|
20
|
+
License: INTO-CPS Association Public License v1.0
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
Project-URL: Documentation, https://INTO-CPS-Association.github.io/mstlo/
|
|
24
|
+
Project-URL: Homepage, https://github.com/INTO-CPS-Association/mstlo
|
|
25
|
+
Project-URL: Repository, https://github.com/INTO-CPS-Association/mstlo
|
|
26
|
+
|
|
27
|
+
# mstlo Python (`mstlo-python`)
|
|
28
|
+
|
|
29
|
+
Python bindings for mstlo, the `mstlo` online Signal Temporal Logic (STL) monitoring engine.
|
|
30
|
+
|
|
31
|
+
- PyPI package: `mstlo-python`
|
|
32
|
+
- Python import name: `mstlo_python`
|
|
33
|
+
- Rust core crate: `mstlo`
|
|
34
|
+
|
|
35
|
+
## What this package provides
|
|
36
|
+
|
|
37
|
+
`mstlo-python` exposes the high-performance Rust monitoring engine through a Pythonic API so you can parse STL formulas and evaluate streaming signals from Python applications and notebooks.
|
|
38
|
+
|
|
39
|
+
Supported monitoring semantics include:
|
|
40
|
+
|
|
41
|
+
- Delayed Qualitative
|
|
42
|
+
- Delayed Quantitative
|
|
43
|
+
- Eager Qualitative
|
|
44
|
+
- RoSI (Robust Satisfaction Intervals)
|
|
45
|
+
|
|
46
|
+
## Installation
|
|
47
|
+
|
|
48
|
+
From PyPI:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pip install mstlo-python
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Quick Start
|
|
55
|
+
|
|
56
|
+
```python
|
|
57
|
+
import mstlo_python as mstlo
|
|
58
|
+
|
|
59
|
+
phi = mstlo.parse_formula("G[0, 10](x > 5)")
|
|
60
|
+
monitor = mstlo.Monitor(phi, semantics="DelayedQuantitative")
|
|
61
|
+
|
|
62
|
+
output = monitor.update("x", 6.0, 0.5)
|
|
63
|
+
print(output)
|
|
64
|
+
print(output.to_dict())
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Project links
|
|
68
|
+
|
|
69
|
+
- Repository: [github.com/INTO-CPS-Association/mstlo](https://github.com/INTO-CPS-Association/mstlo)
|
|
70
|
+
- Documentation: [INTO-CPS-Association.github.io/mstlo](https://INTO-CPS-Association.github.io/mstlo/)
|
|
71
|
+
- Rust API docs: [docs.rs/mstlo](https://docs.rs/mstlo)
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
This package is distributed under the INTO-CPS Association Public License (ICAPL), with GPL v3 as a supported subsidiary mode. See `LICENSE` in the repository root and `ICA-USAGE-MODE.txt` for the selected mode.
|
|
76
|
+
|
|
77
|
+
## Developer notes
|
|
78
|
+
|
|
79
|
+
For local development, wheel building, and docs generation instructions, see the repository documentation.
|
|
80
|
+
|