Repository: lycantropos/hypothesis_sqlalchemy (language: python)

Issue:
Support `sqlalchemy` 2
Hi, this is a great project. `sqlalchemy` 2 has been released, and it would be great if this supported it.

I'd be happy to open a PR.


Discussion / hints:
@dycw thanks, I'd be happy to review it!
@lycantropos Please find PR https://github.com/lycantropos/hypothesis_sqlalchemy/pull/39.

Fix patch:
diff --git a/.env b/.env
index aed5940..21e0cfa 100644
--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
 CPYTHON_IMAGE_NAME=python
-CPYTHON_IMAGE_VERSION=3.6
+CPYTHON_IMAGE_VERSION=3.7
 PYPY_IMAGE_NAME=pypy
-PYPY_IMAGE_VERSION=3.6
+PYPY_IMAGE_VERSION=3.7
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cce8c79..45b3417 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -15,7 +15,7 @@ jobs:
     runs-on: ${{ matrix.platform.os }}
     strategy:
       matrix:
-        python_version: ['3.6', '3.7', '3.8', '3.9', '3.10']
+        python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
         platform: [
           {
             os: 'macos-latest',
@@ -41,13 +41,25 @@ jobs:
             platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
           - python_version: 'pypy-3.7'
             platform: { os: 'windows-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'macos-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'windows-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'macos-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'windows-latest', python_architecture: 'x64' }
     steps:
       - name: 'Checkout'
         uses: actions/checkout@v3
         with:
           submodules: true
       - name: 'Setup Python'
-        uses: actions/setup-python@v3
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python_version }}
           architecture: ${{ matrix.platform.python_architecture }}
@@ -68,7 +80,7 @@ jobs:
       - name: 'Collect coverage'
         run: coverage xml
       - name: 'Upload coverage'
-        uses: codecov/codecov-action@v2.1.0
+        uses: codecov/codecov-action@v3.1.1
         with:
           fail_ci_if_error: false
         continue-on-error: true
@@ -92,15 +104,13 @@ jobs:
         with:
           submodules: true
       - name: 'Setup Python'
-        uses: actions/setup-python@v3
+        uses: actions/setup-python@v4
       - name: 'Install packaging tools'
         run: python -m pip install -U build pip setuptools wheel
-      - name: 'Install dependencies'
-        run: python -m pip install -r requirements.txt
       - name: 'Build'
         run: python -m build --sdist --wheel
       - name: 'Upload'
-        uses: actions/upload-artifact@v2
+        uses: actions/upload-artifact@v3
         with:
           name: dist
           path: dist
@@ -111,7 +121,7 @@ jobs:
     needs: build
     strategy:
       matrix:
-        python_version: ['3.6', '3.7', '3.8', '3.9', '3.10']
+        python_version: ['3.7', '3.8', '3.9', '3.10', '3.11']
         platform: [
           {
             os: 'macos-latest',
@@ -137,14 +147,26 @@ jobs:
             platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
           - python_version: 'pypy-3.7'
             platform: { os: 'windows-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'macos-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.8'
+            platform: { os: 'windows-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'macos-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'ubuntu-latest', python_architecture: 'x64' }
+          - python_version: 'pypy-3.9'
+            platform: { os: 'windows-latest', python_architecture: 'x64' }
     steps:
       - name: 'Setup Python'
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python_version }}
           architecture: ${{ matrix.platform.python_architecture }}
       - name: 'Download distributions'
-        uses: actions/download-artifact@v2
+        uses: actions/download-artifact@v3
         with:
           name: dist
           path: dist
@@ -157,17 +179,13 @@ jobs:
     needs: test-distributions
     runs-on: ubuntu-latest
     steps:
-      - name: 'Checkout'
-        uses: actions/checkout@v3
-        with:
-          submodules: true
       - name: 'Download distributions'
-        uses: actions/download-artifact@v2
+        uses: actions/download-artifact@v3
         with:
           name: dist
           path: dist
       - name: 'PyPI upload'
-        uses: pypa/gh-action-pypi-publish@v1.5.0
+        uses: pypa/gh-action-pypi-publish@v1.6.4
         with:
           packages_dir: dist
           password: ${{ secrets.PYPI_API_TOKEN }}
diff --git a/README.md b/README.md
index 84dc948..e46c727 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@ hypothesis_sqlalchemy
 [![](https://img.shields.io/github/license/lycantropos/hypothesis_sqlalchemy.svg)](https://github.com/lycantropos/hypothesis_sqlalchemy/blob/master/LICENSE "License")
 [![](https://badge.fury.io/py/hypothesis-sqlalchemy.svg)](https://badge.fury.io/py/hypothesis-sqlalchemy "PyPI")
 
-In what follows `python` is an alias for `python3.6` or `pypy3.6`
-or any later version (`python3.7`, `pypy3.7` and so on).
+In what follows `python` is an alias for `python3.7` or `pypy3.7`
+or any later version (`python3.8`, `pypy3.8` and so on).
 
 Installation
 ------------
diff --git a/requirements.txt b/requirements.txt
index e17c40b..ea6e91c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,2 @@
-sqlalchemy>=1.4.32,<2.0
-hypothesis>=6.31.6,<7.0
+sqlalchemy>=1.4.46,<2.0
+hypothesis>=6.66.0,<7.0
diff --git a/setup.py b/setup.py
index 1949fa9..3c19f08 100644
--- a/setup.py
+++ b/setup.py
@@ -21,11 +21,11 @@
           'Framework :: Hypothesis',
           'Intended Audience :: Developers',
           'License :: OSI Approved :: MIT License',
-          'Programming Language :: Python :: 3.6',
           'Programming Language :: Python :: 3.7',
           'Programming Language :: Python :: 3.8',
           'Programming Language :: Python :: 3.9',
           'Programming Language :: Python :: 3.10',
+          'Programming Language :: Python :: 3.11',
           'Programming Language :: Python :: Implementation :: CPython',
           'Programming Language :: Python :: Implementation :: PyPy',
           'Operating System :: POSIX',
@@ -37,5 +37,5 @@
       license='MIT License',
       url=project_base_url,
       download_url=project_base_url + 'archive/master.zip',
-      python_requires='>=3.6',
+      python_requires='>=3.7',
       install_requires=Path('requirements.txt').read_text(encoding='utf-8'))


Test patch:
diff --git a/requirements-tests.txt b/requirements-tests.txt
index 757e27a..fa67feb 100644
--- a/requirements-tests.txt
+++ b/requirements-tests.txt
@@ -1,1 +1,1 @@
-pytest>=7.0.1,<8.0
+pytest>=7.2.0,<8.0