unified-planning
Unified Planning Framework
What it is and what it does
Unified Planning is a framework for expressing automated planning problems in Python using standard representations like STRIPS and RDDL. It abstracts away the complexity of problem formulation, allowing developers and researchers to define planning domains, actions, fluents, and goals in a high-level Python API, then invoke automated planners to solve them.
The library depends on pyparsing for parsing, networkx for graph operations, and ConfigSpace for configuration handling. It targets researchers and developers working on AI planning, constraint satisfaction, and automated reasoning. The package is in Alpha development status and supports Python 3.8, 3.9, 3.10, and 3.11.
Use it for:
- Formulate and test STRIPS-based planning problems without writing domain-specific planner syntax
- Prototype automated planning solutions for robotics, scheduling, or resource allocation tasks
- Integrate RDDL probabilistic planning domains into Python applications
- Conduct research on planning algorithms by providing a unified problem representation interface
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Unified Planning provides a Python library for formulating automated planning problems and invoking planners to solve them, supporting STRIPS and RDDL problem representations.
Yes, if you need to formulate and solve automated planning problems in Python. The low install friction, permissive Apache license, and support for standard planning representations make it suitable for research and prototyping. The aging maintenance status is a minor concern—verify that external planner backends you need are still supported before committing to production use.
Install
unified-planning on PyPI
pip
pip install unified-planninguv
uv add unified-planningpoetry
poetry add unified-planningInstalling unified-planning
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance status is aging at 240 days since last release, though the package remains active.
License in practice
Licensed under Apache (permissive), allowing commercial use, modification, and distribution with minimal restrictions—suitable for most production and research contexts.
Quickstart
pip install unified-planning
from unified_planning.shortcuts import Problem, Fluent, InstantaneousAction
problem = Problem("my_planning_problem")
# Define fluents, actions, and goals to formulate a planning problem
Requires Python 3.8 or later; external automated planners may need separate installation depending on intended use.
Verify before relying
- Whether the package actively maintains compatibility with planner backends or if external planner installation is required
- Current state of documentation and community support given aging maintenance signal
- Specific capabilities and limitations of STRIPS and RDDL support in this version
Package facts
| License | APACHE (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pyparsing, networkx, ConfigSpace |
| Maintenance | aging — 240 days since the last release |
| First released | |
| Downloads | 124,885/month — #11,848 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: unified_planning-1.3.0-py3-none-any.whl
Keywords: planning, logic, STRIPS, RDDL
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
bddlBDDL is a domain-specific language for defining…
unclear · top 15,000 on PyPI
pyperplanPyperplan is a lightweight STRIPS planner that…
copyleft · top 15,000 on PyPI
python-motion-planningImplements motion planning algorithms including…
copyleft · top 15,000 on PyPI
mplibMPlib provides motion planning algorithms for…
permissive · top 15,000 on PyPI
PuLPPuLP is a linear and mixed-integer programming…
permissive · top 5,000 on PyPI
npmai-agentsAutonomous AI agent framework that executes…
permissive · top 15,000 on PyPI
swiglpkswiglpk provides direct Python bindings to the…
copyleft · top 15,000 on PyPI
qpsolversProvides a unified Python interface to solve…
copyleft · top 5,000 on PyPI
coal-libraryCoal provides collision detection, distance…
permissive · top 15,000 on PyPI
optlangOptlang formulates and solves linear,…
permissive · top 15,000 on PyPI