ezrules¶
Open-source transaction monitoring and decision automation powered by business rules.
ezrules provides building blocks to define rule-based decisions, evaluate live events, and close the feedback loop with labels and analytics.
Start in UI (10-15 min) Integrate via API Install locally


Start Here by Goal¶
| Goal | Best page | What you get | Typical time |
|---|---|---|---|
| Try the UI end-to-end | Quick Start | First rule, first test, first analytics signal | 10-15 min |
| Integrate from another service | Integration Quickstart | Auth flow + evaluate + label APIs | 10-20 min |
| Set up local environment | Installation | Running API, DB, and frontend | 20-40 min |
| Configure runtime safely | Configuration | Env vars and validation checklist | 10-20 min |
| Operate and administer | Admin Guide | Setup, health checks, backup/restore runbooks | 20-40 min |
Start Here by Role¶
| Role | Start Here | Then |
|---|---|---|
| Analyst | Quick Start | Analyst Guide |
| Administrator | Installation | Admin Guide |
| Integrator | Integration Quickstart | API v2 Reference |
| Contributor | Contributing | Architecture Overview |
Key Capabilities¶
- Flexible Rule Engine - Write business rules in a Python-like language with expressive syntax for transaction logic
- Web Management Interface - Create and manage rules through an intuitive web UI
- Role-Based Access Control - Granular permissions with 32 distinct actions that can be assigned per role
- Transaction Labeling - Label events through REST API flows and analyze label trends in the UI
- Analytics Dashboard - Monitor transaction volume and outcome trends with configurable time ranges
- Outcome Spike Alerts - Notify operators in-app when configured outcomes exceed rolling thresholds
- Audit Trail - Track rule revisions plus user list, outcome, label, and configuration history for compliance requirements
Features at a Glance¶
| Feature | Description |
|---|---|
| Rule Engine | Python-based rule execution with custom logic support |
| Web Interface | Web UI for rule creation and management |
| API Service | Unified FastAPI service for rule management and real-time evaluation at /api/v2/evaluate |
| Security | 32 permission actions with role-based access control |
| Labeling | API and bulk CSV upload for transaction labels |
| Analytics & Alerts | Time-series charts with 1h, 6h, 12h, 24h, 30d ranges plus outcome spike notifications |
| Database | PostgreSQL backend with SQLAlchemy ORM |
| Audit Trail | History for rules, config, user lists, outcomes, and labels |
| Backtesting | Test rule changes against historical data |
| CLI Tools | Command-line interface for operations and testing |
Documentation Sections¶
- Getting Started: Installation, Quick Start, Integration Quickstart, Configuration
- User Guide: Analyst Guide, Admin Guide, Creating Rules, Labels and Lists, Monitoring & Analytics
- API Reference: API v2 Reference, Evaluator API
- Architecture: Overview, Decisions, Deployment Guide
- Support: Troubleshooting, Contributing, What's New
Need Technical Detail?¶
- System boundaries and tradeoffs: Architecture Overview
- Endpoint map and auth contract: API v2 Reference
- Evaluate flow details: Evaluator API
Community & Support¶
- GitHub: sofeikov/ezrules
- Issues: GitHub Issues
- License: Apache License 2.0