"""Create reasoning_engine
Generated by Phi-Octopus Eden
2025-11-06 05:43:53.903468
"""

```python
from typing import List, Dict, Any


class ReasoningEngine:
    """
    A simple reasoning engine that can evaluate conditions based on a set of rules.
    Each rule is defined by a condition and an action to be taken when the condition is met.

    :param rules: A list of dictionaries where each dictionary contains 'condition' and 'action'.
    """

    def __init__(self, rules: List[Dict[str, Any]]):
        self.rules = rules

    def evaluate(self, data: Dict[str, Any]) -> None:
        """
        Evaluate the given data against the defined rules.
        
        :param data: A dictionary of key-value pairs to be used in evaluating conditions.
        """
        for rule in self.rules:
            condition, action = rule.get('condition'), rule.get('action')
            if all(condition.get(key) == value for key, value in condition.items()):
                print(f"Condition met: {condition}. Action: {action}")
                # Execute the action
                action(data)


# Example usage
if __name__ == "__main__":
    rules = [
        {
            'condition': {'temperature': 30, 'humidity': 60},
            'action': lambda data: print(f"High temperature and humidity detected. Adjust HVAC settings.")
        },
        {
            'condition': {'light_level': 50},
            'action': lambda data: print(f"Low light level detected at {data['location']}. Turn on lights.")
        }
    ]

    engine = ReasoningEngine(rules)

    # Simulated sensor data
    data = {
        'temperature': 32,
        'humidity': 65,
        'light_level': 48,
        'location': 'office'
    }

    engine.evaluate(data)
```

This code defines a `ReasoningEngine` class that can evaluate conditions based on predefined rules. The example usage demonstrates how to create an instance of the engine and use it with some simulated sensor data.