Versions follow semver.
1.0.0
while the api stabilize.
- 🐛 Fixed Python 10 support.
- 🐛 Fixed reading toml config file with more keys than defined in the config class.
- 🐛 Fixed default config property
auto_environ
to false.
- 🐛 Fix Toml dump config of type
bool
with a default and a comment with less than 40 characters. #22 - 🐛 Fix Toml dump config of type
str
with no comment and no default. #23 - 🐛 Use repr in case of error instead of
__class__.__name__
which might exist if the given type is wrong.
🐛 Fix config nestable not updated from file.
- 🐛 Fix config type.
- 🚧 Add KeyboardInterrupt event in case some resources need to be cleaned up.
- 🔨 Add global name argument to config property for use with auto global.
- 🚧 Add raw_args to cli attributes.
- 🔨 Allow for start arguments to be a string command.
- 🐛 Fix config multi instance
- 🐛 Fix config order of reading (argument > code > file).
- 🐛 Fix comment below variables in toml config format.
- 🐛 Fix plugin registration for running loops instantiation.
- 🐛 Fix config_class instantiation
- 🐛 Fix config from cli arguments with default value.
- 🐛 Fix toml null values.
- ✨ Add TOML config format.
- 🔨 Change default config format to TOML.
- 🐛 Change config_format to property auto updating serializer.
- 🔨 Removed star imports.
- 🔨 Allow configs to be set on the instance.
- 🔨 Add
print_version
option.
- ✨ Add services to run alongside applications and commands.
- ✨ Add plugin system.
- 🚧 Executor default to ThreadPoolExecutor.
- 🚧 Export AsyncExecutor.
- ✨ Add Executor wraps
- 🚧 Add Executor max workers argument
- ✨ Add Event & Dispatcher
- ✨ Add cli events.
- 🐛 Fix multiple logging handlers registered during tests.
- 🚧 Add options for configuring the logger.
- 🐾 Moved console related functions to console package.
- 🐾 Moved keyhandler to console package.
- ✨
console.progress_bar
- ✨ Add auto arguments from command functions.
- ✨ Add auto global argument for config.
- 🚧 Add
symbols
argument toconsole.spinner
- 🐛 Config get_root return self if root.
- 🔨 Allow config instance to be set directly.
- 🔨 Add root config class docstring as the first config comment.
- 💥 Rename
CliApp
->Precept
. - 🔪 Removed old ConfigProp.
- 🔪 Removed
Precept.configs
, nowPrecept.config
with new config api.
- ✨ Command help from docstring.
- 🚧 Add help formatter argument.
- ✨ Nested commands support, wrap a class into a
Command
. - ✨ Config class
- Comment support
- Ini/yaml/json format choices
- value from environ
- nestable config attribute lookup
- config factory.
- 🚧 Errors classes:
PreceptError
,ConfigError
,ImmutableError
- KeyHandler fixes:
- Remove no handler print.
- Add Keys class with most specials keys.
- Handle ctrl-c by default.
- Fix single argument casing (auto convert to snake_case).
- Added global
--log-file
option - Added
execute_with_lock
toAsyncExecutor
(CliApp.executor
) - Added
add_dump_config_command
, addsprog dump-config outfile
command to output the currently used config file. - Added
ImmutableDict
, immutable mapping with auto attribute lookup from__init__
arguments. - Added
goto_xy
,getch
. - Added
KeyHandler
, reads each sys.stdin keys as they come and apply a function according to the key.
- Default
main
command onCliApp
now async. - Removed
_
prefix fromprog_name
,global_arguments
,default_configs
,version
. Argument
andconfigs
are nowImmutableDict
.- Removed
kwargs
fromArgument
, allparser.add_argument
parameters now available as key argument. config_file
can be a list of paths to check for existence in order.
- Added
help
toCommand
- Set
spinner
default background toNone
- Initial release