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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.12-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.12.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.12.tar.gz
  • Upload date:
  • Size: 273.8 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.12.tar.gz
Algorithm Hash digest
SHA256 d8c8c1b45c4ddf58f92efa1fdd6cd65243a906756d735ce21aa9f9a9961d2d6f
MD5 7f4053891cd0b6623fd7c74f7a04decc
BLAKE2b-256 89866f866d718327b4cbfb0cc46310c0b2fce258f96ab94cb6a3b19be889376f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.12-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.12-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8338e3f4a99e54cde4b4d45a7dc52d999c70a6985dede78c5b3edd51a377e731
MD5 3ae10c55ec46a04dd5f140ff7cca269f
BLAKE2b-256 f5b9a01d4254ec3bf07431d1fcdea8ba23f06a544f63cb5645ab880955de1d71

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.12-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 aab36447c36f5b6f874e1c03da520092a0a51e340efbe408b9e3d0b9fdff3e74
MD5 a0fad8c5f52a222325417d0b1fc9453b
BLAKE2b-256 0efb5e18677ddc558e9ae12763425977004ff06ca5ca5d1acd59eb52d74639b8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.12-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2f543281df2f9a3e90c993f64e7cb45298838f353a8a9eddb9278eb77e48477e
MD5 38b5024686d719246d9a4dd20bf4f9af
BLAKE2b-256 7a9ca62b32ae72ceb1661766240e73fa0d7a89b1ac2c91149b7574c24460c36d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.12-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9898b325dd50b92930382d5039c1a4e9734c0e69291d2e9e0793139b000219bf
MD5 f2358f612e8f11b49dd42cbf1cb50132
BLAKE2b-256 83e8dc3bb9e9271ec5a42b5186d1db85b3b9fc5b764717242b4d213dbe84fb9b

See more details on using hashes here.

Provenance

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