faif/python-patterns

A collection of design patterns/idioms in Python

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on August 31st, 2026
Created on June 6th, 2012
Open Issues & Pull Requests: 17 (+0)
GitHub issues: Enabled
Number of forks: 6,991
Total Stargazers: 42,953 (+0)
Total Subscribers: 1,581 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.1 days
Mean response time: 21.3 days
90th percentile: 72.7 days
Tracked items: 15

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,995 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (7)
  • question (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

python-patterns is a collection of design patterns and idioms in Python.

The collection addresses the need for developers to understand and apply proven solutions to common programming problems. It organizes patterns into three categories: creational patterns that abstract and control object creation, structural patterns that define how classes and objects compose into larger structures, and behavioral patterns concerned with communication and responsibility between objects. Each pattern is presented with a description of its purpose and a working implementation, allowing developers to see both the concept and its practical application in Python.

The project suits developers learning design patterns or seeking reference implementations when designing new systems. It is particularly valuable for those working in Python who want to understand how classic Gang of Four patterns translate to the language's idioms and conventions. The collection emphasizes that each pattern involves trade-offs and that understanding why a pattern is chosen matters more than memorizing its implementation.

The project maintains a straightforward reference collection with implementations across creational, structural, and behavioral categories. Development activity shows consistent, measured engagement with the codebase through regular updates and refinements to existing patterns. The maintainers respond to community contributions and issues, indicating active stewardship of the collection as a learning resource.