hatch¶
Usage:
hatch [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--env , -e | text | The name of the environment to use [env var: HATCH_ENV ] | default |
--project , -p | text | The name of the project to work on [env var: HATCH_PROJECT ] | None |
--color / --no-color | boolean | Whether or not to display colored output (default is auto-detection) [env vars: FORCE_COLOR /NO_COLOR ] | None |
--interactive / --no-interactive | boolean | Whether or not to allow features like prompts and progress bars (default is auto-detection) [env var: HATCH_INTERACTIVE ] | None |
--verbose , -v | integer range (0 and above) | Increase verbosity (can be used additively) [env var: HATCH_VERBOSE ] | 0 |
--quiet , -q | integer range (0 and above) | Decrease verbosity (can be used additively) [env var: HATCH_QUIET ] | 0 |
--data-dir | text | The path to a custom directory used to persist data [env var: HATCH_DATA_DIR ] | None |
--cache-dir | text | The path to a custom directory used to cache data [env var: HATCH_CACHE_DIR ] | None |
--config | text | The path to a custom config file to use [env var: HATCH_CONFIG ] | None |
--version | boolean | Show the version and exit. | False |
--help | boolean | Show this message and exit. | False |
hatch build¶
Build a project.
Usage:
hatch build [OPTIONS] [LOCATION]
Options:
Name | Type | Description | Default |
---|---|---|---|
--target , -t | text | The target to build, overriding project defaults. This may be selected multiple times e.g. -t sdist -t wheel | None |
--hooks-only | boolean | Whether or not to only execute build hooks [env var: HATCH_BUILD_HOOKS_ONLY ] | False |
--no-hooks | boolean | Whether or not to disable build hooks [env var: HATCH_BUILD_NO_HOOKS ] | False |
--ext | boolean | Whether or not to only execute build hooks for distributing binary Python packages, such as compiling extensions. Equivalent to --hooks-only -t wheel | False |
--clean , -c | boolean | Whether or not existing artifacts should first be removed [env var: HATCH_BUILD_CLEAN ] | False |
--clean-hooks-after | boolean | Whether or not build hook artifacts should be removed after each build [env var: HATCH_BUILD_CLEAN_HOOKS_AFTER ] | False |
--help | boolean | Show this message and exit. | False |
hatch clean¶
Remove build artifacts.
Usage:
hatch clean [OPTIONS] [LOCATION]
Options:
Name | Type | Description | Default |
---|---|---|---|
--target , -t | text | The target with which to remove artifacts, overriding project defaults. This may be selected multiple times e.g. -t sdist -t wheel | None |
--hooks-only | boolean | Whether or not to only remove artifacts from build hooks [env var: HATCH_BUILD_HOOKS_ONLY ] | False |
--no-hooks | boolean | Whether or not to ignore artifacts from build hooks [env var: HATCH_BUILD_NO_HOOKS ] | False |
--ext | boolean | Whether or not to only remove artifacts from build hooks for distributing binary Python packages, such as compiled extensions. Equivalent to --hooks-only -t wheel | False |
--help | boolean | Show this message and exit. | False |
hatch config¶
Manage the config file
Usage:
hatch config [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch config explore¶
Open the config location in your file manager.
Usage:
hatch config explore [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch config find¶
Show the location of the config file.
Usage:
hatch config find [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--copy , -c | boolean | Copy the path to the config file to the clipboard | False |
--help | boolean | Show this message and exit. | False |
hatch config restore¶
Restore the config file to default settings.
Usage:
hatch config restore [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch config set¶
Assign values to config file entries. If the value is omitted, you will be prompted, with the input hidden if it is sensitive.
Usage:
hatch config set [OPTIONS] KEY [VALUE]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch config show¶
Show the contents of the config file.
Usage:
hatch config show [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--all , -a | boolean | Do not scrub secret fields | False |
--help | boolean | Show this message and exit. | False |
hatch config update¶
Update the config file with any new fields.
Usage:
hatch config update [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch dep¶
Manage environment dependencies
Usage:
hatch dep [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch dep hash¶
Output a hash of the currently defined dependencies.
Usage:
hatch dep hash [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--project-only , -p | boolean | Whether or not to exclude environment dependencies | False |
--env-only , -e | boolean | Whether or not to exclude project dependencies | False |
--help | boolean | Show this message and exit. | False |
hatch dep show¶
Display dependencies in various formats
Usage:
hatch dep show [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch dep show requirements¶
Enumerate dependencies as a list of requirements.
Usage:
hatch dep show requirements [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--project-only , -p | boolean | Whether or not to exclude environment dependencies | False |
--env-only , -e | boolean | Whether or not to exclude project dependencies | False |
--feature , -f | text | Whether or not to only show the dependencies of the specified features | None |
--all | boolean | Whether or not to include the dependencies of all features | False |
--help | boolean | Show this message and exit. | False |
hatch dep show table¶
Enumerate dependencies in a tabular format.
Usage:
hatch dep show table [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--project-only , -p | boolean | Whether or not to exclude environment dependencies | False |
--env-only , -e | boolean | Whether or not to exclude project dependencies | False |
--lines , -l | boolean | Whether or not to show lines between table rows | False |
--ascii | boolean | Whether or not to only use ASCII characters | False |
--help | boolean | Show this message and exit. | False |
hatch env¶
Manage project environments
Usage:
hatch env [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch env create¶
Create environments.
Usage:
hatch env create [OPTIONS] [ENV_NAME]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch env find¶
Locate environments.
Usage:
hatch env find [OPTIONS] [ENV_NAME]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch env prune¶
Remove all environments.
Usage:
hatch env prune [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch env remove¶
Remove environments.
Usage:
hatch env remove [OPTIONS] [ENV_NAME]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch env run¶
Run commands within project environments.
The -e
/--env
option overrides the equivalent root option and the HATCH_ENV
environment variable.
If environments provide matrices, then you may use the -i
/--include
and -x
/--exclude
options to select or exclude certain variables, optionally followed by specific comma-separated values. For example, if you have the following configuration:
[[tool.hatch.envs.test.matrix]]
python = ["3.9", "3.10"]
version = ["42", "3.14", "9000"]
[[envs.test.matrix]]
python = ["3.9", "3.10"]
version = ["42", "3.14", "9000"]
then running:
hatch env run -i py=3.10 -x version=9000 test:pytest
would execute pytest
in the environments test.py3.10-42
and test.py3.10-3.14
. Note that py
may be used as an alias for python
.
Usage:
hatch env run [OPTIONS] ARGS...
Options:
Name | Type | Description | Default |
---|---|---|---|
--env , -e | text | The environments to target | None |
--include , -i | text | The matrix variables to include | None |
--exclude , -x | text | The matrix variables to exclude | None |
--filter , -f | text | The JSON data used to select environments | None |
--force-continue | boolean | Run every command and if there were any errors exit with the first code | False |
--ignore-compat | boolean | Ignore incompatibility when selecting specific environments | False |
--help | boolean | Show this message and exit. | False |
hatch env show¶
Show the available environments.
Usage:
hatch env show [OPTIONS] [ENVS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--ascii | boolean | Whether or not to only use ASCII characters | False |
--json | boolean | Whether or not to output in JSON format | False |
--help | boolean | Show this message and exit. | False |
hatch new¶
Create or initialize a project.
Usage:
hatch new [OPTIONS] [NAME] [LOCATION]
Options:
Name | Type | Description | Default |
---|---|---|---|
--interactive , -i | boolean | Interactively choose details about the project | False |
--cli | boolean | Give the project a command line interface | False |
--init | boolean | Initialize an existing project | False |
--help | boolean | Show this message and exit. | False |
hatch project¶
View project information
Usage:
hatch project [OPTIONS] COMMAND [ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch project metadata¶
Display project metadata.
If you want to view the raw readme file without rendering, you can use a JSON parser like jq:
hatch project metadata | jq -r .readme
Usage:
hatch project metadata [OPTIONS] [FIELD]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch publish¶
Publish build artifacts.
Usage:
hatch publish [OPTIONS] [ARTIFACTS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--repo , -r | text | The repository with which to publish artifacts [env var: HATCH_INDEX_REPO ] | None |
--user , -u | text | The user with which to authenticate [env var: HATCH_INDEX_USER ] | None |
--auth , -a | text | The credentials to use for authentication [env var: HATCH_INDEX_AUTH ] | None |
--ca-cert | text | The path to a CA bundle [env var: HATCH_INDEX_CA_CERT ] | None |
--client-cert | text | The path to a client certificate, optionally containing the private key [env var: HATCH_INDEX_CLIENT_CERT ] | None |
--client-key | text | The path to the client certificate's private key [env var: HATCH_INDEX_CLIENT_KEY ] | None |
--no-prompt , -n | boolean | Disable prompts, such as for missing required fields | False |
--initialize-auth | boolean | Save first-time authentication information even if nothing was published | False |
--publisher , -p | text | The publisher plugin to use (default is index ) [env var: HATCH_PUBLISHER ] | index |
--option , -o | text | Options to pass to the publisher plugin. This may be selected multiple times e.g. -o foo=bar -o baz=23 [env var: HATCH_PUBLISHER_OPTIONS ] | None |
--yes , -y | boolean | Confirm without prompting when the plugin is disabled | False |
--help | boolean | Show this message and exit. | False |
hatch run¶
Run commands within project environments. This is a convenience wrapper around the env run
command.
If the first argument contains a colon, then the preceding component will be interpreted as the name of the environment to target, overriding the -e
/--env
root option and the HATCH_ENV
environment variable.
If the environment provides matrices, then you may also provide leading arguments starting with a +
or -
to select or exclude certain variables, optionally followed by specific comma-separated values. For example, if you have the following configuration:
[[tool.hatch.envs.test.matrix]]
python = ["3.9", "3.10"]
version = ["42", "3.14", "9000"]
[[envs.test.matrix]]
python = ["3.9", "3.10"]
version = ["42", "3.14", "9000"]
then running:
hatch run +py=3.10 -version=9000 test:pytest
would execute pytest
in the environments test.py3.10-42
and test.py3.10-3.14
. Note that py
may be used as an alias for python
.
Usage:
hatch run [OPTIONS] [ENV:]ARGS...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch shell¶
Enter a shell within a project's environment.
Usage:
hatch shell [OPTIONS] [SHELL_NAME] [SHELL_PATH] [SHELL_ARGS]...
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch status¶
Show information about the current environment.
Usage:
hatch status [OPTIONS]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |
hatch version¶
View or set a project's version.
Usage:
hatch version [OPTIONS] [DESIRED_VERSION]
Options:
Name | Type | Description | Default |
---|---|---|---|
--help | boolean | Show this message and exit. | False |