Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/pyproject/_shared/latest--partial-pdm.json
Parent schema pyproject
Type: object

Properties

distribution boolean

Whether the project needs to be distributed

Default: true
ignore_package_warnings string[]

Ignore package resolution warnings for packages matching the given patterns (PDM v2.10.0)

Examples: ["scipy","tensorflow-*"]
dev-dependencies Record<string, dev-dependency[]>

Development dependencies

1 nested properties
Examples: ["pytest>=7.4.3","mypy>=1.7.1"]
resolution object

Configuration related to package resolution

4 nested properties
allow-prereleases boolean

Whether to allow the use of pre-releases when resolving packages

Default: false
excludes string[]

Package names to be excluded from the resolution result

Examples: ["requests"]
respect-source-order boolean

Whether PDM prefers package sources by order

Default: false
overrides Record<string, string>

Resolution overrides for forcing specific dependency versions

options Record<string, string[]>

Default options applied to a PDM command

Examples: {"add":["--no-isolation","--no-self"],"install":["--no-self"],"lock":["--no-cross-platform"]}
23 nested properties
add string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
build string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
cache string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
completion string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
config string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
export string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
fix string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
import string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
info string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
init string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
install string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
list string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
lock string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
publish string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
remove string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
run string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
search string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
self string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
show string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
sync string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
update string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
use string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
venv string[]

Options that can be applied to a PDM command

Examples: ["--no-isolation","--no-self"], ["--no-self"], ["--no-cross-platform"]
plugins string[]

List of PDM plugins required for this project

Examples: ["pdm-packer"]

Sources used for package resolution

Definition of PDM scripts

14 nested properties
_ object
2 nested properties
env Record<string, string>

Environment variables applied when running the script

env_file object | string
post_init object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_install object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_install object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_lock object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_lock object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_build object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_build object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_publish object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_publish object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_script object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_script object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
pre_run object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
post_run object | object | object | object | string

PDM script definition

Examples: "flask run -p 54321"
version object

Dynamic version options for PDM-backend

9 nested properties
source string required

Dynamic version source

Values: "file" "scm" "call"
path string

Path to python file to read version from (file source)

Examples: "mypackage/__init__.py"
fallback_version string

Specify a default version to be used when building from a source tree where SCM is not available (since pdm-backend v2.2.0)

Examples: "0.0.0"
tag_filter string

Filters the set of tags which are considered as candidates to capture your project's version (scm source)

Examples: "test/*"
tag_regex string

Regex for reading version from source control tag (scm source)

Examples: "^test/(?:\D*)?(?P<version>([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|c|rc)(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$)$"
version_format string

Used to customize the format of the version string (since pdm-backend v2.2.0)

Examples: "mypackage.version:format_version"
pattern=([\w.]+):([\w.]+)\s*(\([^)]+\))?
getter string

Python callable for reading version

Examples: "mypackage.version.get_version", "mypackage.version.get_version('dev')"
write_to string

File path a generated version should be written to

Examples: "foo/version.txt", "foo/_version.py"
write_template string

Template to use for generated version file

Examples: "__version__ = '{}'"
build object

Configuration related to the build process with pdm-backend

9 nested properties
includes string[]

Path patterns of files to be included in the package

Examples: ["mypackage/","script.py"]
excludes string[]

Path patterns of files to be excluded from package

Examples: ["**/*.json"]
source-includes string[]

Path patterns of files that are needed for building but not meant to be copied to the site-packages directory

Examples: ["scripts/","tests/"]
package-dir string

Directory where packages are located. The default value is src if src/ is found and . otherwise

Examples: "mysrc", "src", "."
custom-hook string

Python file that should be run before every build

Default: "pdm_build.py"
Examples: "build.py"
run-setuptools boolean

Whether to auto-generate setup.py and run setuptools with it. Useful for building C extensions

Default: false
is-purelib boolean

Whether builds should be platform specific

editable-backend string

Format of editable wheels

Default: "path"
Values: "path" "editables"
wheel-data object

Configuration for additional files to be written to a user's site-packages directory

6 nested properties

Path pattern specifications for build.wheel-data

Path pattern specifications for build.wheel-data

Path pattern specifications for build.wheel-data

Path pattern specifications for build.wheel-data

platinclude object | string[]

Path pattern specifications for build.wheel-data

Path pattern specifications for build.wheel-data

Definitions

wheel-data-array object | string[]

Path pattern specifications for build.wheel-data

env-vars Record<string, string>

Environment variables applied when running the script

env-file object | string
script-help string

Help text for the script

Examples:
  • "Run the tests"
pdm-script object | object | object | object | string

PDM script definition

Examples:
  • "flask run -p 54321"
package-source object

Package source

name string required

Name of the package source

url string required

HTTP url for the package source

verify_ssl boolean

Whether to verify certificates when using the package source

username string

Username for the package source

password string

Password for the package source

type string

index or find_links

Default: "index"
Values: "index" "find_links"
exclude_packages string[]

Glob patterns of packages that should not be used from this source. Ignored if include_packages configuration is present

Examples: ["foo","foo-*"]
include_packages string[]

Glob patterns of the only packages that should be used from this source

Examples: ["foo","foo-*"]
command-options string[]

Options that can be applied to a PDM command

Examples:
  • [ "--no-isolation", "--no-self" ]
  • [ "--no-self" ]
  • [ "--no-cross-platform" ]
dev-dependency string
dev-dependency-group dev-dependency[]
Examples:
  • [ "pytest>=7.4.3", "mypy>=1.7.1" ]