<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><title>Four Spaces</title><link>https://pep8online.com/</link><description>Python style and readable code, explained</description><item><title>Adopting PEP 8 and a Formatter in an Existing Python Codebase</title><link>https://pep8online.com/adopting-a-style-guide-in-an-existing-codebase/</link><guid>https://pep8online.com/adopting-a-style-guide-in-an-existing-codebase/</guid><pubDate>2026-10-27</pubDate><description>How to bring an existing Python project in line with PEP 8 without disrupting the team: agreeing on rules, one-off reformatting versus gradual adoption, keeping git blame useful, baselining linter warnings, and enforcing the result in CI.</description></item><item><title>Black, the Python Code Formatter: How It Works and How to Configure It</title><link>https://pep8online.com/black-code-formatter/</link><guid>https://pep8online.com/black-code-formatter/</guid><pubDate>2026-10-27</pubDate><description>What the Black formatter does and why it has so few options: the 88-character line, double quotes, the magic trailing comma, its stability policy, configuration in pyproject.toml, and making it work with flake8, isort and git blame.</description></item><item><title>How to Check Python Code Style Locally with pycodestyle, flake8 and ruff</title><link>https://pep8online.com/check-python-style-locally/</link><guid>https://pep8online.com/check-python-style-locally/</guid><pubDate>2026-10-27</pubDate><description>Step-by-step: install pycodestyle, flake8 or ruff in a virtual environment, run them on a file or a project, read the output, configure line length and rules in setup.cfg or pyproject.toml, fix issues automatically and run the checks in CI.</description></item><item><title>Python Docstrings: PEP 257 Conventions, Formats and Tools</title><link>https://pep8online.com/docstrings-pep-257/</link><guid>https://pep8online.com/docstrings-pep-257/</guid><pubDate>2026-10-27</pubDate><description>How to write Python docstrings following PEP 257: one-line and multi-line docstrings, what to document for modules, classes and functions, the reST, Google and NumPy formats, doctest, and checking docstrings with ruff or pydocstyle.</description></item><item><title>flake8 and pylint: What Each Python Linter Checks and How They Differ</title><link>https://pep8online.com/flake8-and-pylint/</link><guid>https://pep8online.com/flake8-and-pylint/</guid><pubDate>2026-10-27</pubDate><description>A neutral comparison of flake8 and pylint based on their documentation: what each one checks, how they report problems, configuration files, plugins and message control, with the output of both on the same file.</description></item><item><title>Python Indentation and Line Length: 4 Spaces, 79 Characters and Continuation Lines</title><link>https://pep8online.com/indentation-and-line-length/</link><guid>https://pep8online.com/indentation-and-line-length/</guid><pubDate>2026-10-27</pubDate><description>What PEP 8 says about indentation, tabs versus spaces, the 79-character limit, continuation lines and breaking before binary operators, with tested examples and the pycodestyle codes that report each problem.</description></item><item><title>PEP 8 Explained: The Python Style Guide, Section by Section</title><link>https://pep8online.com/pep-8-explained/</link><guid>https://pep8online.com/pep-8-explained/</guid><pubDate>2026-10-27</pubDate><description>A guided tour of PEP 8, the style guide for Python code: what each section says about layout, whitespace, comments, naming and programming recommendations, what is a rule and what is advice, and how tools enforce it.</description></item><item><title>PEP 8 Programming Recommendations: is None, Bare except, Lambdas and Other Habits</title><link>https://pep8online.com/pep-8-programming-recommendations/</link><guid>https://pep8online.com/pep-8-programming-recommendations/</guid><pubDate>2026-10-27</pubDate><description>The programming recommendations at the end of PEP 8, each with a tested example: comparing to None, truthiness, def instead of lambda, specific exceptions, small try blocks, consistent returns, startswith and isinstance.</description></item><item><title>Pre-commit Hooks for Python: Run Linters and Formatters Before Every Commit</title><link>https://pep8online.com/pre-commit-hooks-for-python/</link><guid>https://pep8online.com/pre-commit-hooks-for-python/</guid><pubDate>2026-10-27</pubDate><description>How git pre-commit hooks work and how the pre-commit framework manages them: a .pre-commit-config.yaml for whitespace fixes, ruff and formatting, installing, running on all files, updating hook versions and using the same checks in CI.</description></item><item><title>pycodestyle Error Codes Explained: E1 to E9 and W1 to W6</title><link>https://pep8online.com/pycodestyle-error-codes/</link><guid>https://pep8online.com/pycodestyle-error-codes/</guid><pubDate>2026-10-27</pubDate><description>A reference to pycodestyle&#x27;s error and warning codes, family by family: what E101, E225, E302, E501, E711, W291 and the others mean, how to fix them, which are ignored by default, and how to select, ignore or silence codes.</description></item><item><title>A Code Review Checklist for Python Projects</title><link>https://pep8online.com/python-code-review-checklist/</link><guid>https://pep8online.com/python-code-review-checklist/</guid><pubDate>2026-10-27</pubDate><description>A practical checklist for reviewing Python code: what to automate before review, what a human should look at (behaviour, tests, names, structure, errors, security), how to write review comments that help, and how to respond as an author.</description></item><item><title>Python Imports Style: Order, Grouping, Absolute vs Relative and Wildcards</title><link>https://pep8online.com/python-imports-style/</link><guid>https://pep8online.com/python-imports-style/</guid><pubDate>2026-10-27</pubDate><description>How PEP 8 wants imports written: one per line, at the top, grouped as standard library, third party and local; absolute versus relative imports, wildcard imports, __future__ and __all__, and sorting imports with isort or ruff.</description></item><item><title>Python Naming Conventions: Modules, Classes, Functions, Constants and Underscores</title><link>https://pep8online.com/python-naming-conventions/</link><guid>https://pep8online.com/python-naming-conventions/</guid><pubDate>2026-10-27</pubDate><description>PEP 8&#x27;s naming conventions explained: snake_case, CapWords and UPPER_CASE, what single and double underscores mean, names to avoid, and which linters check names (pylint, pep8-naming, ruff).</description></item><item><title>Python Type Hints: From PEP 484 to Modern Syntax, with Style Rules</title><link>https://pep8online.com/python-type-hints/</link><guid>https://pep8online.com/python-type-hints/</guid><pubDate>2026-10-27</pubDate><description>A practical introduction to Python type hints: what annotations do and do not do at runtime, the syntax from PEP 484 to list[int], X | None and PEP 695 generics, how to format annotations, and how type checkers such as mypy use them.</description></item><item><title>Readable Python Code: Beyond PEP 8</title><link>https://pep8online.com/readable-python-code/</link><guid>https://pep8online.com/readable-python-code/</guid><pubDate>2026-10-27</pubDate><description>What makes Python code easy to read once the style checker is happy: the Zen of Python, names that reveal intent, flat control flow, small functions, named constants and the standard library idioms that say what they mean, with a tested before-and-after example.</description></item><item><title>Relocating as a Software Developer: A Practical Checklist for Your First Months in a New City</title><link>https://pep8online.com/relocating-as-a-software-developer/</link><guid>https://pep8online.com/relocating-as-a-software-developer/</guid><pubDate>2026-10-27</pubDate><description>A practical relocation checklist for developers moving for a new job: paperwork and right to work, finding a place to live with a good connection and a sane commute, the first week&#x27;s admin, setting up your work, onboarding into a new codebase and building a life outside work.</description></item><item><title>Ruff for Python: Linter and Formatter, Rule Selection and Configuration</title><link>https://pep8online.com/ruff-linter-and-formatter/</link><guid>https://pep8online.com/ruff-linter-and-formatter/</guid><pubDate>2026-10-27</pubDate><description>What ruff is and how to use it: rule codes borrowed from pycodestyle, pyflakes and flake8 plugins, selecting rules in pyproject.toml, safe and unsafe fixes, the formatter, preview rules, and how it relates to flake8 and Black.</description></item><item><title>Whitespace and Blank Lines in Python: What PEP 8 Asks For</title><link>https://pep8online.com/whitespace-and-blank-lines/</link><guid>https://pep8online.com/whitespace-and-blank-lines/</guid><pubDate>2026-10-27</pubDate><description>PEP 8&#x27;s rules on spaces around operators, commas, brackets, keyword arguments, inline comments and blank lines between definitions, with the pycodestyle warnings for each and the cases where the checker and the style guide disagree.</description></item><item><title>Writing Useful Comments in Python: What PEP 8 Says and What Helps Readers</title><link>https://pep8online.com/writing-useful-comments/</link><guid>https://pep8online.com/writing-useful-comments/</guid><pubDate>2026-10-27</pubDate><description>How to write Python comments that help: PEP 8&#x27;s rules for block and inline comments, explaining why rather than what, TODOs, commented-out code, tool directives such as noqa and type: ignore, and how comments differ from docstrings.</description></item></channel></rss>
