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.14.tar.gz (275.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.14-cp39-abi3-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.14-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.14-cp39-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.14-cp39-abi3-macosx_10_12_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.4.14.tar.gz
  • Upload date:
  • Size: 275.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.14.tar.gz
Algorithm Hash digest
SHA256 048157de7bb39a71fc8e2d05493656ffd31b2ee95881ba58ac33fb42bb135d91
MD5 d84b5cdc98f8143a3fb532b6e38c6e2c
BLAKE2b-256 c00f88fe709f1b3d4a052c7f5e1fe4e808b9721ac50ec93c2b32e45be7d753ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.14.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.14-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: seine_rs-0.4.14-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.2 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.14-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2175bd4ce648af4f0581a79395289dca8e99c0b0491d476505a1cc6d3f5d90ea
MD5 cdae1371db16b14a796bca888f76198a
BLAKE2b-256 eefcff7acfccb97dff75d78513cda56eb2fcf91d9e30a63e21afbed6c50f84f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.14-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.14-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.14-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bd3e08eae78b63593ec4bf88c0ced96667809cf92b87dd238d36353c2f9e1445
MD5 e5c53943ee4e43feb2d1ce9dc0d4c125
BLAKE2b-256 4e10119f59bed40505615bf5eb477455f7b6d049d3f3cec3429e9a3b332c45e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.14-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.14-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.14-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96693918b7b51fec5550fa192acdfbc98398fe8f6f0a8e303353a9bb1787fa84
MD5 9df6b208e7783f3eb3853220b260d679
BLAKE2b-256 ea4a90d73d426eeb9700294b07ca5cab0c1e03ca403ad089d8f9be011b04df1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.14-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.14-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.14-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0b456e5682d038db3a8f3decbc850cf56d171c905d1c88ef91968bda8e8f86d3
MD5 7044ca7bb1193e9c4e65cd1eda4c58d2
BLAKE2b-256 dded785894aa5a9f9618696b01973459feb9596bf878a22c0ddaf943f3cf5050

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.14-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