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.2.0.tar.gz (85.1 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.2.0-cp39-abi3-win_amd64.whl (774.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.2.0-cp39-abi3-manylinux_2_34_x86_64.whl (1.2 MB view details)

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

seine_rs-0.2.0-cp39-abi3-macosx_11_0_arm64.whl (870.7 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl (912.1 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.2.0.tar.gz
  • Upload date:
  • Size: 85.1 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.2.0.tar.gz
Algorithm Hash digest
SHA256 f6495b0433c0b9bfdbb3714c10fb0d1a3f19360463d6095457b4d1ad17c57f96
MD5 9313df3491def94bb014edd817b7052f
BLAKE2b-256 dfacd5a5671c1c50eba3e0d5c106d4eec0d09db26c56e3e99677553fcd1ffe0a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.2.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 774.9 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.2.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f829e77d8feba758411e33ec3771e6ab7cd2e9f40d9f0486a6f9a5a627b837b1
MD5 d5a9040227641edbef1527f3845923eb
BLAKE2b-256 cd3622be14ec9080ce1b7fb813cdd4e1a92a8d221ad18a9e88bfda9f17f04b17

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.2.0-cp39-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2e866658d1f5a9fb2f2af00208885be3fe914a40524ad23eab992e15ec80503d
MD5 6c3b32876a3ed360ce6b261adaed179e
BLAKE2b-256 df560987f93d516fbc73c70e75537a7d1ca18845160f7065fd950e49d3df2772

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.2.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1146c2f9881d71d8b0010106bde918b96121e76141765683de7cebcc00c76f67
MD5 ccf43e05a0013f6d1a918a656462e51a
BLAKE2b-256 6e5b02c7a2edd54bc4b712382df28db0d4c435b8ef02e6cfdff0e10ea35fe58e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.2.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99ab32c78c143336773b27d143fdb9d0dca328bdff2b0ad9dc4a3248f92e4341
MD5 ad57e603bbf962f42cc7244c22726e43
BLAKE2b-256 b59541e9fa51ade6dd5ffc926876172b90390b80510ad273a44314e68d101c6e

See more details on using hashes here.

Provenance

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