Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit fc4e42a
Author: Phil Starkey <[email protected]>
Date:   Thu Jun 25 19:53:12 2020 +1000

    Update dependencies in setup.cfg

    Bumped labscript_devices and labscript_utils versions to `>=3.0.0`

commit 5d48b01
Merge: d7dbb60 760b82c
Author: Russell Anderson <[email protected]>
Date:   Mon Jun 22 18:07:48 2020 +1000

    Merge pull request #43 from philipstarkey/master

    fix docs conf bugs identified in labscript-suite/labscript-utils#57

commit 760b82c
Author: philipstarkey <[email protected]>
Date:   Sat Jun 20 18:29:58 2020 +1000

    fix docs conf bugs identified in labscript-suite/labscript-utils#57

commit d7dbb60
Merge: 8eac42a fd63ef4
Author: Phil Starkey <[email protected]>
Date:   Fri Jun 19 19:00:21 2020 +1000

    Merge pull request #42 from philipstarkey/master

    Empty sphinx project following our template

commit fd63ef4
Author: philipstarkey <[email protected]>
Date:   Fri Jun 19 17:08:29 2020 +1000

    Empty sphinx project following our template

commit 8eac42a
Author: Russell Anderson <[email protected]>
Date:   Wed Jun 17 10:31:32 2020 +1000

    Contextualise installation instructions in README.md

commit a54f961
Author: Russell Anderson <[email protected]>
Date:   Tue Jun 16 21:07:05 2020 +1000

    Populated README.md with styling, iconogrpahy, prose, and badges

Co-authored-by: Russell Anderson <[email protected]>
  • Loading branch information
philipstarkey and rpanderson committed Jun 25, 2020
1 parent 7d94422 commit 8f441c5
Show file tree
Hide file tree
Showing 17 changed files with 1,661 additions and 9 deletions.
26 changes: 25 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# This gitignore file consists of 2 parts:
# * The standard Python .gitignore rules from GitHub
# * custom ignore rules for the labscript suite.
#
# These should be kept separate so that the generic rules can be updated with a
# copy/paste without having to worry about whether we are removing custom rules

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand All @@ -20,7 +27,6 @@ parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
Expand Down Expand Up @@ -50,6 +56,7 @@ coverage.xml
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
Expand All @@ -72,6 +79,7 @@ instance/
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
Expand All @@ -82,6 +90,8 @@ profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
.python-version

# pipenv
Expand Down Expand Up @@ -128,10 +138,24 @@ dmypy.json
# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

#
# Custom labscript suite .gitignore rules start below
#

# Editors
.vscode/

# conda build results
conda_build/
conda_packages/

# Sphinx documentation
docs/html/
docs/source/_build/
docs/source/components.rst
22 changes: 16 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
# runviewer
<img src="https://raw.githubusercontent.com/labscript-suite/labscript-suite/master/art/runviewer_32nx32n.svg" height="64" alt="the labscript suite – runviewer" align="right">

# the _labscript suite_ » runviewer

The runviewer Python program allows you to visualise a shot compiled by labscript. runviewer is designed to show you what you have commanded the hardware to do throughout the experiment shot, by plotting traces of outputs and inputs. These traces are reverse engineered from the hardware instructions produced by labscript, and provide a faithful representation of what the hardware has been commanded to do.
### Visualize hardware-timed experiment instructions

(
[view on Bitbucket](https://bitbucket.org/labscript_suite/runviewer)
)
[![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg?branch=maintenance%2F3.0.x)](https://github.com/labscript-suite/runviewer/actions)
[![License](https://img.shields.io/pypi/l/runviewer.svg)](https://github.com/labscriptsuite/runviewer/raw/master/LICENSE.txt)
[![Python Version](https://img.shields.io/pypi/pyversions/runviewer.svg)](https://python.org)
[![PyPI](https://img.shields.io/pypi/v/runviewer.svg)](https://pypi.org/project/runviewer)
[![Conda Version](https://img.shields.io/conda/v/labscript-suite/runviewer)](https://anaconda.org/labscript-suite/runviewer)
[![Google Group](https://img.shields.io/badge/Google%20Group-labscriptsuite-blue.svg)](https://groups.google.com/forum/#!forum/labscriptsuite)
<!--[![DOI](http://img.shields.io/badge/DOI-10.1063%2F1.4817213-0F79D0.svg)](https://doi.org/10.1063/1.4817213)-->

* For install instructions, see the [labscript suite install guide](https://bitbucket.org/labscript_suite/install-guide)

**runviewer** is a graphical interface for visualising hardware-timed experiments composed using the [*labscript suite*](https://github.com/labscript-suite/labscript-suite). runviewer shows you what you have commanded the hardware to do throughout an experiment shot, by plotting annotated, interactive timeseries of outputs and inputs. These traces are reverse engineered (uncompiled) from the hardware instructions produced by labscript, and provide a faithful representation of what the hardware has been commanded to do.

## Installation

runviewer is distributed as a Python package on [PyPI](https://pypi.org/user/labscript-suite) and [Anaconda Cloud](https://anaconda.org/labscript-suite), and should be installed with other components of the _labscript suite_. Please see the [installation guide](https://docs.labscriptsuite.org/en/latest/installation) for details.
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
63 changes: 63 additions & 0 deletions docs/source/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/* Add space between collapsible details HTML tags */
details {
margin-bottom: 1em;
}

/* Darker pygment highlighing of console input/output */
.highlight .go {
color: #404040;
}

/* White captions in sidebar */
.wy-nav-side p.caption {
color: #f5f5f5;
}

/* labscript blue, alpha = 83% */
.wy-side-nav-search {
background: #2946bbd3;
}

.wy-nav-top {
background: #2946bbd3;
}

/* labscript green, alpha = 75% */
.rst-content .note .admonition-title {
background: #00804fbf;
}

/* labscript green, alpha = 25% */
.rst-content .note {
background: #00804f3f;
}

/* labscript red, alpha = 75% */
.rst-content .warning .admonition-title {
background: #bc294cbf
}

/* labscript red, alpha = 25% */
.rst-content .warning {
background: #bc294c3b;
}

/* Elevation
*
* Style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
*
* https://github.com/material-components/material-components-web
* https://material-components-web.appspot.com/elevation.html
*/

.rst-content img.screenshot {
border: none;
/* MD Elevation 8 */
box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2),
0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
margin-bottom: 24px;
}

img.labscript-suite-icon {
min-width: 32px;
}
47 changes: 47 additions & 0 deletions docs/source/_templates/components.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{% if current_project != 'the labscript suite' %}
.. toctree::
:maxdepth: 2
:hidden:

the labscript suite <{{intersphinx_mapping['labscript-suite'][0]}}>

{% endif %}
*labscript suite* components
============================

The *labscript suite* is modular by design, and is comprised of:

.. list-table:: Python libraries
:widths: 10 90
:header-rows: 0

{% for prog, item in programs.items() if item.type == 'lib' %}
* - .. image:: {{img_path}}/{{item.icon}}
:target: {{intersphinx_mapping['%s' | format(prog)][0]}}
:class: labscript-suite-icon
- |{{prog}}|_ --- {{item.desc}}
{% endfor %}

.. list-table:: Graphical applications
:widths: 10 90
:header-rows: 0

{% for prog, item in programs.items() if item.type == 'gui' %}
* - .. image:: {{img_path}}/{{item.icon}}
:target: {{intersphinx_mapping['%s' | format(prog)][0]}}
:class: labscript-suite-icon
- |{{prog}}|_ --- {{item.desc}}
{% endfor %}

.. toctree::
:maxdepth: 2
:hidden:

{% for prog in programs|sort if prog != current_project %}
{{prog}} <{{intersphinx_mapping['%s' | format(prog)][0]}}>
{% endfor %}

{% for prog in programs %}
.. |{{prog}}| replace:: **{{prog}}**
.. _{{prog}}: {{intersphinx_mapping['%s' | format(prog)][0]}}
{% endfor %}
Loading

0 comments on commit 8f441c5

Please sign in to comment.