PDM
A modern Python package and dependency manager supporting the latest PEP standard (pdm.toml config file)
pdm.toml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
pdm.toml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
build_isolation | boolean | Isolate the build environment from the project environment Env var: PDM_BUILD_ISOLATION default: true |
use_uv | boolean | Use uv for faster resolution and installation Env var: PDM_USE_UV default: false |
install | object | — |
install.cache | boolean | Enable caching of wheel installations default: true |
install.cache_method | string | Specify how to create links to the caches default: "symlink"one of: "symlink", "symlink_individua…, "hardlink", "pth" |
install.parallel | boolean | Whether to perform installation and uninstallation in parallel Env var: PDM_PARALLEL_INSTALL default: true |
python | object | — |
python.use_pyenv | boolean | Use the pyenv interpreter default: true |
python.use_venv | boolean | Use virtual environments when available Env var: PDM_USE_VENV default: true |
python.providers | array | List of python provider names for findpython |
pypi | object | — |
pypi.url | string | The URL of PyPI mirror Env var: PDM_PYPI_URL default: "https://pypi.org/simple" |
pypi.username | string | The username to access PyPI Env var: PDM_PYPI_USERNAME |
pypi.password | string | The password to access PyPI Env var: PDM_PYPI_PASSWORD |
pypi.ignore_stored_index | boolean | Ignore the configured indexes Env var: PDM_IGNORE_STORED_INDEX default: false |
pypi.verify_ssl | boolean | Verify SSL certificate when query PyPI default: "true" |
pypi.json_api | boolean | Consult PyPI's JSON API for package metadata Env var: PDM_PYPI_JSON_API default: false |
strategy | object | — |
strategy.save | string | Specify how to save versions when a package is added default: "minimum"one of: "exact", "wildcard", "minimum", "compatible" |
strategy.update | string | The default strategy for updating packages default: "reuse"one of: "eager", "reuse", "all", "reuse-installed" |
strategy.resolve_max_rounds | integer | Specify the max rounds of resolution process Env var: PDM_RESOLVE_MAX_ROUNDS default: 10000 |
strategy.inherit_metadata | boolean | Inherit the groups and markers from parents for each package default: true |
venv | object | — |
venv.backend | string | Default backend to create virtualenv Env var: PDM_VENV_BACKEND default: "virtualenv" |
venv.prompt | string | Formatted string to be displayed in the prompt when virtualenv is active Env var: PDM_VENV_PROMPT default: "{project_name}-{python_version}" |
venv.in_project | boolean | Create virtualenv in .venv under project root Env var: PDM_VENV_IN_PROJECT default: true |
venv.with_pip | boolean | Install pip when creating a new venv Env var: PDM_VENV_WITH_PIP default: false |
repository | object | — |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- 38 properties, 84% carrying a description, max nesting depth 7.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$comment | JSON Schema Core, draft 2020-12 | §8.3 — Comments With "$comment" |
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
required | JSON Schema Validation, draft 2020-12 | §6.5.3 — "required" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.