Skip to content

Commit

Permalink
pyproject: prep 4.0.0 (#219)
Browse files Browse the repository at this point in the history
* pyproject: prep 4.0.0

Signed-off-by: William Woodruff <[email protected]>

* remove 3.8, add 3.13

Signed-off-by: William Woodruff <[email protected]>

* noxfile: remove 3.8, add 3.13

Signed-off-by: William Woodruff <[email protected]>

---------

Signed-off-by: William Woodruff <[email protected]>
  • Loading branch information
woodruffw authored Nov 6, 2024
1 parent 8603eaf commit 621e497
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
test:
strategy:
matrix:
python: ['3.8', '3.9', '3.10', '3.11', '3.12']
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
platform: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
Expand Down
5 changes: 3 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
#
# and also to help confirm pull requests to this project.

import nox
import os

import nox

nox.options.sessions = ["lint"]

# Define the minimal nox version required to run
Expand All @@ -39,7 +40,7 @@ def build_and_check_dists(session):
session.run("python", "-m", "twine", "check", "dist/*")


@nox.session(python=["3.8", "3.9", "3.10", "3.11", "3.12"])
@nox.session(python=["3.9", "3.10", "3.11", "3.12", "3.13"])
def tests(session):
session.install("pytest")
build_and_check_dists(session)
Expand Down
28 changes: 12 additions & 16 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
# https://packaging.python.org/en/latest/tutorials/packaging-projects/#choosing-a-build-backend
[build-system]
# A list of packages that are needed to build your package:
requires = ["setuptools"] # REQUIRED if [build-system] table is used
requires = ["setuptools"] # REQUIRED if [build-system] table is used
# The name of the Python object that frontends will use to perform the build:
build-backend = "setuptools.build_meta" # If not defined, then legacy behavior can happen.
build-backend = "setuptools.build_meta" # If not defined, then legacy behavior can happen.


[project]
Expand All @@ -26,14 +26,14 @@ build-backend = "setuptools.build_meta" # If not defined, then legacy behavior
# There are some restrictions on what makes a valid project name
# specification here:
# https://packaging.python.org/specifications/core-metadata/#name
name = "sampleproject" # REQUIRED, is the only field that cannot be marked as dynamic.
name = "sampleproject" # REQUIRED, is the only field that cannot be marked as dynamic.

# Versions should comply with PEP 440:
# https://www.python.org/dev/peps/pep-0440/
#
# For a discussion on single-sourcing the version, see
# https://packaging.python.org/guides/single-sourcing-package-version/
version = "3.0.0" # REQUIRED, although can be dynamic
version = "4.0.0" # REQUIRED, although can be dynamic

# This is a one-line description or tagline of what your project does. This
# corresponds to the "Summary" metadata field:
Expand All @@ -54,12 +54,12 @@ readme = "README.md"
# 'Programming Language' classifiers in this file, 'pip install' will check this
# and refuse to install the project if the version does not match. See
# https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
requires-python = ">=3.8"
requires-python = ">=3.9"

# This is either text indicating the license for the distribution, or a file
# that contains the license.
# https://packaging.python.org/en/latest/specifications/core-metadata/#license
license = {file = "LICENSE.txt"}
license = { file = "LICENSE.txt" }

# This field adds keywords for your project which will appear on the
# project page. What does your project relate to?
Expand All @@ -72,15 +72,13 @@ keywords = ["sample", "setuptools", "development"]
# This should be your name or the name of the organization who originally
# authored the project, and a valid email address corresponding to the name
# listed.
authors = [
{name = "A. Random Developer", email = "[email protected]" }
]
authors = [{ name = "A. Random Developer", email = "[email protected]" }]

# This should be your name or the names of the organization who currently
# maintains the project, and a valid email address corresponding to the name
# listed.
maintainers = [
{name = "A. Great Maintainer", email = "[email protected]" }
{ name = "A. Great Maintainer", email = "[email protected]" },
]

# Classifiers help users find your project by categorizing it.
Expand All @@ -104,11 +102,11 @@ classifiers = [
# that you indicate you support Python 3. These classifiers are *not*
# checked by "pip install". See instead "requires-python" key in this file.
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
]

Expand All @@ -118,17 +116,15 @@ classifiers = [
#
# For an analysis of this field vs pip's requirements files see:
# https://packaging.python.org/discussions/install-requires-vs-requirements/
dependencies = [
"peppercorn"
]
dependencies = ["peppercorn"]

# List additional groups of dependencies here (e.g. development
# dependencies). Users will be able to install these using the "extras"
# syntax, for example:
#
# $ pip install sampleproject[dev]
#
# Optional dependencies the project provides. These are commonly
# Optional dependencies the project provides. These are commonly
# referred to as "extras". For a more extensive definition see:
# https://packaging.python.org/en/latest/specifications/dependency-specifiers/#extras
[project.optional-dependencies]
Expand Down Expand Up @@ -163,4 +159,4 @@ sample = "sample:main"
[tool.setuptools]
# If there are data files included in your packages that need to be
# installed, specify them here.
package-data = {"sample" = ["*.dat"]}
package-data = { "sample" = ["*.dat"] }

0 comments on commit 621e497

Please sign in to comment.