Skip to content

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

License

Notifications You must be signed in to change notification settings

rundef/pattern_kit

Repository files navigation

pattern_kit

PyPI - VersionNo dependenciesCIDocumentationPyPI - 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 Examples

Singleton example (using decorator)

frompattern_kitimportsingleton@singletonclassConfig: def__init__(self, env="dev"): self.env=env# you can also use this syntax:## from pattern_kit import Singleton# class Config(Singleton):# ...cfg=Config(env="prod") print(cfg.env) # "prod"same=Config() assertsameiscfg

Event (multicast) example

frompattern_kitimportEventdeflistener(msg): print(f"[sync] {msg}") asyncdefasync_listener(msg): print(f"[async] {msg}") on_message=Event() on_message+=listeneron_message+=async_listeneron_message("hello!") # fire-and-forgetawaiton_message.call_async("world") # fully awaited

🧑‍💻 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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published