11[build-system ]
2+ build-backend = " setuptools.build_meta"
23requires = [
3- " Cython >=0.29" ,
4- " numpy>=2.0.0 " ,
5- " setuptools>=77.0.1" ,
6- " setuptools_scm [toml]>=3.4" ,
4+ " cython >=0.29" ,
5+ " numpy>=2" ,
6+ " setuptools>=77.0.1" ,
7+ " setuptools-scm [toml]>=3.4" ,
78]
8- build-backend = " setuptools.build_meta"
99
1010[project ]
11- name = " netCDF4 "
11+ name = " netcdf4 "
1212description = " Provides an object-oriented python interface to the netCDF version 4 library"
13- authors = [
14- {
name =
" Jeff Whitaker" ,
email =
" [email protected] " },
15- ]
16- requires-python = " >=3.10"
13+ readme.content-type = " text/x-rst"
14+ readme.text = " \
15+ netCDF version 4 has many features not found in earlier versions of the library,
16+ such as hierarchical groups, zlib compression, multiple unlimited dimensions,
17+ and new data types. It is implemented on top of HDF5. This module implements
18+ most of the new features, and can read and write netCDF files compatible with
19+ older versions of the library. The API is modelled after Scientific.IO.NetCDF,
20+ and should be familiar to users of that module.
21+ "
1722keywords = [
18- " numpy" , " netcdf" , " data" , " science" , " network" , " oceanography" ,
19- " meteorology" , " climate" ,
23+ " climate" ,
24+ " data" ,
25+ " meteorology" ,
26+ " netcdf" ,
27+ " network" ,
28+ " numpy" ,
29+ " oceanography" ,
30+ " science" ,
2031]
2132license = " MIT"
22- license-files = [" LICENSE" ]
33+ license-files = [ " LICENSE" ]
34+ authors = [
35+ {
name =
" Jeff Whitaker" ,
email =
" [email protected] " },
36+ ]
37+ requires-python = " >=3.10"
2338classifiers = [
24- " Development Status :: 3 - Alpha" ,
25- " Programming Language :: Python :: 3 " ,
26- " Programming Language :: Python :: 3.10 " ,
27- " Programming Language :: Python :: 3.11 " ,
28- " Programming Language :: Python :: 3.12 " ,
29- " Programming Language :: Python :: 3.13 " ,
30- " Programming Language :: Python :: 3.14 " ,
31- " Intended Audience :: Science/Research " ,
32- " Topic :: Software Development :: Libraries :: Python Modules " ,
33- " Topic :: System :: Archiving :: Compression " ,
34- " Operating System :: OS Independent " ,
39+ " Development Status :: 3 - Alpha" ,
40+ " Intended Audience :: Science/Research " ,
41+ " Operating System :: OS Independent " ,
42+ " Programming Language :: Python :: 3 :: Only " ,
43+ " Programming Language :: Python :: 3.10 " ,
44+ " Programming Language :: Python :: 3.11 " ,
45+ " Programming Language :: Python :: 3.12 " ,
46+ " Programming Language :: Python :: 3.13 " ,
47+ " Programming Language :: Python :: 3.14 " ,
48+ " Topic :: Software Development :: Libraries :: Python Modules " ,
49+ " Topic :: System :: Archiving :: Compression " ,
3550]
51+ dynamic = [ " version" ]
52+
3653dependencies = [
37- " cftime " ,
38- " certifi " ,
39- " numpy>=2.3.0 ; platform_system == 'Windows' and platform_machine == 'ARM64'" ,
40- " numpy>=1.21.2 ; platform_system != 'Windows' or platform_machine != 'ARM64'" ,
54+ " certifi " ,
55+ " cftime " ,
56+ " numpy>=1.21.2 ; platform_system!= 'Windows' or platform_machine!= 'ARM64'" ,
57+ " numpy>=2.3 ; platform_system== 'Windows' and platform_machine== 'ARM64'" ,
4158]
42- dynamic = [" version " ]
43-
44- [ project . optional-dependencies ]
45- tests = [
46- " Cython " ,
59+ optional-dependencies.parallel = [
60+ " mpi4py " ,
61+ ]
62+ optional-dependencies. tests = [
63+ " cython " ,
4764 " packaging" ,
4865 " pytest" ,
49- " typing-extensions>=4.15.0" ,
50- ]
51- parallel = [
52- " mpi4py" ,
66+ " typing-extensions>=4.15" ,
5367]
54-
55- [project .readme ]
56- text = """ \
57- netCDF version 4 has many features not found in earlier versions of the library,
58- such as hierarchical groups, zlib compression, multiple unlimited dimensions,
59- and new data types. It is implemented on top of HDF5. This module implements
60- most of the new features, and can read and write netCDF files compatible with
61- older versions of the library. The API is modelled after Scientific.IO.NetCDF,
62- and should be familiar to users of that module.
63- """
64- content-type = " text/x-rst"
65-
66- [project .scripts ]
67- nc3tonc4 = " netCDF4.utils:nc3tonc4"
68- nc4tonc3 = " netCDF4.utils:nc4tonc3"
69- ncinfo = " netCDF4.utils:ncinfo"
70-
71- [project .urls ]
72- Documentation = " https://unidata.github.io/netcdf4-python/"
73- Repository = " https://github.com/Unidata/netcdf4-python"
68+ urls.Documentation = " https://unidata.github.io/netcdf4-python/"
69+ urls.Repository = " https://github.com/Unidata/netcdf4-python"
70+ scripts.nc3tonc4 = " netCDF4.utils:nc3tonc4"
71+ scripts.nc4tonc3 = " netCDF4.utils:nc4tonc3"
72+ scripts.ncinfo = " netCDF4.utils:ncinfo"
7473
7574[tool .setuptools .packages .find ]
76- where = [" src" ]
75+ where = [ " src" ]
7776
7877[tool .setuptools .package-data ]
79- "netCDF4.plugins" = [" *__nc*" ]
78+ "netCDF4.plugins" = [ " *__nc*" ]
8079
8180[tool .setuptools_scm ]
8281
83- [tool .pytest .ini_options ]
84- pythonpath = [" test" ]
85- filterwarnings = [
86- " error" ,
87- " ignore::UserWarning" ,
88- " ignore::RuntimeWarning" ,
89- ]
90-
91- [tool .mypy ]
92- files = [" src/netCDF4" ]
93- exclude = " utils.py"
94- check_untyped_defs = true
95- allow_redefinition = true
96- # next 2 lines workarounds for mypy dealing with type_guards.py
97- mypy_path = " test"
98- explicit_package_bases = true
99-
100- [[tool .mypy .overrides ]]
101- ignore_missing_imports = true
102- module = [
103- " cftime.*" ,
104- " cython.*" ,
105- " filter_availability" ,
106- " matplotlib.*"
107- ]
108-
10982[tool .cibuildwheel ]
11083build-verbosity = 1
11184build-frontend = " build"
@@ -115,15 +88,15 @@ skip = [
11588test-extras = " tests"
11689test-sources = [
11790 " test" ,
118- " pyproject.toml"
91+ " pyproject.toml" ,
11992]
12093test-command = [
121- ''' python -c "import netCDF4; print(f'netCDF4 v{netCDF4.__version__}')"''' ,
122- " pytest -s -rxs -v test" ,
94+ ''' python -c "import netCDF4; print(f'netCDF4 v{netCDF4.__version__}')"''' ,
95+ " pytest -s -rxs -v test" ,
12396]
12497manylinux-x86_64-image = " ghcr.io/ocefpaf/manylinux_2_28_x86_64-netcdf"
12598manylinux-aarch64-image = " ghcr.io/ocefpaf/manylinux_2_28_aarch64-netcdf"
126- environment = {NETCDF4_LIMITED_API = " 1" }
99+ environment = { NETCDF4_LIMITED_API = " 1" }
127100
128101[tool .cibuildwheel .macos ]
129102# https://cibuildwheel.pypa.io/en/stable/faq/#macos-passing-dyld_library_path-to-delocate
@@ -141,22 +114,22 @@ repair-wheel-command = [
141114
142115[[tool .cibuildwheel .overrides ]]
143116select = " *linux*"
144- environment = {NETCDF_PLUGIN_DIR = " /usr/local/hdf5/lib/plugin/" }
117+ environment = { NETCDF_PLUGIN_DIR = " /usr/local/hdf5/lib/plugin/" }
145118
146119[[tool .cibuildwheel .overrides ]]
147120select = " *-macosx_x86_64"
148121inherit.environment = " append"
149- environment = {MACOSX_DEPLOYMENT_TARGET = " 13.0" ,HDF5_DIR = " /Users/runner/micromamba/envs/build" ,netCDF4_DIR = " /Users/runner/micromamba/envs/build" ,PATH = " ${PATH}:/Users/runner/micromamba/envs/build/bin" ,NETCDF_PLUGIN_DIR = " /Users/runner/micromamba/envs/build/hdf5/lib/plugin" }
122+ environment = { MACOSX_DEPLOYMENT_TARGET = " 13.0" , HDF5_DIR = " /Users/runner/micromamba/envs/build" , netCDF4_DIR = " /Users/runner/micromamba/envs/build" , PATH = " ${PATH}:/Users/runner/micromamba/envs/build/bin" , NETCDF_PLUGIN_DIR = " /Users/runner/micromamba/envs/build/hdf5/lib/plugin" }
150123
151124[[tool .cibuildwheel .overrides ]]
152125select = " *-macosx_arm64"
153126inherit.environment = " append"
154- environment = {MACOSX_DEPLOYMENT_TARGET = " 14.0" ,HDF5_DIR = " /Users/runner/micromambe/envs/build" ,netCDF4_DIR = " /Users/runner/micromambe/envs/build" ,PATH = " ${PATH}:/Users/runner/micromamba/envs/build/bin" ,NETCDF_PLUGIN_DIR = " /Users/runner/micromamba/envs/build/hdf5/lib/plugin" }
127+ environment = { MACOSX_DEPLOYMENT_TARGET = " 14.0" , HDF5_DIR = " /Users/runner/micromambe/envs/build" , netCDF4_DIR = " /Users/runner/micromambe/envs/build" , PATH = " ${PATH}:/Users/runner/micromamba/envs/build/bin" , NETCDF_PLUGIN_DIR = " /Users/runner/micromamba/envs/build/hdf5/lib/plugin" }
155128
156129[[tool .cibuildwheel .overrides ]]
157130select = " *-win_*"
158131inherit.environment = " append"
159- environment = {HDF5_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library' ,netCDF4_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library' ,PATH = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library\\bin;${PATH}' ,NETCDF_PLUGIN_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library\\hdf5\\lib\\plugin' }
132+ environment = { HDF5_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library' , netCDF4_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library' , PATH = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library\\bin;${PATH}' , NETCDF_PLUGIN_DIR = ' C:\\\\Users\\runneradmin\\micromamba\\envs\\build\\Library\\hdf5\\lib\\plugin' }
160133
161134[[tool .cibuildwheel .overrides ]]
162135select = " *-win_arm64"
@@ -166,3 +139,29 @@ repair-wheel-command = [
166139 " delvewheel show {wheel}" ,
167140 " delvewheel repair -w {dest_dir} {wheel}" ,
168141]
142+
143+ [tool .pytest .ini_options ]
144+ pythonpath = [ " test" ]
145+ filterwarnings = [
146+ " error" ,
147+ " ignore::UserWarning" ,
148+ " ignore::RuntimeWarning" ,
149+ ]
150+
151+ [tool .mypy ]
152+ files = [ " src/netCDF4" ]
153+ exclude = " utils.py"
154+ check_untyped_defs = true
155+ allow_redefinition = true
156+ # next 2 lines workarounds for mypy dealing with type_guards.py
157+ mypy_path = " test"
158+ explicit_package_bases = true
159+
160+ [[tool .mypy .overrides ]]
161+ ignore_missing_imports = true
162+ module = [
163+ " cftime.*" ,
164+ " cython.*" ,
165+ " filter_availability" ,
166+ " matplotlib.*" ,
167+ ]
0 commit comments