This repository collects all the knowledge, documentation, best practices, tips, templates and manuals developed by 510 for python applications.
Framework-agnostic tooling and standards that apply to all Python projects: dependency management (uv, pyproject.toml), CI/CD (GitHub Actions), code quality (ruff, type checking, pre-commit), logging & observability (Azure Monitor), and Docker best practices.
Best practices for building FastAPI web APIs. Covers project structure, configuration, testing, and framework-specific deployment details.
Best practices for building Flask web applications with server-rendered HTML (Jinja2 templates, forms, sessions). Covers the application factory, blueprints, WTForms, security headers, testing, and framework-specific deployment details.
Best practices for building data pipelines that extract data from external sources, transform it, and load it into a target system (API, database, file store). Covers project structure, configuration, data types, error handling, testing, CLI design, deployment, and more.
Best practices for building reproducible, well-structured Jupyter notebook workflows for data analysis, statistical calibration, and geospatial modeling. Covers notebook structure, conda environments, lazy data loading, memory management, visualization, code reuse, and more.
Parts of the code in this repository were written and reviewed with the assistance of AI tools, including large language models (LLMs). All AI-generated code has been reviewed by human contributors before being merged. The humans involved take responsibility for the correctness and quality of the code. If you have questions or concerns, please contact the maintainers.