11[project ]
22name = " example-fgen-basic"
3- version = " 0.1.7 .post1"
3+ version = " 0.1.6 .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,145 +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- ]
103- locked-locked = [
104- " attrs==25.3.0" ,
105- " numpy==2.0.2 ; python_full_version < '3.10'" ,
106- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
107- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
108- " typing-extensions==4.12.2" ,
109- ]
110- plots-locked-locked = [
111- " attrs==25.3.0" ,
112- " contourpy==1.3.0 ; python_full_version < '3.10'" ,
113- " contourpy==1.3.2 ; python_full_version == '3.10.*'" ,
114- " contourpy==1.3.3 ; python_full_version >= '3.11'" ,
115- " cycler==0.12.1" ,
116- " fonttools==4.59.0" ,
117- " importlib-resources==6.5.2 ; python_full_version < '3.10'" ,
118- " kiwisolver==1.4.7 ; python_full_version < '3.10'" ,
119- " kiwisolver==1.4.9 ; python_full_version >= '3.10'" ,
120- " matplotlib==3.9.4 ; python_full_version < '3.10'" ,
121- " matplotlib==3.10.5 ; python_full_version >= '3.10'" ,
122- " numpy==2.0.2 ; python_full_version < '3.10'" ,
123- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
124- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
125- " packaging==24.2" ,
126- " pillow==11.3.0" ,
127- " pyparsing==3.2.3" ,
128- " python-dateutil==2.9.0.post0" ,
129- " six==1.17.0" ,
130- " typing-extensions==4.12.2" ,
131- " zipp==3.23.0 ; python_full_version < '3.10'" ,
132- ]
133- full-locked-locked = [
134- " attrs==25.3.0" ,
135- " contourpy==1.3.0 ; python_full_version < '3.10'" ,
136- " contourpy==1.3.2 ; python_full_version == '3.10.*'" ,
137- " contourpy==1.3.3 ; python_full_version >= '3.11'" ,
138- " cycler==0.12.1" ,
139- " fonttools==4.59.0" ,
140- " importlib-resources==6.5.2 ; python_full_version < '3.10'" ,
141- " kiwisolver==1.4.7 ; python_full_version < '3.10'" ,
142- " kiwisolver==1.4.9 ; python_full_version >= '3.10'" ,
143- " matplotlib==3.9.4 ; python_full_version < '3.10'" ,
144- " matplotlib==3.10.5 ; python_full_version >= '3.10'" ,
145- " numpy==2.0.2 ; python_full_version < '3.10'" ,
146- " numpy==2.2.6 ; python_full_version == '3.10.*'" ,
147- " numpy==2.3.2 ; python_full_version >= '3.11'" ,
148- " packaging==24.2" ,
149- " pillow==11.3.0" ,
150- " pyparsing==3.2.3" ,
151- " python-dateutil==2.9.0.post0" ,
152- " six==1.17.0" ,
153- " typing-extensions==4.12.2" ,
154- " zipp==3.23.0 ; python_full_version < '3.10'" ,
155- ]
15650
15751[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).
15859dev = [
60+ # Key dependencies
61+ # ----------------
15962 " fprettify>=0.3.7" ,
16063 " liccheck>=0.9.2" ,
16164 " mypy>=1.14.0" ,
16265 " pint>=0.24.4" ,
66+ # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
16367 " pip>=24.3.1" ,
16468 " pre-commit>=4.0.1" ,
69+ # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
16570 " setuptools>=75.6.0" ,
16671 " towncrier>=24.8.0" ,
16772 " tomli-w>=1.2.0" ,
16873 " tomli>=2.2.1" ,
16974 " typer>=0.15.2" ,
17075]
17176docs = [
77+ # Key dependencies
78+ # ----------------
17279 " attrs>=25.3.0" ,
17380 " mkdocs-autorefs>=1.4.2" ,
17481 " mkdocs-gen-files>=0.5.0" ,
@@ -180,40 +87,54 @@ docs = [
18087 " mkdocstrings-python>=1.16.12" ,
18188 " pymdown-extensions>=10.16.1" ,
18289 " ruff>=0.12.8" ,
90+ # Key dependencies for notebook_based_docs
91+ # ----------------------------------------
18392 " jupyterlab>=4.4.5" ,
18493 " jupytext>=1.17.2" ,
18594 " mkdocs-jupyter>=0.25.1" ,
18695]
96+ # For minimum test dependencies.
97+ # These are used when running our minimum PyPI install tests.
18798tests-min = [
99+ # Key dependencies
100+ # ----------------
188101 " pytest>=8.3.4" ,
189102]
103+ # Full test dependencies.
190104tests-full = [
105+ # Key dependencies
106+ # ----------------
191107 " pytest-cov>=6.0.0" ,
192108]
109+ # Test dependencies
110+ # (partly split because liccheck uses toml,
111+ # which doesn't support inhomogeneous arrays).
193112tests = [
194- { include-group = " tests-min" },
195- { include-group = " tests-full" },
113+ {include-group = " tests-min" },
114+ {include-group = " tests-full" },
196115]
197116all-dev = [
198- { include-group = " dev" },
199- { include-group = " docs" },
200- { include-group = " tests" },
117+ {include-group = " dev" },
118+ {include-group = " docs" },
119+ {include-group = " tests" },
201120]
202121
122+ # Start here, replace with whate we have in our example
203123[build-system ]
204124build-backend = " mesonpy"
205125requires = [
206- " meson-python>=0.15.0" ,
207- " numpy" ,
126+ " meson-python>=0.15.0" ,
127+ " numpy" ,
208128]
209129
130+ # https://mesonbuild.com/meson-python/how-to-guides/meson-args.html
210131[tool .meson-python .args ]
211132setup = [
212- " --default-library=static" ,
213- " -Dpyprojectwheelbuild=enabled" ,
214- ]
133+ ' --default-library=static' ,
134+ ' -Dpyprojectwheelbuild=enabled' ,
135+ ]
215136install = [
216- " --skip-subprojects" ,
137+ ' --skip-subprojects' ,
217138]
218139
219140[tool .coverage .run ]
@@ -222,6 +143,7 @@ source = [
222143]
223144branch = true
224145omit = [
146+ # TODO: check this file
225147 " *exceptions.py" ,
226148 " *runtime_helpers.py" ,
227149]
@@ -232,8 +154,10 @@ skip_empty = true
232154show_missing = true
233155exclude_also = [
234156 " if TYPE_CHECKING" ,
157+ # Type overloading lines
235158 " @overload" ,
236159 " \\ .\\ .\\ ." ,
160+
237161]
238162
239163[tool .mypy ]
0 commit comments