mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 17:32:38 +02:00
chore: support for python 3.12
This commit is contained in:
parent
bb30813ec4
commit
8bce025c15
8 changed files with 13 additions and 9 deletions
7
.github/workflows/test-docs.yml
vendored
7
.github/workflows/test-docs.yml
vendored
|
@ -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'
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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}
|
||||||
|
|
|
@ -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", "")
|
||||||
)
|
)
|
||||||
|
|
|
@ -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):
|
||||||
|
|
|
@ -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",
|
||||||
]
|
]
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -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]
|
||||||
|
|
Loading…
Reference in a new issue