![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-)
[![Binder](https://binder.opensci.2i2c.cloud/badge_logo.svg)](https://binder.opensci.2i2c.cloud/v2/gh/pyopensci/lessons/HEAD)
:::::{grid} 2
::::{grid-item} :::{card} ✿ Clean Code ✿ :class-card: left-aligned
- Intro to clean code
- Write "Pythonic", Expressive Code
- Lint, Format, & Style your Code
- Don't Repeat Yourself (DRY) Principles
- Write Pseudocode
::: ::::
::::{grid-item} :::{card} ✿ Code Checks ✿ :class-card: left-aligned
- About Functions
- Write Python Functions
- Add checks to functions
- Multi parameter functions
- Write Conditionals to redirect code
- Common Python exceptions
::: ::::
::::{grid-item} :::{card} ✿ Running Code ✿ :class-card: left-aligned
::: ::::
::::{grid-item} :::{card} ✿ Share Code ✿ :class-card: left-aligned
::: ::::
::::{grid-item} :::{card} ✿ Collaborative GitHub ✿ :class-card: left-aligned
More here.
::: ::::
:::::
These lessons help scientists understand best practices and tools used in the Python ecosystem. We will be adding new lessons over the next year.
In these lessons, we'll be covering topics that encourage efficient, maintainable, and reproducible code. We start out by introducing the concepts of "clean code" and "Pythonic code". Then, we move into how you can achieve clean, Pythonic code using best practices and tools.
:::{toctree} :hidden: :caption: Clean Code :maxdepth: 2
Clean Code <clean-modular-code/intro-clean-code> :::
:::{toctree} :hidden: :caption: Optimize Code :maxdepth: 2
Optimize Code <code-workflow-logic/intro> :::
:::{toctree} :hidden: :caption: Running Code :maxdepth: 2
Package Code <running-code/intro> :::
:::{toctree} :hidden: :caption: Share Code :maxdepth: 2
Share Code <publish-share-code/intro> :::
:::{toctree} :hidden: :caption: GitHub :maxdepth: 2
Collaborative GitHub <github-git/intro> :::
:::{todolist}
:::