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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.35-cp39-abi3-manylinux_2_34_x86_64.whl (3.6 MB view details)

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

seine_rs-0.4.35-cp39-abi3-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.35-cp39-abi3-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.4.35.tar.gz
  • Upload date:
  • Size: 372.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.35.tar.gz
Algorithm Hash digest
SHA256 a8e49536bfcd49579363bc82364872c053ba92a1bdc2a314739f808f754cc40d
MD5 dfe15f7f3c6117f75a2c837b720672af
BLAKE2b-256 c68a807c6546ed25e0be4d4ab5cc78168d347788b55c4fdeeb9b606fb5c3d803

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.35-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.0 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.35-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 80c42c0257bf8af1ce0c547077c3cf540bd992d9a7b8bd87592e0c7c998f9b85
MD5 27718cbd3e90461a1ed73364e45210bf
BLAKE2b-256 1a731a7a75b6c1ddafe13ffb87535af7501b6a9e7c0c930c2e6dc1d3d99b17de

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.35-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 109869ed9452dc30f28939792fe46271ace3961da22ddde02dc1442c76e4903a
MD5 7e8e1435a44f270f4ccb6aceee9945dd
BLAKE2b-256 6b8628efc30243435d749406ab9f6b19bedf5fb8d93f56abac26d5c8921c50cf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.35-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75dae110523a90d36479ff05b4abfb1cba33df5d9eebb390b7ea6748bdc0b42f
MD5 f5bb3640489739b7b28852be4f34b86f
BLAKE2b-256 939bd49a9ce42983ae3b850cae265d4b9859623de415637172b9a4354f0f36a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.35-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4264ce5956410c90f78b749593259cc07945217f097971827f825ccce27b5fae
MD5 83985b616350d0b9f55cbacbfc06447f
BLAKE2b-256 d7ba812e6c2e05ba94ac9c3682244b3fa65325b7d805d590c4d799c6bd084e04

See more details on using hashes here.

Provenance

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