summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaylan Limberg <waylan.limberg@icloud.com>2021-11-16 09:55:58 -0500
committerGitHub <noreply@github.com>2021-11-16 09:55:58 -0500
commit7919bfd8cf44e4fb50a3ccbd82b725db34b66a08 (patch)
treeead54d284fc5fe6a30e52157ea12a287782484d6
parentd1ed480d474e84895749bca1f9c15ea9a0f3ad6a (diff)
downloadpython-markdown-7919bfd8cf44e4fb50a3ccbd82b725db34b66a08.tar.gz
Support Python 3.10
Fixes #1124.
-rw-r--r--.github/workflows/tox.yml14
-rw-r--r--docs/change_log/index.md1
-rw-r--r--markdown/util.py8
-rwxr-xr-xsetup.py3
-rw-r--r--tox.ini2
5 files changed, 16 insertions, 12 deletions
diff --git a/.github/workflows/tox.yml b/.github/workflows/tox.yml
index e7e8afc..18306f7 100644
--- a/.github/workflows/tox.yml
+++ b/.github/workflows/tox.yml
@@ -20,20 +20,22 @@ jobs:
fail-fast: false
max-parallel: 4
matrix:
- tox-env: [py36, py37, py38, py39, pypy3, pygments]
+ tox-env: [py36, py37, py38, py39, py310, pypy3, pygments]
include:
- tox-env: py36
- python-version: 3.6
+ python-version: '3.6'
- tox-env: py37
- python-version: 3.7
+ python-version: '3.7'
- tox-env: py38
- python-version: 3.8
+ python-version: '3.8'
- tox-env: py39
- python-version: 3.9
+ python-version: '3.9'
+ - tox-env: py310
+ python-version: '3.10'
- tox-env: pypy3
python-version: pypy3
- tox-env: pygments
- python-version: 3.7
+ python-version: '3.7'
env:
TOXENV: ${{ matrix.tox-env }}
diff --git a/docs/change_log/index.md b/docs/change_log/index.md
index 9700832..cec78ab 100644
--- a/docs/change_log/index.md
+++ b/docs/change_log/index.md
@@ -11,6 +11,7 @@ Under development: version 3.3.5 (a bug-fix release).
* Don't process shebangs in fenced code blocks when using CodeHilite (#1156).
* Improve email address validation for Automatic Links (#1165).
* Ensure `<summary>` tags are parsed correctly (#1079).
+* Support Python 3.10 (#1124).
Feb 24, 2021: version 3.3.4 (a bug-fix release).
diff --git a/markdown/util.py b/markdown/util.py
index b443e37..98cfbf7 100644
--- a/markdown/util.py
+++ b/markdown/util.py
@@ -29,10 +29,10 @@ from itertools import count
from .pep562 import Pep562
-try:
+if sys.version_info >= (3, 10):
from importlib import metadata
-except ImportError:
- # <PY38 use backport
+else:
+ # <PY310 use backport
import importlib_metadata as metadata
PY37 = (3, 7) <= sys.version_info
@@ -85,7 +85,7 @@ Constants you probably do not need to change
"""
# Only load extension entry_points once.
-INSTALLED_EXTENSIONS = metadata.entry_points().get('markdown.extensions', ())
+INSTALLED_EXTENSIONS = metadata.entry_points(group='markdown.extensions')
RTL_BIDI_RANGES = (
('\u0590', '\u07FF'),
# Hebrew (0590-05FF), Arabic (0600-06FF),
diff --git a/setup.py b/setup.py
index d18c1a7..7928d0b 100755
--- a/setup.py
+++ b/setup.py
@@ -74,7 +74,7 @@ setup(
license='BSD License',
packages=['markdown', 'markdown.extensions'],
python_requires='>=3.6',
- install_requires=["importlib-metadata;python_version<'3.8'"],
+ install_requires=["importlib-metadata>='4.4';python_version<'3.10'"],
extras_require={
'testing': [
'coverage',
@@ -117,6 +117,7 @@ setup(
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
diff --git a/tox.ini b/tox.ini
index 851826a..62523f9 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py36, py37, py38, py39, pypy3, pygments, flake8, checkspelling, pep517check, checklinks
+envlist = py36, py37, py38, py39, py310, pypy3, pygments, flake8, checkspelling, pep517check, checklinks
isolated_build = True
[testenv]