@@ -75,6 +75,114 @@ requires = [
7575 " setuptools_scm>=7" ,
7676]
7777
78+ [dependency-groups ]
79+ build = [
80+ " pybind11>=2.13.2,!=2.13.3" ,
81+ " meson-python" ,
82+ " setuptools-scm" ,
83+ ]
84+ dev = [
85+ {include-group = " build" },
86+ {include-group = " doc" },
87+ {include-group = " test" },
88+ {include-group = " test-extra" },
89+ " ruff" ,
90+ ]
91+ # Requirements for building docs
92+ #
93+ # You will first need a matching Matplotlib installation
94+ # e.g (from the Matplotlib root directory)
95+ # pip install --no-build-isolation --editable .[dev]
96+ #
97+ # Install the documentation requirements with:
98+ # pip install -r requirements/doc/doc-requirements.txt
99+ #
100+ doc = [
101+ " sphinx>=5.1.0,!=6.1.2" ,
102+ " colorspacious" ,
103+ " ipython" ,
104+ " ipywidgets" ,
105+ " ipykernel" ,
106+ " numpydoc>=1.0" ,
107+ " packaging>=20" ,
108+ " pydata-sphinx-theme~=0.15.0" ,
109+ " mpl-sphinx-theme~=3.9.0" ,
110+ " pyyaml" ,
111+ " PyStemmer" ,
112+ " sphinxcontrib-svg2pdfconverter>=1.1.0" ,
113+ " sphinxcontrib-video>=0.2.1" ,
114+ " sphinx-copybutton" ,
115+ " sphinx-design" ,
116+ " sphinx-gallery[parallel]>=0.12.0" ,
117+ " sphinx-tags>=0.4.0" ,
118+ ]
119+
120+ # pip requirements for all the CI builds
121+ test = [
122+ " black<24" ,
123+ " certifi" ,
124+ " coverage!=6.3" ,
125+ " psutil; sys_platform != 'cygwin'" ,
126+ " pytest!=4.6.0,!=5.4.0,!=8.1.0" ,
127+ " pytest-cov" ,
128+ " pytest-rerunfailures" ,
129+ " pytest-timeout" ,
130+ " pytest-xdist" ,
131+ " pytest-xvfb" ,
132+ " tornado" ,
133+ ]
134+
135+ # Extra pip requirements for the Python 3.10+ builds
136+ test-extra = [
137+ " --prefer-binary" ,
138+ " ipykernel" ,
139+ # jupyter/nbconvert#1970 for the 7.3 series exclusions
140+ " nbconvert[execute]!=6.0.0,!=6.0.1,!=7.3.0,!=7.3.1" ,
141+ " nbformat!=5.0.0,!=5.0.1" ,
142+ " pandas!=0.25.0" ,
143+ " pikepdf" ,
144+ " pytz" ,
145+ " pywin32; sys_platform == 'win32'" ,
146+ " xarray" ,
147+ ]
148+
149+ # Extra pip requirements for the minimum-version CI run
150+ test-minver = [
151+ " contourpy==1.0.1" ,
152+ " cycler==0.10" ,
153+ " fonttools==4.22.0" ,
154+ " importlib-resources==3.2.0" ,
155+ " kiwisolver==1.3.2" ,
156+ " meson-python==0.13.1" ,
157+ " meson==1.1.0" ,
158+ " numpy==1.23.0" ,
159+ " packaging==20.0" ,
160+ " pillow==9.0.1" ,
161+ " pyparsing==3.0.0" ,
162+ " pytest==7.0.0" ,
163+ " python-dateutil==2.7" ,
164+ # Test ipython/matplotlib-inline before backend mapping moved to mpl.
165+ # This should be tested for a reasonably long transition period,
166+ # but we will eventually remove the test when we no longer support
167+ # ipython/matplotlib-inline versions from before the transition.
168+ " ipython==7.29.0" ,
169+ " ipykernel==5.5.6" ,
170+ " matplotlib-inline<0.1.7" ,
171+ ]
172+
173+ # Extra pip requirements for the GitHub Actions mypy build
174+ typing = [
175+ " mypy>=1.9" ,
176+ " typing-extensions>=4.6" ,
177+ # Extra stubs distributed separately from the main pypi package
178+ " pandas-stubs" ,
179+ " types-pillow" ,
180+ " types-python-dateutil" ,
181+ " types-psutil" ,
182+ " sphinx" ,
183+ {include-group = " build" },
184+ ]
185+
78186[tool .meson-python .args ]
79187install = [' --tags=data,python-runtime,runtime' ]
80188
0 commit comments