Skip to main content

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_rs
from seine_rs 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_rs.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 (@fact instances, 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_rs.

Source, scenario corpus, and the full decision log (D-001…D-048): https://github.com/sl-agentics/seine

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seine_rs-0.4.29.tar.gz (309.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

seine_rs-0.4.29-cp39-abi3-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.29-cp39-abi3-manylinux_2_34_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.34+ x86-64

seine_rs-0.4.29-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.29-cp39-abi3-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file seine_rs-0.4.29.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.29.tar.gz
  • Upload date:
  • Size: 309.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for seine_rs-0.4.29.tar.gz
Algorithm Hash digest
SHA256 da05c91729ae4937b29fb882d1bdd73ee86944708a686ba95d4d27d3241862c6
MD5 315d83640147fbfce39e8971eaeb8a6c
BLAKE2b-256 1d92e04d987ce17be810fe4e3afd0f359ae544b161762eb722f4ba15a1249cff

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.29.tar.gz:

Publisher: ci.yml on sl-agentics/seine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seine_rs-0.4.29-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: seine_rs-0.4.29-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.3 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

Hashes for seine_rs-0.4.29-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 50ff87d9d805246bc6e5ce9950549d5bc91aa65ac3449271d5664952548cfbc8
MD5 591060f239a60b333c91508cffc7d8ad
BLAKE2b-256 968b58fca2fbb71301dd3e6ea5c97073a5fd64ded4e19b42295e2245bf05061b

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.29-cp39-abi3-win_amd64.whl:

Publisher: ci.yml on sl-agentics/seine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seine_rs-0.4.29-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.29-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8b2f9ef5cad89a89f7caf4a0b5e01018a0febe404ba0b28058e61cff1f9e4af9
MD5 a30a30be4b635f932b86b29968a9f376
BLAKE2b-256 7c66dae92c56633c2662e6032b3fa81d584a8b3e2f4822a18d01ea1a59b65720

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.29-cp39-abi3-manylinux_2_34_x86_64.whl:

Publisher: ci.yml on sl-agentics/seine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seine_rs-0.4.29-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.29-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6568ff0f9fdfd83bcc283cbf34b233bade773b3a0611bc49c0e7dd4c49d4d021
MD5 4f981a5dbf20d6be2b829e9dcc543d87
BLAKE2b-256 7f1a8119ff53694dea3bb4e431a990818521da8a055d2244e7d29f17a13949eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.29-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: ci.yml on sl-agentics/seine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file seine_rs-0.4.29-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.29-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3045d5a287233944308f94a73653c849d96b74bd6558de0423148872acc9b9d5
MD5 206634c00fd1f64bd1eb1ac0f453d8a1
BLAKE2b-256 40d05a1eb9d5c88d9443f823510ca378a185dbbf9cdae1cf92dd07d1691092ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.29-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: ci.yml on sl-agentics/seine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page