Skip to main content

A modern Python library of reusable software design patterns.

Project description

pattern_kit

PyPI - Version No dependencies CI Documentation PyPI - Downloads

A modern Python library of reusable software design patterns.
Your blueprint for better Python architecture.


pattern_kit is a developer-friendly Python library offering clean, idiomatic implementations of common software design patterns. It focuses on real-world usability, pragmatic APIs, and simple integration into your projects.

While many examples exist online, pattern_kit is designed as a pip-installable, production-grade package with a consistent structure and proper documentation - making design patterns approachable and usable in everyday codebases.


Features

  • Clean, idiomatic Python implementations
  • Supports both synchronous and asynchronous designs
  • Type-annotated and easy to extend
  • Ready-to-use patterns for real-world projects
  • Extensive documentation with examples
  • Zero dependencies - pure Python, clean and portable

Installation

pip install pattern_kit

Documentation

Full usage examples and pattern guides are available in the official documentation

Quick Example

from pattern_kit import Observable, Observer

class MyObserver(Observer):
    def notify(self, event, data=None):
        print(f"Received: {event} - {data}")

obs = Observable()
observer = MyObserver()

obs += observer
obs.notify("on_data", {"price": 42})

Who is this for?

Python developers who want to structure their codebase better and apply solid, proven software architecture principles.

Contributing

Contributions are welcome! Feel free to open issues, suggest improvements, or submit pull requests.

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

pattern_kit-1.0.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

pattern_kit-1.0.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file pattern_kit-1.0.0.tar.gz.

File metadata

  • Download URL: pattern_kit-1.0.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pattern_kit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bad2fa583e41559f07ebc8223b801ec5c66fe904e24c66243f97f0b3050ec27e
MD5 607922f85050105f8b86a2d62a50c761
BLAKE2b-256 5365fb093d86f3a71128222074163a3f25e8cced9bfa2c17229c21a818e002b3

See more details on using hashes here.

File details

Details for the file pattern_kit-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pattern_kit-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pattern_kit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48ca80191facdf39c0b314a2dc58803b58ef9e1915cecc2f9bb46c2ec50ba149
MD5 6c73ef6a90116c33fb9cc68ab04216ce
BLAKE2b-256 c4f9c4a8bbe9d9c2f916c4d5e7170f346ab0cad9719197a3b56b6db40ff069f2

See more details on using hashes here.

Supported by

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