Company
Date Published
Author
Dennis Hume
Word count
963
Language
English
Hacker News points
None

Summary

Dagster leverages `pyproject.toml` for modern Python packaging, streamlining project configuration and dependency management. The file, generated by `uvx create-dagster`, serves as a central hub for project metadata, dependencies, and build systems, facilitating seamless integration with Python ecosystem tools. Core project details such as name, version, and required Python versions, alongside dependencies like `dagster`, are defined in line with PEP 621. Named dependency groups, introduced by PEP 735, allow for organized management of development and testing tools, replacing traditional `requirements.txt` files. Dagster projects typically use Hatchling as the build backend, though the system supports various alternatives. Specific project configurations for the `dg` tool are included within the `[tool.dg]` section, while additional tool settings, such as those for the linter Ruff, can be integrated into the `pyproject.toml`. This setup not only enhances the efficiency of working with Dagster but also provides insights into contemporary Python packaging practices.