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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

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

File metadata

  • Download URL: seine_rs-0.4.25.tar.gz
  • Upload date:
  • Size: 300.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.25.tar.gz
Algorithm Hash digest
SHA256 4135fcc191e9ba51f47654bb625d80c7a9eab2e9394e742389db608190391841
MD5 530c115a77cbde750e03157db729e1d3
BLAKE2b-256 d386dfc70d5ecf757d9ab6b65300d1d6b5f557e700c231a9df8b1706827b2074

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.25-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.25-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4806546d57c1a9a8a10c120a51cb94342489714d70e207f812a78f9c0cce4b93
MD5 a104e3dcbb8c76febb5e6873daf5a005
BLAKE2b-256 502fdf309a17f2a585f0e030b64c289b0749b4a4242655f5d71fcde02e2c925f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.25-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1bb0dcea9d389626ff396a14c039b4b408922b52469da4632a1bd1d934602787
MD5 a44b0995fc8227d08146bb038b4bfe2d
BLAKE2b-256 646cd73fbe412b40dd2370b007620b7a04dbaa68eb856252693824ef4a45a71f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.25-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46b5911101fa6934ba3ff3ce3ec35f4d06dca4f2834ad4a629b43d4355de7112
MD5 30d3deb35257e6ada63bf93e84e597e2
BLAKE2b-256 777c007190956b84c4bac31836734a51072eae40fd0b1dcad145fa6e0f9a942c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.25-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cee2768485a99a3b1e1ca7a46411579419126f1b8c7832d4cd6a411575f3e30e
MD5 1392ab5cefaa159174f5d8187a0ae2e1
BLAKE2b-256 83ed26e23d392b957631ce7248f051566ce717f0d03ab23b45ac0b486390e814

See more details on using hashes here.

Provenance

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