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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.28-cp39-abi3-manylinux_2_34_x86_64.whl (1.8 MB view details)

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

seine_rs-0.4.28-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.28-cp39-abi3-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.4.28.tar.gz
  • Upload date:
  • Size: 309.1 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.28.tar.gz
Algorithm Hash digest
SHA256 f8ff63d43025df010c3cbb9b2a3b64a6a278b46f2c4c255139370c9d4c848796
MD5 4df2a6a3502fb0c4e9c86d24758a114c
BLAKE2b-256 a4f1336700e2675e0bee600b0e8ce8fe11ea696fdbeb9abc6d1cbf546227f9a5

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.28-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.28-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bb929c27bb5ffb48f238b84452bbe351598769e2fade06583fdf659f8a40ac4b
MD5 32a7071820a428406c85fc202e3da703
BLAKE2b-256 c60d3f6fb6a19bcb14803947b958eb36a1a7aa6cd3054f1071465442df603cd9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.28-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d98527009bb7eb27409402ba12cbeaa69601cb561fb6484f82e3284a5a3eef3c
MD5 763cec627f19a323570d707bc64d5e33
BLAKE2b-256 defbac4250d19f038ecc2975d9d87aba54c5706ed6d99fb0331291d7e38c8e74

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.28-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a00b43f3243d4add318cfcc43e1f1c7d980511d548dfdb22c29ca9cf704e6a62
MD5 ca5824c200a9ef493dd0485e594ecade
BLAKE2b-256 557c330a4c0179cd77bdddee6da268c360448302cd36cac642374dcd0635801f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.28-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a33431100ad10ae10a8a5337a085dff49c80075994ebce682ea88165276ec48b
MD5 9f942e6e1e30e328e591e2057c75e3bc
BLAKE2b-256 a77c26bc57be802190fcee718575281c069a78bc768559167352a76c5612b66c

See more details on using hashes here.

Provenance

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