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
from seine 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.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.

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.3.0.tar.gz (152.7 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.3.0-cp39-abi3-win_amd64.whl (967.8 kB view details)

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.3.0-cp39-abi3-manylinux_2_34_x86_64.whl (1.4 MB view details)

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

seine_rs-0.3.0-cp39-abi3-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.3.0.tar.gz
  • Upload date:
  • Size: 152.7 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.3.0.tar.gz
Algorithm Hash digest
SHA256 768dce0f20c6eae6311a8e1e72138d7e62289e036a69f25cfcd4f7011fcb09fa
MD5 7180d9ea362d06c750abfe2e5180d4f2
BLAKE2b-256 fbcd5490258c13f94faf1118966384455318a2425157aa67e1454bcc2e2d50cf

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.3.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 967.8 kB
  • 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.3.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3b93308e6e4bfc140d922363bedb721f1e470b6c5936fb20f125e01f8808863a
MD5 e59177c6fe3cd9e314ce6a46e41587de
BLAKE2b-256 974c57013b74448a5af7dcb86957c63fe45c3fa2b53a3ef57d8d09c038770d47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.3.0-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e784b7917cea50c0bdf71897cfa0d6a004ffcb3df1f9804297644efa7b7b3f21
MD5 293dba55b63dac0aa4dfd99d93b5154f
BLAKE2b-256 4a535181ade4443dbd1dd509e48819e231c58964e42a6888199845fc88aefee3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.3.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f5da9ed7ffc56bad447d6e60ab72ced967ed056344ede0d3b1fd2a5f2097cab
MD5 fc6bd3c92149077e401abcc459634ab4
BLAKE2b-256 cfd6ee84bb4eef8fc8220e3df25fc1ee1b86eee9b94dfe4620f9a5114763c96d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.3.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a376634df6a4d937cf47c3e649fc91a3d39e6d56090256612c679d75549eb2ac
MD5 1a028a29dc048c8afc0db3b1c36bbb7e
BLAKE2b-256 03adf8797c84a5a6144192aec2cfeddc91f4b15b0adcb2a060cc60107f71a84b

See more details on using hashes here.

Provenance

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