Repository navigation
This is a major release, accumulating changes committed over the last five months.
This release adds the following features/makes the following changes:
- added
ResetSemaphoretoasync_tools - added
ToolbarButtontowidgets - added the ability to specify a file extension on
el.datastorefiles and specialized files - added the ability to change autosave behavior of
el.datastorefiles and specialized files - added the ability to access public
el.datastore.Fileattributes on specialized files - generalized parameter passing of
el.datastore.Fileandel.datastore.specialized_file - added
el.widgets.value_box.ValueBox - added module
el.datastore.savable - renamed
el.datastore.set_datastore_base_pathtoel.datastore.set_datastore_rootto prevent confusion with specialized_file's base path - added module
el.nixos_ctk_font_fix - added support for connecting
el.terminal.TerminalControllerto non-ttys.- Interactivity (prompt, command handling) will now automatically be disabled when connecting stdin to a non-tty (e.g. when using .desktop files or cron jobs) instead of the application crashing.
- added module
el.tkml: Tkinter wrappers to build UIs more easily using a declarative ish "markup language" using context managersel.tkml.adapterscontains adapter functions to integrate legacy tkinter widgets and variablesel.tkml.packcontains a pack wrapperel.tkml.gridcontains contextual or layout-based grid wrappers to simplify developer experience
- added
el.timers.WDTimer.activeproperty - added
el.observable.filters.throttleand a newStatefulFilterAPI to implement it and similar time-based filters - added
el.lifetime: A system to manage Callback and observable lifetimes using aLifetimeManager:- This system currently works for
el.callback_manager.CallbackManagerandel.observable.Observable - With this change,
el.callback_manager.CallbackIDhas been removed and is to be replaced withel.lifetime.RegistrationID - The system is extensible, other registries can be managed as well by implementing
el.lifetime.AbstractRegistry
- This system currently works for
el.observable.filter.call_if_true()now supports aFalsecase- added
MaybeObservabletype and the accompanying functionsmaybe_observeandmaybe_obs_valuetoel.observable el.observable.Observable.observe()now has a flag to disable initial updates- added module
el.widgets.ctkex: A collection of CTk Widgets with extended functionality such as touchscreen mode. (Unlike otherel.widgets, these are not new, specialized widgets, but just regular CTk widgets with some additional functionality)- option to selectively disable corner rounding on
CTkEntryExandCTkButtonEx - patched support for
background_corner_colors,round_height_to_even_numbers,round_width_to_even_numbersarguments (fromCTkButton) intoCTkEntryEx
- option to selectively disable corner rounding on
- added
spinbox.SpinBoxtoel.widgets- configurable increments and formatting
- text input and button input possible
- configurable text/icons on buttons
- child-widgets exposed for further customization
- observable
- added working implementation of
ComposedObservableand thecomposehelper function toel.observable - added bidirectional linking support to observables using the
link()method - added module
el.assetsto provide anAssetManagerclass and some builtin assets - added module
el.widgets.keyboard: configurable on-screen-keyboard for editingCTkEntryExand derivatives on touchscreens
Some of the changes are breaking and some functions have been renamed. Before updating to this version, keep in mind that you may need to perform some migrations in the codebase.
Install from PyPi: el-std-py 0.4.0