Add support for Python 3.8 (#115)

* Remove Travis Python 3.7 hack

No longer necessary: 3.7 is supported out-of-the-box

* Add support for Python 3.8

And explicitly document in setup.py

* "Upgrade base Docker image to Python 3.8"a

* Add entry about py38 support in WIP changelog

* Explicitly declare python versions in setup.py

* Bump Werkzeug to 0.15.6

This is the latest 0.15 version. 0.16 might be incompatible

The fix we are looking for is in [0.15.5](http://werkzeug.palletsprojects.com/en/0.15.x/changes/#version-0-15-5):

> Fix a TypeError due to changes to ast.Module in Python 3.8.
This commit is contained in:
Samuel Dion-Girardeau 2019-11-25 11:58:29 -05:00 committed by Jon Parise
parent e49cd8963a
commit f377aa3ed2
6 changed files with 8 additions and 8 deletions

View file

@ -7,11 +7,8 @@ python:
- "3.4" - "3.4"
- "3.5" - "3.5"
- "3.6" - "3.6"
matrix: - "3.7"
include: - "3.8"
- python: 3.7
dist: xenial
sudo: true
cache: pip cache: pip
install: install:
- pip install tox-travis - pip install tox-travis

View file

@ -3,6 +3,7 @@ Version 1.5.0 (in development)
* The ``URL_PREFIX`` environment variable can be used to add a prefix to URLs, * The ``URL_PREFIX`` environment variable can be used to add a prefix to URLs,
which is useful when running behind a reverse proxy like nginx. which is useful when running behind a reverse proxy like nginx.
* Replaced mockredis with fakeredis in the unit test environment. * Replaced mockredis with fakeredis in the unit test environment.
* Added support for Python 3.8.
Version 1.4.2 Version 1.4.2
------------- -------------

View file

@ -1,4 +1,4 @@
FROM python:3.7-slim FROM python:3.8-slim
ENV APP_DIR=/usr/src/snappass ENV APP_DIR=/usr/src/snappass

View file

@ -1,7 +1,7 @@
Flask==1.0.2 Flask==1.0.2
Jinja2==2.10.1 Jinja2==2.10.1
MarkupSafe==1.0 MarkupSafe==1.0
Werkzeug==0.15.3 Werkzeug==0.15.6
itsdangerous==0.24 itsdangerous==0.24
redis==2.10.6 redis==2.10.6
cryptography==2.3.1 cryptography==2.3.1

View file

@ -18,6 +18,7 @@ setup(
], ],
}, },
include_package_data=True, include_package_data=True,
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4',
classifiers=[ classifiers=[
'Development Status :: 5 - Production/Stable', 'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers', 'Intended Audience :: Developers',
@ -32,6 +33,7 @@ setup(
'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Software Development :: Libraries :: Python Modules',
], ],
zip_safe=False, zip_safe=False,

View file

@ -1,5 +1,5 @@
[tox] [tox]
envlist = py27, py34, py35, py36, py37, flake8 envlist = py27, py34, py35, py36, py37, py38, flake8
[testenv] [testenv]
setenv = setenv =