diff --git a/.cookiecutter/cookiecutter.json b/.cookiecutter/cookiecutter.json
index e8375f1..6c6ee6b 100644
--- a/.cookiecutter/cookiecutter.json
+++ b/.cookiecutter/cookiecutter.json
@@ -12,7 +12,7 @@
"package_name": "pyramid_googleauth",
"slug": "pyramid-googleauth",
"short_description": "'Sign in with Google' for Pyramid.",
- "python_versions": "3.9.13, 3.8.13",
+ "python_versions": "3.12.7, 3.11.10, 3.10.15, 3.9.20",
"github_owner": "hypothesis",
"copyright_holder": "Hypothesis",
"visibility": "public",
@@ -26,4 +26,4 @@
"__copyright_year": "2022",
"pypi": "yes"
}
-}
\ No newline at end of file
+}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 793c149..af1b7e0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,7 +22,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
- python-version: '3.9'
+ python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e checkformatting
Lint:
@@ -32,7 +32,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
- python-version: '3.9'
+ python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e lint
Typecheck:
@@ -42,14 +42,14 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
- python-version: '3.9'
+ python-version: '3.12'
- run: python -m pip install 'tox<4'
- run: tox -e typecheck
Tests:
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ['3.9', '3.8']
+ python-version: ['3.12', '3.11', '3.10', '3.9']
name: Unit tests with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
@@ -75,7 +75,7 @@ jobs:
- name: Install Python
uses: actions/setup-python@v4
with:
- python-version: '3.9'
+ python-version: '3.12'
- name: Download coverage files
uses: actions/download-artifact@v4
with:
@@ -87,7 +87,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ['3.9', '3.8']
+ python-version: ['3.12', '3.11', '3.10', '3.9']
name: Functional tests with Python ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
diff --git a/.python-version b/.python-version
index e619484..23cac87 100644
--- a/.python-version
+++ b/.python-version
@@ -1,2 +1,4 @@
-3.9.13
-3.8.13
+3.12.7
+3.11.10
+3.10.15
+3.9.20
diff --git a/Makefile b/Makefile
index 90b0863..fa9f8cc 100644
--- a/Makefile
+++ b/Makefile
@@ -37,35 +37,55 @@ checkformatting: python
@pyenv exec tox -qe checkformatting
.PHONY: test
-$(call help,make test,"run the unit tests in Python 3.9")
+$(call help,make test,"run the unit tests in Python 3.12")
test: python
@pyenv exec tox -qe tests
-.PHONY: test-py38
-$(call help,make test-py38,"run the unit tests in Python 3.8")
-test-py38: python
- @pyenv exec tox -qe py38-tests
+.PHONY: test-py311
+$(call help,make test-py311,"run the unit tests in Python 3.11")
+test-py311: python
+ @pyenv exec tox -qe py311-tests
+
+.PHONY: test-py310
+$(call help,make test-py310,"run the unit tests in Python 3.10")
+test-py310: python
+ @pyenv exec tox -qe py310-tests
+
+.PHONY: test-py39
+$(call help,make test-py39,"run the unit tests in Python 3.9")
+test-py39: python
+ @pyenv exec tox -qe py39-tests
.PHONY: coverage
$(call help,make coverage,"run the tests and print the coverage report")
coverage: python
- @pyenv exec tox --parallel -qe 'tests,py{38}-tests,coverage'
+ @pyenv exec tox --parallel -qe 'tests,py{311,310,39}-tests,coverage'
.PHONY: functests
-$(call help,make functests,"run the functional tests in Python 3.9")
+$(call help,make functests,"run the functional tests in Python 3.12")
functests: python
@pyenv exec tox -qe functests
-.PHONY: functests-py38
-$(call help,make functests-py38,"run the functional tests in Python 3.8")
-functests-py38: python
- @pyenv exec tox -qe py38-functests
+.PHONY: functests-py311
+$(call help,make functests-py311,"run the functional tests in Python 3.11")
+functests-py311: python
+ @pyenv exec tox -qe py311-functests
+
+.PHONY: functests-py310
+$(call help,make functests-py310,"run the functional tests in Python 3.10")
+functests-py310: python
+ @pyenv exec tox -qe py310-functests
+
+.PHONY: functests-py39
+$(call help,make functests-py39,"run the functional tests in Python 3.9")
+functests-py39: python
+ @pyenv exec tox -qe py39-functests
.PHONY: sure
$(call help,make sure,"make sure that the formatting$(comma) linting and tests all pass")
sure: python
sure:
- @pyenv exec tox --parallel -qe 'checkformatting,lint,typecheck,tests,py{38}-tests,coverage,functests,py{38}-functests'
+ @pyenv exec tox --parallel -qe 'checkformatting,lint,typecheck,tests,py{311,310,39}-tests,coverage,functests,py{311,310,39}-functests'
.PHONY: template
$(call help,make template,"update from the latest cookiecutter template")
diff --git a/README.md b/README.md
index ebb4c95..47210bd 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-
+
diff --git a/bin/make_python b/bin/make_python
index c77808c..9721005 100755
--- a/bin/make_python
+++ b/bin/make_python
@@ -8,7 +8,7 @@ if [ -n "${CI+x}" ]; then exit; fi
pyenv_root=$(pyenv root)
-for python_version in 3.9.13 3.8.13; do
+for python_version in 3.12.7 3.11.10 3.10.15 3.9.20; do
bin_dir=$pyenv_root/versions/$python_version/bin
if [ ! -f "$bin_dir"/tox ]; then
pyenv install --skip-existing "$python_version"
diff --git a/setup.cfg b/setup.cfg
index 141d5ae..e936ff5 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,3 +1,32 @@
+[metadata]
+name = pyramid-googleauth
+description = 'Sign in with Google' for Pyramid.
+long_description = file: README.md
+long_description_content_type = text/markdown
+url = https://github.com/hypothesis/pyramid-googleauth
+project_urls =
+ Bug Tracker = https://github.com/hypothesis/pyramid-googleauth/issues
+ Changelog = https://github.com/hypothesis/pyramid-googleauth/releases
+classifiers =
+ Programming Language :: Python :: 3
+ License :: OSI Approved :: BSD License
+ Intended Audience :: Developers
+
+[options]
+package_dir =
+ = src
+packages = find:
+python_requires = >=3.9
+install_requires =
+ google-auth-oauthlib
+ PyJWT
+ pyramid>=2.0.0
+
+[options.packages.find]
+where = src
+
+[options.entry_points]
+
[pycodestyle]
ignore =
# Disable pycodestyle errors and warnings that we don't care about because
diff --git a/tox.ini b/tox.ini
index 8917373..fb9cb2a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -46,7 +46,7 @@ deps =
typecheck: mypy
lint,functests: webtest
depends =
- coverage: tests,py{38}-tests
+ coverage: tests,py{311,310,39}-tests
commands =
dev: {posargs:ipython --classic --no-banner --no-confirm-exit}
format: black src tests bin