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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

seine_rs-0.4.54-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.54.tar.gz.

File metadata

  • Download URL: seine_rs-0.4.54.tar.gz
  • Upload date:
  • Size: 428.1 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.54.tar.gz
Algorithm Hash digest
SHA256 f906998b0599e8bd32490da773b1eba8a0cb0d95c59f7e2a99df6b20dd3c8709
MD5 774c750a2e0fbe7bcf28944b52ebd796
BLAKE2b-256 00a37b3a8cd92620dad3591448ffa24cf6caa834741d9472cb6243c2d18116ea

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: seine_rs-0.4.54-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.54-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 84c229f4d68788c27fe1d1fbce95e0077d17ee364c61a7898d15017e3d03daee
MD5 a6b9c48a28b21097f431a879bd416362
BLAKE2b-256 031c1aae4ae3f8cf11712e11d551976758cc91beabfb4a22a551cbc56493e936

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4601126d90d0ae0ea6d0a3b0c8caeab56df207a2cf40247bbb730017cdb176f4
MD5 a3ec8983bdf0b5f92286b6198666a70c
BLAKE2b-256 e1e00a932b0d5511d2df46f34c1db50486370c83c6394e873682b59d1b76aea9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c191ad865dd0ee324b3ceb9b86b50bb81af166edf5092726bf1a6dc4aa0d6d06
MD5 d89d9f1e71b5d9c5ed48890330eb7fe5
BLAKE2b-256 abf678b50787f041dea0bd3e69652710ab184ebeaf90d01088aaf71c93972c86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46c7f9b23e636f0b39cdca3f1909eca9e4d361dc23f488165567af441f1c8533
MD5 2a75152b189ed945cfa8a080f68aabed
BLAKE2b-256 4854f4caace59e776c44ef653ebde56c82ae904c82e20f5ca0a5198668dd0be3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4bb6c0f29f4bb84200380ba05b8dcaa0d78c9297f50cea9c69278888cfd2cc88
MD5 71d3380ebf572ea814d9ababb93ce352
BLAKE2b-256 369157ef53b497f47a655628b5b0ee6ce3ecbd42ead8245ff1eb9372c06e6bd5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62367cb8c42cecc29e066883a6d8069200388ddc2f6d6a2d933f162ab2120263
MD5 a24e32eb7695c8c1fabff90a3dd1afe2
BLAKE2b-256 b788a277686e8708a9c2e8f38e0f46a9f39fd60c2af262f29ec177f2fcca0752

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for seine_rs-0.4.54-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1beff43bb27728608db5eef391e80fcb92ff52ceaa3795f012bf311237670d52
MD5 99a410e27297c12cbf19d9724fd99d4f
BLAKE2b-256 753916782e00ab3d7087e25c87de817ec31d85d5a84ee0f95f40662c79b6ce9f

See more details on using hashes here.

Provenance

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

This release

0.4.54 This release

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