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 builds.

Why would this project be useful to you?

To develop your code, while abstracting common software patterns away and focus on important business logic.

  • To promote the DRY prinicipal in your codebase.

  • To promote the principal of Single Responsibility in your codebase.

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

  • To keep technical debt low in your codebase.

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.

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.