Skip to content

Commit e3c9ba1

Browse files
authored
Merge pull request #2 from OpenQuantumDesign/documentation
Documentation
2 parents 76f1c58 + d8cae96 commit e3c9ba1

24 files changed

Lines changed: 3271 additions & 369 deletions
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Check Mkdocs Build
2+
3+
on:
4+
pull_request:
5+
branches: ["main"]
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
check_mkdocs_build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout repo
15+
uses: actions/checkout@v4
16+
17+
- name: Configure Git credentials
18+
run: |
19+
git config user.name github-actions[bot]
20+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
21+
22+
- name: Install uv and set the python version
23+
uses: astral-sh/setup-uv@v5
24+
with:
25+
enable-cache: true
26+
27+
- name: Retrieve Git submodules
28+
run: git submodule update --init --recursive && git submodule update --recursive --remote
29+
30+
- name: Copy examples into docs folder
31+
run: cp -r examples/ docs/examples/
32+
33+
- name: Install repo
34+
run: uv sync --extra docs
35+
36+
- name: Build docs
37+
run: uv run mkdocs build

.github/workflows/deploy_docs.yaml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,37 @@
1-
name: ci
1+
name: Deploy Mkdocs Documentation
2+
23
on:
34
push:
4-
branches:
5-
- master
6-
- main
5+
branches: ["main"]
6+
77
permissions:
88
contents: write
99

1010
jobs:
11-
deploy:
11+
deploy_docs:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v4
14+
- name: Checkout repo
15+
uses: actions/checkout@v4
16+
1517
- name: Configure Git Credentials
1618
run: |
1719
git config user.name github-actions[bot]
1820
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
19-
- uses: actions/setup-python@v5
20-
with:
21-
python-version: 3.x
22-
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
23-
- uses: actions/cache@v4
21+
22+
- name: Install uv and set the python version
23+
uses: astral-sh/setup-uv@v5
2424
with:
25-
key: mkdocs-material-${{ env.cache_id }}
26-
path: .cache
27-
restore-keys: |
28-
mkdocs-material-
29-
- run: git submodule update --init --recursive
30-
- run: git submodule update --recursive --remote
31-
- run: cp -r examples/ docs/examples/
32-
- run: pip install .[docs]
33-
- run: mkdocs gh-deploy --force
25+
enable-cache: true
26+
27+
- name: Retrieve Git submodules
28+
run: git submodule update --init --recursive && git submodule update --recursive --remote
29+
30+
- name: Copy examples into docs folder
31+
run: cp -r examples/ docs/examples/
32+
33+
- name: Install repo
34+
run: uv sync --extra docs
35+
36+
- name: Build docs
37+
run: uv run mkdocs gh-deploy --force

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,3 +177,4 @@ _scripts/
177177
docs/examples/
178178
tests/test.bat
179179
*.zip
180+
.pre-commit-config.yaml

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,4 @@ at [https://www.contributor-covenant.org/translations][translations].
129129
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130130
[Mozilla CoC]: https://github.com/mozilla/diversity
131131
[FAQ]: https://www.contributor-covenant.org/faq
132-
[translations]: https://www.contributor-covenant.org/translations
132+
[translations]: https://www.contributor-covenant.org/translations

README.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ classical emulation backends, compiler infrastructure, and cloud server containe
3131
## Quick start <a name="quickstart"></a>
3232

3333
## Installation <a name="installation"></a>
34-
To install `equilux` and the suite Open Quantum Design software tools,
34+
To install `equilux` and the suite Open Quantum Design software tools,
3535
```bash
3636
pip install equilux
3737
```
@@ -49,47 +49,47 @@ Open Quantum Design's quantum computing stack can be interfaced at different lev
4949
```mermaid
5050
block-beta
5151
columns 3
52-
52+
5353
block:Interface
5454
columns 1
5555
InterfaceTitle("<i><b>Interfaces</b><i/>")
56-
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
56+
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
5757
space
58-
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
58+
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
5959
space
6060
InterfaceAtomic["<b>Atomic Interface</b>\nLight-matter interactions between lasers and ions"]
6161
space
6262
end
63-
63+
6464
block:IR
6565
columns 1
6666
IRTitle("<i><b>IRs</b><i/>")
67-
IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"]
67+
IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"]
6868
space
6969
IRAnalog["openQSIM"]
7070
space
7171
IRAtomic["openAPL"]
7272
space
7373
end
74-
74+
7575
block:Emulator
7676
columns 1
7777
EmulatorsTitle("<i><b>Classical Emulators</b><i/>")
78-
79-
EmulatorDigital["Pennylane, Qiskit"]
78+
79+
EmulatorDigital["Pennylane, Qiskit"]
8080
space
8181
EmulatorAnalog["QuTiP, QuantumOptics.jl"]
8282
space
8383
EmulatorAtomic["TrICal, QuantumIon.jl"]
8484
space
8585
end
86-
86+
8787
space
8888
block:RealTime
8989
columns 1
9090
RealTimeTitle("<i><b>Real-Time</b><i/>")
9191
space
92-
RTSoftware["ARTIQ, DAX, OQDAX"]
92+
RTSoftware["ARTIQ, DAX, OQDAX"]
9393
space
9494
RTGateware["Sinara Real-Time Control"]
9595
space
@@ -99,32 +99,32 @@ block-beta
9999
space
100100
end
101101
space
102-
102+
103103
InterfaceDigital --> IRDigital
104104
InterfaceAnalog --> IRAnalog
105105
InterfaceAtomic --> IRAtomic
106-
106+
107107
IRDigital --> IRAnalog
108108
IRAnalog --> IRAtomic
109-
109+
110110
IRDigital --> EmulatorDigital
111111
IRAnalog --> EmulatorAnalog
112112
IRAtomic --> EmulatorAtomic
113-
113+
114114
IRAtomic --> RealTimeTitle
115-
115+
116116
RTSoftware --> RTGateware
117117
RTGateware --> RTHardware
118118
RTHardware --> RTApparatus
119-
119+
120120
classDef title fill:#d6d4d4,stroke:#333,color:#333;
121121
classDef digital fill:#E7E08B,stroke:#333,color:#333;
122122
classDef analog fill:#E4E9B2,stroke:#333,color:#333;
123123
classDef atomic fill:#D2E4C4,stroke:#333,color:#333;
124124
classDef realtime fill:#B5CBB7,stroke:#333,color:#333;
125125
126126
classDef highlight fill:#f2bbbb,stroke:#333,color:#333,stroke-dasharray: 5 5;
127-
127+
128128
class InterfaceTitle,IRTitle,EmulatorsTitle,RealTimeTitle title
129129
class InterfaceDigital,IRDigital,EmulatorDigital digital
130130
class InterfaceAnalog,IRAnalog,EmulatorAnalog analog
@@ -133,19 +133,19 @@ block-beta
133133
```
134134

135135
### Software <a name="software"></a>
136-
OQD's software stack components include Python interfaces at the digital, analog, and atomic layers,
137-
classical emulators, compiler infrastructure, and cloud server components.
136+
OQD's software stack components include Python interfaces at the digital, analog, and atomic layers,
137+
classical emulators, compiler infrastructure, and cloud server components.
138138

139139
### Hardware <a name="hardware"></a>
140140

141-
Planned supported hardware backends include
141+
Planned supported hardware backends include
142142
the [Bloodstone](docs/hardware/devices.md) processor based on<sup>171</sup>Yb<sup>+</sup> ions
143143
and the [Beryl](docs/hardware/devices.md) processor based on<sup>133</sup>Ba<sup>+</sup> ions.
144144

145145

146146

147147
## Getting started <a name="Getting Started"></a>
148-
Below is a short example of how to use the analog interface to specify, serialize,
148+
Below is a short example of how to use the analog interface to specify, serialize,
149149
and simulate an analog quantum program - here, a single-qubit Rabi-flopping experiment.
150150

151151
```python

docs/about.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11

22

3-
Open Quantum Design (OQD) is a non-profit organization. Our mission is to develop full-stack open-source quantum computer designs by fostering a collaborative community of diverse contributors from academia, industry, and government.
4-
OQD's current designs are based on laser-cooled trapped ion quantum computing hardware and software.
3+
Open Quantum Design (OQD) is a non-profit organization. Our mission is to develop full-stack open-source quantum computer designs by fostering a collaborative community of diverse contributors from academia, industry, and government.
4+
OQD's current designs are based on laser-cooled trapped ion quantum computing hardware and software.
55
The OQD intellectual property was developed by University of Waterloo Professors Crystal Senko, Rajibul Islam and Roger Melko, with physicists, engineers, and computer scientists working at the [Institute for Quantum Computing](https://uwaterloo.ca/institute-for-quantum-computing/) and the [Perimeter Institute Quantum Intelligence Lab](https://perimeterinstitute.ca/perimeter-institute-quantum-intelligence-lab-piquil).
66

77
OQD’s technology features novel and scalable approaches for the trapping, control, and read-out of ions. This includes a unique blade trap design, agile optical scheme for low crosstalk addressing of the ions, high-fidelity and all-to-all gate connectivity, and native support for mid-circuit measurements.
88

9-
All components of the stack will be open under an Apache 2.0 or similar license - from hardware designs and the middleware control stack, to the top level programming interfaces. OQD’s vision is to be a global leader in open quantum technology, driving breakthroughs that revolutionize science, industry, and society, in order to improve the quality of life for future generations.
9+
All components of the stack will be open under an Apache 2.0 or similar license - from hardware designs and the middleware control stack, to the top level programming interfaces. OQD’s vision is to be a global leader in open quantum technology, driving breakthroughs that revolutionize science, industry, and society, in order to improve the quality of life for future generations.
1010

1111
## Why Open?
1212

1313
Open-source is more accessible and a proven environment for innovation. By sharing resources, knowledge, and designs, a global community of participants from diverse backgrounds can contribute to and accelerate the development of quantum technologies. OQD is building a collaborative community for technology co-creation, in order to democratize and accelerate the benefits of quantum computing technologies for all. Our purpose is to harness the potential of open quantum technology for the betterment of society, ensuring equitable access to its benefits, to foster an environment for innovation, and nurture the quantum workforce of the future.
1414

1515

1616
## OQD’s open-source approach:
17-
17+
1818
* Provides transparency and accessibility to software and hardware
1919
* Deepens connections between academia, industry, and government through a collaborative sandbox with clear rules of engagement
2020
* Builds trust through collective decision-making to the benefit of the ecosystem and technology

docs/get-started.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
## Installation
2-
To install,
1+
## Installation
2+
To install,
33
```bash
44
pip install git+https://github.com/OpenQuantumDesign/equilux.git
55
```
@@ -11,7 +11,7 @@ git clone https://github.com/OpenQuantumDesign/equilux
1111
pip install .
1212
```
1313

14-
## Documentation
14+
## Documentation
1515

1616
Documentation is implemented with [MkDocs](https://www.mkdocs.org/) and can be read from the [docs](https://github.com/OpenQuantumDesign/midstack/tree/main/docs) folder.
1717

@@ -26,4 +26,4 @@ To deploy the documentation server locally:
2626
```
2727
cp -r examples/ docs/examples/
2828
mkdocs serve
29-
```
29+
```

docs/hardware/devices.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,57 +16,57 @@ This documentation is still under development, we welcome contributions! © Open
1616

1717
## What's Here
1818
The heart of Open Quantum Design's mission and vision is to build open-source, full-stack
19-
quantum computers. The second generation of trapped-ion devices, coined [Bloodstone](#bloodstone) and [Beryl](#beryl),
19+
quantum computers. The second generation of trapped-ion devices, coined [Bloodstone](#bloodstone) and [Beryl](#beryl),
2020
are currently under construction and testing. Designs, including electrical, photonic, and mechanical,
21-
will be opened sourced for community use and contribution.
21+
will be opened sourced for community use and contribution.
2222
The real-time control stack builds on top of the open-hardware [Sinara](#sinara) ecosystem,
2323
including [ARTIQ](#artiq) and [DAX](#dax)
2424

2525

2626
```mermaid
2727
block-beta
2828
columns 3
29-
29+
3030
block:Interface
3131
columns 1
3232
InterfaceTitle("<i><b>Interfaces</b><i/>")
33-
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
33+
InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"]
3434
space
35-
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
35+
InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"]
3636
space
3737
InterfaceAtomic["<b>Atomic Interface</b>\nLight-matter interactions between lasers and ions"]
3838
space
3939
end
40-
40+
4141
block:IR
4242
columns 1
4343
IRTitle("<i><b>IRs</b><i/>")
44-
IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"]
44+
IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"]
4545
space
4646
IRAnalog["openQSIM"]
4747
space
4848
IRAtomic["openAPL"]
4949
space
5050
end
51-
51+
5252
block:Emulator
5353
columns 1
5454
EmulatorsTitle("<i><b>Classical Emulators</b><i/>")
55-
56-
EmulatorDigital["Pennylane, Qiskit"]
55+
56+
EmulatorDigital["Pennylane, Qiskit"]
5757
space
5858
EmulatorAnalog["QuTiP, QuantumOptics.jl"]
5959
space
6060
EmulatorAtomic["TrICal, QuantumIon.jl"]
6161
space
6262
end
63-
63+
6464
space
6565
block:RealTime
6666
columns 1
6767
RealTimeTitle("<i><b>Real-Time</b><i/>")
6868
space
69-
RTSoftware["ARTIQ, DAX, OQDAX"]
69+
RTSoftware["ARTIQ, DAX, OQDAX"]
7070
space
7171
RTGateware["Sinara Real-Time Control"]
7272
space
@@ -76,24 +76,24 @@ block-beta
7676
space
7777
end
7878
space
79-
79+
8080
InterfaceDigital --> IRDigital
8181
InterfaceAnalog --> IRAnalog
8282
InterfaceAtomic --> IRAtomic
83-
83+
8484
IRDigital --> IRAnalog
8585
IRAnalog --> IRAtomic
86-
86+
8787
IRDigital --> EmulatorDigital
8888
IRAnalog --> EmulatorAnalog
8989
IRAtomic --> EmulatorAtomic
90-
90+
9191
IRAtomic --> RealTimeTitle
92-
92+
9393
RTSoftware --> RTGateware
9494
RTGateware --> RTHardware
9595
RTHardware --> RTApparatus
96-
96+
9797
classDef title fill:#d6d4d4,stroke:#333,color:#333;
9898
classDef digital fill:#E7E08B,stroke:#333,color:#333;
9999
classDef analog fill:#E4E9B2,stroke:#333,color:#333;
@@ -107,7 +107,7 @@ block-beta
107107
class InterfaceAnalog,IRAnalog,EmulatorAnalog analog
108108
class InterfaceAtomic,IRAtomic,EmulatorAtomic atomic
109109
class RTSoftware,RTGateware,RTHardware,RTApparatus realtime
110-
110+
111111
class RealTime highlight
112112
```
113113

0 commit comments

Comments
 (0)