Minor updates to Subscribe.js, updated LLM_DEV_PROMPTS to latest version

This commit is contained in:
KS Jannette
2026-05-11 12:46:20 -04:00
parent 2ca10ea340
commit 9b1a4cc0e2
20 changed files with 4480 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
---
title: Code Styleguide — Python
last_modified: 2026-02-22
---
1. Standard Project Layout. Use the src/ layout to prevent accidental imports from the root and ensure your project behaves like an installed package:
my_project/
├── pyproject.toml # Modern tool & dependency configuration
├── README.md # Instructions for humans
├── LICENSE # Usage rights
├── .gitignore # Exclude venv/, __pycache__/, .env
├── src/
│ └── my_project/ # Main package
│ ├── __init__.py
│ ├── main.py # Minimal entry point logic
│ └── core.py # Business logic
├── tests/ # Mirror src structure for testing
└── docs/ # Technical documentation
2. Virtual Environments: Always isolate project dependencies using venv or pyenv to avoid conflicts with system-wide packages.
3. Adhere to PEP 8: Use 4 spaces for indentation (no tabs), limit lines to 79 characters, and use two blank lines between top-level functions.
4. Put code in functions. If you are writing a script, put the script in a
function called `main` and call `main()` at the end of the script using the
standard invocation:
```python
if __name__ == "__main__":
main()
```
5. Keep main.py Boring: The entry point should only orchestrate (load config, start app). Heavy business logic should live in specialized modules.
6. Config Isolation: Never hardcode secrets or database URLs. Use a .env file with libraries like python-dotenv or Pydantic Settings.
7. Logging over Printing: Use Pythons built-in logging module to track errors and application state in production.
8. Test-First: Treat your tests/ directory as first-class code. Use pytest for its powerful features and simple syntax.
9. Naming Conventions: Use snake_case for functions and variables, PascalCase for classes, and UPPER_CASE for constants.
10. pyproject.toml: Use this as the single source of truth for project metadata and tool configurations (replaces setup.py).
11. Modular Design: Group code by domain (e.g., /users, /payments) rather than function (e.g., utils.py) to maintain separation of concerns.
# Author
[@sjdev](https://sjdev.co)
<[sj@sjdev.co](mailto:sj@sjdev.berlin)>
# License
MIT. See [LICENSE](../LICENSE).