Command line interface#

pyproject2conda#

Extract conda environment.yaml and pip requirement.txt files from pyproject.toml

Note that all subcommands can be called with shortest possible match. Also, you can call with any of pyproject2conda, p2c, python -m pyproject2conda. For example,

# these are equivalent
$ pyproject2conda yaml ...
$ p2c y ...
$ python -m pyproject2conda ...
pyproject2conda [OPTIONS] COMMAND [ARGS]...

Options

-v, --version#
--install-completion#

Install completion for the current shell.

--show-completion#

Show completion for the current shell, to copy it or customize the installation.

list#

List available extras.

pyproject2conda list [OPTIONS]

Options

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.

yaml#

Create yaml file from dependencies and optional-dependencies.

pyproject2conda yaml [OPTIONS]

Options

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

-e, --extra <extras>#

Extra dependencies. Can specify multiple times for multiple extras. Use name extras for specifying in pyproject.toml Note thate for project application, this parameter defaults to the name of the environment. If you want no extras, you must pass extras = false.

-c, --channel <channels>#

Conda channel. Can specify. Overrides [tool.pyproject2conda.channels]

-o, --output <output>#

File to output results

-n, --name <name>#

Name of conda env

--python-include <python_include>#

If value passed, use this value (exactly) in the output. So, for example, pass –python-include “python=3.8”. Special case is the value “infer”. This infers the value of python from pyproject.toml

--python-version <python_version>#

Python version to check python_verion <=> {python_version} lines against. That is, this version is used to limit packages in resulting output. For example, if have a line like a-package; python_version < ‘3.9’, Using –python-version 3.10 will not include a-package, while –python-version 3.8 will include a-package.

-p, --python <python>#

Python version. Passing –python {version} is equivalent to passing –python-version={version} –python-include=python{version}. If passed, this overrides values of passed via –python-version and –python-include.

--base, --no-base#

Default is to include base (project.dependencies) with extras. However, passing –no-base will exclude base dependencies. This is useful to define environments that should exclude base dependencies (like build, etc) in pyproject.toml.

Default:

True

--sort, --no-sort#

Default is to sort the dependencies (excluding –python-include). Pass –no-sort to instead place dependencies in order they are gathered.

Default:

True

--header, --no-header#

If True (–header) include header line in output. Default is to include the header for output to a file, and not to include header when writing to stdout.

-w, --overwrite <overwrite>#

What to do if output file exists. (check): Create if missing. If output exists and passed –filename is newer, recreate output, else skip. (skip): If output exists, skip. (force): force: force recreate output.

Default:

Overwrite.check

Options:

check | skip | force

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.

-d, --deps <deps>#

Additional conda dependencies.

-r, --reqs <reqs>#

Additional pip requirements.

--allow-empty, --no-allow-empty#

What to do if there are no package requirements for an environment. The default (–no-allow-empty) is to raise an error if the specification leads to no requirements. Passing –allow-empty will lead to a message being printed, but no environment file being created.

Default:

False

--remove-whitespace, --no-remove-whitespace#

What to do with whitespace in a dependency. The default (–remove-whitespace) is to remove whitespace in a given dependency. For example, the dependency package >= 1.0 will be converted to package>=1.0. Pass –no-remove-whitespace to keep the the whitespace in the output.

Default:

True

requirements#

Create requirements.txt for pip dependencies.

pyproject2conda requirements [OPTIONS]

Options

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

-e, --extra <extras>#

Extra dependencies. Can specify multiple times for multiple extras. Use name extras for specifying in pyproject.toml Note thate for project application, this parameter defaults to the name of the environment. If you want no extras, you must pass extras = false.

-o, --output <output>#

File to output results

--base, --no-base#

Default is to include base (project.dependencies) with extras. However, passing –no-base will exclude base dependencies. This is useful to define environments that should exclude base dependencies (like build, etc) in pyproject.toml.

Default:

True

--sort, --no-sort#

Default is to sort the dependencies (excluding –python-include). Pass –no-sort to instead place dependencies in order they are gathered.

Default:

True

--header, --no-header#

If True (–header) include header line in output. Default is to include the header for output to a file, and not to include header when writing to stdout.

-w, --overwrite <overwrite>#

What to do if output file exists. (check): Create if missing. If output exists and passed –filename is newer, recreate output, else skip. (skip): If output exists, skip. (force): force: force recreate output.

Default:

Overwrite.check

Options:

check | skip | force

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.

-r, --reqs <reqs>#

Additional pip requirements.

--allow-empty, --no-allow-empty#

What to do if there are no package requirements for an environment. The default (–no-allow-empty) is to raise an error if the specification leads to no requirements. Passing –allow-empty will lead to a message being printed, but no environment file being created.

Default:

False

--remove-whitespace, --no-remove-whitespace#

What to do with whitespace in a dependency. The default (–remove-whitespace) is to remove whitespace in a given dependency. For example, the dependency package >= 1.0 will be converted to package>=1.0. Pass –no-remove-whitespace to keep the the whitespace in the output.

Default:

True

project#

Create multiple environment files from pyproject.toml specification.

pyproject2conda project [OPTIONS]

Options

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

--envs <envs>#

List of environments to build files for. Default to building all environments

--template <template>#

Template for environments that do not have a python version. Defaults to {env}.

--template-python <template_python>#

Template for environments that do have a python version. Defaults to “py{py}-{env}”. For example, with –template-python=”py{py}-{env}” and –python=3.8 and environment “dev”, output would be “py38-dev” | * {py} -> “38” | * {py_version} -> “3.8” | * {env} -> “dev”

--sort, --no-sort#

Default is to sort the dependencies (excluding –python-include). Pass –no-sort to instead place dependencies in order they are gathered.

Default:

True

--header, --no-header#

If True (–header) include header line in output. Default is to include the header for output to a file, and not to include header when writing to stdout.

-w, --overwrite <overwrite>#

What to do if output file exists. (check): Create if missing. If output exists and passed –filename is newer, recreate output, else skip. (skip): If output exists, skip. (force): force: force recreate output.

Default:

Overwrite.check

Options:

check | skip | force

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.

--dry#

If passed, do a dry run

Default:

False

--user-config <user_config>#

Additional toml file to supply configuration. This can be used to override/add environment files for your own use (apart from project env files). The (default) value infer means to infer the configuration from –filename.

Default:

infer

--allow-empty, --no-allow-empty#

What to do if there are no package requirements for an environment. The default (–no-allow-empty) is to raise an error if the specification leads to no requirements. Passing –allow-empty will lead to a message being printed, but no environment file being created.

--remove-whitespace, --no-remove-whitespace#

What to do with whitespace in a dependency. The default (–remove-whitespace) is to remove whitespace in a given dependency. For example, the dependency package >= 1.0 will be converted to package>=1.0. Pass –no-remove-whitespace to keep the the whitespace in the output.

conda-requirements#

Create requirement files for conda and pip.

These can be install with, for example,

conda install –file {path_conda} pip install -r {path_pip}

pyproject2conda conda-requirements [OPTIONS] [PATH_CONDA] [PATH_PIP]

Options

-e, --extra <extras>#

Extra dependencies. Can specify multiple times for multiple extras. Use name extras for specifying in pyproject.toml Note thate for project application, this parameter defaults to the name of the environment. If you want no extras, you must pass extras = false.

--python-include <python_include>#

If value passed, use this value (exactly) in the output. So, for example, pass –python-include “python=3.8”. Special case is the value “infer”. This infers the value of python from pyproject.toml

--python-version <python_version>#

Python version to check python_verion <=> {python_version} lines against. That is, this version is used to limit packages in resulting output. For example, if have a line like a-package; python_version < ‘3.9’, Using –python-version 3.10 will not include a-package, while –python-version 3.8 will include a-package.

-p, --python <python>#

Python version. Passing –python {version} is equivalent to passing –python-version={version} –python-include=python{version}. If passed, this overrides values of passed via –python-version and –python-include.

-c, --channel <channels>#

Conda channel. Can specify. Overrides [tool.pyproject2conda.channels]

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

--base, --no-base#

Default is to include base (project.dependencies) with extras. However, passing –no-base will exclude base dependencies. This is useful to define environments that should exclude base dependencies (like build, etc) in pyproject.toml.

Default:

True

--prefix <prefix>#

set conda-output=prefix + ‘conda.txt’, pip-output=prefix + ‘pip.txt’

--prepend-channel#
Default:

False

--sort, --no-sort#

Default is to sort the dependencies (excluding –python-include). Pass –no-sort to instead place dependencies in order they are gathered.

Default:

True

--header, --no-header#

If True (–header) include header line in output. Default is to include the header for output to a file, and not to include header when writing to stdout.

-d, --deps <deps>#

Additional conda dependencies.

-r, --reqs <reqs>#

Additional pip requirements.

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.

Arguments

PATH_CONDA#

Optional argument

PATH_PIP#

Optional argument

json#

Create json representation.

Keys are: “dependencies”: conda dependencies. “pip”: pip dependencies. “channels”: conda channels.

pyproject2conda json [OPTIONS]

Options

-e, --extra <extras>#

Extra dependencies. Can specify multiple times for multiple extras. Use name extras for specifying in pyproject.toml Note thate for project application, this parameter defaults to the name of the environment. If you want no extras, you must pass extras = false.

--python-include <python_include>#

If value passed, use this value (exactly) in the output. So, for example, pass –python-include “python=3.8”. Special case is the value “infer”. This infers the value of python from pyproject.toml

--python-version <python_version>#

Python version to check python_verion <=> {python_version} lines against. That is, this version is used to limit packages in resulting output. For example, if have a line like a-package; python_version < ‘3.9’, Using –python-version 3.10 will not include a-package, while –python-version 3.8 will include a-package.

-p, --python <python>#

Python version. Passing –python {version} is equivalent to passing –python-version={version} –python-include=python{version}. If passed, this overrides values of passed via –python-version and –python-include.

-c, --channel <channels>#

Conda channel. Can specify. Overrides [tool.pyproject2conda.channels]

-f, --file <filename>#

input pyproject.toml file

Default:

pyproject.toml

--sort, --no-sort#

Default is to sort the dependencies (excluding –python-include). Pass –no-sort to instead place dependencies in order they are gathered.

Default:

True

-o, --output <output>#

File to output results

--base, --no-base#

Default is to include base (project.dependencies) with extras. However, passing –no-base will exclude base dependencies. This is useful to define environments that should exclude base dependencies (like build, etc) in pyproject.toml.

Default:

True

-d, --deps <deps>#

Additional conda dependencies.

-r, --reqs <reqs>#

Additional pip requirements.

-v, --verbose#

Pass -v/–verbose for verbose output. Pass multiple times to set verbosity level.