Configuration

mkrecipe is configured in the pyproject.toml file defined in PEP 517 and PEP 518.

[project]

The metadata used by mkrecipe is defined in the [project] table, per PEP 621; see that document for more details on the keys and their values.

As a minimum, the table should contain the keys name and version. It is recommended to define description, authors and urls. If you list your project’s requirements in a requirements.txt file, list dependencies as dynamic; otherwise, they should be listed under project.requirements.

[tool.mkrecipe]

package

Type: String

The name of the package conda-build should import to check the package built correctly This defaults to project.name if unspecified.

Example:

[project]
name = "domdf-python-tools"

[tool.mkrecipe]
package = "domdf_python_tools"
license-key

Type: String

An identifier giving the project’s license. This is used for the License field in the Core Metadata, and to add the appropriate trove classifier.

It is recommended to use an SPDX Identifier, but note that not all map to classifiers.

Example:

[tool.mkrecipe]
license-key = "MIT"
conda-channels

Type: Array of strings

A list of conda channels. which provide the project’s dependencies. Defaults to ['conda-forge'] if unspecified.

Example:

[tool.mkrecipe]
conda-channels = [
    "domdfcoding",
    "conda-forge",
    "bioconda",
]
extras

Type: Array of strings or the strings 'all' or 'none'.

A list of extras (AKA optional dependencies) to include as requirements in the conda package.

  • The special keyword 'all' indicates all extras should be included.

  • The special keyword 'none' indicates no extras should be included.

Defaults to 'none' if unspecified.

Examples:

[tool.mkrecipe]
extras = [
    "pdf",
    "testing",
    "cli",
]
[tool.mkrecipe]
extras = "all"

package and license-key can also be read from the [tool.whey] table if you use whey as the build backend and have defined those values there. See the whey documentation for more details.