.. toctree:: :caption: Usage :maxdepth: 2 :hidden: installation usage/main
.. toctree:: :caption: Reference :maxdepth: 1 :hidden: api/modules contributing conduct authors development/development.main changelogs/changelogs license
Frequently used components for Python projects.
I found myself copying/re-writing certain components for my projects over and over again. This library is an attempt to take some of these components I find myself needing frequently (and re-writing too frequently) and package them up in a convenient and easy-to-use format.
All of the components in :py:mod:`frequent` have extensive :doc:`code documentation <api/modules>` (as well as extensive :doc:`usage documentation <usage/main>` and examples) and unit tests. The modules (and their associated unit tests) are entirely self-contained and depend solely on the standard library.
- :doc:`config <usage/component.config>`: components providing global application configuration settings management and storage.
- :doc:`messaging <usage/foundation.messaging>`: the foundations for building custom messaging frameworks.
- :doc:`repository <usage/pattern.repository>`: base class (and exception classes) for implementing the repository pattern for back-end agnostic object storage.
- :doc:`singleton <usage/utility.singleton>`: metaclass for creating singleton classes.
- :doc:`unit_of_work <usage/pattern.unit_of_work>`: base classes for implementing the unit of work pattern for transactional blocks.
You have a two options for installing/using frequent. The first is to install it the normal way, using your package manager of choice (pipenv for instance):
$ pipenv install frequent
The second way is via vendorizing the module(s) you need by copying the file(s) for the module(s) you want directly into your project. See the :doc:`installation guide <installation>` for more details.
Contributions to this project are welcome - and credit will always be given via
the project's AUTHORS
file. For details on contributing see the
:doc:`contribution guide <contributing>`.
This project is Copyright © 2019 by Douglas Daly. This software is free software, licensed under the :doc:`MIT License <license>`.