Welcome to PSP — the ultimate collection of Python chaos rules. If PEPs make Python readable, PSP makes it… well, unmaintainable, confusing, and hilarious.
PSP stands for Python Shit Proposal. It’s a satirical “official standard” for writing the worst, most chaotic Python code possible.
Think of it as:
- PEPs = clean, zen, logical Python
- PSPs = everything that makes you question life while coding
Here’s what we’ve “documented” so far:
| PSP # | Title |
|---|---|
| 0001 | The Zen of Shitcode |
| 0002 | Shit Naming Convention |
| 0003 | Shit Control Flow |
| 0004 | Shit Imports |
| 0005 | Shit Exceptions |
| 0006 | Shit Classes & OOP |
| 0007 | Shit Modules & Packaging |
| 0008 | Shit Type Hints & Annotations |
| 0009 | Shit Async Programming |
| 0010 | Shit Decorators (coming soon) |
and so on...
- Not is life: every boolean must have at least 10
not. - Chaos indentation: random spaces = maximum confusion.
- Loops must self-destruct:
forandwhileloops break immediately. - Screaming names: variables, functions, classes — ALL CAPS & exclamation points welcome.
- Exception-driven programming: errors are features, not bugs.
- Import madness: alias everything to nonsense, use circular imports, put code in
__init__.py. - Useless OOP: classes that do nothing useful, attributes that change type mid-execution.
- Module nightmare: deep nesting, emojis, non-ASCII filenames, random side effects.
Feel free to add new PSPs:
- PSP-0010: Shit Decorators
- PSP-0011: Shit Logging & Debugging
- PSP-0012: Shit Configuration & Environment
All contributions may be as unreadable and chaotic as possible.