Skip to content

Commit

Permalink
Deploying to gh-pages from @ 5e068d8 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
sequoiap committed Jan 10, 2024
1 parent a1d4e00 commit 9603bbb
Show file tree
Hide file tree
Showing 22 changed files with 961 additions and 372 deletions.
18 changes: 0 additions & 18 deletions _downloads/1d889b31bb06cb578abde8e2253d043a/setup.sh

This file was deleted.

Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 7 additions & 7 deletions _sources/pages/git_and_github.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ To [install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)

While you can install [Git for Windows](https://gitforwindows.org/), because
the other software packages used in this course are Mac- or Linux-only, you
will be forced to use WSL to complete this course on Windows. Still, we'll
will be forced to use git via {term}`WSL` to complete this course. Still, we'll
provide a [download link](https://git-scm.com/download/win) for git on Windows.

:::
Expand Down Expand Up @@ -64,9 +64,9 @@ sudo dnf install git-all

::::

GitHub is the most well known hosting service, and it provides free accounts
(and free private repositories) to all users. This bootcamp, for example, is
hosted on GitHub, along with many of the most popular open-source Python
projects (including numpy, scipy, and matplotlib). If you want to version
control your code, we recommend creating an account on GitHub and keeping your
source code there.
[GitHub](https://github.com/) is the most well known hosting service, and it
provides free accounts (and free private repositories) to all users. This
bootcamp, for example, is hosted on GitHub, along with many of the most popular
open-source Python projects (including numpy, scipy, and matplotlib). If you
want to version control your code, we recommend creating an account on GitHub
and keeping your source code there.
3 changes: 3 additions & 0 deletions _sources/pages/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ silicon-on-insulator
SOI
See {term}`silicon-on-insulator`.
vscode
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git ([Wikipedia](https://en.wikipedia.org/wiki/Visual_Studio_Code)).
WSL
Windows Subsystem for Linux. WSL lets developers install and run a Linux distribution on Windows and use Linux applications, utilities, and Bash command-line tools directly on Windows, unmodified, without the overhead of a traditional virtual machine or dual-boot setup.
Expand Down
13 changes: 13 additions & 0 deletions _sources/pages/klayout.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,16 @@
</div>

[KLayout](https://www.klayout.de/) is a free and open-source software for layout design and verification. It's most basic use case is as a layout viewer (it can read and display GDS files, the most common format for laying out photonic chips), but it is a powerful tool for designing photonic devices and integrated circuits as well. It has features for {term}`DRC`, viewing chip cross-sections, tracing nets (to help you detect shorts), and more, while also being scriptable in several languages including Ruby and Python. KLayout is available for Windows, Mac, and Linux. You can download KLayout [here](https://www.klayout.de/build.html).

## klive

klive is a small extension to KLayout that allows automatic loading for GDS
files when some external program sends a json request with the gds path to a
klive server, running in the background. This essentially allows for
"hot-reloading" of your layouts within KLayout each time you rerun your code.

Once KLayout is installed, you can install klive from within KLayout's package
manager, by going to `Tools > Manage Packages > Install New Packages`. Then,
search for `klive` and double click it to select it, then click "Apply".

![klive installation screenshot](../klive_installation.png)
698 changes: 490 additions & 208 deletions _sources/pages/mzi.ipynb

Large diffs are not rendered by default.

43 changes: 29 additions & 14 deletions _sources/pages/setup.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,42 @@
# Setting up the tools

Since we use a lot of python tools in this course, there are some things which you'd need to install. In short:

1. You'd need to either have a Linux machine, a Mac, or a Windows machine with the Windows Subsystem for Linux (WSL) installed.
2. You'd need a Code Editor. The recommended code editor is VSCode, which you can set up [here](/pages/vscode.md).
3. You'd need Miniconda. Some of the tools are available through pip, while some are only available through Conda. Miniconda is a nice way to manage all these tools in a single place.
4. You'd need KLayout. This is a layout viewer, which we'll use to view the layouts we create.
Since we primarily use Python tools in this course, there are some things
you'll need to install. In short, you'll need:

1. A Linux machine, a Mac, or a Windows machine with the
[Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/about)
installed.
2. A code editor. The recommended code editor is
[Visual Studio Code](https://code.visualstudio.com/), (installation
instructions [here](/pages/vscode.md)).
3. Miniconda. Most of the tools are installable through the
[Python Package Index (PyPI)](https://pypi.org/), i.e. "pip" installable,
while some precompiled packages are only available through Conda
repositories. Miniconda, which also provides a Python installation and
virtual environments by default, is a nice way to manage all these tools
in a single place.
4. KLayout, a layout/GDS file viewer, which we'll use to view the circuits we
create.

## Install WSL
If you are using Windows, you'd have to install WSL. To install:

1. Open Command Prompt as Administrator
2. Type `wsl --install` and press Enter
3. Restart your computer
4. Click on the Start menu and type "Ubuntu" and press Enter
5. Set up your username and password
If you are using Windows, you'll need to install {term}`WSL``. This can be
easily installed through the Windows store (recommended), or via the command
line:

1. Open Command Prompt as Administrator.
2. Run the command ``wsl --install``.
3. Restart your computer.
4. From the Start menu, run Ubuntu.
5. On the first run, set up a new user account on the Linux machinen (username
and password, which can be different from your Windows machine).

## Install VSCode
You now need to install VSCode. Refer to the chapter on VSCode [here](/pages/vscode.md), which explains what VSCode is and how to install it.

Open VSCode. You can setup a theme and other things. If you are using WSL, make sure to [open VSCode in your WSL environment](https://code.visualstudio.com/docs/remote/wsl#_open-a-remote-folder-or-workspace). You can check this by checking the green box in the bottom left-hand corner. If VSCode is connected to WSL it will say "WSL" in this box. If it doesn't then click the green box. A menu will pop up. Click the option "Connect to WSL" and VSCode will now be connected to WSL.

## Setup Script
<!-- ## Setup Script
To install Miniconda and KLayouts we have created a setup script you can download [here](../scripts/setup.sh). If you want to install these manual, skip this step by going to the [next page](/pages/git_and_github).
If you are using Linux, and assuming the script was downloaded to your Downloads folder, run the following command:
Expand Down Expand Up @@ -49,4 +64,4 @@ conda activate photonics
```
If everything installed correctly you are ready to move onto the [next chapter](/pages/what_is_a_photonic_device).
The following pages in this section would explain how to use the tools. They also include instructions on how to install the tools individually, if you don't want to use Miniconda.
The following pages in this section would explain how to use the tools. They also include instructions on how to install the tools individually, if you don't want to use Miniconda. -->
2 changes: 1 addition & 1 deletion _sources/pages/vscode.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
While you can write computer code using any text editor, some text editors have
special features that make writing code easier. In this course, we will be
using [Visual Studio Code](https://code.visualstudio.com) (also known as
vscode), a popular open-source text editor by Microsoft that is desiged
{term}`vscode`), a popular open-source text editor by Microsoft that is desiged
specifically for writing code. It boasts a healthy set of extensions that
can provide integrated development environment (IDE)-like capabilities in a
much lighter program.
Expand Down
8 changes: 8 additions & 0 deletions genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,7 @@ <h1 id="index">Index</h1>
| <a href="#P"><strong>P</strong></a>
| <a href="#R"><strong>R</strong></a>
| <a href="#S"><strong>S</strong></a>
| <a href="#V"><strong>V</strong></a>
| <a href="#W"><strong>W</strong></a>
</div>
<h2 id="C">C</h2>
Expand Down Expand Up @@ -369,6 +370,13 @@ <h2 id="S">S</h2>
</li>
</ul></td>
</tr></table>
<h2 id="V">V</h2>
<table class="indextable genindextable" style="width: 100%"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="pages/glossary.html#term-vscode"><strong>vscode</strong></a>
</li>
</ul></td>
</tr></table>
<h2 id="W">W</h2>
<table class="indextable genindextable" style="width: 100%"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
Expand Down
Binary file modified objects.inv
Binary file not shown.
14 changes: 7 additions & 7 deletions pages/git_and_github.html
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ <h1>Git (and GitHub)<a class="headerlink" href="#git-and-github" title="Permalin
Windows</label><div class="sd-tab-content docutils">
<p>While you can install <a class="reference external" href="https://gitforwindows.org/">Git for Windows</a>, because
the other software packages used in this course are Mac- or Linux-only, you
will be forced to use WSL to complete this course on Windows. Still, we’ll
will be forced to use git via <a class="reference internal" href="glossary.html#term-WSL"><span class="xref std std-term">WSL</span></a> to complete this course. Still, we’ll
provide a <a class="reference external" href="https://git-scm.com/download/win">download link</a> for git on Windows.</p>
</div>
<input id="sd-tab-item-1" name="sd-tab-set-0" type="radio"/>
Expand Down Expand Up @@ -332,12 +332,12 @@ <h1>Git (and GitHub)<a class="headerlink" href="#git-and-github" title="Permalin
</div>
</div>
</div>
<p>GitHub is the most well known hosting service, and it provides free accounts
(and free private repositories) to all users. This bootcamp, for example, is
hosted on GitHub, along with many of the most popular open-source Python
projects (including numpy, scipy, and matplotlib). If you want to version
control your code, we recommend creating an account on GitHub and keeping your
source code there.</p>
<p><a class="reference external" href="https://github.com/">GitHub</a> is the most well known hosting service, and it
provides free accounts (and free private repositories) to all users. This
bootcamp, for example, is hosted on GitHub, along with many of the most popular
open-source Python projects (including numpy, scipy, and matplotlib). If you
want to version control your code, we recommend creating an account on GitHub
and keeping your source code there.</p>
</section>
<script type="text/x-thebe-config">
{
Expand Down
2 changes: 2 additions & 0 deletions pages/glossary.html
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,8 @@ <h1>Glossary<a class="headerlink" href="#glossary" title="Permalink to this head
</dd>
<dt id="term-SOI">SOI<a class="headerlink" href="#term-SOI" title="Permalink to this term">#</a></dt><dd><p>See <a class="reference internal" href="#term-silicon-on-insulator"><span class="xref std std-term">silicon-on-insulator</span></a>.</p>
</dd>
<dt id="term-vscode">vscode<a class="headerlink" href="#term-vscode" title="Permalink to this term">#</a></dt><dd><p>Visual Studio Code, also commonly referred to as VS Code, is a source-code editor developed by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git (<a class="reference external" href="https://en.wikipedia.org/wiki/Visual_Studio_Code">Wikipedia</a>).</p>
</dd>
<dt id="term-WSL">WSL<a class="headerlink" href="#term-WSL" title="Permalink to this term">#</a></dt><dd><p>Windows Subsystem for Linux. WSL lets developers install and run a Linux distribution on Windows and use Linux applications, utilities, and Bash command-line tools directly on Windows, unmodified, without the overhead of a traditional virtual machine or dual-boot setup.</p>
</dd>
</dl>
Expand Down
34 changes: 33 additions & 1 deletion pages/klayout.html
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,9 @@
</button>
`);
</script>
<label class="sidebar-toggle secondary-toggle btn btn-sm" data-bs-placement="bottom" data-bs-toggle="tooltip" for="__secondary" title="Toggle secondary sidebar">
<span class="fa-solid fa-list"></span>
</label>
</div></div>
</div>
</div>
Expand All @@ -279,6 +282,14 @@ <h1>KLayout</h1>
<!-- Table of contents -->
<div id="print-main-content">
<div id="jb-print-toc">
<div>
<h2> Contents </h2>
</div>
<nav aria-label="Page">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#klive">klive</a></li>
</ul>
</nav>
</div>
</div>
</div>
Expand All @@ -291,6 +302,17 @@ <h1>KLayout<a class="headerlink" href="#klayout" title="Permalink to this headin
<p>(<a class="reference external" href="https://www.klayout.de/">source</a>)</p>
</div>
<p><a class="reference external" href="https://www.klayout.de/">KLayout</a> is a free and open-source software for layout design and verification. It’s most basic use case is as a layout viewer (it can read and display GDS files, the most common format for laying out photonic chips), but it is a powerful tool for designing photonic devices and integrated circuits as well. It has features for <a class="reference internal" href="glossary.html#term-DRC"><span class="xref std std-term">DRC</span></a>, viewing chip cross-sections, tracing nets (to help you detect shorts), and more, while also being scriptable in several languages including Ruby and Python. KLayout is available for Windows, Mac, and Linux. You can download KLayout <a class="reference external" href="https://www.klayout.de/build.html">here</a>.</p>
<section id="klive">
<h2>klive<a class="headerlink" href="#klive" title="Permalink to this heading">#</a></h2>
<p>klive is a small extension to KLayout that allows automatic loading for GDS
files when some external program sends a json request with the gds path to a
klive server, running in the background. This essentially allows for
“hot-reloading” of your layouts within KLayout each time you rerun your code.</p>
<p>Once KLayout is installed, you can install klive from within KLayout’s package
manager, by going to <code class="docutils literal notranslate"><span class="pre">Tools</span> <span class="pre">&gt;</span> <span class="pre">Manage</span> <span class="pre">Packages</span> <span class="pre">&gt;</span> <span class="pre">Install</span> <span class="pre">New</span> <span class="pre">Packages</span></code>. Then,
search for <code class="docutils literal notranslate"><span class="pre">klive</span></code> and double click it to select it, then click “Apply”.</p>
<p><img alt="klive installation screenshot" src="klive_installation.png"/></p>
</section>
</section>
<script type="text/x-thebe-config">
{
Expand Down Expand Up @@ -331,7 +353,17 @@ <h1>KLayout<a class="headerlink" href="#klayout" title="Permalink to this headin
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"></div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> Contents
</div>
<nav class="bd-toc-nav page-toc">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#klive">klive</a></li>
</ul>
</nav></div>
</div></div>
</div>
<footer class="bd-footer-content">
<div class="bd-footer-content__inner container">
Expand Down
Loading

0 comments on commit 9603bbb

Please sign in to comment.