Skip to main content

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. Coming from Drools: DRL here is rules-only — no package, no declare; fact types live in Python and schemas are inferred from them.
  • 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.
  • The why-machine: sess.why(handle) answers with the justifying rule, matched tuple and firing seq; justifications() walks the whole graph; acc_sources() walks an aggregate to the exact source facts that sum to its value. The audit surface is certified alongside the semantics.
  • Schemas auto-register from the @fact classes your rules reference — Session([rule]) alone works; insert_row(Account(...)) needs no type argument.

Install: pip install seine-rs — the import is import seine_rs.

Source, scenario corpus, the guided tours (demo/tours/), and the full decision log (D-001 onward): https://github.com/sl-agentics/seine

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.55.tar.gz (428.6 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.55-cp39-abi3-win_amd64.whl (3.1 MB view details)

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.55-cp39-abi3-musllinux_1_2_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

seine_rs-0.4.55-cp39-abi3-musllinux_1_2_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

seine_rs-0.4.55-cp39-abi3-manylinux_2_28_x86_64.whl (3.7 MB view details)

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

seine_rs-0.4.55-cp39-abi3-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

seine_rs-0.4.55-cp39-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.55-cp39-abi3-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: seine_rs-0.4.55.tar.gz
  • Upload date:
  • Size: 428.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for seine_rs-0.4.55.tar.gz
Algorithm Hash digest
SHA256 3391e04032dea98e4421aecf10ad05ce453cc9f6cd10f3bb696bb544ae62afea
MD5 d005273c8108e0a2912a5dfa6ec33587
BLAKE2b-256 c08f646c1f0390187e3aaab5fa48b6dfad4f9817004576b8dd89dac1e16f46b0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.55-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8380525285e9031486c69b1a65339b2d9437a8bf769a40141ab75fe9c0d23fc9
MD5 12733cb7774205ed5d257ce4f0e84e8d
BLAKE2b-256 0f8f3ad84a0657a5755d0a89c5ecde37fe3571d9419254c0e86853661cbe0a09

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.55-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.55-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4bb2ec67eea09d11f80af0946831dca960af431dac45db4a8aec288b68c74457
MD5 34aad3e90a43264f6046c1fd638f1693
BLAKE2b-256 f0801477eaf0bcd932fc63adf9707016291d9d1cf37fbaa16ddffdc6747b7b09

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.55-cp39-abi3-musllinux_1_2_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.55-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bcf9fbbccea4e6d0034bf3b0bbc445bb2817e59fedd1d8b9c783cbdd5c6b4f30
MD5 0f6a0d8aa7a26b9d23278cb097c7486d
BLAKE2b-256 726e78940cc1fa601fd1127f8d151b91c72e69024e26334e6192b9101c951d4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.55-cp39-abi3-musllinux_1_2_aarch64.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.55-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 03eba2b3c56ca352dc03d881e916a89136b096288fc1d995315a8d582139d78e
MD5 a360e65b70adf1c69dd41f38b96d1bc9
BLAKE2b-256 14b6c722c9671bebed879f5cc2c26e1ffecdaa84ff1e810c68689381be241278

See more details on using hashes here.

Provenance

The following attestation bundles were made for seine_rs-0.4.55-cp39-abi3-manylinux_2_28_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.55-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c107c27b675feb9aa39f0e6ab930055005e0339fb4b2107da7e0bb4ff9d2327
MD5 9096324cc5df70c9b7eaabae327e9080
BLAKE2b-256 0f9666c7d1eced684521566c31486f4b8da4701397655273f9d959969161016a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2251b5d8a7e17f5910a19d1200a188af6dcc3ad614ac2a9d0cfcff8b220e6491
MD5 39ddc0b1956030b65621ba530d09bab0
BLAKE2b-256 a7bd02ee8522b35f76f9e5bc65b0de24e68a73daac156c45eb3d5e0cc3ab0771

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.55-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 84a779fe5a8c8ec786a0bc2b85fb7a6c0956352d59144f813ad9f8f45bce7a1d
MD5 4fba7822e3f75bb8f8183fccc6ee23df
BLAKE2b-256 25d4f92ca3290c41da6505345c1e28d49ebe6e9ebb30835afa308ea562d03be9

See more details on using hashes here.

Provenance

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

Release history Release notifications | RSS feed

0.4.57

8 files

0.4.56

8 files

This release

0.4.55 This release

8 files

0.4.54

8 files

0.4.53

8 files

0.4.52

8 files

0.4.51

8 files

0.4.49

8 files

0.4.48

8 files

0.4.47

8 files

0.4.46

8 files

0.4.45

8 files

0.4.44

8 files

0.4.43

8 files

0.4.42

8 files

0.4.41

8 files

0.4.40

8 files

0.4.39

8 files

0.4.38

8 files

0.4.37

8 files

0.4.36

5 files

0.4.35

5 files

0.4.34

5 files

0.4.33

5 files

0.4.32

5 files

0.4.31

5 files

0.4.30

5 files

0.4.29

5 files

0.4.28

5 files

0.4.27

5 files

0.4.26

5 files

0.4.25

5 files

0.4.24

5 files

0.4.23

5 files

0.4.21

5 files

0.4.20

5 files

0.4.19

5 files

0.4.18

5 files

0.4.17

5 files

0.4.16

5 files

0.4.15

5 files

0.4.14

5 files

0.4.13

5 files

0.4.12

5 files

0.4.11

5 files

0.4.10

5 files

0.4.9

5 files

0.4.8

5 files

0.4.7

5 files

0.4.6

5 files

0.4.5

5 files

0.4.4

5 files

0.4.3

5 files

0.4.2

5 files

0.4.1

5 files

0.4.0

5 files

0.3.0

5 files

0.2.0

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page