# venmo/business-rules

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/venmo-business-rules).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

989 stars · 267 forks · Python · MIT

## Links

- GitHub: https://github.com/venmo/business-rules
- awesome-repositories: https://awesome-repositories.com/repository/venmo-business-rules.md

## Description

This project is a Python-based business rules engine designed to decouple application logic from source code. It provides a framework for defining and executing dynamic conditional logic, allowing system behavior to be determined by data criteria rather than hard-coded instructions.

The system distinguishes itself by offering a declarative policy framework that utilizes a domain-specific language to manage complex rules. By mapping internal object attributes to dynamic variables and registering executable actions, the engine enables the creation of automated decision-making workflows that can be adjusted without requiring full application deployments.

The engine includes administrative utilities for exporting metadata schemas, which describe available variables, operators, and actions. This configuration-driven approach supports the development of interfaces that allow non-technical users to manage and update business policies through external rule sets.

## Tags

### Business & Productivity Software

- [Business Rule Engines](https://awesome-repositories.com/f/business-productivity-software/business-rule-engines.md) — Executes complex business logic and decision-making workflows by evaluating rules against system objects. ([source](https://github.com/venmo/business-rules/blob/master/README.md))
- [Programmatic Rule Engines](https://awesome-repositories.com/f/business-productivity-software/programmatic-rule-engines.md) — Provides a Python-based framework for defining and executing dynamic conditional logic against application data.
- [Dynamic Logic Configuration](https://awesome-repositories.com/f/business-productivity-software/business-logic-customization/dynamic-logic-configuration.md) — Manages conditional application behavior through external rule sets that can be updated without recompilation.
- [Business Workflow Automation](https://awesome-repositories.com/f/business-productivity-software/business-workflow-automation.md) — Triggers automated system actions when input data meets predefined criteria defined in the rule engine.

### Software Engineering & Architecture

- [Rule Execution Engines](https://awesome-repositories.com/f/software-engineering-architecture/rule-configuration-engines/rule-execution-engines.md) — Processes collections of logical conditions against input data to determine system outcomes.
- [Business Rule Evaluation](https://awesome-repositories.com/f/software-engineering-architecture/business-rule-evaluation.md) — Evaluates collections of logical conditions against input data to trigger automated outcomes. ([source](https://github.com/venmo/business-rules/search))
- [Condition-Action Patterns](https://awesome-repositories.com/f/software-engineering-architecture/condition-action-patterns.md) — Provides a central registry for mapping conditional predicates to executable actions within the business logic engine.
- [Object Attribute Mappings](https://awesome-repositories.com/f/software-engineering-architecture/reflection-based-unmarshallers/reflection-based-property-accessors/dynamic-property-mapping/object-attribute-mappings.md) — Maps internal object attributes to dynamic variables accessible by the rule engine during evaluation.
- [Logic Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/modular-decoupled-design/structural-design-paradigms/decoupled-logic-encapsulation/logic-decoupling.md) — Separates core business policies from application code to enable rapid updates without full deployments.

### Programming Languages & Runtimes

- [Domain Specific Languages](https://awesome-repositories.com/f/programming-languages-runtimes/domain-specific-languages.md) — Translates human-readable rule definitions into abstract syntax trees for programmatic evaluation.
- [DSL-Based Integration Logics](https://awesome-repositories.com/f/programming-languages-runtimes/dsl-based-integration-logics.md) — Implements a domain-specific language for managing complex business policies through configurable rule sets.

### User Interface & Experience

- [Declarative Interaction Frameworks](https://awesome-repositories.com/f/user-interface-experience/declarative-interaction-frameworks.md) — Provides a declarative framework for mapping object attributes to executable actions based on evaluation criteria.
- [No-Code Logic Design](https://awesome-repositories.com/f/user-interface-experience/form-builders/no-code-logic-design.md) — Enables non-technical users to create and adjust complex decision-making logic using a simple domain-specific language.
