Skip to content
New issue

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

Infra: Combine manual and examples build #339

Merged
merged 78 commits into from
Aug 6, 2024
Merged
Show file tree
Hide file tree
Changes from 77 commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
ab8fdb8
use poetry for dependency management
CalMacCQ Jun 10, 2024
3e6d7e1
add additonal manual dependencies
CalMacCQ Jun 10, 2024
64e9f8e
delete legacy example
CalMacCQ Jun 10, 2024
706209c
update manual script
CalMacCQ Jun 10, 2024
6262306
use pydata theme and clean index page
CalMacCQ Jun 10, 2024
19b25f6
remove legacy python -> jupyter conversion
CalMacCQ Jun 10, 2024
395903e
update manual workflow
CalMacCQ Jun 10, 2024
89005ec
move manual and examples into docs directory
CalMacCQ Jun 10, 2024
376c32d
update build script
CalMacCQ Jun 10, 2024
254379b
build-manual -> build-docs
CalMacCQ Jun 10, 2024
5b1dc32
update .gitignore
CalMacCQ Jun 10, 2024
890dfc1
delete jupyterbook files
CalMacCQ Jun 10, 2024
0113fd8
add openfermion nbsphinx and ipyparallel
CalMacCQ Jun 10, 2024
f217f47
add static files
CalMacCQ Jun 10, 2024
b3b95f6
move static folder
CalMacCQ Jun 10, 2024
baa75a7
delete duplicate static files
CalMacCQ Jun 10, 2024
098e19d
change manual title
CalMacCQ Jun 10, 2024
f87c73b
use Myst-NB instead of NBSphinx
CalMacCQ Jun 10, 2024
645621d
clear out old files and update configuration
CalMacCQ Jun 10, 2024
a688a93
regenerate lock file
CalMacCQ Jun 10, 2024
bee3d85
update .giignore and build-docs script
CalMacCQ Jun 10, 2024
db94684
rename build script
CalMacCQ Jun 17, 2024
c3efce3
fix duplicate jupyter execution bug
CalMacCQ Jun 17, 2024
90e297b
fix some headings
CalMacCQ Jun 17, 2024
65c105f
ingore cached files
CalMacCQ Jun 17, 2024
3c88171
collapse secondary sidebars
CalMacCQ Jun 17, 2024
9547785
use quantinuum theming
CalMacCQ Jul 4, 2024
bea0a70
add furo dependency
CalMacCQ Jul 4, 2024
f5489fa
New index page structure
CalMacCQ Jul 4, 2024
137493c
fix maths rendering problems
CalMacCQ Jul 4, 2024
65038c8
merge updates to circuit construction
CalMacCQ Jul 24, 2024
87084cd
remove jupyterbook build workflow
CalMacCQ Jul 24, 2024
3cdaa66
rename build workflow
CalMacCQ Jul 24, 2024
f654414
simplify poetry dependencies and regenerate lock file
CalMacCQ Jul 24, 2024
ede0492
try --no-update flag
CalMacCQ Jul 24, 2024
0f6d5e7
fix typo in workflow
CalMacCQ Jul 24, 2024
d3b421a
remove outdated quantinuum-shinx dependency
CalMacCQ Jul 24, 2024
031a684
remove legacy contributing file
CalMacCQ Jul 24, 2024
1479596
use poetry run instead of poetry shell
CalMacCQ Jul 24, 2024
0bba024
remove unused sphinx extension
CalMacCQ Jul 24, 2024
2962f8d
install graphviz in docs build
CalMacCQ Jul 24, 2024
30a77c7
delete unused _static files
CalMacCQ Jul 24, 2024
95ca70b
remove --no-update flag
CalMacCQ Jul 24, 2024
d3d224b
add favicon
CalMacCQ Jul 24, 2024
4bcf70d
add myst_nb extension again to fix notebook build
CalMacCQ Jul 25, 2024
70337bd
fail sphinx build on warnings
CalMacCQ Jul 25, 2024
33e898f
fix problems with qujax example headings
CalMacCQ Jul 25, 2024
dc3d84d
add getting started guide to index page
CalMacCQ Jul 25, 2024
7d943ea
correctly exclude notebooks non-executable notebooks from build
CalMacCQ Jul 25, 2024
c6aff9f
fix another duplicate execution bug
CalMacCQ Jul 25, 2024
383f475
new file sturcture for example notebook categories
CalMacCQ Jul 25, 2024
bc85f1e
fail build on warnings
CalMacCQ Jul 25, 2024
37c912f
update navbar items for user guide
CalMacCQ Jul 25, 2024
d3d2d94
remove unused extensions
CalMacCQ Jul 26, 2024
716c653
delete old workflow for testing notebooks
CalMacCQ Jul 26, 2024
cf6d705
add download option to notebooks
CalMacCQ Jul 26, 2024
5678ddc
allow execution of classification example
CalMacCQ Jul 26, 2024
be15f3c
change name of workflow
CalMacCQ Jul 26, 2024
1faa830
try updating gitmodules file
CalMacCQ Jul 26, 2024
9e59a43
fix headings in classification example
CalMacCQ Jul 26, 2024
a510eee
Fix submodule.
aidanCQ Jul 29, 2024
0ca986d
use submodules in build
CalMacCQ Jul 29, 2024
e40cc4e
update submodule to latest
CalMacCQ Aug 1, 2024
d053f9a
update to latest quantinuum-sphinx
CalMacCQ Aug 1, 2024
73f38a3
add 404.html file back in
CalMacCQ Aug 1, 2024
cabf99b
add more intersphinx mappings for extensions
CalMacCQ Aug 1, 2024
31953ef
update pytket-cirq ref
CalMacCQ Aug 1, 2024
2e9ce32
remove all content for archived pytket-qsharp
CalMacCQ Aug 1, 2024
8dd5008
add some html to redirect from old pages
CalMacCQ Aug 1, 2024
0540dbe
add index.html file back into docs
CalMacCQ Aug 1, 2024
189c4f8
remove qsharp stuff
CalMacCQ Aug 1, 2024
abcfe33
don't excute flaky qujax example
CalMacCQ Aug 5, 2024
8b69648
resolve conflicts with dependency files
CalMacCQ Aug 5, 2024
4579038
don't execute qujax qaoa
CalMacCQ Aug 5, 2024
141c4ae
use latest pytket v1.31.0
CalMacCQ Aug 5, 2024
9f2fb02
set package mode to false
CalMacCQ Aug 5, 2024
b141e14
don't execute big vqe notebook
CalMacCQ Aug 5, 2024
1d9c807
delete dummy directories with redirects
CalMacCQ Aug 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 0 additions & 41 deletions .github/workflows/build_jupyterbook.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: check manual
name: check docs build

on:
pull_request:
Expand Down Expand Up @@ -28,35 +28,28 @@ jobs:
- '.github/**'

check:
name: check manual
name: check docs build
needs: changes
if: github.event_name == 'schedule' || needs.changes.outputs.manual == 'true'
runs-on: ubuntu-22.04
steps:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know if there is a reason why we are not using ubuntu-latest ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure. I can use the latest if you'd prefer?

- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: '0'
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* +refs/heads/*:refs/remotes/origin/*
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: install python requirements for manual
- name: install python requirements for docs
run: |
python -m pip install --upgrade pip
python -m pip install wheel
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The removed packages are now all in poetry?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, with the exception of the sphinx-book-theme. This is no longer used.

The furo theme is used instead.

python -m pip install -c manual_constraints.txt sphinx sphinx-book-theme jupyter-sphinx quimb
python -m pip install -r manual_requirements.txt
python -m pip install kahypar
python -m pip install sphinx-copybutton
python -m pip install ipyparallel
python -m pip install qiskit-algorithms
python -m pip install poetry
poetry install
- name: install graphviz
run: |
sudo apt-get update
sudo apt-get install graphviz
- name: build manual
sudo apt-get update
sudo apt-get install graphviz
- name: build manual and examples
run: |
cd manual/
sed "s/REQUIREMENTS/$(sed -e 's/[\&/]/\\&/g' -e 's/$/\\n/' ../manual_requirements.txt | tr -d '\n')/" index-rst-template > index.rst
sphinx-build -b html . build -W
poetry run ./build-docs.sh
75 changes: 0 additions & 75 deletions .github/workflows/check-examples.yml

This file was deleted.

13 changes: 10 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ dist
.vscode
.venv
.mypy_cache
manual/build
manual/jupyter_execute
docs/manual/build
docs/manual/jupyter_execute
examples/_build/
*.ipynb_checkpoints
docs/manual/jupyter_execute
docs/examples/_build/
*.ipynb_checkpoints
docs/build/jupyter_execute/
docs/build/examples/_build/
docs/build/
docs/jupyter_execute
docs/.jupyter_cache
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "docs/quantinuum-sphinx"]
path = docs/quantinuum-sphinx
url = https://github.com/CQCL/quantinuum-sphinx.git
branch = dist
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a protected branch?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure

Is it protected @aidanCQ ?

7 changes: 7 additions & 0 deletions build-docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/sh

cd docs/

rm -rf build/
sphinx-build -b html . build -W

17 changes: 0 additions & 17 deletions build-manual

This file was deleted.

Empty file removed docs/.nojekyll
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this used for? Do we still need it?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this file is needed.

Empty file.
23 changes: 13 additions & 10 deletions docs/404.html
cqc-melf marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="refresh" content="0; url=https://tket.quantinuum.com/user-manual/"/>

<head>
<meta charset="utf-8" />
<meta http-equiv="refresh" content="0; url=https://tket.quantinuum.com/user-manual/" />
<script type="text/javascript">
window.location.href = "https://tket.quantinuum.com/user-manual/"
window.location.href = "https://tket.quantinuum.com/user-manual/"
</script>
cqc-melf marked this conversation as resolved.
Show resolved Hide resolved
<title>TKET docs have moved to tket.quantinuum.com</title>
</head>
<body>
</head>

<body>
<p>
If you are not redirected automatically, follow
<a href="https://tket.quantinuum.com/user-manual/">this link to the user manual on tket.quantinuum.com</a>.
If you are not redirected automatically, follow
<a href="https://tket.quantinuum.com/user-manual/">this link to the user manual on tket.quantinuum.com</a>.
</p>
</body>
</html>
</body>

</html>
41 changes: 41 additions & 0 deletions docs/_static/nav-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
const navConfig = {

"navTextLinks": [
{
"title": "API Docs",
"href": "../api-docs",
"pathMatch": "somewhere",
},
{
"title": "Blog",
"href": "../blog/",
"pathMatch": "somewhere",
},
{
"title": "User Guide",
"href": "../user-guide",
"pathMatch": "somewhere",
},
],
"navProductName": "TKET",
"navIconLinks": [
{
"title": "TKET Github",
"href": "https://github.com/CQCL/tket",
"pathMatch": "somewhere",
"iconImageURL": "_static/assets/github.svg",
},
{
"title": "TKET Slack Channel",
"href": "https://tketusers.slack.com/",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a valid invite link?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked this and it seems to go to the correct page for people not in the workspace.

"pathMatch": "somewhere",
"iconImageURL": "_static/assets/slack.svg",
},
{
"title": "TKET Stack Exchange",
"href": "https://quantumcomputing.stackexchange.com/questions/tagged/pytket",
"pathMatch": "somewhere",
"iconImageURL": "_static/assets/stack.svg",
},
],
}
60 changes: 60 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-

# Configuration file for the Sphinx documentation builder.
# See https://www.sphinx-doc.org/en/master/usage/configuration.html

copyright = "2020-2024, Quantinuum"
author = "Quantinuum"


html_title = "pytket user guide"

extensions = [
"sphinx.ext.intersphinx",
"sphinx.ext.mathjax",
"jupyter_sphinx",
"sphinx_copybutton",
"sphinx.ext.autosectionlabel",
"myst_nb",
]

myst_enable_extensions = ["dollarmath", "html_image", "attrs_inline"]

html_theme = "furo"
templates_path = ["./quantinuum-sphinx/_templates/"]
html_static_path = ["./quantinuum-sphinx/_static/", "_static/"]

pytketdoc_base = "https://tket.quantinuum.com/api-docs/"

intersphinx_mapping = {
"python": ("https://docs.python.org/3/", None),
"pytket": (pytketdoc_base, None),
"qiskit": ("https://docs.quantum.ibm.com/api/qiskit", None),
"pytket-qiskit": ("https://tket.quantinuum.com/extensions/pytket-qiskit/", None),
cqc-melf marked this conversation as resolved.
Show resolved Hide resolved
"pytket-quantinuum": (
"https://tket.quantinuum.com/extensions/pytket-quantinuum/",
None,
),
"pytket-qujax": ("https://tket.quantinuum.com/extensions/pytket-qujax/", None),
"pytket-cirq": ("https://tket.quantinuum.com/extensions/pytket-cirq/", None),
"sympy": ("https://docs.sympy.org/latest/", None),
}


nb_execution_mode = "cache"

nb_execution_excludepatterns = [
"examples/backends/Forest_portability_example.ipynb",
"examples/backends/backends_example.ipynb",
"examples/backends/qiskit_integration.ipynb",
"examples/backends/comparing_simulators.ipynb",
"examples/algorithms_and_protocols/expectation_value_example.ipynb",
"examples/algorithms_and_protocols/pytket-qujax_heisenberg_vqe.ipynb",
"examples/algorithms_and_protocols/pytket-qujax-classification.ipynb",
"examples/algorithms_and_protocols/pytket-qujax_qaoa.ipynb",
"examples/algorithms_and_protocols/ucc_vqe.ipynb",
"examples/algorithms_and_protocols/spam_example.ipynb",
"examples/algorithms_and_protocols/entanglement_swapping.ipynb",
]

exclude_patterns = ["jupyter_execute/*", ".jupyter_cache", "manual/README.md"]
Loading
Loading