All apps/PDM

PDM

pdm

A modern Python package and dependency manager supporting the latest PEP standards.

Runs as pdm|macOS, Linux, Windows|pdm-project.org

Command form

ai-draft · 4 tasks · 17 fields

Add dependencies and build distributions with PDM. Install, lock, run, publish and the other subcommands are left out.

Opens the form; the finished command lands at your prompt, unrun
otty gui pdm

pdm add

Add dependencies

Write requirements to pyproject.toml, update the lockfile and sync the environment.

Add dependenciesExample values, fixed in this page — nothing here reaches a terminal
Basic
Packages*
string
Dependency group
string
TasksEach one presets the form for one job
Add packages
packagesgroup
Add dev packages
packages
ParametersOnly these flags are editable in the form
Packages
Requirement specifiers such as requests or 'flask>=3'.
string · positional 0 · repeatable
Dev dependencies
boolean
--dev-d
Dependency group
string
--group-G
Editable install
boolean
--editable-e
Do not sync environment
boolean
--no-sync
Dry run
boolean
--dry-run
Allow prereleases
boolean
--pre
Pin exact versions
boolean
--save-exact
Save minimum versions
boolean
--save-minimum
Global project
boolean
--global-g
Project root
path
--project-p

pdm build

Build distributions

Build sdist and wheel artifacts for the project.

Build distributionsExample values, fixed in this page — nothing here reaches a terminal
Basic
Output directory
directory
TasksEach one presets the form for one job
Build all artifacts
dest
Wheel only
dest
ParametersOnly these flags are editable in the form
Output directory
path
--dest-d
Skip sdist
boolean
--no-sdist
Skip wheel
boolean
--no-wheel
Keep existing artifacts
boolean
--no-clean
Disable build isolation
boolean
--no-isolation
Project root
path
--project-p
SourcesEvery flag above is checked against these
ref
-e, --editable: Specify editable packages packages: Specify packages -g, --global: Use the global project, supply the project root with -p option -p, --project: Specify another path as the project root, which changes the base of pyproject.toml and __pypackages__ [env var: PDM_PROJECT] --pre, --prerelease: Allow prereleases to be pinned --dry-run: Show the di…
help2026-10-27

pdm-project.org

ref
-p, --project: Specify another path as the project root, which changes the base of pyproject.toml and __pypackages__ [env var: PDM_PROJECT] --no-sdist: Don't build source tarballs (default: False) --no-wheel: Don't build wheels (default: False) -d, --dest: Target directory to put artifacts (default: dist) --no-clean: Do not clean the target directory (defaul…
help2026-10-27

pdm-project.org

Before it fills your prompt, Otty checks the installed pdm against its version. A form that does not match your version is not offered.