Metadata-Version: 2.4
Name: besser-governance-engine
Version: 1.0.0
Summary: BESSER Governance Decision Engine
Author: Luxembourg Institute of Science and Technology
License: MIT
Project-URL: Documentation, https://besser-governance-engine.readthedocs.io/
Project-URL: Source Code, https://github.com/BESSER-PEARL/GovernanceDecisionEngine
Project-URL: Bug Tracker, https://github.com/BESSER-PEARL/GovernanceDecisionEngine/issues
Keywords: agent,bot,governance
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: besser-agentic-framework==4.5.2
Requires-Dist: governancedsl==0.1.2

# Governance Decision Engine

The Governance Decision Engine runs policies written with [GovernanceDSL](https://github.com/BESSER-PEARL/GovernanceDSL). Its PyPI distribution is `besser-governance-engine`, and its Python import path is `governance`.

## Install

Install it in your project's Python environment:

```bash
pip install besser-governance-engine==1.0.0
```

The package declares Python 3.10 or newer; the release checks were run on Python 3.12.

Check the two primary imports with:

```bash
python -c "import governance.engine.parsing; from governance.engine.semantics.runtime_metamodel import Interaction; print(Interaction)"
```

## Run the engine

The engine module can be started with `python -m governance.engine.decision_engine`; add `-t` for test mode. Running the agent requires a `config.yaml` in the current working directory. A minimal shape is:

```yaml
agent:
  check_transitions:
    delay: 0.1
platforms:
  github:
    personal_token: "YOUR_GITHUB_TOKEN"
    webhook_token: "YOUR_WEBHOOK_SECRET"
    webhook_port: 8901
```

Provide credentials appropriate for your deployment. The package does not bundle a configuration file or a console script. Projects that only import the parsing or runtime modules do not need `config.yaml`.

## Repository layout

- `governance/engine/` contains the engine, parsing helpers, runtime model, and test-mode support.
- `governance/tests/` contains the repository test suites and policy examples. They stay in the repository and are excluded from both release archives.
- `docs/` contains additional documentation under development.

