No project description provided
Project description
Introduction
PlanningMachine is an automated planning library that parse YAML-based instructions into PDDL, solves them using a planner, and returns a structured plan with step effects. It can be run as a standalone service via Docker Compose or integrated directly into Python projects as a library. The goal of this project is to make the technology in automated planning more accessible to software engineers without exposing them to the internals of how they work.
Setup and Installation
The Python library can be installed either by building the wheel files from source or via pip. We recommend the latter.
from Source
- In the root directory, execute
python setup.py sdist bdist_wheelto create a.whlfile in a newly createddistfolder. - Execute
pip install /dist/filename.whl, wherefilename.whlis a placeholder name for the created.whlfile.
from PyPi
Execute pip install planning_machine.
Usage
PlanningMachine assumes Docker is installed (and running) on your computer.
Docker Compose
- Create a directory named
workdirin the root folder. - Place two files in
workdir:domain.yamlandproblem.yaml. - Execute
docker compose upin the root folder. This parses the files in theworkdirto PDDL, calls the planner to solve them, and extract the effects of each plan step. The solution is placed inworkdir/plan.yaml.
Python
Import and use the PlanningMachine class as follows:
from planning_machine import PlanningMachine
pm = PlanningMachine()
solution = pm.solve(yaml_domain_path, yaml_problem_path)
Provide the paths to your YAML domain and problem files, and .solve() will return the solution to your planning problem.
A demo Jupyter notebook, demo.ipynb, is also included. It walks through a real-world logistics problem end-to-end, covering setup, solving, analytics, and visualization.
Contact
Please contact opensource@learningmachines.au for questions, comments, or feedback about the PlanningMachine library.
Project details
Release history Release notifications | RSS feed
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 planning_machine-0.2.tar.gz.
File metadata
- Download URL: planning_machine-0.2.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cb44a851dd9fe04c7e5f5c32b83a83a32cc5c03d99c3e75020f37d1c27be3bb
|
|
| MD5 |
5c4fa8289ed8119ab843ef660a1eea6d
|
|
| BLAKE2b-256 |
3bd6d095bcc497fb6ce5e4fe584e652fb35f017f5757ec2db5338e3916a5c5d6
|
File details
Details for the file planning_machine-0.2-py3-none-any.whl.
File metadata
- Download URL: planning_machine-0.2-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
294295f2fa6c0272d8436407220008166f1a27ba616da0998307dcf3d66515b1
|
|
| MD5 |
a0fe2e7c9f5eb30721bd40437f29f8b7
|
|
| BLAKE2b-256 |
339dc489d003978f5a65b4746650c6c1673d99d95d973f1c184f0ba435da286e
|