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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.7-cp39-abi3-manylinux_2_34_x86_64.whl (1.6 MB view details)

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

seine_rs-0.4.7-cp39-abi3-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.7-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.7.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.7.tar.gz
  • Upload date:
  • Size: 268.4 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.7.tar.gz
Algorithm Hash digest
SHA256 2487cfdbb07ded3647e6dc189c2ff90025b542b40a22ecbc4857dc9717cd42a4
MD5 b78f16ca73d2b8930b41562936e09e79
BLAKE2b-256 4f68d4569d917825dbdec108c22665032594f878f87f12882b2edb93e944e431

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.7-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.7-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c393a6cfc02ededb22c611b6bca44bf50b521f495b66f2fda3c47e99263be848
MD5 9a9b0e6a5b0ef1d0778787163a0de139
BLAKE2b-256 5258644aab4611aa37ce228d154be9c8256023964b1893c7b739d7f2bcb586b2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.7-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9203dc65c89fc78b8f3f2ccb7794970f680bfb36b92995deafc20f14ddcaadbb
MD5 ef698f2d03bb6d0127dc51c2443d06f1
BLAKE2b-256 826df6987b91ceebf3b48ddc61411c1c19013845d50b7fdfd3ea60098fcedfaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.7-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7418e93d8c83917952cf3d9d3c12f57495befa1df5ff37575e0e0a6379d4a799
MD5 c139e68b62144b33f254900c850445f5
BLAKE2b-256 96f4b8c9ba4633b68637122a7da5fdac731054ffe8277f1c0f484f1925a24522

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.7-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5959fc89a1f3c71e0ce2ede3f6a8301d8f08a81ac316482762f268412c0597e2
MD5 cd5d8b950b87b16c8bd5a9b4081c9e99
BLAKE2b-256 ab4908243ca13e865f13f620c93e423079ae805fe4848bf83bd150a7d32e73ba

See more details on using hashes here.

Provenance

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