This repository has been archived by the owner on Sep 13, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 24
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #137 from beeware/py312-compat
Add Python 3.12 and 3.13 compatibility.
- Loading branch information
Showing
18 changed files
with
324 additions
and
217 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Support for Python 3.7 was removed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Support for Python 3.12 was added. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Support for Python 3.13 was added. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,70 @@ | ||
[build-system] | ||
requires = [ | ||
"setuptools >= 46.4.0", | ||
"wheel >= 0.32.0", | ||
"setuptools==69.5.1", | ||
"setuptools_scm==8.0.4", | ||
] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
dynamic = ["version"] | ||
name = "gbulb" | ||
description = "GLib event loop for Python asyncio" | ||
readme = "README.rst" | ||
requires-python = ">= 3.8" | ||
license.text = "Apache 2.0" | ||
authors = [ | ||
{name="Russell Keith-Magee", email="[email protected]"}, | ||
{name="Nathan Hoad", email="[email protected]"} | ||
] | ||
maintainers = [ | ||
{name="Russell Keith-Magee", email="[email protected]"}, | ||
] | ||
keywords = [ | ||
"gtk", | ||
"glib", | ||
"gnome", | ||
"asyncio", | ||
"tulip", | ||
] | ||
classifiers = [ | ||
"Development Status :: 4 - Beta", | ||
"Intended Audience :: Developers", | ||
"License :: OSI Approved :: Apache Software License", | ||
"Operating System :: POSIX", | ||
"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", | ||
"Topic :: Software Development :: Libraries :: Python Modules", | ||
] | ||
dependencies = [ | ||
# Dependencies required at runtime are set as ranges to ensure maximum | ||
# compatibility with the end-user's development environment. | ||
"pygobject >= 3.14.0", | ||
] | ||
|
||
[project.optional-dependencies] | ||
# Extras used by developers *of* gbulb are pinned to specific versions to | ||
# ensure environment consistency. | ||
dev = [ | ||
"coverage[toml] == 7.5.0", | ||
# Pre-commit 3.6.0 deprecated support for Python 3.8 | ||
"pre-commit == 3.5.0 ; python_version < '3.9'", | ||
"pre-commit == 3.7.0 ; python_version >= '3.9'", | ||
"pytest == 8.1.1", | ||
"tox == 4.15.0", | ||
] | ||
|
||
[project.urls] | ||
Homepage = "https://github.com/beeware/gbulb" | ||
Funding = "https://beeware.org/contributing/membership/" | ||
# Documentation = "http://gbulb.readthedocs.io/en/latest/" | ||
Tracker = "https://github.com/beeware/gbulb/issues" | ||
Source = "https://github.com/beeware/gbulb" | ||
|
||
[tool.isort] | ||
profile = "black" | ||
skip_glob = [ | ||
|
@@ -13,9 +73,37 @@ skip_glob = [ | |
] | ||
multi_line_output = 3 | ||
|
||
[tool.pytest.ini_options] | ||
testpaths = ["tests"] | ||
filterwarnings = [ | ||
# "error", # promote warnings to errors | ||
] | ||
|
||
# need to ensure build directories aren't excluded from recursion | ||
norecursedirs = [] | ||
|
||
[tool.setuptools_scm] | ||
# To enable SCM versioning, we need an empty tool configuration for setuptools_scm | ||
|
||
[tool.towncrier] | ||
directory = "changes" | ||
package = "gbulb" | ||
package_dir = "src" | ||
filename = "CHANGELOG.rst" | ||
title_format = "{version} ({project_date})" | ||
issue_format = "`#{issue} <https://github.com/beeware/briefcase/issues/{issue}>`__" | ||
template = "changes/template.rst" | ||
type = [ | ||
{ directory = "feature", name = "Features", showcontent = true }, | ||
{ directory = "bugfix", name = "Bugfixes", showcontent = true }, | ||
{ directory = "removal", name = "Backward Incompatible Changes", showcontent = true }, | ||
{ directory = "doc", name = "Documentation", showcontent = true }, | ||
{ directory = "misc", name = "Misc", showcontent = false }, | ||
] | ||
|
||
[tool.codespell] | ||
skip = '.git,*.pdf,*.svg' | ||
# the way to make case sensitive skips of words etc | ||
ignore-regex = '\bNd\b' | ||
# case insensitive | ||
# ignore-words-list = '' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,23 @@ | ||
from .glib_events import * # noqa: F401,F403 | ||
from .utils import * # noqa: F401,F403 | ||
|
||
__version__ = "0.6.4" | ||
__all__ = [ | ||
"__version__", | ||
] | ||
|
||
try: | ||
# Read version from SCM metadata | ||
# This will only exist in a development environment | ||
from setuptools_scm import get_version | ||
|
||
# Excluded from coverage because a pure test environment (such as the one | ||
# used by tox in CI) won't have setuptools_scm | ||
__version__ = get_version("../..", relative_to=__file__) # pragma: no cover | ||
except (ModuleNotFoundError, LookupError): # pragma: no cover | ||
# If setuptools_scm isn't in the environment, the call to import will fail. | ||
# If it *is* in the environment, but the code isn't a git checkout (e.g., | ||
# it's been pip installed non-editable) the call to get_version() will fail. | ||
# If either of these occurs, read version from the installer metadata. | ||
from importlib.metadata import version | ||
|
||
__version__ = version("gbulb") |
Oops, something went wrong.