py-hatchling: add new packages, document new build backend (#31512)
* py-hatchling: add new package, document new build backend * Minor doc changes Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
This commit is contained in:
@@ -48,8 +48,9 @@ important to understand.
|
||||
**build backend**
|
||||
Libraries used to define how to build a wheel. Examples
|
||||
include `setuptools <https://setuptools.pypa.io/>`__,
|
||||
`flit <https://flit.readthedocs.io/>`_, and
|
||||
`poetry <https://python-poetry.org/>`_.
|
||||
`flit <https://flit.readthedocs.io/>`_,
|
||||
`poetry <https://python-poetry.org/>`_, and
|
||||
`hatchling <https://hatch.pypa.io/latest/>`_.
|
||||
|
||||
^^^^^^^^^^^
|
||||
Downloading
|
||||
@@ -326,6 +327,33 @@ for specifying the version requirements. Note that ``~=`` works
|
||||
differently in poetry than in setuptools and flit for versions that
|
||||
start with a zero.
|
||||
|
||||
"""""""""
|
||||
hatchling
|
||||
"""""""""
|
||||
|
||||
If the ``pyproject.toml`` lists ``hatchling.build`` as the
|
||||
``build-backend``, it uses the hatchling build system. Look for
|
||||
dependencies under the following keys:
|
||||
|
||||
* ``requires-python``
|
||||
|
||||
This specifies the version of Python that is required
|
||||
|
||||
* ``project.dependencies``
|
||||
|
||||
These packages are required for building and installation. You can
|
||||
add them with ``type=('build', 'run')``.
|
||||
|
||||
* ``project.optional-dependencies``
|
||||
|
||||
This section includes keys with lists of optional dependencies
|
||||
needed to enable those features. You should add a variant that
|
||||
optionally adds these dependencies. This variant should be ``False``
|
||||
by default.
|
||||
|
||||
See https://hatch.pypa.io/latest/config/dependency/ for more
|
||||
information.
|
||||
|
||||
""""""
|
||||
wheels
|
||||
""""""
|
||||
@@ -666,3 +694,4 @@ For more information on build backend tools, see:
|
||||
* setuptools: https://setuptools.pypa.io/
|
||||
* flit: https://flit.readthedocs.io/
|
||||
* poetry: https://python-poetry.org/
|
||||
* hatchling: https://hatch.pypa.io/latest/
|
||||
|
18
var/spack/repos/builtin/packages/py-editables/package.py
Normal file
18
var/spack/repos/builtin/packages/py-editables/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyEditables(PythonPackage):
|
||||
"""A Python library for creating "editable wheels"."""
|
||||
|
||||
homepage = "https://github.com/pfmoore/editables"
|
||||
pypi = "editables/editables-0.3.tar.gz"
|
||||
|
||||
version('0.3', sha256='167524e377358ed1f1374e61c268f0d7a4bf7dbd046c656f7b410cde16161b1a')
|
||||
|
||||
depends_on('python@3.7:', type=('build', 'run'))
|
||||
depends_on('py-setuptools@42:', type='build')
|
23
var/spack/repos/builtin/packages/py-hatchling/package.py
Normal file
23
var/spack/repos/builtin/packages/py-hatchling/package.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
|
||||
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class PyHatchling(PythonPackage):
|
||||
"""Modern, extensible Python build backend."""
|
||||
|
||||
homepage = "https://hatch.pypa.io/latest/"
|
||||
pypi = "hatchling/hatchling-1.4.1.tar.gz"
|
||||
|
||||
version('1.4.1', sha256='13461b42876ade4f75ee5d2a2c656b288ca0aab7f048ef66657ef166996b2118')
|
||||
|
||||
depends_on('python@3.7:', type=('build', 'run'))
|
||||
depends_on('py-editables@0.3:', type=('build', 'run'))
|
||||
depends_on('py-importlib-metadata', when='^python@:3.7', type=('build', 'run'))
|
||||
depends_on('py-packaging@21.3:', type=('build', 'run'))
|
||||
depends_on('py-pathspec@0.9:', type=('build', 'run'))
|
||||
depends_on('py-pluggy@1:', type=('build', 'run'))
|
||||
depends_on('py-tomli@1.2.2:', when='^python@:3.10', type=('build', 'run'))
|
Reference in New Issue
Block a user