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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.27-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.27-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.27-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.27.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.27.tar.gz
  • Upload date:
  • Size: 302.3 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.27.tar.gz
Algorithm Hash digest
SHA256 331425b16c2f20a470cde94f45c43cfbe51d7c5f45253892d1de7c842f7d62f5
MD5 2ec613c948e2b9bf2e7e614bbeddc3d1
BLAKE2b-256 98e6474537be997d4e903ea39a2a920fc64805e7069afb0239108116012eb464

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.27-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.27-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 030e58863559b11a3532bbf915a77a0fbb6ea1ab9e0c4688772b884138916d61
MD5 deda51d48c653901d12fbac02e364571
BLAKE2b-256 887c01dc8c9bb297dcc45399cb880c37b732d6d97162a01cd38c124d72fdf6f4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.27-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 73477a9c5250a9a5c8925f331026e13bd6a0a79b25b518be51ce41369d51ef13
MD5 5afca67b2c8654e5fd6ee10ba70f5f55
BLAKE2b-256 2968020b1331a7852f14e23bcd348d6a18760b2a076847f3141866763276fa6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.27-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4327415634d07f25f89aed8c7d8653746843ea327660efee926220cd152fb3d
MD5 b421c83e931ac5ed313c6760607b4da2
BLAKE2b-256 a678bac29336480afd308644fbc9983957ec48c1b0718d1dfe49338bcc441c27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.27-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 90d49f7f1a99f0f6f532a6bedb05dffb101ddbd14d42400b60d0943a9edcb064
MD5 80afd28c8fde831e03d36eadbb0e7cc7
BLAKE2b-256 b2f7f4a87b1c46a679174054df37bb2fcdae399fe75a574872de638f0a12fb6a

See more details on using hashes here.

Provenance

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