The `faif/python-patterns` repository is a curated collection of Gang of Four (GoF) and other classic software design patterns, implemented in idiomatic Python. Each pattern is contained in a single, self-contained module under organized directories (creational, structural, behavioral, fundamental, other). The code is the ground truth: every module includes a `main()` function that runs doctests demonstrating usage, alongside dedicated unit tests in a parallel `tests/` directory. The implementations are not boilerplate; many demonstrate advanced Python features such as descriptors (strategy.py), metaclasses (registry.py), weak references (flyweight.py), context managers (pool.py), and closures (memento.py). The repo serves as a reference for learning or adopting design patterns in Python, with clear docstrings and examples from the Python ecosystem where applicable. It has no external runtime dependencies, relying solely on the Python standard library, making it universally applicable for study or light reuse.
This repository is an open-source book, 'Rust Design Patterns', built with mdbook and published as a website and PDF. It is a comprehensive reference cataloging Rust idioms, design patterns, anti-patterns, functional programming concepts, and FFI practices. The architecture is a static site generator (mdbook) with a custom theme providing enhanced UI features (playground integration, theme toggling, sidebar, clipboard). The book is community-driven with CI/CD pipelines for building, linting, link checking, and deployment to GitHub Pages. While not a traditional software application, it functions as a living documentation project with high-quality content and reusable infrastructure components. The primary data flow is Markdown source files processed by mdbook into HTML/PDF. External dependencies include mdbook, mdbook plugins, pandoc, TeX Live, and GitHub Actions. The repository also includes internationalization infrastructure (gettext .po files) for translations, though most translations are marked fuzzy and may be outdated.