From b83ae4b1e7aba74266429d3930069928bcd9eb57 Mon Sep 17 00:00:00 2001 From: Taneli Hukkinen Date: Tue, 12 Jan 2021 19:34:03 +0200 Subject: [PATCH 1/5] Use __all__ to signal that `MarkdownIt` is importable from root package --- markdown_it/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/markdown_it/__init__.py b/markdown_it/__init__.py index 3528e052..409f5f06 100644 --- a/markdown_it/__init__.py +++ b/markdown_it/__init__.py @@ -1,4 +1,4 @@ -from .main import MarkdownIt # noqa: F401 - - +__all__ = ("MarkdownIt",) __version__ = "0.6.2" + +from .main import MarkdownIt From 8305499b8db51e346afa2dd966733ae04e03e5af Mon Sep 17 00:00:00 2001 From: Taneli Hukkinen Date: Tue, 12 Jan 2021 19:44:33 +0200 Subject: [PATCH 2/5] Use __all__ wherever applicable --- .mypy.ini | 1 + markdown_it/rules_block/__init__.py | 37 ++++++++++++++++------- markdown_it/rules_core/__init__.py | 24 ++++++++++----- markdown_it/rules_inline/__init__.py | 44 +++++++++++++++++++--------- 4 files changed, 74 insertions(+), 32 deletions(-) diff --git a/.mypy.ini b/.mypy.ini index 208782b1..a8d2f756 100644 --- a/.mypy.ini +++ b/.mypy.ini @@ -3,6 +3,7 @@ warn_unused_ignores = True warn_redundant_casts = True no_implicit_optional = True strict_equality = True +implicit_reexport = False [mypy-tests.test_plugins.*] ignore_errors = True diff --git a/markdown_it/rules_block/__init__.py b/markdown_it/rules_block/__init__.py index ee4ab2e2..f49e31c1 100644 --- a/markdown_it/rules_block/__init__.py +++ b/markdown_it/rules_block/__init__.py @@ -1,12 +1,27 @@ -from .state_block import StateBlock # noqa: F401 +__all__ = ( + "StateBlock", + "paragraph", + "heading", + "lheading", + "code", + "fence", + "hr", + "list_block", + "reference", + "blockquote", + "html_block", + "table", +) + +from .state_block import StateBlock from .paragraph import paragraph # noqa: F401 -from .heading import heading # noqa: F401 -from .lheading import lheading # noqa: F401 -from .code import code # noqa: F401 -from .fence import fence # noqa: F401 -from .hr import hr # noqa: F401 -from .list import list_block # noqa: F401 -from .reference import reference # noqa: F401 -from .blockquote import blockquote # noqa: F401 -from .html_block import html_block # noqa: F401 -from .table import table # noqa: F401 +from .heading import heading +from .lheading import lheading +from .code import code +from .fence import fence +from .hr import hr +from .list import list_block +from .reference import reference +from .blockquote import blockquote +from .html_block import html_block +from .table import table diff --git a/markdown_it/rules_core/__init__.py b/markdown_it/rules_core/__init__.py index 16d796c2..7f5de3e4 100644 --- a/markdown_it/rules_core/__init__.py +++ b/markdown_it/rules_core/__init__.py @@ -1,7 +1,17 @@ -from .state_core import StateCore # noqa: F401 -from .normalize import normalize # noqa: F401 -from .block import block # noqa: F401 -from .inline import inline # noqa: F401 -from .replacements import replace # noqa: F401 -from .smartquotes import smartquotes # noqa: F401 -from .linkify import linkify # noqa: F401 +__all__ = ( + "StateCore", + "normalize", + "block", + "inline", + "replace", + "smartquotes", + "linkify", +) + +from .state_core import StateCore +from .normalize import normalize +from .block import block +from .inline import inline +from .replacements import replace +from .smartquotes import smartquotes +from .linkify import linkify diff --git a/markdown_it/rules_inline/__init__.py b/markdown_it/rules_inline/__init__.py index 59856b04..0cce406b 100644 --- a/markdown_it/rules_inline/__init__.py +++ b/markdown_it/rules_inline/__init__.py @@ -1,14 +1,30 @@ -from .state_inline import StateInline # noqa: F401 -from .text import text # noqa: F401 -from .text_collapse import text_collapse # noqa: F401 -from .balance_pairs import link_pairs # noqa: F401 -from .escape import escape # noqa: F401 -from .newline import newline # noqa: F401 -from .backticks import backtick # noqa: F401 -from . import emphasis # noqa: F401 -from .image import image # noqa: F401 -from .link import link # noqa: F401 -from .autolink import autolink # noqa: F401 -from .entity import entity # noqa: F401 -from .html_inline import html_inline # noqa: F401 -from . import strikethrough # noqa: F401 +__all__ = ( + "StateInline", + "text", + "text_collapse", + "link_pairs", + "escape", + "newline", + "backtick", + "emphasis", + "image", + "link", + "autolink", + "entity", + "html_inline", + "strikethrough", +) +from .state_inline import StateInline +from .text import text +from .text_collapse import text_collapse +from .balance_pairs import link_pairs +from .escape import escape +from .newline import newline +from .backticks import backtick +from . import emphasis +from .image import image +from .link import link +from .autolink import autolink +from .entity import entity +from .html_inline import html_inline +from . import strikethrough From e318e27972b2d7512618c7c4ee7128ae5020f938 Mon Sep 17 00:00:00 2001 From: Taneli Hukkinen Date: Tue, 12 Jan 2021 19:48:55 +0200 Subject: [PATCH 3/5] Add missing __all__s --- markdown_it/helpers/__init__.py | 7 ++++--- markdown_it/presets/__init__.py | 3 ++- markdown_it/rules_block/__init__.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/markdown_it/helpers/__init__.py b/markdown_it/helpers/__init__.py index 0e6b75e7..f76bd444 100644 --- a/markdown_it/helpers/__init__.py +++ b/markdown_it/helpers/__init__.py @@ -1,5 +1,6 @@ """Functions for parsing Links """ -from .parse_link_label import parseLinkLabel # noqa: F401 -from .parse_link_destination import parseLinkDestination # noqa: F401 -from .parse_link_title import parseLinkTitle # noqa: F401 +__all__ = ("parseLinkLabel", "parseLinkDestination", "parseLinkTitle") +from .parse_link_label import parseLinkLabel +from .parse_link_destination import parseLinkDestination +from .parse_link_title import parseLinkTitle diff --git a/markdown_it/presets/__init__.py b/markdown_it/presets/__init__.py index 43d11484..dad5ce45 100644 --- a/markdown_it/presets/__init__.py +++ b/markdown_it/presets/__init__.py @@ -1 +1,2 @@ -from . import commonmark, default, zero # noqa: F401 +__all__ = ("commonmark", "default", "zero") +from . import commonmark, default, zero diff --git a/markdown_it/rules_block/__init__.py b/markdown_it/rules_block/__init__.py index f49e31c1..c1660b89 100644 --- a/markdown_it/rules_block/__init__.py +++ b/markdown_it/rules_block/__init__.py @@ -14,7 +14,7 @@ ) from .state_block import StateBlock -from .paragraph import paragraph # noqa: F401 +from .paragraph import paragraph from .heading import heading from .lheading import lheading from .code import code From 77bf8b33e1f8b6f68253a9a8af04e482311ababf Mon Sep 17 00:00:00 2001 From: Chris Sewell Date: Wed, 1 Dec 2021 18:44:19 +0100 Subject: [PATCH 4/5] Update conf.py --- docs/conf.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 48331f33..6ac3ab6b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -103,6 +103,15 @@ def run_apidoc(app): ignore_paths = [ os.path.normpath(os.path.join(this_folder, p)) for p in ignore_paths ] + # functions from these modules are all imported in the __init__.py with __all__ + for rule in ("block", "core", "inline"): + for path in glob( + os.path.normpath( + os.path.join(this_folder, f"../markdown_it/rules_{rule}/*.py") + ) + ): + if os.path.basename(path) not in ("__init__.py", f"state_{rule}.py"): + ignore_paths.append(path) if os.path.exists(api_folder): shutil.rmtree(api_folder) From 3b560f561e3b20ad5ee35eadfc739a872eaad6e9 Mon Sep 17 00:00:00 2001 From: Chris Sewell Date: Wed, 1 Dec 2021 18:46:04 +0100 Subject: [PATCH 5/5] Update conf.py --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index 6ac3ab6b..1040838e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,6 +10,7 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # +from glob import glob import os # import sys