Modules

The frequent package provides helpful components and utilities which are commonly used in larger projects. Each is self-contained in a seperate module. These modules can be broadly divided into four categories:

  • Full-fledged, ready-to-use implementations of frequently-used application Components.

  • Base components which lay the Foundations for frequently-used components, but require some customization prior to use.

  • Abstract software design Patterns to be implemented for specific use cases.

  • Useful and frequently-repeated Utilities to avoid re-writing boilerplate code time and time again.

Each of the modules is neatly packaged into a single-file which depends only on the standard library and can be dragged-and-dropped into your application as needed. The associated unit tests for each module (written for PyTest), are also provided and, like the components, are self-contained within the respective test_<module> files. Everything is typed using the new typing library and documented (extensively) using Numpy-style docstrings.

Components

The following full-featured components are provided which are ready to drop into applications and use as-is:

Foundations

The following modules provide mostly full-featured components which require some degree of subclassing and/or customization prior to using:

Patterns

Abstract design pattern components to be tailored to specific use-cases are provided for the following patterns:

Utilities

These commonly used (and often repeatedly re-written) utilities are provided: