We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UserWarning: Could not render math expression \sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}
e.g. in #29801.
I suspect this may be a bug in pyparsing 3.2.2, which was released today. Ping @ptmcg
I've not yet created a minimal example from the docs, but can do so if additional insight is needed.
Traceback (most recent call last): File "/home/circleci/project/lib/matplotlib/sphinxext/mathmpl.py", line 134, in latex2png depth = mathtext.math_to_image( ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/mathtext.py", line 134, in math_to_image width, height, depth, _, _ = parser.parse(s, dpi=72, prop=prop) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/mathtext.py", line 86, in parse return self._parse_cached(s, dpi, prop, antialiased, load_glyph_flags) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/mathtext.py", line 100, in _parse_cached box = self._parser.parse(s, fontset, fontsize, dpi) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/_mathtext.py", line 2170, in parse result = self._expression.parseString(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/util.py", line 417, in _inner return fn(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 1207, in parse_string loc, tokens = self._parse(instring, 0) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4197, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5232, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5131, in parseImpl loc, tokens = self_expr_parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4175, in parseImpl loc, resultlist = self.exprs[0]._parse( ^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 892, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) # type: ignore [call-arg, arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 280, in wrapper return func(*args[limit:]) ^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/_mathtext.py", line 2197, in math_string return self._math_expression.parseString(toks[0][1:-1], parseAll=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/util.py", line 417, in _inner return fn(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 1207, in parse_string loc, tokens = self._parse(instring, 0) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5131, in parseImpl loc, tokens = self_expr_parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5666, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4197, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5131, in parseImpl loc, tokens = self_expr_parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4186, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5666, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4197, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5232, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5131, in parseImpl loc, tokens = self_expr_parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5666, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4175, in parseImpl loc, resultlist = self.exprs[0]._parse( ^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5366, in parseImpl loc, tokens = self_expr._parse( ^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5666, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4186, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5666, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4703, in parseImpl return self.expr._parse(instring, loc, do_actions, callPreParse=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4197, in parseImpl loc, exprtokens = e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5232, in parseImpl return super().parseImpl(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 5131, in parseImpl loc, tokens = self_expr_parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 853, in _parseNoCache loc, tokens = self.parseImpl(instring, pre_loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 4431, in parseImpl return e._parse(instring, loc, do_actions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 991, in _parseCache value = self._parseNoCache(instring, loc, do_actions, callPreParse) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 892, in _parseNoCache tokens = fn(instring, tokens_start, ret_tokens) # type: ignore [call-arg, arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/core.py", line 283, in wrapper ret = func(*args[limit:]) ^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/pyparsing/helpers.py", line 549, in <lambda> lambda t: t[0].strip(ParserElement.DEFAULT_WHITE_CHARS) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: 'str' object is not callable During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/circleci/.local/lib/python3.12/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] ^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 774, in write_process self.write_doc(docname, doctree) File "/home/circleci/.local/lib/python3.12/site-packages/sphinx/builders/html/__init__.py", line 670, in write_doc self.docwriter.write(doctree, destination) File "/home/circleci/.local/lib/python3.12/site-packages/docutils/writers/__init__.py", line 80, in write self.translate() File "/home/circleci/.local/lib/python3.12/site-packages/sphinx/writers/html.py", line 36, in translate self.document.walkabout(visitor) File "/home/circleci/.local/lib/python3.12/site-packages/docutils/nodes.py", line 186, in walkabout if child.walkabout(visitor): ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/docutils/nodes.py", line 186, in walkabout if child.walkabout(visitor): ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/.local/lib/python3.12/site-packages/docutils/nodes.py", line 186, in walkabout if child.walkabout(visitor): ^^^^^^^^^^^^^^^^^^^^^^^^ [Previous line repeated 1 more time] File "/home/circleci/.local/lib/python3.12/site-packages/docutils/nodes.py", line 178, in walkabout visitor.dispatch_visit(self) File "/home/circleci/.local/lib/python3.12/site-packages/sphinx/util/docutils.py", line 767, in dispatch_visit method(node) File "/home/circleci/project/lib/matplotlib/sphinxext/mathmpl.py", line 214, in visit_latex_math_html self.body.append(latex2html(node, source)) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/sphinxext/mathmpl.py", line 158, in latex2html depth = latex2png(latex, dest, fontset, fontsize=fontsize) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/circleci/project/lib/matplotlib/sphinxext/mathmpl.py", line 137, in latex2png _api.warn_external(f"Could not render math expression {latex}") File "/home/circleci/project/lib/matplotlib/_api/__init__.py", line 391, in warn_external warnings.warn(message, category, **kwargs) UserWarning: Could not render math expression \sum_{\substack{1\leq i\leq 3\\ 1\leq j\leq 5}}
No error.
No response
main
None
The text was updated successfully, but these errors were encountered:
This affects all CI, not just docs: pyparsing/pyparsing#600
Sorry, something went wrong.
Just pushed pyparsing version 3.2.3 to pypi with fix to pyparsing/pyparsing#600.
Please verify that this has fixed your issue.
Everything is good now.
No branches or pull requests
Bug summary
e.g. in #29801.
I suspect this may be a bug in pyparsing 3.2.2, which was released today. Ping @ptmcg
Code for reproduction
I've not yet created a minimal example from the docs, but can do so if additional insight is needed.
Actual outcome
Expected outcome
No error.
Additional information
No response
Operating system
No response
Matplotlib Version
main
Matplotlib Backend
No response
Python version
No response
Jupyter version
No response
Installation
None
The text was updated successfully, but these errors were encountered: