pyperplan
A lightweight STRIPS planner written in Python.
Decision gist · record as of 2026-08-14
Yes, if you are learning planning, doing research, or prototyping. The low install friction, active maintenance, and clean codebase make it ideal for education and experimentation. No, if you need production-grade performance or are solving large-scale planning problems—the authors explicitly warn against using Pyperplan for performance-critical work. The GPLv3+ license is permissive for academic and open-source use but restricts proprietary applications.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.6.
- PDDL domain and problem files must be provided; the planner does not generate plans from natural language or other input formats.
- Installation is straightforward with low friction—a single wheel dependency.
License · maintenance · safety
GPL3+ (copyleft) — Pyperplan is licensed under GPLv3+, a copyleft license. Any derivative work or distribution must also be open source under compatible terms; proprietary use or closed-source integration is not permitted.
last release 2022-01-17 (1670 days) · last repo commit 2026-06-16 · 127 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 113,977 downloads/mo, #12,320 on PyPI
Alternatives
Verify before relying
pip install pyperplan
pyperplan benchmarks/tpp/domain.pddl benchmarks/tpp/task01.pddl
# For heuristic search:
pyperplan -H hff -s gbf domain.pddl problem.pddl- Whether the planner's performance is suitable for problems beyond teaching or prototyping contexts.
- Availability and quality of documentation beyond the brief README guidance.
What it is and what it does
Pyperplan is a classical planning engine that takes PDDL (Planning Domain Definition Language) specifications and computes sequences of actions to solve planning problems. It was originally developed as a teaching tool at a university planning course and deliberately prioritizes clean, understandable code over raw performance. The planner supports STRIPS (Simplified Planning Domain Representation Language) without action costs and can be invoked from the command line with a domain file and a problem file, optionally using different search algorithms and heuristics like greedy best-first search with the FF heuristic.
The package is suitable for educational use, prototyping, and research contexts where clarity and extensibility matter more than state-of-the-art speed. It runs on Python 3.6 and later, has minimal dependencies (only wheel), and is actively maintained. The authors explicitly caution that Pyperplan does not offer competitive performance for production planning tasks, making it most valuable for learning how planning algorithms work or for small-scale experimental work.
Use it for
- Teaching classical planning algorithms and STRIPS semantics in an AI or computer science course.
- Prototyping planning solutions for academic papers or research projects before moving to optimized solvers.
- Extending the planner with custom heuristics or search strategies for experimental work.
- Solving small to medium PDDL planning problems where execution speed is not a constraint.
- Understanding how domain and problem specifications map to action sequences in planning.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are learning planning, doing research, or prototyping.
The low install friction, active maintenance, and clean codebase make it ideal for education and experimentation. No, if you need production-grade performance or are solving large-scale planning problems—the authors explicitly warn against using Pyperplan for performance-critical work. The GPLv3+ license is permissive for academic and open-source use but restricts proprietary applications.
Install
pyperplan on PyPI
Before you install
Installation is straightforward with low friction—a single wheel dependency. The project is actively maintained with a recent commit on 2026-06-16, though the latest release was 2022-01-17, so updates may be infrequent.
Requires Python >= 3.6. PDDL domain and problem files must be provided; the planner does not generate plans from natural language or other input formats.
License in practice
Pyperplan is licensed under GPLv3+, a copyleft license. Any derivative work or distribution must also be open source under compatible terms; proprietary use or closed-source integration is not permitted.
Quickstart
pip install pyperplan
pyperplan benchmarks/tpp/domain.pddl benchmarks/tpp/task01.pddl
# For heuristic search:
pyperplan -H hff -s gbf domain.pddl problem.pddl
Verify before relying
- Whether the planner's performance is suitable for problems beyond teaching or prototyping contexts.
- Availability and quality of documentation beyond the brief README guidance.
Package facts
| License | GPL3+ copyleft |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagewheel |
| Maintenance | Actively maintained 1,670 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 113,977 / month, #12,320 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)Programming Language :: PythonProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering |
Evidence: pyperplan-2.1-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “STRIPS planner”
- pyperplanPyperplan is a lightweight STRIPS planner that solves classical…
- unified-planningUnified Planning provides a Python library for formulating automated…
- mplibMPlib provides motion planning algorithms for robot manipulation,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also unified-planning · mplib · python-motion-planning · bddl · python-constraint · PuLP · pypsa · toppra · npmai-agents · atdd