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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.31-cp39-abi3-manylinux_2_34_x86_64.whl (2.9 MB view details)

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

seine_rs-0.4.31-cp39-abi3-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.31-cp39-abi3-macosx_10_12_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.4.31.tar.gz
  • Upload date:
  • Size: 343.2 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.31.tar.gz
Algorithm Hash digest
SHA256 293e74f32946860cc095a40d1cb4dd8b6be12b12a79d8b7cc34b287cf373dd43
MD5 e371888faf3464220fdc39056795e0f8
BLAKE2b-256 ca702a6c89652bf95a22fd9447f3fe38652e6feca7a8dd123d22a2a6fc90b397

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.31-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.4 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.31-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b391abac76214648a77c79eb202b62e2feaca711caae21b8d5b614ebd6d4d934
MD5 6b64a0fce96b118d880dd313feb9f686
BLAKE2b-256 8ebfeb845d84fa969a51fa3dd271db480f4b34e7816806207424aa982342e54a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.31-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7eb6648285fb485ce1e33cc719e965b78154b44666cbd62f0f0eacac1cbd08f0
MD5 0bbe40e9be7db2ee8a9f1f92789a6379
BLAKE2b-256 596207d20e6e3160720b7f6b6704b2185e9f6f82cb6ca3c00530686805e28966

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.31-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbcf0801405b9a139e1fa529f8c6df5756cab5afd16cfc7e74a112bf1c003e62
MD5 e60a68fd28c6d24553471fb11319af79
BLAKE2b-256 d56fe7c196f8c540b9a18f66a17dcd61110635d0982fc8553bce642aa7787e3c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.31-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 44a96c12c37c97da113a0679f6ae6320808613617a7908f4593736f93ce70173
MD5 fa9b7d693b7318ec4edf47efe27d80e0
BLAKE2b-256 7219261fd8c624607a91421080c90620919b11d2283b292f8fb3fb46e95487a9

See more details on using hashes here.

Provenance

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