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
Metadata
Release files for pddl2hoa 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pddl2hoa-0.1.4.tar.gz | 7.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pddl2hoa-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / pddl2hoa-0.1.4.tar.gz
| Download URL | pddl2hoa-0.1.4.tar.gz |
|---|---|
| Size | 7.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6d98bd57460574c8b1f16c32ed58192ff11afa56da5710204604e0bb4c91ba6
|
|
BLAKE2b-256 checksum How to use checksums |
60fc6a88e1fb69f2f6eff04e7220a8f7330ac3755548c77494db89c8418df630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Release files / pddl2hoa-0.1.4-py3-none-any.whl
| Download URL | pddl2hoa-0.1.4-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a8f6cb70b61433008ec98156a9bd959d1eb58a9bdf271d0b9bfdab0d2e6c4c6
|
|
BLAKE2b-256 checksum How to use checksums |
bdfe7a3f8d267c919d9fa71cba530fd466ab1376776cd841bf4b40a196908fdc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|