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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.32-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.32-cp39-abi3-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.32-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.32.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.32.tar.gz
  • Upload date:
  • Size: 348.6 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.32.tar.gz
Algorithm Hash digest
SHA256 01eb96ec551404fd8244d8ae3c0fa5f3c19310b48bc3bd5a100ceef1b4b60952
MD5 d16fae57a7bff0e5ecfa870f35f1fcea
BLAKE2b-256 ce0e74976559a550c6d880348637d409f0e66dbdb7115f988d4fbf9ed5091bad

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.32-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.32-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3468b55556ddc993f53e4727f64ff7bb570746e932b1a2f5a6ceb4ce89c8e1c8
MD5 cd506257df0780a5608833091b71955c
BLAKE2b-256 2a131b96885a6cbf93933742ca78351692e5dc7cbb5877e8804eefba137360bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.32-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6dc5c27476c886466755e5ae01720f644e4b1740254757124c30eed81de957ea
MD5 61d6b6d6cf6ef4d0d6251f54fbb3fb23
BLAKE2b-256 baf0555ba72c48e89f77642a7efc433869dad2cc5bb6687330ab0fdc778b02b9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.32-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3194cdf8c7026381b1a2f9226d6d8abe53c4a599ee11deb6d58cc136ce921357
MD5 1ccb4ec5230688f5ec4ca00c0a52d0e5
BLAKE2b-256 18b1d6034412a947db846161c0268fc1cc52a546313ab5e25df0e4ef531f6920

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.32-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 befc604dcfb1f30a3038341d78d53fad56b8d7bf45bf7b5d2d0cd928ae102720
MD5 b33645c2f7a9f289899e9acad5e9ebc0
BLAKE2b-256 f1bc1a70cc35a0b80c2814dc4987a568f578b9a1334f3a07f407cb48ef6844bb

See more details on using hashes here.

Provenance

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