Support Python 3.8, stop supporting Python 3.5 (#627)

* Upgrade to uvicorn 0.10.4
* Drop support for Python 3.5
* Bump all dependencies to latest releases
* Update docs to reflect we no longer support 3.5
* Removed code that skipped black unit test on 3.5

Closes #622
This commit is contained in:
Simon Willison 2019-11-11 21:09:11 -08:00 committed by GitHub
commit cf7776d36f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 21 deletions

View file

@ -6,7 +6,6 @@ python:
- "3.6"
- "3.7"
- "3.8"
- "3.5"
# Executed for 3.5 AND 3.5 as the first "test" stage:
script:

View file

@ -69,7 +69,7 @@ sqlite-utils: a Python library and CLI tool for building SQLite databases](https
pip3 install datasette
Datasette requires Python 3.5 or higher. We also have [detailed installation instructions](https://datasette.readthedocs.io/en/stable/installation.html) covering other options such as Docker.
Datasette requires Python 3.6 or higher. We also have [detailed installation instructions](https://datasette.readthedocs.io/en/stable/installation.html) covering other options such as Docker.
## Basic usage

View file

@ -18,7 +18,7 @@ General guidelines
Setting up a development environment
------------------------------------
If you have Python 3.5 or higher installed on your computer (on OS X the easiest way to do this `is using homebrew <https://docs.python-guide.org/starting/install3/osx/>`__) you can install an editable copy of Datasette using the following steps.
If you have Python 3.6 or higher installed on your computer (on OS X the easiest way to do this `is using homebrew <https://docs.python-guide.org/starting/install3/osx/>`__) you can install an editable copy of Datasette using the following steps.
If you want to use GitHub to publish your changes, first `create a fork of datasette <https://github.com/simonw/datasette/fork>`__ under your own GitHub account.

View file

@ -69,16 +69,19 @@ You can now run the new custom image like so::
You can confirm that the plugins are installed by visiting
http://127.0.0.1:8001/-/plugins
Install using pip
-----------------
To run Datasette without Docker you will need Python 3.5 or higher.
To run Datasette without Docker you will need Python 3.6 or higher.
You can install Datasette and its dependencies using ``pip``::
pip install datasette
The last version to support Python 3.5 was 0.30.2 - you can install that version like so::
pip install datasette==0.30.2
If you want to install Datasette in its own virtual environment, use this::
python -mvenv datasette-venv

View file

@ -42,12 +42,12 @@ setup(
include_package_data=True,
install_requires=[
"click~=7.0",
"click-default-group~=1.2.1",
"Jinja2~=2.10.1",
"hupper~=1.0",
"click-default-group~=1.2.2",
"Jinja2~=2.10.3",
"hupper~=1.9",
"pint~=0.9",
"pluggy~=0.12.0",
"uvicorn~=0.8.4",
"pluggy~=0.13.0",
"uvicorn~=0.10.4",
"aiofiles~=0.4.0",
],
entry_points="""
@ -58,11 +58,11 @@ setup(
extras_require={
"docs": ["sphinx_rtd_theme", "sphinx-autobuild"],
"test": [
"pytest~=5.0.0",
"pytest~=5.2.2",
"pytest-asyncio~=0.10.0",
"aiohttp~=3.5.3",
"beautifulsoup4~=4.6.1",
"asgiref~=3.1.2",
"aiohttp~=3.6.2",
"beautifulsoup4~=4.8.1",
"asgiref~=3.2.3",
]
+ maybe_black,
},
@ -74,8 +74,8 @@ setup(
"Intended Audience :: End Users/Desktop",
"Topic :: Database",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.5",
],
)

View file

@ -1,3 +1,4 @@
import black
from click.testing import CliRunner
from pathlib import Path
import pytest
@ -6,13 +7,7 @@ import sys
code_root = Path(__file__).parent.parent
@pytest.mark.skipif(
sys.version_info[:2] < (3, 6), reason="Black requires Python 3.6 or later"
)
def test_black():
# Do not import at top of module because Python 3.5 will not have it installed
import black
runner = CliRunner()
result = runner.invoke(
black.main, [str(code_root / "tests"), str(code_root / "datasette"), "--check"]