Skip to content

Commit

Permalink
feat: Support Python 3.12
Browse files Browse the repository at this point in the history
* Replace the use of pkg_resources (from setuptools, which is
  no longer included in virtual environments as of 3.12) with
  importlib.metadata.

* Add Python 3.12 to the test matrix.
  • Loading branch information
Maari Tamm committed Mar 13, 2024
1 parent e0f0399 commit 9d4d9a2
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 12 deletions.
1 change: 1 addition & 0 deletions .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
- '3.9'
- '3.10'
- '3.11'
- '3.12'

steps:
- name: Check out code
Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## Unreleased
* [Enhancement] Support Python 3.12.

## Version 3.1.0 (2024-01-12)

* [Enhancement] Support Tutor 17 and Open edX Quince.
Expand Down
3 changes: 2 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
[tox]
envlist = gitlint,py{38,39,310,311},flake8
envlist = gitlint,py{38,39,310,311,312},flake8

[gh-actions]
python =
3.8: gitlint,py38,flake8
3.9: gitlint,py39,flake8
3.10: gitlint,py310,flake8
3.11: gitlint,py311,flake8
3.12: gitlint,py312,flake8

[flake8]
ignore = E124,W504
Expand Down
5 changes: 2 additions & 3 deletions tutorbackup/__about__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import pkg_resources
from importlib import metadata
# __version__ attribute as suggested by (deferred) PEP 396:
# https://www.python.org/dev/peps/pep-0396/
#
# Single-source package definition as suggested (among several
# options) by:
# https://packaging.python.org/guides/single-sourcing-package-version/
__version__ = pkg_resources.get_distribution(
'tutor-contrib-backup').version
__version__ = metadata.version('tutor-contrib-backup')
13 changes: 5 additions & 8 deletions tutorbackup/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from .__about__ import __version__
from glob import glob
import os
import pkg_resources
import importlib_resources
import click
from tutor import hooks
from tutor import config as tutor_config
Expand Down Expand Up @@ -154,7 +154,7 @@ def restore(context, date, version, exclude, list_versions): # noqa: F811

# Add the "templates" folder as a template root
hooks.Filters.ENV_TEMPLATE_ROOTS.add_item(
pkg_resources.resource_filename("tutorbackup", "templates")
str(importlib_resources.files("tutorbackup") / "templates")
)
# Render the "build" and "apps" folders
hooks.Filters.ENV_TEMPLATE_TARGETS.add_items(
Expand All @@ -164,12 +164,9 @@ def restore(context, date, version, exclude, list_versions): # noqa: F811
],
)
# Load patches from files
for path in glob(
os.path.join(
pkg_resources.resource_filename("tutorbackup", "patches"),
"*",
)
):
for path in glob(str(
importlib_resources.files("tutorbackup") / "patches" / "*")):

with open(path, encoding="utf-8") as patch_file:
hooks.Filters.ENV_PATCHES.add_item(
(os.path.basename(path), patch_file.read())
Expand Down

0 comments on commit 9d4d9a2

Please sign in to comment.