Command line interface — pyproject2conda v0.8.0 documentation

Skip to main content
`Ctrl`+`K`

# 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.

-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`

### 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.

-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`

### 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.

### 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.

--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.

--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.