chore: support for python 3.12

This commit is contained in:
Éloi Rivard 2023-11-11 11:32:19 +01:00 committed by zorun
parent bb30813ec4
commit 8bce025c15
8 changed files with 13 additions and 9 deletions

View file

@ -36,7 +36,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
python-version: [3.7, 3.8, 3.9, "3.10", "3.11"] python-version: [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
dependencies: [normal] dependencies: [normal]
database: [sqlite] database: [sqlite]
# Test other databases only with one version of Python (Debian buster has 3.7) # Test other databases only with one version of Python (Debian buster has 3.7)
@ -66,6 +66,9 @@ jobs:
- python-version: "3.11" - python-version: "3.11"
dependencies: minimal dependencies: minimal
database: sqlite database: sqlite
- python-version: "3.12"
dependencies: minimal
database: sqlite
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
@ -100,4 +103,4 @@ jobs:
TESTING_SQLALCHEMY_DATABASE_URI: 'mysql+pymysql://root:ihatemoney@localhost:3306/ihatemoney_ci' TESTING_SQLALCHEMY_DATABASE_URI: 'mysql+pymysql://root:ihatemoney@localhost:3306/ihatemoney_ci'
- name: Run Lint & Docs - name: Run Lint & Docs
run: tox -e lint_docs run: tox -e lint_docs
if: matrix.python-version == '3.11' if: matrix.python-version == '3.12'

View file

@ -5,7 +5,7 @@ This document describes changes between each past release.
## 6.2.0 (unreleased) ## 6.2.0 (unreleased)
- Nothing changed yet. - Add support for python 3.12 (#757)
## 6.1.3 (2023-11-23) ## 6.1.3 (2023-11-23)

View file

@ -22,7 +22,7 @@ highly encouraged to do so.
## Requirements ## Requirements
- **Python**: version 3.7 to 3.11. - **Python**: version 3.7 to 3.12.
- **Backends**: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above), - **Backends**: SQLite, PostgreSQL, MariaDB (version 10.3.2 or above),
Memory. Memory.

View file

@ -83,7 +83,7 @@ Some Paas (Platform-as-a-Service), provide a documentation or even a quick insta
«Ihatemoney» depends on: «Ihatemoney» depends on:
- **Python**: any version from 3.7 to 3.11 will work. - **Python**: any version from 3.7 to 3.12 will work.
- **A database backend**: choose among SQLite, PostgreSQL, MariaDB (>= - **A database backend**: choose among SQLite, PostgreSQL, MariaDB (>=
10.3.2). 10.3.2).
- **Virtual environment** (recommended): [python3-venv]{.title-ref} - **Virtual environment** (recommended): [python3-venv]{.title-ref}

View file

@ -43,7 +43,7 @@ class TestAPI(IhatemoneyTestCase):
def get_auth(self, username, password=None): def get_auth(self, username, password=None):
password = password or username password = password or username
base64string = ( base64string = (
base64.encodebytes(f"{username}:{password}".encode("utf-8")) base64.encodebytes(f"{username}:{password}".encode("utf-8")) # noqa: E231
.decode("utf-8") .decode("utf-8")
.replace("\n", "") .replace("\n", "")
) )

View file

@ -1784,7 +1784,7 @@ class TestBudget(IhatemoneyTestCase):
<pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate> <pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate>
</item> </item>
</channel> </channel>
</rss>""" # noqa: E501 </rss>""" # noqa: E221, E222, E231, E501
assert resp.data.decode() == expected_rss_content assert resp.data.decode() == expected_rss_content
def test_rss_feed_history_disabled(self): def test_rss_feed_history_disabled(self):
@ -1868,7 +1868,7 @@ class TestBudget(IhatemoneyTestCase):
<pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate> <pubDate>Tue, 25 Jul 2023 00:00:00 +0000</pubDate>
</item> </item>
</channel> </channel>
</rss>""" # noqa: E501 </rss>""" # noqa: E221, E222, E231, E501
assert resp.data.decode() == expected_rss_content assert resp.data.decode() == expected_rss_content
def test_rss_if_modified_since_header(self): def test_rss_if_modified_since_header(self):

View file

@ -20,6 +20,7 @@ classifiers = [
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
] ]

View file

@ -1,5 +1,5 @@
[tox] [tox]
envlist = py311,py310,py39,py38,py37,lint_docs envlist = py312,py311,py310,py39,py38,py37,lint_docs
skip_missing_interpreters = True skip_missing_interpreters = True
[testenv] [testenv]