Skip to main content

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

  1. In the root directory, execute python setup.py sdist bdist_wheel to create a .whl file in a newly created dist folder.
  2. Execute pip install /dist/filename.whl, where filename.whl is a placeholder name for the created .whl file.

from PyPi

Execute pip install planning_machine.

Usage

PlanningMachine assumes Docker is installed (and running) on your computer.

Docker Compose

  1. Create a directory named workdir in the root folder.
  2. Place two files in workdir: domain.yaml and problem.yaml.
  3. Execute docker compose up in the root folder. This parses the files in the workdir to PDDL, calls the planner to solve them, and extract the effects of each plan step. The solution is placed in workdir/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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

planning_machine-0.2.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

planning_machine-0.2-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

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

Hashes for planning_machine-0.2.tar.gz
Algorithm Hash digest
SHA256 9cb44a851dd9fe04c7e5f5c32b83a83a32cc5c03d99c3e75020f37d1c27be3bb
MD5 5c4fa8289ed8119ab843ef660a1eea6d
BLAKE2b-256 3bd6d095bcc497fb6ce5e4fe584e652fb35f017f5757ec2db5338e3916a5c5d6

See more details on using hashes here.

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

Hashes for planning_machine-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 294295f2fa6c0272d8436407220008166f1a27ba616da0998307dcf3d66515b1
MD5 a0fe2e7c9f5eb30721bd40437f29f8b7
BLAKE2b-256 339dc489d003978f5a65b4746650c6c1673d99d95d973f1c184f0ba435da286e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page