Extensions

The buildenv tool behavior can be extended, with following extension points.

Init hooks

The buildenv tool behavior can be extended, in order to:

  • handle extra steps during the build environment initialization

  • add activation scripts to be executed each time the build environment is loaded

  • enable completion for extra commands when a buildenv interactive shell is invoked

Such extensions are contributed by registering classes into the buildenv_init entry point in a given python module setup configuration. Referenced class must extend the buildenv.extension.BuildEnvExtension class.

Example syntax for entry point contribution:

[options.entry_points]
buildenv_init =
	my_extension = my_package.my_module:MyExtensionClass

Project templates

Another way to extend buildenv is to provide project templates, than can be used when setting up a new project thanks to the buildenv install command.

Such extensions are contributed by registering classes into the buildenv_template entry point in a given python module setup configuration. Referenced class must extend the buildenv.extension.BuildEnvProjectTemplate class.