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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

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

File metadata

  • Download URL: seine_rs-0.4.18.tar.gz
  • Upload date:
  • Size: 282.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.18.tar.gz
Algorithm Hash digest
SHA256 10fed6fa0e57f9c0b143b10ac7f5ed914a3486a1f566d6f9bc6cc6650719dd3b
MD5 a70988daea39098044d0488d98811ffa
BLAKE2b-256 49f82de0b740b9ee1a2cfcec9985c7e5caeb6ab4049db64363d01bf1ec44550d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.18-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.18-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 377fe99112a5a485f99cdf687be42e146b52968e36e99cbf5cd752ec188cba6c
MD5 6bde45e2fc266ec71bfb5d9742bb5ab0
BLAKE2b-256 fef1e53ec6e1e11efc7e8ed6aee3c124432d3416dcf7f6e1f4a3b156c216fa5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.18-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d2d728c4354ae3b1c57d7fa973f5bb3e22cd947c95483539883d196745a828f7
MD5 71b2b702dbb57b961090498944749edc
BLAKE2b-256 1f11f087d24e02273245ca68c148c66f5879cf23580462225c7a805449939a4f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.18-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cb3524263f63ed1f010fdb74317bfebeabd65527cbb99ffee8adf6ea0a5a538
MD5 51ff44d3f4c9eb0de40468433ec3024d
BLAKE2b-256 fae14aeaa44fdfc633a858dfdab096a03be20b3ec68966dc88b9158d0f23adc0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.18-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3ad4eb1607b6ad0146b0c18a8c204cb8d06e8201848e7ee88b5fc4b2b8a018ff
MD5 308efb90108fb703b8bf4cb6015e72cb
BLAKE2b-256 c494e7b4298d19f6b65981ff4ffe730d58b1b8500b7f96e39a850d0db4c246d2

See more details on using hashes here.

Provenance

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