1+ [project ]
2+ name = " mplotutils"
3+ authors = [{name = " mplotutils developers" , email = " mathias.hauser@env.ethz.com" }]
4+ license = " GPL-3.0-only"
5+ keywords = [' matplotlib cartopy plotting' ]
6+ description = " utilities for matplotlib and cartopy"
7+ classifiers = [
8+ " Development Status :: 5 - Production/Stable" ,
9+ " Operating System :: OS Independent" ,
10+ " Intended Audience :: Science/Research" ,
11+ " Programming Language :: Python" ,
12+ " Programming Language :: Python :: 3" ,
13+ " Programming Language :: Python :: 3.11" ,
14+ " Programming Language :: Python :: 3.12" ,
15+ " Programming Language :: Python :: 3.13" ,
16+ " Topic :: Scientific/Engineering" ,
17+ " Topic :: Scientific/Engineering :: Atmospheric Science" ,
18+ " Topic :: Scientific/Engineering :: GIS" ,
19+ ]
20+ requires-python = " >=3.11"
21+ dependencies = [
22+ " cartopy >=0.23" ,
23+ " matplotlib >=3.9" ,
24+ " packaging >= 23.1" ,
25+ " numpy >=1.26" ,
26+ " xarray >=2024.7" ,
27+ ]
28+ dynamic = [" version" ]
29+
30+ [project .readme ]
31+ file = " README.md"
32+ content-type = " text/markdown"
33+
34+ [project .urls ]
35+ Homepage = " https://github.com/mpytools/mplotutils"
36+ Documentation = " https://github.com/mpytools/mplotutils"
37+ Source = " https://github.com/mpytools/mplotutils"
38+ BugReports = " https://github.com/mpytools/mplotutils/issues"
39+
40+ [project .optional-dependencies ]
41+ full = [
42+ " seaborn" ,
43+ ]
44+
45+ [dependency-groups ]
46+ # docs = [
47+ # "mplotutils[full]",
48+ # dependencies to build the docs
49+ # "numpydoc",
50+ # "sphinx",
51+ # ]
52+ tests = [
53+ " pytest-cov" ,
54+ " pytest-xdist" ,
55+ " pytest" ,
56+ ]
57+ dev = [
58+ " regionmask[full, tests]" , # docs
59+ " black !=23" ,
60+ " ruff" ,
61+ ]
62+
63+ [tool .setuptools .packages ]
64+ find = {namespaces = false } # Disable implicit namespaces
65+
166[build-system ]
267requires = [
368 " setuptools>=42" ,
@@ -9,10 +74,41 @@ build-backend = "setuptools.build_meta"
974fallback_version = " 999"
1075version_scheme = " no-guess-dev"
1176
77+
78+ [tool .ruff ]
79+ # also check notebooks
80+ extend-include = [" *.ipynb" ]
81+ target-version = " py310"
82+
83+ [tool .ruff .lint ]
84+ # E402: module level import not at top of file
85+ # E501: line too long - let the formatter worry about this
86+ # E731: do not assign a lambda expression, use a def
87+ ignore = [
88+ " E402" ,
89+ " E501" ,
90+ " E731" ,
91+ ]
92+ select = [
93+ " F" , # Pyflakes
94+ " E" , # Pycodestyle
95+ " W" , # warnings
96+ " I" , # isort
97+ " UP" , # Pyupgrade
98+ ]
99+
100+ [tool .ruff .lint .isort ]
101+ known-first-party = [" mplotutils" ]
102+
12103[tool .pytest .ini_options ]
13104
14105log_cli_level = " INFO"
15106
16107filterwarnings = [
17108 " ignore:numpy.ufunc size changed, may indicate binary incompatibility.:RuntimeWarning"
18109]
110+
111+ [tool .coverage .run ]
112+ omit = [
113+ " */mplotutils/tests/*" ,
114+ ]
0 commit comments