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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.53-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.53.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.53.tar.gz
  • Upload date:
  • Size: 426.0 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.53.tar.gz
Algorithm Hash digest
SHA256 1ddba88a9b847bdda8881a502c5c933257e881431e83c8bf68ec18216ff32170
MD5 47e5dc2c2391d1779ca60e28674564a3
BLAKE2b-256 5dfb3795836ea03c6e11fcc4e4b6c03eb83454e6cfb846e091146885e77bb862

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.53-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.53-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9ab081bf18845fd08c244e098f6466ae62733631f699296016bbd787d88e3fa6
MD5 7a11f750cb9d1dfd007f596cd4952303
BLAKE2b-256 a243fb058c41235ba3dba3bb2afc321df55c509fd9d0fb50290b54fa39b9c2f0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9c034dc2cab2db820aea71cff5a41ee9b523d0544bc784a92441cdc1b6314112
MD5 b2377a1c12fba677e64058ac486f2663
BLAKE2b-256 5566a68c1cd1f20f1e8f91cad89b7af79c4ca54d3ebb91271730e502b727f8b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a4bb469f847886a5b7378ef5ddcd370de5ccb9a560fbeaf97e6db9b10571fd3a
MD5 dec22b66c33999c11e75a5fff1d4597a
BLAKE2b-256 22298fb2bea25bda5615b9ecd8321faeef015407ffbdf4f76f70202ba6631e88

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9250a3cb26f271211f067f6b5be8b0858effdaa452b2f32a8898f77893ecdd40
MD5 efd9eda04757f326202cf12286b625c3
BLAKE2b-256 352f47fe129de37a17e99afaeedc30f6d6c86727a20b9f3eb2a0599a85f7a042

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d3a2c93a796ad91a310a0ad707186f9ca9471571c1f0c1162b22c2f7562492a
MD5 ad498cd494369569a9190f25668016a9
BLAKE2b-256 ec0b71b98ed9355fb26b76c71bd571ac6386fccff9c7e7c2d8014cc646359a00

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d85ebaaf4553e54c594d1e3aa2c1d18b30bd0666051d760124f032013650011a
MD5 2c789b3a9eaa2dbeedc429f89df2123e
BLAKE2b-256 8350c53ac13fbb2bc4ac485051f95acf9eb9305922223ab1b1996592a8f8b173

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.53-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 824388e386e9fde87661861ef7f15e9cb81786cb8b7702d05c038a27f5531df8
MD5 e318e5a3e5e0a6f2cc289b9ebc868b47
BLAKE2b-256 7c19e5e6ef95f0ee98bd957f0f83c4015134c81b074cef8a10b78330231b10f4

See more details on using hashes here.

Provenance

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

This release

0.4.53 This release

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