Convert PDDL planning problems to HOA (Hanoi Omega Automata) format
Project description
pddl2hoa
pddl2hoa is a Python tool that converts PDDL (Planning Domain Definition Language) planning problems into HOA (Hanoi Omega Automata) format. This enables downstream analysis with formal methods tools and automata-based verification frameworks.
Features
- Parse and analyze PDDL domain and problem files
- Convert planning goals into equivalent HOA automata
- Generate Strategy Templates for PDDL domains and problems (must install Pestel seperately)
- Compatible with tools that support HOA format (e.g., Spot, Pestel)
- Designed for integration into formal methods pipelines
Installation
Install via uv (recommended):
uv pip install pddl2hoa
Or from source:
git clone https://github.com/yourusername/pddl2hoa.git
cd pddl2hoa
uv pip install .
Usage
After installation, use the CLI tool:
pddl2hoa domain.pddl problem.pddl > edge_labeled_HOA.hoa
Or use it as a Python library:
from pddl2hoa import convert_pddl_to_hoa
convert_pddl_to_hoa("domain.pddl", "problem.pddl")
Converting from other formats to HOA
This library is designed to be extensible. You can convert almost any domain with a graph-based structure into an HOA representation by subclassing the TurnBasedGame abstract base class in game.py. Once your game format is implemented, you can call the format_hoa method from generate_hoa.py to produce a corresponding HOA graph.
Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.
Links
- Github
- PyPi
- PDDLGym, the PDDL utility that this package uses under the hood
- HOA Format Spec
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pddl2hoa-0.1.4.tar.gz.
File metadata
- Download URL: pddl2hoa-0.1.4.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6d98bd57460574c8b1f16c32ed58192ff11afa56da5710204604e0bb4c91ba6
|
|
| MD5 |
00d9a70aa5fd73dcff6051df13f0dba3
|
|
| BLAKE2b-256 |
60fc6a88e1fb69f2f6eff04e7220a8f7330ac3755548c77494db89c8418df630
|
File details
Details for the file pddl2hoa-0.1.4-py3-none-any.whl.
File metadata
- Download URL: pddl2hoa-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a8f6cb70b61433008ec98156a9bd959d1eb58a9bdf271d0b9bfdab0d2e6c4c6
|
|
| MD5 |
17f395a64566ab9ecfbc9d2545f265d8
|
|
| BLAKE2b-256 |
bdfe7a3f8d267c919d9fa71cba530fd466ab1376776cd841bf4b40a196908fdc
|