bddl
What it is and what it does
BDDL is a predicate logic language for defining household activity benchmarks in the BEHAVIOR framework. It represents each activity as a planning problem with three components: a categorized object list, an initial state with ground literals, and a goal condition expressed as a logical formula. The language is simulator-agnostic—it specifies only the state that must be reached for success, not how an agent achieves it.
To use BDDL, you either work with it standalone (parsing activity definitions and evaluating conditions via stub backends) or integrate it with a simulator like OmniGibson by implementing a BDDLBackend subclass and object-state predicates. The package includes logic evaluation and a basic solver for ground goal solutions. It depends on pytest, numpy, networkx, jupytext, future, and nltk, making installation heavyweight.
Use it for:
- Define benchmark household tasks (e.g., cleaning, organizing) as formal planning problems for embodied AI research.
- Evaluate whether a simulated agent has satisfied activity success conditions by checking goal predicates.
- Integrate activity definitions with a physics simulator to sample initial scenes and validate agent behavior.
- Generate ground solutions to compositional goal conditions with quantification for task planning.
- Extend BDDL to a new simulator by implementing predicate checks and object-state instantiation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
BDDL is a domain-specific language for defining household activity benchmarks as logical planning problems, specifying initial object states, conditions, and goal states for simulation-based behavior evaluation.
No—the repository is archived and abandoned; no active maintenance since the latest commit. The unclear license, high install friction (6 dependencies), and lack of Python version specification create friction. Install only if you are actively contributing to or maintaining a fork, or integrating with an existing BEHAVIOR simulator project that requires this exact version.
Install
bddl on PyPI
pip
pip install bddluv
uv add bddlpoetry
poetry add bddlInstalling bddl
Before you install
High install friction due to 6 runtime dependencies including pytest, numpy, networkx, jupytext, future, and nltk. Repository is archived and abandoned as of the latest commit; no active maintenance.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify licensing terms before use in proprietary or commercial contexts.
Quickstart
pip install bddl
from bddl.activity import Conditions
behavior_activity = "storing_the_groceries"
activity_definition = 0
simulator = "omnigibson"
conds = Conditions(behavior_activity, activity_definition, simulator)
Requires a simulator backend (e.g., OmniGibson) or a stub implementation like TrivialBackend to evaluate activity conditions; cannot be used standalone for simulation.
Verify before relying
- Whether the package works with current Python versions (requires_python is unspecified)
- Current status of the BEHAVIOR-1K vs BEHAVIOR-100 version split and which is recommended
- Whether the archived repository will accept bug reports or security patches
- Full list of supported predicates and their simulator-specific implementations
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | 6 — pytest, numpy, networkx, jupytext, future, nltk |
| Maintenance | abandoned — 417 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 100,016/month — #13,005 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bddl-3.6.0.tar.gz
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
unified-planningUnified Planning provides a Python library for…
permissive · top 15,000 on PyPI
pyperplanPyperplan is a lightweight STRIPS planner that…
copyleft · top 15,000 on PyPI
rulesrules provides object-level permission checking…
permissive · top 15,000 on PyPI
policyengine-usPolicyEngine US models the US federal and state…
agpl · top 15,000 on PyPI
levalLeval evaluates limited expressions safely by…
permissive · top 15,000 on PyPI
ax-platformAx is a platform for adaptive experimentation…
permissive · top 15,000 on PyPI
waitingWaiting is a lightweight library for polling a…
permissive · top 15,000 on PyPI
atddATDD is a CLI toolkit that structures AI agent…
permissive · top 15,000 on PyPI
boolean.pyParse, simplify, and compare boolean…
permissive · top 1,000 on PyPI
business-rulesA Python DSL for defining business rules as…
permissive · top 15,000 on PyPI