Console script for pyproject2conda (cli)#
Functions:
|
Extract conda |
|
List available extras. |
|
Create yaml file from dependencies and optional-dependencies. |
|
Create requirements.txt for pip dependencies. |
|
Create multiple environment files from |
|
Create requirement files for conda and pip. |
|
Create json representation. |
- pyproject2conda.cli.main(version: Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe0dd950>]=False, columns: Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe0dc050>]=None) None[source]#
Extract conda
environment.yamland piprequirement.txtfiles frompyproject.tomlNote 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 yaml ...
- pyproject2conda.cli.create_list(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None) None[source]#
List available extras.
- pyproject2conda.cli.yaml(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], extras: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1450>] = None, groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1590>] = None, extras_or_groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d16d0>] = None, channels: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1810>] = None, output: ~typing.Annotated[~pathlib.Path | None, <typer.models.OptionInfo object at 0x7f76fe1d1a90>] = None, name: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d1950>] = None, python_include: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d20d0>] = None, python_version: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2210>] = None, python: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2350>] = None, skip_package: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1e50>] = False, pip_only: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1f90>] = False, header: ~typing.Annotated[bool | None, <typer.models.OptionInfo object at 0x7f76fe1d2490>] = None, custom_command: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d25d0>] = None, overwrite: ~typing.Annotated[~pyproject2conda._schema.Overwrite, <typer.models.OptionInfo object at 0x7f76fe1d1bd0>] = Overwrite.force, verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None, conda_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2710>] = None, pip_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2850>] = None, allow_empty: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d3390>] = False) None[source]#
Create yaml file from dependencies and optional-dependencies.
- pyproject2conda.cli.requirements(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], extras: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1450>] = None, groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1590>] = None, extras_or_groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d16d0>] = None, output: ~typing.Annotated[~pathlib.Path | None, <typer.models.OptionInfo object at 0x7f76fe1d1a90>] = None, skip_package: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1e50>] = False, header: ~typing.Annotated[bool | None, <typer.models.OptionInfo object at 0x7f76fe1d2490>] = None, custom_command: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d25d0>] = None, overwrite: ~typing.Annotated[~pyproject2conda._schema.Overwrite, <typer.models.OptionInfo object at 0x7f76fe1d1bd0>] = Overwrite.force, verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None, pip_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2850>] = None, allow_empty: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d3390>] = False) None[source]#
Create requirements.txt for pip dependencies. Note that all requirements are normalized using
packaging.requirements.Requirement
- pyproject2conda.cli.project(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], envs: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2990>] = None, template: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2ad0>] = None, template_python: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2c10>] = None, pip_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2850>] = None, conda_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2710>] = None, reqs_ext: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2d50>] = '.txt', yaml_ext: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2e90>] = '.yaml', header: ~typing.Annotated[bool | None, <typer.models.OptionInfo object at 0x7f76fe1d2490>] = None, custom_command: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d25d0>] = None, overwrite: ~typing.Annotated[~pyproject2conda._schema.Overwrite, <typer.models.OptionInfo object at 0x7f76fe1d1bd0>] = Overwrite.force, verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None, dry: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d2fd0>] = False, pip_only: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1f90>] = False, allow_empty: ~typing.Annotated[bool | None, <typer.models.OptionInfo object at 0x7f76fe1d3390>] = None) None[source]#
Create multiple environment files from
pyproject.tomlspecification.Note that if you specify options in
pyproject.toml, the name is usually the same as the command line option. For cases where the option can take multiple values, the config file option will be plural. For example, the command line option--groupbecomes the config file optiongroups = .... Boolean options like--header/--no-headerbecomeheader = true/falsein the config file.
- pyproject2conda.cli.conda_requirements(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], path_conda: ~typing.Annotated[~pathlib.Path | None, <typer.models.ArgumentInfo object at 0x7f76fc2f3250>] = None, path_pip: ~typing.Annotated[~pathlib.Path | None, <typer.models.ArgumentInfo object at 0x7f76fc2f3390>] = None, extras: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1450>] = None, groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1590>] = None, extras_or_groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d16d0>] = None, python_include: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d20d0>] = None, python_version: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2210>] = None, python: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2350>] = None, channels: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1810>] = None, skip_package: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1e50>] = False, prefix: ~typing.Annotated[~pathlib.Path | None, <typer.models.OptionInfo object at 0x7f76fe1d3110>] = None, prepend_channel: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d3250>] = False, header: ~typing.Annotated[bool | None, <typer.models.OptionInfo object at 0x7f76fe1d2490>] = None, custom_command: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d25d0>] = None, conda_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2710>] = None, pip_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2850>] = None, verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None) None[source]#
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.cli.to_json(pyproject_filename: ~typing.Annotated[~pathlib.Path, <typer.models.OptionInfo object at 0x7f76fe1d1310>], extras: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1450>] = None, groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1590>] = None, extras_or_groups: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d16d0>] = None, python_include: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d20d0>] = None, python_version: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2210>] = None, python: ~typing.Annotated[str | None, <typer.models.OptionInfo object at 0x7f76fe1d2350>] = None, channels: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d1810>] = None, output: ~typing.Annotated[~pathlib.Path | None, <typer.models.OptionInfo object at 0x7f76fe1d1a90>] = None, skip_package: ~typing.Annotated[bool, <typer.models.OptionInfo object at 0x7f76fe1d1e50>] = False, conda_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2710>] = None, pip_deps: ~typing.Annotated[list[str] | None, <typer.models.OptionInfo object at 0x7f76fe1d2850>] = None, verbose: ~typing.Annotated[int | None, <typer.models.OptionInfo object at 0x7f76fe1d1d10>] = None, overwrite: ~typing.Annotated[~pyproject2conda._schema.Overwrite, <typer.models.OptionInfo object at 0x7f76fe1d1bd0>] = Overwrite.force) None[source]#
Create json representation.
Keys are: “dependencies”: conda dependencies. “pip”: pip dependencies. “channels”: conda channels.