Metadata-Version: 2.4
Name: sigring
Version: 0.1.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Dist: numpy>=1.21
Summary: Exact, streaming, sliding-window truncated path signatures in a wrapping integer ring (Python bindings).
Keywords: path signature,rough paths,sliding window,time series,streaming
Author-email: Matteo Pozza <metapozza@proton.me>
License: PolyForm-Noncommercial-1.0.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Repository, https://github.com/metapozza/sigring

# sigring (Python)

Exact, streaming, sliding-window truncated path signatures. Python bindings for the Rust crate [sigring](https://github.com/metapozza/sigring).

Source-available under the PolyForm Noncommercial License 1.0.0 (free for personal, research, educational and non-profit use; commercial use needs a licence, see the repository's `COMMERCIAL.md`).

```python
import numpy as np
from sigring import WindowSig

K = 1024                                   # scale: real increments * K -> integers
inc = np.random.default_rng(0).integers(-100, 101, (5000, 2)).astype(np.int64)
ws = WindowSig(d=2, n=4, window=64, scale=float(K), bits=64)   # bits=128 for headroom
sigs = ws.push_batch(inc, "sig", 1)        # one signature row per tick
print(sigs.shape, ws.guard_ok())           # guard_ok(): rigorous overflow certificate
```

Readouts: `"sig"`, `"logsig_expanded"`, `"logsig_words"`, `"logsig_brackets"`. See the repository README for guarantees, benchmarks and limitations.

