mirror of https://github.com/astral-sh/uv
Allow including data files in wheels, configured through `pyproject.toml`. This configuration is currently only read in the build backend. We'd only start using it in the frontend when we're adding a fast path. Each data entry is a directory, whose contents are copied to the matching directory in the wheel in `<name>-<version>.data/(purelib|platlib|headers|scripts|data)`. Upon installation, this data is moved to its target location, as defined by <https://docs.python.org/3.12/library/sysconfig.html#installation-paths>: - `data`: Installed over the virtualenv environment root. Warning: This may override existing files! - `scripts`: Installed to the directory for executables, `<venv>/bin` on Unix or `<venv>\Scripts` on Windows. This directory is added to PATH when the virtual environment is activated or when using `uv run`, so this data type can be used to install additional binaries. Consider using `project.scripts` instead for starting Python code. - `headers`: Installed to the include directory, where compilers building Python packages with this package as built requirement will search for header files. - `purelib` and `platlib`: Installed to the `site-packages` directory. It is not recommended to uses these two options. For simplicity, for now we're just defining a directory to be copied for each data directory, while using the glob based include mechanism in the background. We thereby introduce a third mechanism next to the main includes and the PEP 639 mechanism, which is not what we should finalize on. |
||
|---|---|---|
| .. | ||
| benchmark | ||
| links | ||
| packages | ||
| popular_packages | ||
| publish | ||
| requirements | ||
| scenarios | ||
| workspaces | ||
| check_cache_compat.py | ||
| check_embedded_python.py | ||
| check_system_python.py | ||
| release.sh | ||
| sync_scenarios.sh | ||
| transform_readme.py | ||
| update_schemastore.py | ||
| uv-run-remote-script-test.py | ||