11[project ]
22name = " example-fgen-basic"
3- version = " 0.1.9"
3+ version = " 0.1.9.post1 "
44description = " Basic example of using fgen"
55authors = [
66 { name = " Zebedee Nicholls" , email = " zebedee.nicholls@climate-energy-college.org" },
77]
8+ license = { text = " 3-Clause BSD License" }
89requires-python = " >=3.9"
910dependencies = [
1011 " attrs>=24.3.0" ,
@@ -14,6 +15,7 @@ dependencies = [
1415]
1516readme = " README.md"
1617classifiers = [
18+ # Full list: https://pypi.org/classifiers/
1719 " Development Status :: 3 - Alpha" ,
1820 " Intended Audience :: Science/Research" ,
1921 " License :: OSI Approved :: BSD License" ,
@@ -30,92 +32,50 @@ classifiers = [
3032 " Typing :: Typed" ,
3133]
3234
33- [project .license ]
34- text = " 3-Clause BSD License"
35-
3635[project .urls ]
3736Homepage = " https://example-fgen-basic.readthedocs.io"
3837Documentation = " https://example-fgen-basic.readthedocs.io"
3938Changelog = " https://example-fgen-basic.readthedocs.io/en/stable/changelog"
4039Repository = " https://github.com/openscm/example-fgen-basic"
4140Issues = " https://github.com/openscm/example-fgen-basic/issues"
4241
42+
4343[project .optional-dependencies ]
4444plots = [
4545 " matplotlib>=3.7.1" ,
4646]
4747full = [
4848 " example-fgen-basic[plots]" ,
4949]
50- locked = [
51- " attrs==25.3.0" ,
52- " numpy==2.0.2 ; python_full_version < '3.10'" ,
53- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
54- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
55- " typing-extensions==4.12.2" ,
56- ]
57- plots-locked = [
58- " attrs==25.3.0" ,
59- " contourpy==1.3.0 ; python_full_version < '3.10'" ,
60- " contourpy==1.3.2 ; python_full_version == '3.10.*'" ,
61- " contourpy==1.3.3 ; python_full_version >= '3.11'" ,
62- " cycler==0.12.1" ,
63- " fonttools==4.59.0" ,
64- " importlib-resources==6.5.2 ; python_full_version < '3.10'" ,
65- " kiwisolver==1.4.7 ; python_full_version < '3.10'" ,
66- " kiwisolver==1.4.9 ; python_full_version >= '3.10'" ,
67- " matplotlib==3.9.4 ; python_full_version < '3.10'" ,
68- " matplotlib==3.10.5 ; python_full_version >= '3.10'" ,
69- " numpy==2.0.2 ; python_full_version < '3.10'" ,
70- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
71- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
72- " packaging==24.2" ,
73- " pillow==11.3.0" ,
74- " pyparsing==3.2.3" ,
75- " python-dateutil==2.9.0.post0" ,
76- " six==1.17.0" ,
77- " typing-extensions==4.12.2" ,
78- " zipp==3.23.0 ; python_full_version < '3.10'" ,
79- ]
80- full-locked = [
81- " attrs==25.3.0" ,
82- " contourpy==1.3.0 ; python_full_version < '3.10'" ,
83- " contourpy==1.3.2 ; python_full_version == '3.10.*'" ,
84- " contourpy==1.3.3 ; python_full_version >= '3.11'" ,
85- " cycler==0.12.1" ,
86- " fonttools==4.59.0" ,
87- " importlib-resources==6.5.2 ; python_full_version < '3.10'" ,
88- " kiwisolver==1.4.7 ; python_full_version < '3.10'" ,
89- " kiwisolver==1.4.9 ; python_full_version >= '3.10'" ,
90- " matplotlib==3.9.4 ; python_full_version < '3.10'" ,
91- " matplotlib==3.10.5 ; python_full_version >= '3.10'" ,
92- " numpy==2.0.2 ; python_full_version < '3.10'" ,
93- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
94- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
95- " packaging==24.2" ,
96- " pillow==11.3.0" ,
97- " pyparsing==3.2.3" ,
98- " python-dateutil==2.9.0.post0" ,
99- " six==1.17.0" ,
100- " typing-extensions==4.12.2" ,
101- " zipp==3.23.0 ; python_full_version < '3.10'" ,
102- ]
10350
10451[dependency-groups ]
52+ # The development dependencies are pinned
53+ # to give a consistent starting point when using this template.
54+ # They should be removed/updated/changed/loosened as suits your project.
55+ # (As soon as you have a lock file, you can remove all of the implied dependencies.)
56+ # (This is a workaround for the fact
57+ # that we can't easily include the lock file in the copier template
58+ # because of how locking works and the order of operations).
10559dev = [
60+ # Key dependencies
61+ # ----------------
10662 " fprettify>=0.3.7" ,
10763 " liccheck>=0.9.2" ,
10864 " mypy>=1.14.0" ,
10965 " pint>=0.24.4" ,
66+ # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
11067 " pip>=24.3.1" ,
11168 " pre-commit>=4.0.1" ,
69+ # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
11270 " setuptools>=75.6.0" ,
11371 " towncrier>=24.8.0" ,
11472 " tomli-w>=1.2.0" ,
11573 " tomli>=2.2.1" ,
11674 " typer>=0.15.2" ,
11775]
11876docs = [
77+ # Key dependencies
78+ # ----------------
11979 " attrs>=25.3.0" ,
12080 " ford>=6.0.1" ,
12181 " graphviz>=0.21" ,
@@ -129,41 +89,56 @@ docs = [
12989 " mkdocstrings-python>=1.16.12" ,
13090 " pymdown-extensions>=10.16.1" ,
13191 " ruff>=0.12.8" ,
92+ # Key dependencies for notebook_based_docs
93+ # ----------------------------------------
13294 " jupyterlab>=4.4.5" ,
13395 " jupytext>=1.17.2" ,
13496 " mkdocs-jupyter>=0.25.1" ,
13597]
98+ # For minimum test dependencies.
99+ # These are used when running our minimum PyPI install tests.
136100tests-min = [
101+ # Key dependencies
102+ # ----------------
137103 " pytest>=8.3.4" ,
138104]
105+ # Full test dependencies.
139106tests-full = [
107+ # Key dependencies
108+ # ----------------
140109 " pytest-cov>=6.0.0" ,
141110]
111+ # Test dependencies
112+ # (partly split because liccheck uses toml,
113+ # which doesn't support inhomogeneous arrays).
142114tests = [
143- { include-group = " tests-min" },
144- { include-group = " tests-full" },
115+ {include-group = " tests-min" },
116+ {include-group = " tests-full" },
145117]
146118all-dev = [
147- { include-group = " dev" },
148- { include-group = " docs" },
149- { include-group = " tests" },
119+ {include-group = " dev" },
120+ {include-group = " docs" },
121+ {include-group = " tests" },
150122]
151123
124+ # Start here, replace with whate we have in our example
152125[build-system ]
153126build-backend = " mesonpy"
154127requires = [
155128 " meson-python>=0.15.0" ,
129+ # "numpy",
156130 " numpy>=1.26.0; python_version < '3.13'" ,
157131 " numpy>=2.1.0; python_version >= '3.13'" ,
158132]
159133
134+ # https://mesonbuild.com/meson-python/how-to-guides/meson-args.html
160135[tool .meson-python .args ]
161136setup = [
162- " --default-library=static" ,
163- " -Dpyprojectwheelbuild=enabled" ,
137+ ' --default-library=static' ,
138+ ' -Dpyprojectwheelbuild=enabled' ,
164139]
165140install = [
166- " --skip-subprojects" ,
141+ ' --skip-subprojects' ,
167142]
168143
169144[tool .coverage .run ]
@@ -172,6 +147,7 @@ source = [
172147]
173148branch = true
174149omit = [
150+ # TODO: check this file
175151 " *exceptions.py" ,
176152 " *runtime_helpers.py" ,
177153]
@@ -182,8 +158,10 @@ skip_empty = true
182158show_missing = true
183159exclude_also = [
184160 " if TYPE_CHECKING" ,
161+ # Type overloading lines
185162 " @overload" ,
186163 " \\ .\\ .\\ ." ,
164+
187165]
188166
189167[tool .mypy ]
0 commit comments