mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-28 09:22:38 +02:00
Update Python (#1083)
* drop python3.6 * update github python actions and use pip cache * we use setup.cfg not requirements.txt * add python 3.11. Still in RC for now * use latest 3.11 version * 3.11 is strill RC for now * go back to include key that match original py version this shouldn't fail * upgrade psycopg2 for python 3.11 Upgrade for all, it's a minor version * update documentation for python 3.11 support * update version * 3.11 is out Right on time!
This commit is contained in:
parent
294042e812
commit
d8b6355101
9 changed files with 31 additions and 19 deletions
13
.github/workflows/test-docs.yml
vendored
13
.github/workflows/test-docs.yml
vendored
|
@ -36,7 +36,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
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"]
|
||||||
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)
|
||||||
|
@ -48,7 +48,7 @@ jobs:
|
||||||
dependencies: normal
|
dependencies: normal
|
||||||
database: mariadb
|
database: mariadb
|
||||||
# Try a few variants with the minimal versions supported
|
# Try a few variants with the minimal versions supported
|
||||||
- python-version: 3.6
|
- python-version: 3.7
|
||||||
dependencies: minimal
|
dependencies: minimal
|
||||||
database: sqlite
|
database: sqlite
|
||||||
- python-version: 3.7
|
- python-version: 3.7
|
||||||
|
@ -63,13 +63,18 @@ jobs:
|
||||||
- python-version: "3.10"
|
- python-version: "3.10"
|
||||||
dependencies: minimal
|
dependencies: minimal
|
||||||
database: sqlite
|
database: sqlite
|
||||||
|
- python-version: "3.11"
|
||||||
|
dependencies: minimal
|
||||||
|
database: sqlite
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: '**/setup.cfg'
|
||||||
- name: Change dependencies to minimal supported versions
|
- name: Change dependencies to minimal supported versions
|
||||||
run: sed -i -e 's/>=/==/g; s/~=.*==\(.*\)/==\1/g; s/~=/==/g;' setup.cfg
|
run: sed -i -e 's/>=/==/g; s/~=.*==\(.*\)/==\1/g; s/~=/==/g;' setup.cfg
|
||||||
if: matrix.dependencies == 'minimal'
|
if: matrix.dependencies == 'minimal'
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
sudo: false
|
sudo: false
|
||||||
language: python
|
language: python
|
||||||
python:
|
python:
|
||||||
- "3.6"
|
|
||||||
- "3.7"
|
- "3.7"
|
||||||
- "3.8"
|
- "3.8"
|
||||||
- "3.9"
|
- "3.9"
|
||||||
|
|
|
@ -2,7 +2,14 @@
|
||||||
|
|
||||||
This document describes changes between each past release.
|
This document describes changes between each past release.
|
||||||
|
|
||||||
## 5.2.1 (unreleased)
|
## 6.0.0 (unreleased)
|
||||||
|
|
||||||
|
### Breaking
|
||||||
|
- Drop Python 3.6 support
|
||||||
|
- Add Python 3.11 support
|
||||||
|
|
||||||
|
The minimum supported version is now Python 3.7, and the project is
|
||||||
|
tested with up to Python 3.11
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Add a cancel button when editing a bill for better UX
|
- Add a cancel button when editing a bill for better UX
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -46,7 +46,7 @@ test: install-dev ## Run the tests
|
||||||
|
|
||||||
.PHONY: black
|
.PHONY: black
|
||||||
black: install-dev ## Run the tests
|
black: install-dev ## Run the tests
|
||||||
$(VENV)/bin/black --target-version=py36 .
|
$(VENV)/bin/black --target-version=py37 .
|
||||||
|
|
||||||
.PHONY: isort
|
.PHONY: isort
|
||||||
isort: install-dev ## Run the tests
|
isort: install-dev ## Run the tests
|
||||||
|
|
|
@ -22,7 +22,7 @@ highly encouraged to do so.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- **Python**: version 3.6 to 3.9.
|
- **Python**: version 3.7 to 3.11.
|
||||||
- **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.6 to 3.10 will work.
|
- **Python**: any version from 3.7 to 3.11 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}
|
||||||
|
|
|
@ -35,14 +35,14 @@ special instructions:
|
||||||
#### Switch to a supported version of Python
|
#### Switch to a supported version of Python
|
||||||
|
|
||||||
::: {note}
|
::: {note}
|
||||||
If you are already using Python ≥ 3.6, you can skip this section, no
|
If you are already using Python ≥ 3.7, you can skip this section, no
|
||||||
special action is required.
|
special action is required.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
If you were running IHateMoney using Python < 3.6, you must, **before**
|
If you were running IHateMoney using Python < 3.7, you must, **before**
|
||||||
upgrading:
|
upgrading:
|
||||||
|
|
||||||
1. Ensure to have a Python ≥ 3.6 available on your system
|
1. Ensure to have a Python ≥ 3.7 available on your system
|
||||||
|
|
||||||
2. Rebuild your virtual environment (if any). It will *not* alter your
|
2. Rebuild your virtual environment (if any). It will *not* alter your
|
||||||
database nor configuration. For example, if your virtual environment
|
database nor configuration. For example, if your virtual environment
|
||||||
|
|
10
setup.cfg
10
setup.cfg
|
@ -1,6 +1,6 @@
|
||||||
[metadata]
|
[metadata]
|
||||||
name = ihatemoney
|
name = ihatemoney
|
||||||
version = 5.2.1.dev0
|
version = 6.0.0.dev0
|
||||||
url = https://github.com/spiral-project/ihatemoney
|
url = https://github.com/spiral-project/ihatemoney
|
||||||
description = A simple shared budget manager web application.
|
description = A simple shared budget manager web application.
|
||||||
long_description = file: README.rst, CHANGELOG.rst
|
long_description = file: README.rst, CHANGELOG.rst
|
||||||
|
@ -11,10 +11,11 @@ license = Custom BSD Beerware
|
||||||
classifiers =
|
classifiers =
|
||||||
Programming Language :: Python
|
Programming Language :: Python
|
||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3
|
||||||
Programming Language :: Python :: 3.6
|
|
||||||
Programming Language :: Python :: 3.7
|
Programming Language :: Python :: 3.7
|
||||||
Programming Language :: Python :: 3.8
|
Programming Language :: Python :: 3.8
|
||||||
Programming Language :: Python :: 3.9
|
Programming Language :: Python :: 3.9
|
||||||
|
Programming Language :: Python :: 3.10
|
||||||
|
Programming Language :: Python :: 3.11
|
||||||
Topic :: Internet :: WWW/HTTP
|
Topic :: Internet :: WWW/HTTP
|
||||||
Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
||||||
|
|
||||||
|
@ -48,11 +49,12 @@ install_requires =
|
||||||
|
|
||||||
[options.extras_require]
|
[options.extras_require]
|
||||||
database =
|
database =
|
||||||
psycopg2-binary>=2.9,<3
|
# Python 3.11 support starts in 2.9.2
|
||||||
|
psycopg2-binary>=2.9.2,<3
|
||||||
PyMySQL>=0.9,<1.1
|
PyMySQL>=0.9,<1.1
|
||||||
|
|
||||||
dev =
|
dev =
|
||||||
black>=19.10b0 ; python_version >= '3.6'
|
black>=19.10b0 ; python_version >= '3.7'
|
||||||
flake8>=3.7.9
|
flake8>=3.7.9
|
||||||
Flask-Testing>=0.8.1
|
Flask-Testing>=0.8.1
|
||||||
isort>=5.0.0
|
isort>=5.0.0
|
||||||
|
|
5
tox.ini
5
tox.ini
|
@ -1,5 +1,5 @@
|
||||||
[tox]
|
[tox]
|
||||||
envlist = py39,py38,py37,py36,lint_docs
|
envlist = py311,py310,py39,py38,py37,lint_docs
|
||||||
skip_missing_interpreters = True
|
skip_missing_interpreters = True
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
@ -17,7 +17,7 @@ changedir = /tmp
|
||||||
|
|
||||||
[testenv:lint_docs]
|
[testenv:lint_docs]
|
||||||
commands =
|
commands =
|
||||||
black --check --target-version=py36 .
|
black --check --target-version=py37 .
|
||||||
isort -c .
|
isort -c .
|
||||||
flake8 ihatemoney
|
flake8 ihatemoney
|
||||||
sphinx-build -a -n -b html -d docs/_build/doctrees docs docs/_build/html
|
sphinx-build -a -n -b html -d docs/_build/doctrees docs docs/_build/html
|
||||||
|
@ -34,7 +34,6 @@ extend-ignore =
|
||||||
|
|
||||||
[travis]
|
[travis]
|
||||||
python =
|
python =
|
||||||
3.6: py36
|
|
||||||
3.7: py37
|
3.7: py37
|
||||||
3.8: py38, lint_docs
|
3.8: py38, lint_docs
|
||||||
3.9: py39
|
3.9: py39
|
||||||
|
|
Loading…
Reference in a new issue