1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
[project]
name = "healpy"
description = "Healpix tools package for Python"
dynamic = ["version"]
readme = "README.rst"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Science/Research",
"Operating System :: POSIX",
"Programming Language :: C++",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Astronomy",
"Topic :: Scientific/Engineering :: Visualization",
]
authors = [
{ name = "C. Rosset", email = "cyrille.rosset@apc.univ-paris-diderot.fr" },
{ name = "A. Zonca" },
]
license = {text = "GPL-2.0-only"}
requires-python = ">=3.10"
dependencies = ["numpy>=1.19", "astropy"]
[project.optional-dependencies]
all = ["matplotlib", "scipy"]
test = [
"pytest",
"pytest-astropy-header",
"pytest-cython",
"pytest-doctestplus",
"requests",
"matplotlib",
"scipy",
]
doc = [
"ipykernel",
"matplotlib",
"nbsphinx",
"numpydoc",
"sphinx>=6,<9",
"scipy",
]
[project.urls]
homepage = "https://github.com/healpy/healpy"
source = "https://github.com/healpy/healpy"
download = "https://pypi.org/project/healpy/#files"
changelog = "https://github.com/healpy/healpy/blob/main/CHANGELOG.rst"
releasenotes = "https://github.com/healpy/healpy/releases"
documentation = "https://healpy.readthedocs.io"
issues = "https://github.com/healpy/healpy/issues"
[build-system]
requires = ["setuptools>=77",
"setuptools-scm>=8.0",
"cython>=0.16",
"numpy>=2.0.0rc1",
"pykg-config"]
build-backend = 'setuptools.build_meta'
[tool.setuptools.packages.find]
include = ["healpy*"]
where = ["lib"]
[tool.setuptools.package-data]
healpy = ["data/*.fits",
"data/*_cmap.dat",
"data/totcls.dat",
"test/data/*.fits",
"test/data/*.fits.gz",
"test/data/*.sh"]
[tool.setuptools.exclude-package-data]
# Exclude C/C++/Cython source files from wheels.
"*" = ["*.cc", "*.cpp", "*.h", "*.pxd", "*.pyx"]
[tool.cibuildwheel]
build = "cp310-* cp311-* cp312-* cp313-* cp314-*"
test-command = [
"pytest --doctest-plus --doctest-cython --pyargs healpy",
"pytest {project}/test"
]
test-extras = ["test"]
[tool.cibuildwheel.macos]
before-all = "brew install autoconf automake libtool llvm@15 libomp"
[tool.cibuildwheel.macos.environment]
CC = "$(brew --prefix llvm@15)/bin/clang"
CXX = "$(brew --prefix llvm@15)/bin/clang++"
CPPFLAGS = "-I$(brew --prefix libomp)/include"
LDFLAGS = "-L$(brew --prefix libomp)/lib"
[[tool.cibuildwheel.overrides]]
# Keep Intel wheels compatible with macOS 13-era systems.
select = "*macosx_x86_64"
inherit.environment = "append"
environment.MACOSX_DEPLOYMENT_TARGET = "13.6"
[tool.setuptools_scm]
write_to = "lib/healpy/version.py"
|