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
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 (@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.

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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.1-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.1-cp39-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

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

Hashes for seine_rs-0.4.1.tar.gz
Algorithm Hash digest
SHA256 29453a12489fee9899ab11824d7372c5611a67eb296d198f2fa2836b2957e5c7
MD5 ef28e0a0603d44b25b6512b7ed2926b0
BLAKE2b-256 4dcb5679907bcc8223a8b4cfa625755ded2198acfafb5f422060de60493002f9

See more details on using hashes here.

Provenance

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

Hashes for seine_rs-0.4.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6334a50d2dc15b76d14c05c86bd9d251d399478b7889eef7f537f147d9b63377
MD5 2f7a5afc4d9cafd7cfa94617033aeb70
BLAKE2b-256 1483549f7f93a1da5bc8ba5991362eead615f1c3aab034de8c1bdaee561d1aeb

See more details on using hashes here.

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

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.1-cp39-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.1-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1138988ab43f95cce7f8802eb7f4b4420bfce197e85d242a57041efbc1acd2ce
MD5 0274e647e4696870afd8c9a7443a19b1
BLAKE2b-256 9aca082354a5c2624225251e36b76d000e452b3aec4531140a44b23044104390

See more details on using hashes here.

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

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.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b01693c8b695b7583488f6b7bc4ff71b2e309ac3da0927f4d724d90bd50cf2c9
MD5 fd74bf3f8bd2dbf13d6d2a28a1596814
BLAKE2b-256 3900a293b117ccd42f2d75ba165013b33298c8683af62a9ada2cc467e92a3ff2

See more details on using hashes here.

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

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.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5dc88b2dc2f3ad4ffef5397ec1cd7f6da8555cca45f9de8ef17cfbc1fd3c9d50
MD5 a95b97079bc5b13fbbbf51c7fe0cee7b
BLAKE2b-256 f779e1e0de8f6bd99144d7d4a087d659600b5d60fb23074023c92563a01ecfc5

See more details on using hashes here.

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

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