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.12.0] - 2024-11-??¶
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
priority
key to let kloch guess which launcher to use when a profile has multiple of them.
changed¶
!
@python
launcher renamed to.python
because of the new context system!
system
launcher renamed to.system
for 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_launchers
is now publicload_plugin_launchers
return a newLoadedPluginsLaunchers
object instanceremove
get_launcher_class
andget_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.filesyntax
ci: 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_paths
renamed to--profile_roots
! profile: the default merge rule is now “append” instead of “override”
! profile: renamed the root
base
key toinherit
logs 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:
plugins
command 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_paths
config 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_profile
publiccli: 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
rezenv
launcher 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
Usage
documentation
[0.6.0] - 2024-05-25¶
added¶
cli
addpython
subcommand to execute a file with the internal interpreterlaunchers
add a new@python
launcherlaunchers
addcwd
attributeadd configuration system
changed¶
!! complex refacto of launcher serialization system.
launchers
improve error message when missing a required field to a launcherlaunchers
improve debbug message of subprocesslaunchers
resolveenviron
earlier at init instead of inexecute()
launchers.rezenv
removerequires
from required_fileds!
io
allow to specify aprofile_locations
arg
fixed¶
profile
merging of.base
when 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
nuitka
in complement ofpyinstaller
add branding (logo, typography, colors, …)
add
copy-button
extension to sphinx docminor documentation hierarchy changes
improve index/README
[0.5.1] - 2024-05-04¶
added¶
command
attribute to the.base
launcheravailable 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
managers
tolaunchers
, everywhere.! bump the profile version to 2
[0.3.0] - 2024-05-04¶
added¶
allow to specify a
.base
manager that is merged with others on resolve.add
kloch.get_available_managers_classes
add a new
system
managerallow environment variable expansion in
environ
add path normalization in
environ
fixed¶
finalize the implementation of the
--
command in the CLI
changed¶
!
kloch.managers.rezenv
was made private
chores¶
add custom
execinject
extension to build more dynamic documentationuse
execinject
to 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.