# 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
:::