Improves Monitoring VQE convergence#1446
Conversation
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
As far as the output cell image format - these notebooks re-run/converted to html by CI for the published docs. |
Yes, I know that the images format will be changed anyway before publishing but like after making changes and rerunning the tutorials locally the images are automatically changed to SVGs due to my local environment. I am not doing it intentionally. Also as these tutorials would also remain in GitHub repo so it's good to change them into SVGs if they are not in that format. |
|
This PR is ready for review |
<!--⚠️ If you do not respect this template, your pull request will be closed.⚠️ Your pull request title should be short detailed and understandable for all.⚠️ If your pull request fixes an open issue, please link to the issue. ✅ I have added the tests to cover my changes. ✅ I have updated the documentation accordingly. ✅ I have read the CONTRIBUTING document. --> ### Summary I have coded a script which (when directory is specified) checks for the broken links in the Jupyter notebooks and tells its exact place and the error it shows. ``` import os import nbformat as nbf import re import requests # Code to populate file_list with relevant .ipynb files file_list = [] for root, dirs, files in os.walk("qiskit-tutorials/tutorials/"): for file in files: if file.endswith(".ipynb"): file_list.append(os.path.join(root, file)) # Including the relative path of the file INLINE_LINK_RE = re.compile(r'\[([^\]]+)\]\(([^)]+)\)') for file_path in file_list: try: with open(file_path) as file: nb = nbf.read(file, 4) except OSError as e: print(f"Error occurred while reading file: {file_path}") print("Error message:", str(e)) print() continue for cell in nb["cells"]: if cell["cell_type"] != "markdown": continue links = list(INLINE_LINK_RE.findall(cell["source"])) for link in links: if not link: continue link_text, link_url = link if link_url.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')): continue # Skip image links try: response = requests.get(link_url) if response.status_code != 200: print(f"Broken link found in file: {file_path}") print(f"Link: {link_text}") print(f"URL: {link_url}") print("HTTP status code:", response.status_code) print() except requests.RequestException as e: print(f"Error occurred while checking link in file: {file_path}") print(f"Link: {link_text}") print(f"URL: {link_url}") print("Error message:", str(e)) print() ``` ### Details and comments This code is part of QAMP Project [Issues in Qiskit Tutorials #37](qiskit-advocate/qamp-spring-23#37) which can read many files at once and can find broken links with their exact position and error code it is showing. I ran this above code throughout the repo and checked each and every Jupyter notebook files, based on the output I have fixed many links. This PR is just the Last PR of the of project, which fixes the remaining broken links. All the other broken links are already fixed in the past PRs which are made throughout this project. #1445 #1446 #1467 #1483 #1484. This project also fixes #1402
The problematic code has been removed
<!--⚠️ If you do not respect this template, your pull request will be closed.⚠️ Your pull request title should be short detailed and understandable for all.⚠️ If your pull request fixes an open issue, please link to the issue. ✅ I have added the tests to cover my changes. ✅ I have updated the documentation accordingly. ✅ I have read the CONTRIBUTING document. --> ### Summary This PR will improve the tutorial [02_vqe_advanced_options](https://qiskit.org/documentation/tutorials/algorithms/02_vqe_advanced_options.html) ### Details and comments fixes Qiskit/qiskit-tutorials#1403 Part of Qiskit/qiskit-tutorials#1401
Summary
This PR will improve the tutorial 02_vqe_advanced_options
Details and comments
fixes #1403
Part of #1401
I have updated Few old links and references and changed images to SVGs