From bd6d24c8fdb6b0f69f76324a19201f4afac623c6 Mon Sep 17 00:00:00 2001 From: gabriellm1 Date: Wed, 14 Oct 2020 18:15:10 -0300 Subject: [PATCH] Add Python3.9 support --- .circleci/config.yml | 103 ++++++++++++++++++++++++++++++++++++ newsfragments/1774.misc.rst | 1 + setup.py | 5 +- tox.ini | 17 ++++-- 4 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 newsfragments/1774.misc.rst diff --git a/.circleci/config.yml b/.circleci/config.yml index 7aa1510bdd..142dff050b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -468,6 +468,98 @@ jobs: environment: TOXENV: py38-wheel-cli + # + # Python 3.9 + # + py39-core: + <<: *common + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-core + + py39-ens: + <<: *common + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-ens + + py39-ethpm: + <<: *ethpm_steps + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-ethpm + # Please don't use this key for any shenanigans + WEB3_INFURA_PROJECT_ID: 7707850c2fb7465ebe6f150d67182e22 + + py39-integration-goethereum-ipc: + <<: *geth_steps + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-integration-goethereum-ipc + GETH_VERSION: v1.10.1 + + py39-integration-goethereum-http: + <<: *geth_steps + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-integration-goethereum-http + GETH_VERSION: v1.10.1 + + py39-integration-goethereum-ws: + <<: *geth_steps + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-integration-goethereum-ws + GETH_VERSION: v1.10.1 + + # py39-integration-parity-ipc: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.9 + # environment: + # TOXENV: py39-integration-parity-ipc + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + # py39-integration-parity-http: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.9 + # environment: + # TOXENV: py39-integration-parity-http + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + # py39-integration-parity-ws: + # <<: *parity_steps + # docker: + # - image: circleci/python:3.9 + # environment: + # TOXENV: py39-integration-parity-ws + # PARITY_VERSION: v2.3.5 + # PARITY_OS: linux + + py39-integration-ethtester-pyevm: + <<: *common + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-integration-ethtester + ETHEREUM_TESTER_CHAIN_BACKEND: eth_tester.backends.PyEVMBackend + + py39-wheel-cli: + <<: *common + docker: + - image: circleci/python:3.9 + environment: + TOXENV: py39-wheel-cli + workflows: version: 2.1 test: @@ -476,6 +568,7 @@ workflows: - py36-core - py37-core - py38-core + - py39-core - lint - docs - py36-ens @@ -509,3 +602,13 @@ workflows: # - py38-integration-parity-ws - py38-integration-ethtester-pyevm - py38-wheel-cli + - py39-ens + - py39-ethpm + - py39-integration-goethereum-ipc + - py39-integration-goethereum-http + - py39-integration-goethereum-ws + # - py39-integration-parity-ipc + # - py39-integration-parity-http + # - py39-integration-parity-ws + - py39-integration-ethtester-pyevm + - py39-wheel-cli diff --git a/newsfragments/1774.misc.rst b/newsfragments/1774.misc.rst new file mode 100644 index 0000000000..29e710aefa --- /dev/null +++ b/newsfragments/1774.misc.rst @@ -0,0 +1 @@ +Add python3.9 support \ No newline at end of file diff --git a/setup.py b/setup.py index 2a60e1b661..b999cc1f33 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ extras_require = { 'tester': [ - "eth-tester[py-evm]==v0.5.0-beta.3", + "eth-tester[py-evm]==v0.5.0-beta.4", "py-geth>=3.0.0,<4", ], 'linter': [ @@ -85,7 +85,7 @@ "pywin32>=223;platform_system=='Windows'", "requests>=2.16.0,<3.0.0", # remove typing_extensions after python_requires>=3.8, see web3._utils.compat - "typing-extensions>=3.7.4.1,<4;python_version<'3.8'", + "typing-extensions>=3.7.4.1,<4;python_version<'3.8'", "websockets>=8.1.0,<9.0.0", ], python_requires='>=3.6,<4', @@ -106,5 +106,6 @@ 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], ) diff --git a/tox.ini b/tox.ini index 9754521585..a85ae94f4a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,12 +1,12 @@ [tox] envlist= - py{36,37,38}-ens - py{36,37,38}-ethpm - py{36,37,38}-core - py{36,37,38}-integration-{goethereum,ethtester,parity} + py{36,37,38,39}-ens + py{36,37,38,39}-ethpm + py{36,37,38,39}-core + py{36,37,38,39}-integration-{goethereum,ethtester,parity} lint docs - py{36,37,38}-wheel-cli + py{36,37,38,39}-wheel-cli [isort] combine_as_imports=True @@ -57,6 +57,7 @@ basepython = py36: python3.6 py37: python3.7 py38: python3.8 + py39: python3.9 [testenv:lint] basepython=python @@ -95,6 +96,12 @@ whitelist_externals={[common-wheel-cli]whitelist_externals} commands={[common-wheel-cli]commands} skip_install=true +[testenv:py39-wheel-cli] +deps={[common-wheel-cli]deps} +whitelist_externals={[common-wheel-cli]whitelist_externals} +commands={[common-wheel-cli]commands} +skip_install=true + [common-wheel-cli-windows] deps=wheel whitelist_externals=