11[project ]
22name = " example-fgen-basic"
3- version = " 0.1.8"
3+ version = " 0.1.8.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 " mkdocs-autorefs>=1.4.2" ,
12181 " mkdocs-gen-files>=0.5.0" ,
@@ -127,40 +87,54 @@ docs = [
12787 " mkdocstrings-python>=1.16.12" ,
12888 " pymdown-extensions>=10.16.1" ,
12989 " ruff>=0.12.8" ,
90+ # Key dependencies for notebook_based_docs
91+ # ----------------------------------------
13092 " jupyterlab>=4.4.5" ,
13193 " jupytext>=1.17.2" ,
13294 " mkdocs-jupyter>=0.25.1" ,
13395]
96+ # For minimum test dependencies.
97+ # These are used when running our minimum PyPI install tests.
13498tests-min = [
99+ # Key dependencies
100+ # ----------------
135101 " pytest>=8.3.4" ,
136102]
103+ # Full test dependencies.
137104tests-full = [
105+ # Key dependencies
106+ # ----------------
138107 " pytest-cov>=6.0.0" ,
139108]
109+ # Test dependencies
110+ # (partly split because liccheck uses toml,
111+ # which doesn't support inhomogeneous arrays).
140112tests = [
141- { include-group = " tests-min" },
142- { include-group = " tests-full" },
113+ {include-group = " tests-min" },
114+ {include-group = " tests-full" },
143115]
144116all-dev = [
145- { include-group = " dev" },
146- { include-group = " docs" },
147- { include-group = " tests" },
117+ {include-group = " dev" },
118+ {include-group = " docs" },
119+ {include-group = " tests" },
148120]
149121
122+ # Start here, replace with whate we have in our example
150123[build-system ]
151124build-backend = " mesonpy"
152125requires = [
153- " meson-python>=0.15.0" ,
154- " numpy" ,
126+ " meson-python>=0.15.0" ,
127+ " numpy" ,
155128]
156129
130+ # https://mesonbuild.com/meson-python/how-to-guides/meson-args.html
157131[tool .meson-python .args ]
158132setup = [
159- " --default-library=static" ,
160- " -Dpyprojectwheelbuild=enabled" ,
161- ]
133+ ' --default-library=static' ,
134+ ' -Dpyprojectwheelbuild=enabled' ,
135+ ]
162136install = [
163- " --skip-subprojects" ,
137+ ' --skip-subprojects' ,
164138]
165139
166140[tool .coverage .run ]
@@ -169,6 +143,7 @@ source = [
169143]
170144branch = true
171145omit = [
146+ # TODO: check this file
172147 " *exceptions.py" ,
173148 " *runtime_helpers.py" ,
174149]
@@ -179,8 +154,10 @@ skip_empty = true
179154show_missing = true
180155exclude_also = [
181156 " if TYPE_CHECKING" ,
157+ # Type overloading lines
182158 " @overload" ,
183159 " \\ .\\ .\\ ." ,
160+
184161]
185162
186163[tool .mypy ]
0 commit comments