A toolbox of command line helper script, wrapping tools used during Python development.
MIT License
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
pydantic.BaseModel
and Generic
, generating a warning.running_hook
to execution.run
to allow showing progress of a slow running tool.pydantic
dependency from 1.x
to 2.x
.tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
running_hook
to execution.run
to allow showing progress of a slow running tool.pydantic
dependency from 1.x
to 2.x
.tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
pydantic
dependency from 1.x
to 2.x
.tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
pydantic
dependency from 1.x
to 2.x
.tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
pydantic
dependency from 1.x
to 2.x
.tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
tool.delfino.local_commands_directory
. See 1.3.0 for more details.typing.Final
type annotation and use of assignment operator where possible.tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
tool.delfino.local_commands_directory
is now tool.delfino.local_command_folders
. It is a list of folders to search for local commands (instead of a single folder). The default value is ["commands"]
. delfino.models.pyproject_toml.Delfino.local_commands_directory
falls back to the first folder in local_command_folder
and will be removed in the next major version..delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
.delfinorc
.command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
command_groups
in settings are now validated (tool.delfino
and tool.delfino.plugins.<PLUGIN>
).The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
The following deprecations were removed:
contexts
moduledelfino.click_utils.filepaths.filepaths_argument
decoratordelfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
has been removed.run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
run
logs executed commands in DEBUG
log level.delfino.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
in favours of delfino.click_utils.SetOptionFromConfigCallback.parameter_from_config_in_group
.click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
click_utils.SetOptionFromConfigCallback.set_parameter_from_config_in_group
working only for click.Argument
and not click.Option
.click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
click_utils.SetOptionFromConfigCallback
that if used as a callback to click.Parameter
sub-classes will get a value for the parameter from config if not provided on the command line.decorators.files_folders
can be specified in config.decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
decorators.pass_args.set_passed_args_from_config_in_group
to allow passing the pass_args
value from config to command executed indirectly.from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
from plugin.commands import some_command as _some_command
, then _some_command
will not be visible in Delfino. However, with from plugin.commands import some_command
, some_command
would be considered as being defined in the module.decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
decorators.pass_app_context
is now keyword only (removes deprecation from previous version).decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Types of changes are:
decorators.pass_app_context
will pass a named argument defaulting to app_context
instead of a positional argument to the decorated function. This allows the decorator position to be independent on the function argument. The argument name is changeable.
If you get a warning TypeError: <FUNCTION> got multiple values for argument 'app_context'
, this is likely caused by the @click.pass_context
decorator, which is positional, and it's argument must match the position.
models.AppContext
generic to allow specifying models.PluginConfig
subclasses in plugins.Moved (change import statement):
contexts.AppContext
. Use models.AppContext
.contexts.pass_app_context
. Use decorators.pass_app_context
Changed functionality:
click_utils.filepaths_argument
. Use decorators.files_folders
instead.decorators.pass_args
decorator to allow pass-through arguments in commands. Command receives them as a passed_args
argument.decorators.files_folders_option
decorator, which implements a -f
/--file
/--folder
option to supply command with files and/or folders. It can be used multiple times. The command receives this as a files_folders
argument. Introduced to resolve a conflict with decorators.pass_args
.completion
have been moved to the plugin delfino-core
. To migrate, move the extras
of delfino
to delfino-core
.tasks
folder as a fallback for commands
, containing local Click commands.tool.delfino.<OPTION>
to tool.delfino.plugins.delfino-core.<OPTION>
:
disable_commands
sources_directory
tests_directory
reports_directory
test_types
verify_commands
disable_pre_commit
dockerhub
typecheck
click.Command
are discovered recursively rather than just in the top level files.commands
with a tool.delfino.local_commands_directory
configuration option in the pyproject.toml
file.importlib.metadata
import.importlib
deprecation.__init__.py
files in plugins.[tool.delfino]
disable_commands = [<COMMAND>]
configuration option in favour of
[tool.delfino.plugins.core]
disable_commands = [<COMMAND>]
Note that the name core
of the plugin may change in the future.pylint
).Optional
type annotation, mandated by PEP 484.disable_pre_commit
flag. If set, pre-commit integration is disabled.verify_commands
can be configured to fine-tune which commands are run as part of verify-all
verify-all
command now respects overridden commands and disabled commandslint-pylint
uses maximum number of available CPU cores to speed up execution.build-docker --serialized
also serializes emulators installation.--log-level
option to set logging level globally.ModuleNotFound
exceptions in auto-discovered commands.--debug
flag is omitted.--serialized
option to build-docker
command to prevent parallelized build of multiple platforms.pyproject.toml
or know package manager is no longer required when running without arguments or with -h
/--help
.--show-completion
and --install-completion
root parameters. Currently, only Bash is supported.completion
to install shellingham
, required by the new parameters.-h
option as an alias for --help
everywhere.contexts.AppContext.py_project_toml
to pyproject_toml
.pyproject.toml
is not in the current working directory or is missing required fields.pytest-dotenv
and pytest-mock
as they are not required by any of the commands.build-docker
passing Python version to the build incorrectly.upload-to-pypi
to push packages to Pypi using twine
.tool.delfino.disable_commands
option in pyproject.toml
to disable commands not needed in the current project.build-docker
To build and push multi-platform docker images.
Requires tool.delfino.dockerhub
defined in pyproject.toml
. Example:
username = "radeklat"
build_for_platforms = [
"linux/amd64",
"linux/arm64",
"linux/arm/v7",
]
Commands can raise AssertionError
exceptions to tell delfino
some pre-conditions haven't been met. It will be automatically translated into a click.exceptions.Exit
exception and the exception string will be printed with the command name that has caused it.
delfino
.tasks
module.utils
into more focused modules.invoke
(replaced with subprocess.run
) and termcolor
(replaced with click.secho
).typecheck
header.switch-python-version
detects if package manager is not installed and installs it if not.pyproject.toml
(which is not distributed with the package).poetry
and pipenv
)extras
dependencies in pyproject.toml
init
command to initialize required parameters and directories.rads-toolbox
to be able to publish to Pypi.