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

Uploaded CPython 3.9+Windows x86-64

seine_rs-0.4.52-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.52-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.52-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.52-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.52-cp39-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.52-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.52.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.52.tar.gz
  • Upload date:
  • Size: 424.8 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.52.tar.gz
Algorithm Hash digest
SHA256 982eed28fea876b2f21eaa0623e7c0d5f44987f76532b4ae4a09a1b221bc8bb9
MD5 5522651ffca4f15b70d66a88996124d0
BLAKE2b-256 486b8522fbebaabce8f61a26cfb6a5c5b9983b1169f0852781e4904a38e8453a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.52-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.52-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0627f479df61af88bc26e0348b815207eb4ec7129bd6f57d9608ed6cbeab0bfa
MD5 456bf0670d3bb81bafb474e6d2fd3af7
BLAKE2b-256 c78f6c1201af1805fd2c534c44eb6714b7f4f58b4848ad6bb81f50920c46c26b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 01d597c8bbdd50ae40a3cb82ffc406b6aa7df97596f59bca6700d8694797495f
MD5 ebc4a22ff6fe9709535aff5cda0d3893
BLAKE2b-256 87d25cef984197fbd619a0380a79e0908e9f8ddd9f4471096343374abc17e1d2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 42ee424e5eb3d12acd459f1060b89e89ad1671648505d687f429b19000024efb
MD5 e5372778ea7309e66c5120355511a808
BLAKE2b-256 4a3b7b534102380a2b564fa20a12f0ef703defe3606eec0bcdd59209d3f09361

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a681249616c8ee72fe3db045658a482728ea5062b3b9ba18808cc924f7e1c94
MD5 1855d39543e010a07c0aa01ba3f9a45c
BLAKE2b-256 237d2050a13cc341314127a8152bd5d69fbca75da7f78ec263c29da9de688e4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32ac4766340417251f5aa9fe10664ac7452dbb5dc4a7eb6788582f5acda33f06
MD5 1090d00ee54d0fc1b11240474c6c7f4c
BLAKE2b-256 0d66a0c65a1866ec94756ff2a37a4e47e7ee87feb5947990ce8451341ecc5b37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8e6d54f0c7a43c3a7ac645d2f0a231557e92236c4ac4f24a86354022021a1ef
MD5 b44aa8bc005f6f9a5de2e184d00af198
BLAKE2b-256 5c867f873449e17589573a42730e904172958eeedae3def600a5dc454a4ee67e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.52-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 af73e06007b0ff2f2621baf3d73373afcaed5fb89eb00a5acecad0c827446cb9
MD5 80fcc51e55a9bf12a43b68293f99fe00
BLAKE2b-256 14c9e156ea4f436cb879b9970cb0cd0f72e4113f29c8ad56b4a0102b7e90473c

See more details on using hashes here.

Provenance

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

0.4.55

8 files

0.4.54

8 files

0.4.53

8 files

This release

0.4.52 This release

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