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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.26-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.26-cp39-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.26-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.26.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.26.tar.gz
  • Upload date:
  • Size: 301.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.26.tar.gz
Algorithm Hash digest
SHA256 3eca282c6126b0577a9cd1160142d0d849755d91c702207d4b2e94c0cf6a7e37
MD5 37538ff02888874351f616be15c478c7
BLAKE2b-256 23acb0722918a26289a06aee1847f07c5f84e109a6da09678a26bd3857ddc18d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.26-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.26-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bd95fb83caaeb036ead0323f894f55b7aa20ef4f17aad9f044cba9545b748b3b
MD5 226d4c597641993a423333c46d066616
BLAKE2b-256 37553540513dcd0125404e8a31e0578e8fe513eb6e003a7cfa120c323e30e89f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.26-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6a6258e97d643e5090bb61048223f26a82da0875f9ae55d033c3bbd3f886c54a
MD5 cdf6bc2104bb41e84a819549dff22c98
BLAKE2b-256 660f3eee88b21b59e341729ad1a2aac81e11dbd5ced5b5d2c8740afe5cc7dd2d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.26-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 720488a5f5afb7217c866acf3100e3ba67020ef98c5eac9badb58fd07cb43e9a
MD5 e12bfb5a251da24e0707fe6db98b0217
BLAKE2b-256 4d54f9ee196338644aa52639e9fd441d808d634cf92a0a741de145f0e31dca87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.26-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 def5cde8a1fd4155534f7942d2e2bfd432e87e9eb7ef341d67214077641b034a
MD5 075bf89a4ca5ab6b9a729a47407ed663
BLAKE2b-256 0b1b07a5958f9a1543728afe9986ec324a13cfe8e36729b9e72e8c719b7c0c45

See more details on using hashes here.

Provenance

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