Plugin utilities¶
hatchling.builders.utils.get_reproducible_timestamp() ¶
Returns an int derived from the SOURCE_DATE_EPOCH environment variable; see https://reproducible-builds.org/specs/source-date-epoch/.
The default value will always be: 1580601600
Source code in hatchling/builders/utils.py
def get_reproducible_timestamp():
"""
Returns an `int` derived from the `SOURCE_DATE_EPOCH` environment variable; see
https://reproducible-builds.org/specs/source-date-epoch/.
The default value will always be: `1580601600`
"""
return int(os.environ.get('SOURCE_DATE_EPOCH', '1580601600'))
BuilderConfig ¶
Application ¶
The way output is displayed can be configured by users.
abort(message = '', code = 1, **kwargs) ¶
Terminate the program with the given return code.
display_debug(message = '', level = 1, **kwargs) ¶
Meant to be used for messages that are not useful for most user experiences. The level option must be between 1 and 3 (inclusive).
display_error(message = '', **kwargs) ¶
Meant to be used for messages indicating some unrecoverable error.
display_info(message = '', **kwargs) ¶
Meant to be used for messages conveying basic information.
display_success(message = '', **kwargs) ¶
Meant to be used for messages indicating some positive outcome.
display_waiting(message = '', **kwargs) ¶
Meant to be used for messages shown before potentially time consuming operations.
display_warning(message = '', **kwargs) ¶
Meant to be used for messages conveying important information.
Platform ¶
format_for_subprocess(command: str | list[str], *, shell: bool) ¶
Format the given command in a cross-platform manner for immediate consumption by subprocess utilities.
run_command(command: str | list[str], shell = False, **kwargs) ¶
Equivalent to the standard library's subprocess.run, with the command first being properly formatted.
check_command(command: str | list[str], shell = False, **kwargs) ¶
Equivalent to run_command, but non-zero exit codes will gracefully end program execution.
check_command_output(command: str | list[str], shell = False, **kwargs) -> str ¶
Equivalent to the output from the process returned by capture_process, but non-zero exit codes will gracefully end program execution.
capture_process(command: str | list[str], shell = False, **kwargs) ¶
Equivalent to the standard library's subprocess.Popen, with all output captured by stdout and the command first being properly formatted.
exit_with_command(command: list[str]) ¶
Run the given command and exit with its exit code. On non-Windows systems, this uses the standard library's os.execvp.
default_shell() property ¶
Returns the default shell of the system.
On Windows systems first try the SHELL environment variable, if present, followed by the COMSPEC environment variable, defaulting to cmd. On all other platforms only the SHELL environment variable will be used, defaulting to bash.
modules() property ¶
Accessor for lazily loading modules that either take multiple milliseconds to import (like shutil and subprocess) or are not used on all platforms (like shlex).
name() property ¶
One of the following:
linuxwindowsmacos
windows() property ¶
Indicates whether Hatch is running on Windows.
macos() property ¶
Indicates whether Hatch is running on macOS.
linux() property ¶
Indicates whether Hatch is running on neither Windows nor macOS.
EnvironmentContextFormatter ¶
formatters() ¶
This returns a mapping of supported field names to their respective formatting functions. Each function accepts 2 arguments:
- the
valuethat was passed to the format call, defaulting toNone - the modifier
data, defaulting to an empty string