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