Skip to content

Python Development Tooling Tutorials

Step-by-step lessons that guide beginners through Python development tool setup and usage.

To request additional tutorials, please use the feedback form at the bottom of the page.

Build a Python library with a C extension

Create a Python package that calls C functions using cffi and uv, with no prior C experience required.

Build a Python library with a C++ extension

Create a Python package with C++ functions using pybind11, scikit-build-core, and uv.

Build a Python library with a Rust extension

Create a Python package with Rust-powered functions using maturin, PyO3, and uv.

Create your first Python project

Build a text analysis tool from scratch using uv, with no prior Python experience required.

Create your first Python project with pixi

Build a weather data analysis tool with pandas and matplotlib, all installed from conda-forge and managed by pixi.

Getting started with uv

Install uv, create a Python project, manage dependencies, run code, and switch Python versions in one tutorial.

Migrate a conda project to pixi

Convert an existing conda environment.yml to a pixi project with pixi.toml, a lockfile, tasks, and project-local environments.

Publishing Your First Python Package to PyPI

Build and upload a Python package to TestPyPI using uv, learning the publishing workflow.

Run your first Python script with uv

Create and run a Python script using uv, then add a third-party dependency with inline script metadata. No prior Python installation needed.

Set up a data science project with uv

Create a reproducible data science project with pandas, matplotlib, and Jupyter notebooks, all managed by uv.

Set up a GPU data science project with pixi

Build a PyTorch image classification project with pixi, using conda-forge for CUDA dependencies and multi-environment support for GPU and CPU variants.

Set up Ruff for formatting and checking your code

Configure Ruff to automatically format Python code and check for common errors and style issues.

Setting up GitHub Actions with uv

Automate testing and linting for a Python project using GitHub Actions and uv.

Setting up testing with pytest and uv

Set up a testing environment using pytest with uv, including project structure, fixtures, coverage, and configuration.

Take over an existing conda environment

Learn to work with conda environments you've inherited: create from environment.yml, explore, add dependencies, and export for teammates.

Last updated on

Please submit corrections and feedback...