##// END OF EJS Templates
ipython_directive: Adjust doc examples for reproducibility....
ipython_directive: Adjust doc examples for reproducibility. Before this change, building the documentation twice in a row in an environment configured for reproducible bulids would result in discrepancies such as: diff -ru /gnu/store/...-python-ipython-documentation-8.2.0/share/doc/python-ipython-documentation-8.2.0/html/sphinxext.html /gnu/store/...-python-ipython-documentation-8.2.0-check/share/doc/python-ipython-documentation-8.2.0/html/sphinxext.html --- /gnu/store/...-python-ipython-documentation-8.2.0/share/doc/python-ipython-documentation-8.2.0/html/sphinxext.html 1969-12-31 19:00:01.000000000 -0500 +++ /gnu/store/...-python-ipython-documentation-8.2.0-check/share/doc/python-ipython-documentation-8.2.0/html/sphinxext.html 1969-12-31 19:00:01.000000000 -0500 @@ -682,7 +682,7 @@ <span class="gp">In [2]: </span><span class="kn">import</span> <span class="nn">datetime</span> <span class="gp"> ...: </span><span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="gp"> ...: </span> -<span class="gh">Out[2]: </span><span class="go">datetime.datetime(2022, 4, 17, 3, 21, 14, 978155)</span> +<span class="gh">Out[2]: </span><span class="go">datetime.datetime(2022, 4, 17, 3, 37, 37, 115081)</span> </pre></div> </div> <p>It supports IPython construct that plain @@ -690,7 +690,7 @@ <div class="highlight-ipython notranslate"><div class="highlight"><pre><span></span><span class="gp">In [3]: </span><span class="kn">import</span> <span class="nn">time</span> <span class="gp">In [4]: </span><span class="o">%</span><span class="k">timeit</span> time.sleep(0.05) -<span class="go">50.2 ms +- 104 us per loop (mean +- std. dev. of 7 runs, 10 loops each)</span> +<span class="go">50.1 ms +- 8.86 us per loop (mean +- std. dev. of 7 runs, 10 loops each)</span> </pre></div> </div> <p>This will also support top-level async when using IPython 7.0+</p> * IPython/sphinxext/ipython_directive.py: Use a fixed date string in the datetime example, and replace the %timeit example by %pdoc, whole output is static.

File last commit:

r27495:1a9d9554
r27687:71d665c4
Show More
fixup_whats_new_pr.py
39 lines | 1.1 KiB | text/x-python | PythonLexer
/ tools / fixup_whats_new_pr.py
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523 """
This tool is used during CI testing to make sure sphinx raise no error.
During development, we like to have whatsnew/pr/*.rst documents to track
individual new features. Unfortunately they other either:
- have no title (sphinx complains)
- are not included in any toctree (sphinx complain)
This fix-them up by "inventing" a title, before building the docs. At release
time, these title and files will anyway be rewritten into the actual release
notes.
"""
rushabh-v
use pathlib in fixup_whats_new_pr.py
r26015 from pathlib import Path
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523
def main():
rushabh-v
run darker
r26016 folder = Path("docs/source/whatsnew/pr/")
files = list(folder.glob("*.rst"))
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523 print(files)
rushabh-v
use pathlib in fixup_whats_new_pr.py
r26015 for filepath in files:
rushabh-v
run darker
r26016 print("Adding pseudo-title to:", filepath.name)
title = filepath.name[:-4].split("/")[-1].replace("-", " ").capitalize()
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523
gousaiyang
Format code
r27495 data = filepath.read_text(encoding="utf-8")
Matthias Bussonnier
Start to updates the what's new / changelog....
r24535 try:
if data and data.splitlines()[1].startswith('='):
continue
except IndexError:
pass
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523
gousaiyang
Format code
r27495 with filepath.open("w", encoding="utf-8") as f:
rushabh-v
run darker
r26016 f.write(title + "\n")
f.write("=" * len(title) + "\n\n")
Matthias Bussonnier
Tool to go around sphinx limitation during developpement
r24523 f.write(data)
if __name__ == '__main__':
main()