Skip to content

Commit 19d430f

Browse files
committed
MNT: move static project metadata to pyproject.toml, drop support for CPython 3.9
1 parent 26a7336 commit 19d430f

4 files changed

Lines changed: 71 additions & 91 deletions

File tree

MANIFEST.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ include *.rst
22
recursive-include doc *
33
recursive-include examples *.py *.txt
44
recursive-include pyart *.c *.h *.pyx *.pxd
5-
include requirements.txt
65
include README.rst
7-
include LICENSE.txt
86
include INSTALL.rst
97
include pyart/testing/registry.txt
108
include pyart/__check_build/README

pyproject.toml

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,76 @@
11
[build-system]
22
requires = [
3-
"setuptools",
4-
"setuptools_scm>=6.2",
5-
"wheel",
6-
"cython>=3.0",
7-
"numpy>=2.0.0rc1"
3+
"setuptools>=80",
4+
"setuptools-scm[simple]>=8",
5+
"cython>=3.0",
6+
"numpy>=2.0.0"
87
]
8+
build-backend = "setuptools.build_meta"
9+
10+
[project]
11+
name = "arm_pyart"
12+
description = "Py-ART: Python ARM Radar Toolkit"
13+
authors = [{name = "Scott Collis", email = "scollis@anl.gov"}, {name = "Jonathan Helmus"}]
14+
maintainers = [{name = "Py-ART Developers", email = "zsherman@anl.gov"}, {email = "scollis@anl.gov"}, {email = "mgrover@anl.gov"}]
15+
license = "BSD-3-Clause"
16+
license-files = ["LICENSE.txt"]
17+
classifiers = [
18+
"Development Status :: 5 - Production/Stable",
19+
"Intended Audience :: Science/Research",
20+
"Intended Audience :: Developers",
21+
"Programming Language :: Python",
22+
"Programming Language :: Python :: 3",
23+
"Programming Language :: Python :: 3.10",
24+
"Programming Language :: Python :: 3.11",
25+
"Programming Language :: Python :: 3.12",
26+
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: C",
28+
"Programming Language :: Cython",
29+
"Topic :: Scientific/Engineering",
30+
"Topic :: Scientific/Engineering :: Atmospheric Science",
31+
"Operating System :: POSIX :: Linux",
32+
"Operating System :: MacOS :: MacOS X",
33+
"Operating System :: Microsoft :: Windows",
34+
"Framework :: Matplotlib",
35+
]
36+
urls = {Homepage = "https://github.com/ARM-DOE/pyart"}
37+
requires-python = ">=3.10"
38+
dynamic = ["readme", "version"]
39+
dependencies = [
40+
"cartopy>=0.25.0",
41+
"cftime>=1.6.5",
42+
"fsspec>=2025.10.0",
43+
"matplotlib>=3.10.7",
44+
"mda-xdrlib>=0.2.0",
45+
"netcdf4>=1.7.0",
46+
"numpy>=2.2.6",
47+
"open-radar-data>=0.5.0",
48+
"pandas>=2.3.3",
49+
"pint>=0.24.4",
50+
"pooch>=1.8.2",
51+
"s3fs>=2025.10.0",
52+
"scipy>=1.15.3",
53+
"xarray>=2024.10.0",
54+
"xradar>=0.8.0",
55+
]
56+
57+
[tool.setuptools]
58+
include-package-data = true
59+
zip-safe = false
60+
platforms = [
61+
"Linux",
62+
"Mac OS-X",
63+
"Unix",
64+
"Windows",
65+
]
66+
67+
[tool.setuptools.packages.find]
68+
exclude = ["docs"]
69+
namespaces = false
70+
71+
[tool.setuptools_scm]
72+
version_scheme = "post-release"
73+
local_scheme = "dirty-tag"
974

1075
[tool.black]
1176
line-length = 88

requirements.txt

Lines changed: 0 additions & 15 deletions
This file was deleted.

setup.py

Lines changed: 1 addition & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -16,45 +16,11 @@
1616
import glob
1717
import os
1818
import sys
19-
from os import path
2019

2120
from Cython.Build import cythonize
2221
from numpy import get_include
2322
from setuptools import Extension, find_packages, setup
2423

25-
CLASSIFIERS = """\
26-
Development Status :: 5 - Production/Stable
27-
Intended Audience :: Science/Research
28-
Intended Audience :: Developers
29-
License :: OSI Approved :: BSD License
30-
Programming Language :: Python
31-
Programming Language :: Python :: 3
32-
Programming Language :: Python :: 3.9
33-
Programming Language :: Python :: 3.10
34-
Programming Language :: Python :: 3.11
35-
Programming Language :: C
36-
Programming Language :: Cython
37-
Topic :: Scientific/Engineering
38-
Topic :: Scientific/Engineering :: Atmospheric Science
39-
Operating System :: POSIX :: Linux
40-
Operating System :: MacOS :: MacOS X
41-
Operating System :: Microsoft :: Windows
42-
Framework :: Matplotlib
43-
"""
44-
45-
NAME = "arm_pyart"
46-
AUTHOR = "Scott Collis, Jonathan Helmus"
47-
AUTHOR_EMAIL = "scollis@anl.gov"
48-
MAINTAINER = "Py-ART Developers"
49-
MAINTAINER_EMAIL = "zsherman@anl.gov, scollis@anl.gov, mgrover@anl.gov"
50-
DESCRIPTION = DOCLINES[0]
51-
LONG_DESCRIPTION = "\n".join(DOCLINES[2:])
52-
URL = "https://github.com/ARM-DOE/pyart"
53-
DOWNLOAD_URL = "https://github.com/ARM-DOE/pyart"
54-
LICENSE = "BSD"
55-
CLASSIFIERS = list(filter(None, CLASSIFIERS.split("\n")))
56-
PLATFORMS = ["Linux", "Mac OS-X", "Unix", "Windows"]
57-
SCRIPTS = glob.glob("scripts/*")
5824

5925

6026
# This is a bit hackish: we are setting a global variable so that the main
@@ -80,20 +46,6 @@
8046
)
8147
sys.exit(error)
8248

83-
here = path.abspath(path.dirname(__file__))
84-
85-
with open(path.join(here, "README.rst"), encoding="utf-8") as readme_file:
86-
readme = readme_file.read()
87-
88-
with open(path.join(here, "requirements.txt")) as requirements_file:
89-
# Parse requirements.txt, ignoring any commented-out lines.
90-
requirements = [
91-
line
92-
for line in requirements_file.read().splitlines()
93-
if not line.startswith("#")
94-
]
95-
96-
9749
extensions = []
9850

9951

@@ -251,28 +203,8 @@ def check_rsl_path(rsl_lib_path, rsl_include_path):
251203
extensions.append(extension_kdp)
252204

253205
setup(
254-
name="arm_pyart",
255-
description=DOCLINES[0],
256206
long_description="\n".join(DOCLINES[2:]),
257-
author=AUTHOR,
258-
author_email=AUTHOR_EMAIL,
259-
maintainer=MAINTAINER,
260-
maintainer_email=MAINTAINER_EMAIL,
261-
url=URL,
262-
packages=find_packages(exclude=["docs"]),
263-
include_package_data=True,
264-
scripts=SCRIPTS,
265-
python_requires=">=3.9",
266-
install_requires=requirements,
267-
setup_requires=["setuptools_scm", "setuptools"],
268-
license=LICENSE,
269-
platforms=PLATFORMS,
270-
classifiers=CLASSIFIERS,
271-
zip_safe=False,
272-
use_scm_version={
273-
"version_scheme": "post-release",
274-
"local_scheme": "dirty-tag",
275-
},
207+
scripts=glob.glob("scripts/*"),
276208
ext_modules=cythonize(
277209
extensions, compiler_directives={"language_level": "3", "cpow": True}
278210
),

0 commit comments

Comments
 (0)