# pyOpenSci Lessons ```{only} html ![GitHub release (latest by date)](https://img.shields.io/github/v/release/pyopensci/python-package-guide?color=purple&display_name=tag&style=plastic) [![](https://img.shields.io/github/stars/pyopensci/python-package-guide?style=social)](https://github.com/pyopensci/contributing-guide) [![DOI](https://zenodo.org/badge/556814582.svg)](https://zenodo.org/badge/latestdoi/556814582) [![View Contributors](images/contributing/contributors-badge.svg)](https://github.com/pyOpenSci/lessons#contributors-) ``` :::::{grid} 1 ::::{grid-item} :::{card} [✿ Clean Code ✿](clean-modular-code/intro-clean-code) :class-card: left-aligned * [Writing "Pythonic" Code](clean-modular-code/intro-clean-code) * [Lint, Format, and Style your Code!](clean-modular-code/python-pep-8) * [Don't Repeat Yourself (DRY) Principles](clean-modular-code/python-dry-modular-code) * [Conditions](clean-modular-code/checks-conditionals/python-conditionals) and [Exception handling](clean-modular-code/checks-conditionals/python-common-exceptions) ::: :::: ::::: ## Who this guidebook is for This living guide is updated tools and best practices evolve in the Python packaging ecosystem. We will be adding new content over the next year. :::{toctree} :hidden: :caption: Lessons :maxdepth: 2 Clean Code :::