el-std-py
el-std-py is an assortment of useful python utilities complementing some builtin and third party python packages.
Disclaimer
- I mainly develop this library for my own use use, and while I do think that it might be useful to others, there is no guarantee that features work as expected and I may introduce breaking changes to APIs at any time.
- While the
el-std-pyis namely related to myel-std-cpplibrary, the two are not related in any way content-wise and there is no promise of feature parity whatsoever. Both libraries are simply utility libraries for the respective languages with features I commonly use in them. They are otherwise independent.
Versions
I am currently targeting Python 3.13 for this library. Although some things might work in earlier versions, there is no guarantee, and I will not refrain from using the latest python features.
Features and Documentation
While I might write more comprehensive documentation for some features along the way, I will at least try to maintain an up-to-date list of all available features:
(when reading from PyPi, some links might not work. View on GitHub for full documentation)
General program logic
el.async_tools: Utility functions for working withasyncioel.terminal: Terminal controller enabling an asynchronous command interface and a color-coded logging configuration that is a good stating point and pushes logs to stdout without disturbing the user command line.el.observable: Data wrapper classes allowing the observation and chaining of value change events and thus declaratively defining data pathsel.bindantic: An unofficial "extension" (one could call it a "mod") for pydantic that adds support for defining, dumping and validating binary data structures (like in C), while maintaining all pydantic features.el.callback_manager: Simple callback registry class for exposing eventsel.lifetime: Contextual lifetime management for registries (Any object that requires to register something, like aCallbackManagerorObservable)el.datastore: Zero-setup database-like data and configuration file handler that uses pydantic do define data models andasyncioto automatically store/load them to/from disc in the background without having to touch filepaths or files.el.timers: Async timer classes such as IntervalTimer and WDTimer for use withasyncioel.time_utils: Utilities for working with dates and timesel.errors: More exception types for general errors I have encountered to need often. Some of them are used by el.el.typing_tools: Utility functions for working withtypingel.numbers: Mathematical utilities for working with numbers, such as linear mapping.el.containers: Utilities for working with container objects
UI
el.ctk_utils: Utility functions and classes for working withcustomtkinterel.widgets: Additionalcustomtkinterwidgetsel.tkml: Tkinter Markup Language: A more user-friendly way to define hierarchical UI with Tk/CTk widgetsel.mpl_utils: Utilities for working withmatplotlibel.assets: UI assest manager and some built-in assets
Debugging/Development
el.analysis: Utilities for analyzing code performanceel.nixos_ctk_font_fix: Module to work around issues when using CTk on NixOS (not intended for production)
Experimental
These might not be fully implemented (yet).
el.history_manager(experimental): Utility to manage history of pydantic model instances for implementing Undo/Redo functionality
Contribution
Despite all these disclaimers, if you have utilities, changes, fixes, etc. that you think might be nice to include here, feel free to create issues/PRs.
3rd party components and attribution
This library contains some third-party components requiring attribution, mainly assets for UI widgets. These components are exempt from the terms of LICENSE and instead fall under the terms of their respective licenses as provided by their authors.
Assets/Icons:
Metadata
Release files for el-std-py 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| el_std_py-0.4.0.tar.gz | 148.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| el_std_py-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 306.7 kB
Release files / el_std_py-0.4.0.tar.gz
| Download URL | el_std_py-0.4.0.tar.gz |
|---|---|
| Size | 148.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6309dc7c47db37691f570883dbec36be2b651a7032c4ce08ef89c35d0f4d290f
|
|
BLAKE2b-256 checksum How to use checksums |
3b76acfe94749e9ce606b879b5a1a17328660437c72b0ff6a61aba6f90feaf88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|
Release files / el_std_py-0.4.0-py3-none-any.whl
| Download URL | el_std_py-0.4.0-py3-none-any.whl |
|---|---|
| Size | 158.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99a99286e3075501dcdd0b12fe5f69fd3128e9ce395164da155e2a3ce155302b
|
|
BLAKE2b-256 checksum How to use checksums |
9720402af9a8c87d19446853a4875546838ed8d80a62456eba041237d13a7a4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.4
|