The template for `pyproject.toml` has been updated

Open Beginner friendly
#427 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
70/100
Issue type
Refactor
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python

Research direction

Start by comparing pyproject.toml in this repository with templates/pyproject.toml in the SciTools/.github repository, using the linked diff as the initial scope. Review the project’s existing packaging, pytest, repo-review, and Ruff settings before applying the appropriate changes. Done means updating the applicable conventions in pyproject.toml, or closing the issue if none apply.

Written by the indexing model from the issue text.

Description

Templating

The template for pyproject.toml has been updated; see the diff below. Please either:

  • Action this issue with a pull request applying some/all of these changes to pyproject.toml[^1].
  • Close this issue if none of these changes are appropriate for this repo.

Also consider reviewing a full diff between the template and pyproject.toml, in case other valuable shared conventions have previously been missed.

File Links

Diff

diff --git a/templates/pyproject.toml b/templates/pyproject.toml
index 5eedf89..be8dc70 100644
--- a/templates/pyproject.toml
+++ b/templates/pyproject.toml
@@ -36,7 +36,7 @@ keywords = [
 ]
 license = "BSD-3-Clause"
 license-files = ["LICENSE"]
-name = "scitools-<PACKAGE_NAME>" #e.g "scitools-iris"
+name = "<PACKAGE_NAME>" # e.g "scitools-iris", "cf-units"
 requires-python = "<MIN_PYTHON_VERSION>"
 
 [project.urls]
@@ -117,6 +117,7 @@ checks = [
     # -> No Yields section found
     "YD01",  # Not all docstrings require a "Yields" section.
 
+    # TODO: exceptions that still need investigating are below. Might be fixable, or might become permanent (above):
 ]
 exclude = [
     '\.__eq__$',
@@ -126,17 +127,22 @@ exclude = [
 
 [tool.pytest.ini_options] # The list of keys vary by repository
 addopts = ["-ra", "-v", "--strict-config", "--strict-markers", "--doctest-modules"] # This addopts list varies by repository
-testpaths = "<PATH_TO_MAIN_CODE>" # e.g "cf_units" or "lib/iris"
+filterwarnings = ["default"]
 log_level = "INFO"
+minversion = "6.0"
+testpaths = "<PATH_TO_MAIN_CODE>" # e.g "cf_units" or "lib/iris"
+xfail_strict = "True"
 
 [tool.repo-review]
-# A list of the currently failing repo-review checks, to be fixed later, different for every repository.
+# We have agreed that we will permanently ignore the repo-review rules in the first half of this ignore list.
 ignore = [
     # https://learn.scientific-python.org/development/guides/style/#PC180
     # Not possible to run on the hardware used by the majority of our developers. Might change in future!
     "PC180", # Uses prettier.
     # https://learn.scientific-python.org/development/guides/packaging-simple#PP006
     "PP006",  # Uses dev dependency group
+
+    # TODO: exceptions that still need investigating are below. Might be fixable, or might become permanent (above):
 ]
 
 [tool.ruff]
@@ -146,10 +152,8 @@ line-length = 88
 preview = false
 
 [tool.ruff.lint]
-# We have agreed that we will permanently ignore the ruff rules in this ignore list.
+# We have agreed that we will permanently ignore the ruff rules in the first half of this ignore list.
 ignore = [
-    # NOTE: Non-permanent exclusions should be added to the ".ruff.toml" file.
-
     # flake8-commas (COM)
     # https://docs.astral.sh/ruff/rules/#flake8-commas-com
     "COM812",  # Trailing comma missing.
@@ -159,6 +163,8 @@ ignore = [
     # https://docs.astral.sh/ruff/rules/single-line-implicit-string-concatenation/
     # NOTE: This rule may cause conflicts when used with "ruff format".
     "ISC001",  # Implicitly concatenate string literals on one line.
+
+    # TODO: exceptions that still need investigating are below. Might be fixable, or might become permanent (above):
 ]
 preview = false
 select = [

[^1]: Include this text in the PR body to avoid any prompts about applying your changes back to the template!
@scitools-templating: please no share prompt

Dominant language
Jupyter Notebook
Stars
30
Forks
19
Avg merge
9d 1h
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from SciTools/python-stratify

All issues in SciTools/python-stratify

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.