Skip to main content

An assortment of useful python utilities complementing some builtin and third party python packages

Project description

el-std-py

el-std-py is an assortment of useful python utilities complementing some builtin and third party python packages.

Disclaimer

  1. I mainly develop this library for my own use use, and while I do thing 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.
  2. While the el-std-py is namely related to my el-std-cpp library, 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.12 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)

  • el.async_tools: Utility functions for working with asyncio
  • el.errors: More exception types for general errors I have encountered to need often. Some of them are used by el.
  • el.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.timers: Async timer classes such as IntervalTimer and WDTimer for use with asyncio
  • el.typing_tools: Utility functions for working with typing
  • el.observable: Data wrapper classes allowing the observation and chaining of value change events and thus declaratively defining data paths
  • el.datastore: Zero-setup Data and configuration file handler that uses pydantic do define data models and asyncio to automatically store/load them to/from disc in the background without having to touch filepaths or files.
  • el.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.ctk_utils: Utility functions and classes for working with customtkinter
  • el.widgets: Additional customtkinter widgets
  • el.datastore: Zero-setup Data and configuration file handler that uses pydantic do define data models and asyncio to automatically store/load them to/from disc in the background without having to touch filepaths or files.
  • el.history_manager (experimental): Utility to manage history of pydantic model instances for implementing Undo/Redo functionality
  • el.callback_manager: Simple callback registry class for exposing events
  • el.numbers (experimental): Utilities for working with numbers, such as linear mapping.
  • el.time_utils: Utilities for working with dates and times
  • el.mpl_utils: Utilities for working with matplotlib
  • el.containers: Utilities for working with container objects

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

el_std_py-0.3.0.tar.gz (68.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

el_std_py-0.3.0-py3-none-any.whl (71.6 kB view details)

Uploaded Python 3

File details

Details for the file el_std_py-0.3.0.tar.gz.

File metadata

  • Download URL: el_std_py-0.3.0.tar.gz
  • Upload date:
  • Size: 68.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.0 CPython/3.12.8

File hashes

Hashes for el_std_py-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ff7dbdcbfdb1cd34b4c4daae592531def6155e80d776e4ab3b2388e604307870
MD5 375808c2a9d1a2e05e3fbb630cdd2b35
BLAKE2b-256 190f9f31ce3f7e8b0798bea630cb8ba4bd220d68dd7f591c34cea211aab071bd

See more details on using hashes here.

File details

Details for the file el_std_py-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: el_std_py-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 71.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.0 CPython/3.12.8

File hashes

Hashes for el_std_py-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc42bf673a1b6677765bb33dd8eb58df29392d1b1dbde2891aa7e4f32f5c15fb
MD5 260f987859ef7db8870d25e9d50bc8e3
BLAKE2b-256 a743a5223a32f4b8885ec54585de7a3d26c5e816b069d2106972c89fb09c1c5b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page