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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.15-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.15.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.15.tar.gz
  • Upload date:
  • Size: 276.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.15.tar.gz
Algorithm Hash digest
SHA256 16407a7b8d6d56d8a23f0e849bed810f5d3cba3f13f242b5e92e527688d7697f
MD5 fc7f8921d57ab1f9171e71d3d248cefe
BLAKE2b-256 cfc02ff475d3d590eeb166b0c651e7ad7aa578d74c144d6a708e5f34cbe92ec6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.15-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.15-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 610b75f747919615e73569496aa67c1d9fe7cef83726ec075e42ed531dbe36b4
MD5 6588f3882825313e92d11aaba9c2edb5
BLAKE2b-256 ce506a0e7b2a7c706fc4ecb7129a0bc65adb04e9c3b2fa5254e3311a866a72db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.15-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9b4305696ef76aa748dfd20901829f11f80b818d1afd4867af748abc3f036a26
MD5 d0e9f81bdbd3a48854c45bdf3defa725
BLAKE2b-256 caf43926e1a7c186a2c78a77e4ce45f2be305797ce9a5f9f7184fd26d61344f8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.15-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c8beb211f0929b8e1e5027a466e862d8db31a87eb05cc43c5af8c643cb54fd9
MD5 26ae86e55297e935b72584123b65acca
BLAKE2b-256 474f3f7b9ee93ee9f8592997199677ed63ec2ed204f154439f002fd29ad6ae8a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.15-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a1c1da6d749d30de96e419589f4735ea85ccc272fad996599ddae196decd2280
MD5 3fa21f9c13e2deddf616763737238133
BLAKE2b-256 75e01db0e6cfd9d96d3013a57471bbdd1465f9c3fde08b0464514add4a26ed76

See more details on using hashes here.

Provenance

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