Changelog¶
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.
[0.13.1] - 2025-02-10¶
fixed¶
issue with deeply nested profiles (inheritance)
[0.13.0] - 2025-01-30¶
fixed¶
cli: issue with
listcommand on inherited profiles
added¶
launchers :
.systemlauncher new fieldcommand_as_strlaunchers :
.systemlauncher new fieldexpand_first_arg
chores¶
Better launchers and launcher-plugin documentation.
[0.12.0] - 2024-11-15¶
added¶
context system: allow to specify suffix tokens on launchers name to filter their visiblity based on the system context on runtime.
cli: allow to specify profile to run/resolve as file paths
launchers: add
prioritykey to let kloch guess which launcher to use when a profile has multiple of them.
changed¶
!
@pythonlauncher renamed to.pythonbecause of the new context system!
systemlauncher renamed to.systemfor cohesionupdated profile version to 4
! system launcher: add subprocess_kwargs field, shell=True is not default anymore.
improve error reporting when a launcher is invalid
minor logging improvements
fixed¶
issues when picking a launcher through multiple in a profile
[0.11.2] - 2024-10-26¶
Add PyPI install instructions in documentation.
[0.11.1] - 2024-10-26¶
Fix PyPI publishing GitHub action. Doesn’t affect code.
[0.11.0] - 2024-10-26¶
added¶
cli.run_cli, extracted from__main__publish to PyPI and TestPyPI
changed¶
! full refacto of the plugin system;
load_plugin_launchersis now publicload_plugin_launchersreturn a newLoadedPluginsLaunchersobject instanceremove
get_launcher_classandget_launcher_serialized_class; not useful anymore
improve error handling (less verbose tracebacks)
moved all code in
__main__tocli
chores¶
doc: update the Usage page to reflect the change made in previous version
doc: fix missing public-api for
kloch.filesyntaxci: add ci to publish to TestPyPI and PyPI.
TestPyPI is only triggered on main branch pushes and ready-to-review PRs
PyPI is only triggered on GitHub release
added CONTRIBUTING.md
[0.10.0] - 2024-08-04¶
added¶
profile: new
!=“if not exists” tokenthe log file parent directory is created if it doesn’t exist
it’s possible to add environment variable in the keys of the config file that are paths
changed¶
! cli:
--profile_pathsrenamed to--profile_roots! profile: the default merge rule is now “append” instead of “override”
! profile: renamed the root
basekey toinheritlogs go up to 262144 bytes before being rotated
[0.9.0] - 2024-07-03¶
added¶
relative path in the config file are made absolute to the config parent dir.
fixed¶
keys in config file have their type properly casted to the expected type
[0.8.2] - 2024-06-29¶
fix¶
ci:
pluginscommand not using self._config
[0.8.1] - 2024-06-29¶
chores¶
fixed documentation not building because of import errors
[0.8.0] - 2024-06-29¶
added¶
io:
read_profile_from_id()constants module with environment variables
logging to disk with
cli_logging_pathsconfig keycontrol for the “session directory” using config
changed¶
!io: drop the global system to add profile locations, all profile location are added on each function call.
io: made
is_file_environment_profilepubliccli: add KlochConfig propagated through cli
chores¶
fixing tests CI
pyproject use extras instead of poetry groups
remove app packaging script: not used anymore
[0.7.0] - 2024-05-27¶
added¶
plugin system for launchers
individual config values can now be retrieved from environment variable
changed¶
! removed
rezenvlauncher to be extracted as plugin at https://github.com/knotsanimation/kloch-launcher-rezenvlogic change in the MergeableDict class when subclassing to return the proper subclass when adding 2 instances.
chores¶
updated
Usagedocumentation
[0.6.0] - 2024-05-25¶
added¶
cliaddpythonsubcommand to execute a file with the internal interpreterlaunchersadd a new@pythonlauncherlaunchersaddcwdattributeadd configuration system
changed¶
!! complex refacto of launcher serialization system.
launchersimprove error message when missing a required field to a launcherlaunchersimprove debbug message of subprocesslaunchersresolveenvironearlier at init instead of inexecute()launchers.rezenvremoverequiresfrom required_fileds!
ioallow to specify aprofile_locationsarg
fixed¶
profilemerging of.basewhen token in launcher nameensure python 3.7 compatibility (mostly invalid type hints)
chores¶
improved unittesting
run unittest in CI
[0.5.2] - 2024-05-06¶
chores¶
added application packaging with
nuitkain complement ofpyinstalleradd branding (logo, typography, colors, …)
add
copy-buttonextension to sphinx docminor documentation hierarchy changes
improve index/README
[0.5.1] - 2024-05-04¶
added¶
commandattribute to the.baselauncheravailable for all launcher, it is prioritary over the CLI command which is appened to it.
[0.5.0] - 2024-05-04¶
changed¶
! renamed the core repository name to
kloch(previouslykenvmanager)! renamed profile magic name to
kloch_profile(fromKenvEnvironmentProfile)
[0.4.0] - 2024-05-04¶
changed¶
! changed the concept of
managerstolaunchers, everywhere.! bump the profile version to 2
[0.3.0] - 2024-05-04¶
added¶
allow to specify a
.basemanager that is merged with others on resolve.add
kloch.get_available_managers_classesadd a new
systemmanagerallow environment variable expansion in
environadd path normalization in
environ
fixed¶
finalize the implementation of the
--command in the CLI
changed¶
!
kloch.managers.rezenvwas made private
chores¶
add custom
execinjectextension to build more dynamic documentationuse
execinjectto automatize the documentation of managers
[0.2.0] - 2024-05-02¶
Minor version bump for development purpose. No changes.
[0.1.0] - 2024-05-02¶
Initial release.