Differentially certified Drools-subset rule engine over Arrow dataframes
Project description
seine-rs
A rules/decisioning engine over Arrow dataframes — a Rust port of a bounded Drools (DRL) subset, differentially certified against real Drools 9.44.0.Final: every supported behavior is pinned by running the same scenarios through both engines, plus multi-seed fuzz campaigns (zero divergences to completion).
import polars as pl
import seine
from seine import Rule, fact
@fact
class Person:
name: str
age: int
score: float
@fact
class Flagged:
name: str
score: float
adults = Rule("Adults")
p = adults.when(Person, Person.age >= 18)
adults.then_insert(Flagged, name=p.name, score=p.score)
people = pl.DataFrame({"name": ["ada", "kurt"], "age": [36, 17], "score": [91.5, 99.0]})
res = seine.run([adults], {Person: people, Flagged: []})
pl.DataFrame(res.derived()["Flagged"]) # facts the rules created
pl.DataFrame(res.firings()) # full audit trail
- Bulk, columnar boundary: Arrow tables in (polars / pyarrow /
pandas ≥ 2.2, zero-copy via the PyCapsule interface), Arrow tables
out. Row-object lists (
@factinstances, dicts, dataclasses, Pydantic models) work too. - Rules in Python or DRL: the Python builder compiles to DRL text,
so both paths run the identical certified engine. Anything outside
the certified grammar is a definition-time
CompileError. - Full working-memory lifecycle:
insert → fire → update/delete by handle → fire, each certified differentially. - No Python in the hot path: conditions, aggregates and salience are native; callbacks are observers over immutable results.
Install: pip install seine-rs — the import is import seine.
Source, scenario corpus, and the full decision log (D-001…D-048): https://github.com/sl-agentics/seine
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 Distributions
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 seine_rs-0.4.1.tar.gz.
File metadata
- Download URL: seine_rs-0.4.1.tar.gz
- Upload date:
- Size: 233.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29453a12489fee9899ab11824d7372c5611a67eb296d198f2fa2836b2957e5c7
|
|
| MD5 |
ef28e0a0603d44b25b6512b7ed2926b0
|
|
| BLAKE2b-256 |
4dcb5679907bcc8223a8b4cfa625755ded2198acfafb5f422060de60493002f9
|
Provenance
The following attestation bundles were made for seine_rs-0.4.1.tar.gz:
Publisher:
ci.yml on sl-agentics/seine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seine_rs-0.4.1.tar.gz -
Subject digest:
29453a12489fee9899ab11824d7372c5611a67eb296d198f2fa2836b2957e5c7 - Sigstore transparency entry: 2144607937
- Sigstore integration time:
-
Permalink:
sl-agentics/seine@2a482e80d388b64911f80669af5eeed69bfa0318 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/sl-agentics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2a482e80d388b64911f80669af5eeed69bfa0318 -
Trigger Event:
push
-
Statement type:
File details
Details for the file seine_rs-0.4.1-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: seine_rs-0.4.1-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6334a50d2dc15b76d14c05c86bd9d251d399478b7889eef7f537f147d9b63377
|
|
| MD5 |
2f7a5afc4d9cafd7cfa94617033aeb70
|
|
| BLAKE2b-256 |
1483549f7f93a1da5bc8ba5991362eead615f1c3aab034de8c1bdaee561d1aeb
|
Provenance
The following attestation bundles were made for seine_rs-0.4.1-cp39-abi3-win_amd64.whl:
Publisher:
ci.yml on sl-agentics/seine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seine_rs-0.4.1-cp39-abi3-win_amd64.whl -
Subject digest:
6334a50d2dc15b76d14c05c86bd9d251d399478b7889eef7f537f147d9b63377 - Sigstore transparency entry: 2144607954
- Sigstore integration time:
-
Permalink:
sl-agentics/seine@2a482e80d388b64911f80669af5eeed69bfa0318 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/sl-agentics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2a482e80d388b64911f80669af5eeed69bfa0318 -
Trigger Event:
push
-
Statement type:
File details
Details for the file seine_rs-0.4.1-cp39-abi3-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: seine_rs-0.4.1-cp39-abi3-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.6 MB
- Tags: CPython 3.9+, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1138988ab43f95cce7f8802eb7f4b4420bfce197e85d242a57041efbc1acd2ce
|
|
| MD5 |
0274e647e4696870afd8c9a7443a19b1
|
|
| BLAKE2b-256 |
9aca082354a5c2624225251e36b76d000e452b3aec4531140a44b23044104390
|
Provenance
The following attestation bundles were made for seine_rs-0.4.1-cp39-abi3-manylinux_2_34_x86_64.whl:
Publisher:
ci.yml on sl-agentics/seine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seine_rs-0.4.1-cp39-abi3-manylinux_2_34_x86_64.whl -
Subject digest:
1138988ab43f95cce7f8802eb7f4b4420bfce197e85d242a57041efbc1acd2ce - Sigstore transparency entry: 2144607947
- Sigstore integration time:
-
Permalink:
sl-agentics/seine@2a482e80d388b64911f80669af5eeed69bfa0318 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/sl-agentics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2a482e80d388b64911f80669af5eeed69bfa0318 -
Trigger Event:
push
-
Statement type:
File details
Details for the file seine_rs-0.4.1-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: seine_rs-0.4.1-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b01693c8b695b7583488f6b7bc4ff71b2e309ac3da0927f4d724d90bd50cf2c9
|
|
| MD5 |
fd74bf3f8bd2dbf13d6d2a28a1596814
|
|
| BLAKE2b-256 |
3900a293b117ccd42f2d75ba165013b33298c8683af62a9ada2cc467e92a3ff2
|
Provenance
The following attestation bundles were made for seine_rs-0.4.1-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
ci.yml on sl-agentics/seine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seine_rs-0.4.1-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
b01693c8b695b7583488f6b7bc4ff71b2e309ac3da0927f4d724d90bd50cf2c9 - Sigstore transparency entry: 2144607961
- Sigstore integration time:
-
Permalink:
sl-agentics/seine@2a482e80d388b64911f80669af5eeed69bfa0318 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/sl-agentics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2a482e80d388b64911f80669af5eeed69bfa0318 -
Trigger Event:
push
-
Statement type:
File details
Details for the file seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dc88b2dc2f3ad4ffef5397ec1cd7f6da8555cca45f9de8ef17cfbc1fd3c9d50
|
|
| MD5 |
a95b97079bc5b13fbbbf51c7fe0cee7b
|
|
| BLAKE2b-256 |
f779e1e0de8f6bd99144d7d4a087d659600b5d60fb23074023c92563a01ecfc5
|
Provenance
The following attestation bundles were made for seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl:
Publisher:
ci.yml on sl-agentics/seine
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl -
Subject digest:
5dc88b2dc2f3ad4ffef5397ec1cd7f6da8555cca45f9de8ef17cfbc1fd3c9d50 - Sigstore transparency entry: 2144607943
- Sigstore integration time:
-
Permalink:
sl-agentics/seine@2a482e80d388b64911f80669af5eeed69bfa0318 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/sl-agentics
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@2a482e80d388b64911f80669af5eeed69bfa0318 -
Trigger Event:
push
-
Statement type: