11[project ]
22name = " example-fgen-basic"
3- version = " 0.1.8.post1 "
3+ version = " 0.1.9 "
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" }
98requires-python = " >=3.9"
109dependencies = [
1110 " attrs>=24.3.0" ,
@@ -15,7 +14,6 @@ dependencies = [
1514]
1615readme = " README.md"
1716classifiers = [
18- # Full list: https://pypi.org/classifiers/
1917 " Development Status :: 3 - Alpha" ,
2018 " Intended Audience :: Science/Research" ,
2119 " License :: OSI Approved :: BSD License" ,
@@ -32,50 +30,92 @@ classifiers = [
3230 " Typing :: Typed" ,
3331]
3432
33+ [project .license ]
34+ text = " 3-Clause BSD License"
35+
3536[project .urls ]
3637Homepage = " https://example-fgen-basic.readthedocs.io"
3738Documentation = " https://example-fgen-basic.readthedocs.io"
3839Changelog = " https://example-fgen-basic.readthedocs.io/en/stable/changelog"
3940Repository = " https://github.com/openscm/example-fgen-basic"
4041Issues = " https://github.com/openscm/example-fgen-basic/issues"
4142
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+ ]
50103
51104[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).
59105dev = [
60- # Key dependencies
61- # ----------------
62106 " fprettify>=0.3.7" ,
63107 " liccheck>=0.9.2" ,
64108 " mypy>=1.14.0" ,
65109 " pint>=0.24.4" ,
66- # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
67110 " pip>=24.3.1" ,
68111 " pre-commit>=4.0.1" ,
69- # Required for liccheck, see https://github.com/dhatim/python-license-check/pull/113
70112 " setuptools>=75.6.0" ,
71113 " towncrier>=24.8.0" ,
72114 " tomli-w>=1.2.0" ,
73115 " tomli>=2.2.1" ,
74116 " typer>=0.15.2" ,
75117]
76118docs = [
77- # Key dependencies
78- # ----------------
79119 " attrs>=25.3.0" ,
80120 " ford>=6.0.1" ,
81121 " graphviz>=0.21" ,
@@ -89,56 +129,41 @@ docs = [
89129 " mkdocstrings-python>=1.16.12" ,
90130 " pymdown-extensions>=10.16.1" ,
91131 " ruff>=0.12.8" ,
92- # Key dependencies for notebook_based_docs
93- # ----------------------------------------
94132 " jupyterlab>=4.4.5" ,
95133 " jupytext>=1.17.2" ,
96134 " mkdocs-jupyter>=0.25.1" ,
97135]
98- # For minimum test dependencies.
99- # These are used when running our minimum PyPI install tests.
100136tests-min = [
101- # Key dependencies
102- # ----------------
103137 " pytest>=8.3.4" ,
104138]
105- # Full test dependencies.
106139tests-full = [
107- # Key dependencies
108- # ----------------
109140 " pytest-cov>=6.0.0" ,
110141]
111- # Test dependencies
112- # (partly split because liccheck uses toml,
113- # which doesn't support inhomogeneous arrays).
114142tests = [
115- {include-group = " tests-min" },
116- {include-group = " tests-full" },
143+ { include-group = " tests-min" },
144+ { include-group = " tests-full" },
117145]
118146all-dev = [
119- {include-group = " dev" },
120- {include-group = " docs" },
121- {include-group = " tests" },
147+ { include-group = " dev" },
148+ { include-group = " docs" },
149+ { include-group = " tests" },
122150]
123151
124- # Start here, replace with whate we have in our example
125152[build-system ]
126153build-backend = " mesonpy"
127154requires = [
128155 " meson-python>=0.15.0" ,
129- # "numpy",
130156 " numpy>=1.26.0; python_version < '3.13'" ,
131157 " numpy>=2.1.0; python_version >= '3.13'" ,
132158]
133159
134- # https://mesonbuild.com/meson-python/how-to-guides/meson-args.html
135160[tool .meson-python .args ]
136161setup = [
137- ' --default-library=static' ,
138- ' -Dpyprojectwheelbuild=enabled' ,
162+ " --default-library=static" ,
163+ " -Dpyprojectwheelbuild=enabled" ,
139164]
140165install = [
141- ' --skip-subprojects' ,
166+ " --skip-subprojects" ,
142167]
143168
144169[tool .coverage .run ]
@@ -147,7 +172,6 @@ source = [
147172]
148173branch = true
149174omit = [
150- # TODO: check this file
151175 " *exceptions.py" ,
152176 " *runtime_helpers.py" ,
153177]
@@ -158,10 +182,8 @@ skip_empty = true
158182show_missing = true
159183exclude_also = [
160184 " if TYPE_CHECKING" ,
161- # Type overloading lines
162185 " @overload" ,
163186 " \\ .\\ .\\ ." ,
164-
165187]
166188
167189[tool .mypy ]
0 commit comments