Skip to main content

Language-Model Domain Language: planning domains as typed, pydantic-validated JSON with PDDL compilation and template-driven NL rendering

Project description

LMDL — Language-Model Domain Language

A meta-language for the LLM/symbolic-planner interface. LMDL lets you define a planning domain as typed, pydantic-validated JSON that LLMs can generate reliably, with PDDL as a compilation target and template-driven natural-language rendering.

Repository layout

lmdl/               the installable package. Source code for the package lives here. 


docs/               Sphinx docs

experiments/           the LLM study suite — not part of the installed package
  autoplanbench/       AutoPlanBench submodule: benchmark PDDL + APB's NL pipeline
  domains/             LMDL domain profiles (*.lmdl.json) for the IPC benchmark domains
  harness/             importable experiment library
  run_all.py           reproduces the full study in its standard config
  run_experiment.py    plan-generation experiment (lmdl / pddl / apb_nl pipelines)
  run_generation.py    action- and predicate-generation experiment
  run_apb_preprocessing.py   reproduce APB's NL encodings and measure their cost
  compare_sizes.py     representation size comparison (PDDL vs LMDL vs NL)
  summarize_results.py results table from a .jsonl results file

Dev setup

Nix

Requires Nix with flakes enabled and direnv.

cd ~/lmdl
direnv allow          # activates the flake devshell (Python 3.12 + deps)
python3.12 -m venv .venv
pip install -e .
pytest

The devshell registers .githooks/ as the git hooks path; the pre-commit hook formats staged Python files with black. CI (.github/workflows/ci.yml) runs black --check and the test suite on pushes and PRs. Without the devshell, enable the hook manually with git config core.hooksPath .githooks.

Without direnv, use nix develop directly:

nix develop --command bash -c "python3.12 -m venv .venv && source .venv/bin/activate && pip install -e . && pytest"

Other

Make sure python3.12 is installed and install the projects deps using:

cd ~/lmdl
python3.12 -m venv .venv
pip install -e .
pytest

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

lmdl-0.1.0.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

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

lmdl-0.1.0-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file lmdl-0.1.0.tar.gz.

File metadata

  • Download URL: lmdl-0.1.0.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lmdl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b343b5562f1aa5ac2cac8efeb301e6ef105e1f16141cba7e91acafe365340b8
MD5 8b5920fa97ebda363ea97dca7237d6f2
BLAKE2b-256 f75a31132bb9c39ec480fff18f07213ff0b0d135337d198f67b9ce28bd278a7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmdl-0.1.0.tar.gz:

Publisher: release.yml on brennanmk/lmdl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lmdl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lmdl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lmdl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39bfa23cf8b2338b6513e50f58c8eb878529be840333ff06d15bfc52904d5ef6
MD5 9a0022e208c0094573489c81a4259596
BLAKE2b-256 981fe98ef4ca17566ebc9a69468c9e8cfd0235423c460e0649ccabd89ff9fb5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lmdl-0.1.0-py3-none-any.whl:

Publisher: release.yml on brennanmk/lmdl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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