Автор: Claudio Jolowicz
Издательство: O’Reilly Media, Inc.
Год: 2023-01-31
Страниц: 108
Язык: английский
Формат: pdf, epub
Размер: 10.1 MB
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.
Python folks use the word package for two distinct concepts. Import packages are Python modules that contain other modules, typically directories with an __init__.py file. Distribution packages are archive files for distributing Python software— they are the subject of this chapter. Creating a package from your project makes it easy to share your code with others. Packaging also has a less obvious benefit: Installing your project as a package makes it a first-class citizen of a Python environment. The metadata in a package specifies the minimum Python version and any third-party packages it depends on. Installers ensure the environment matches these prerequisites; they even install missing project dependencies and upgrade those whose version doesn’t match the requirements. Once installed, the package has an explicit link to the environment it’s installed in. Compare this to running a script from your working directory, which may well end up on an outdated Python version, or in an environment that doesn’t have all the dependencies installed.
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
Скачать Hypermodern Python Tooling (Second Early Release)