Introduction

In these documentation pages we present the software_patterns Python package and the motivation for publishing it. The package currently host only a handful of software patterns, but they come with a test suite and full CI for local and remote integrations.

Why would this project be useful to you?

To Learn:

  • You may study the source code to find out more about software design patterns.

  • You may wanna learn how to make an open source code contribution and find this codebase a good place to start.

To use the python package and its contained software patterns in your project:

  • To promote good software quality in your python codebase.

  • To promote the DRY prinicipal in your client code.

  • To promote the principal of Single Responsibility in your client code.

  • To promote having Simple Units of Code in your project.

Why use this Python Patterns library?

It is user-friendly with a clean API designed to reduce boilerplate code needed to use a pattern in your client code.
It comes with a 100% code coverage test suite (automated tests).
It is statically type checked with mypy.
It features (these) documentation pages with examples on how to use the package, doctests (see [here]) and complete API reference (automated) documentation.
It is developer-friendly featuring a public CI-workflow with jobs automating running tests, deploying the python package to a staging server, hosting the test coverage results and visualizing the code dependencies and uml diagrams.