Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the same out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build
Hypermodern Python Tooling (2nd Release)
β Scribed by Claudio Jolowicz
- Publisher
- OβReilly Media, Inc.
- Year
- 2023
- Tongue
- English
- Leaves
- 77
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the same out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build reliable workflows beyond local development while staying in sync with the evolving ecosystem.
With this hands-on guide, Python developers will learn how to forge the moving parts of a Python project into an easy-to-use toolchain, using state-of-the-art tools including Poetry, GitHub Actions, Dependabot, pytest, mypy, Flake8, and more. Author Claudio Jolowicz shows you how to create robust Python project structures, complete with unit tests, static analysis, code formatting, type checking, and documentation, as well as continuous integration and delivery.
You'll learn how to
Create open source projects with state-of-the-art infrastructure
Build a custom infrastructure for all Python projects in a company or team
Improve and modernize the infrastructure of an existing Python project
Evaluate modern Python tooling for adoption in existing projects
Use tools for packaging and dependency management
Automate releases, checks and tasks, dependency updates, Python syntax upgrades, and releases to PyPI and TestPyPI
And much more
β¦ Table of Contents
- Installing Python
Supporting Multiple Versions of Python
Locating Python Interpreters
Installing Python on Windows
The Python Launcher for Windows
Installing Python on macOS
Homebrew Python
The python.org Installers
Installing Python on Linux
Fedora Linux
Ubuntu Linux
Other Linux Distributions
The Python Launcher for Unix
Installing Python with Pyenv
Installing Python from Anaconda
Summary - Python Environments
Contents of a Python Environment
The Interpreter
Python Modules
Entry-point Scripts
The Layout of Python Installations
The Per-User Environment
Virtual Environments
Activation Scripts
Installing Applications with Pipx
Finding Python Modules
Module Objects
The Module Cache
Module Specs
Finders and Loaders
The Module Path
Site Packages
Summary - Python Packages
An Example Application
Why Packaging?
Packaging in a Nutshell
The pyproject.toml File
Build Frontends and Build Backends
Wheels and Sdists
Project Metadata
Naming Projects
Versioning Projects
Single-Sourcing the Project Version
Entry-point Scripts
Entry Points
Authors and Maintainers
The Description and README
Keywords and Classifiers
The Project URLs
The License
The Required Python Version
Dependencies and Optional Dependencies
Summary
About the Author
π SIMILAR VOLUMES
<span><div><p>Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the same out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem:
With this hands-on guide, Python developers will learn how to forge the moving parts of a Python project into an easy-to-use toolchain, using state-of-the-art tools including Poetry, GitHub Actions, Dependabot, pytest, mypy, Flake8, and more. Author Claudio Jolowicz shows you how to create robust Py
With this hands-on guide, Python developers will learn how to forge the moving parts of a Python project into an easy-to-use toolchain, using state-of-the-art tools including Poetry, Nox, pytest, mypy, pre-commit, Black, Ruff, uv, Rye, Hatch, and more. Author Claudio Jolowicz shows you how to create
<p>Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re
This practical guide provides more than 200 self-contained recipes to help you solve machine learning challenges you may encounter in your work. If you're comfortable with Python and its libraries, including pandas and scikit-learn, you'll be able to address specific problems all the way from loadin