diff --git a/.gitignore b/.gitignore
index 065fa0c9cd448c9d0e2a1811968b68ee26b80717..6b6df68954ed5b19ff346032bcb27c1b79c3a41d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,7 @@
 *.sublime-*
 dist/
 build/
-OpenQlab.egg-info/
+openqlab.egg-info/
 doc/_build
 .ropeproject
 .eggs
diff --git a/LICENSE b/LICENSE
index 79534dd98a54304bb259e6a022cd668a06ed9c33..576d022e8b2aa0278d65a30aae4629c23b85a1f5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -631,7 +631,7 @@ to attach them to the start of each source file to most effectively
 state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
-    OpenQlab
+    openqlab
     Copyright (C) 2019  las-nq
 
     This program is free software: you can redistribute it and/or modify
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
   If the program does terminal interaction, make it output a short
 notice like this when it starts in an interactive mode:
 
-    OpenQlab  Copyright (C) 2019  las-nq
+    openqlab  Copyright (C) 2019  las-nq
     This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
diff --git a/README.md b/README.md
index 52e31364e0c5d37958a9374502fe9ddb3db8ae92..04ab5900444dac47362cd4b52b38a490f6f74032 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# OpenQlab
+# openqlab
 
 [![pipeline status](https://git.physnet.uni-hamburg.de/las-nq/openqlab/badges/master/pipeline.svg)](https://git.physnet.uni-hamburg.de/las-nq/openqlab/commits/master)
 [![coverage report](https://git.physnet.uni-hamburg.de/las-nq/openqlab/badges/master/coverage.svg)](https://git.physnet.uni-hamburg.de/las-nq/openqlab/commits/master)
 
 
-`OpenQlab` provides a collection of useful tools and helpers for the
+`openqlab` provides a collection of useful tools and helpers for the
 analysis of lab data in the Nonlinear Quantum Optics Group at the University
 of Hamburg.
 
diff --git a/doc/Makefile b/doc/Makefile
index 1d0b0fe1fc218630691580013b15803fd1221e52..9fa2009c4aec6f5a1ab440fc9d5cfb2b38e57e0e 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -4,7 +4,7 @@
 # You can set these variables from the command line.
 SPHINXOPTS    =
 SPHINXBUILD   = python3 -msphinx
-SPHINXPROJ    = OpenQlab
+SPHINXPROJ    = openqlab
 SOURCEDIR     = .
 BUILDDIR      = _build
 
diff --git a/doc/analysis.rst b/doc/analysis.rst
index 834448729f49edf141750a1ae0460c35a80a207b..69e3443d0d56f3d664cf88c3619e4632cfa8cf08 100644
--- a/doc/analysis.rst
+++ b/doc/analysis.rst
@@ -1,4 +1,4 @@
-:mod:`OpenQlab.analysis` -- Data Analysis Tools and Helpers
+:mod:`openqlab.analysis` -- Data Analysis Tools and Helpers
 ***********************************************************
 
 .. note::
@@ -13,7 +13,7 @@ Gaussian Beam
 
 Fit beam data obtained from a beam analyzer to the gaussian beam model using non-linear least squares.
 
-.. automodule:: OpenQlab.analysis.gaussian_beam
+.. automodule:: openqlab.analysis.gaussian_beam
     :members:
 
 Phase
@@ -21,7 +21,7 @@ Phase
 
 Phase calculations
 
-.. automodule:: OpenQlab.analysis.phase
+.. automodule:: openqlab.analysis.phase
     :members:
 
 Servo Design
@@ -29,5 +29,5 @@ Servo Design
 
 Toolkit for simulating and designing servo controllers.
 
-.. automodule:: OpenQlab.analysis.servo_design
+.. automodule:: openqlab.analysis.servo_design
     :members:
diff --git a/doc/datacontainer.rst b/doc/datacontainer.rst
index 84a0dd6f52662b38433e83267de9b5a6b57ed99c..1fae78fea5910338cdab18eb690f8fbfede4cd24 100644
--- a/doc/datacontainer.rst
+++ b/doc/datacontainer.rst
@@ -6,6 +6,6 @@ See here the original documentation of DataFrame_.
 .. _DataFrame: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
 
 
-.. automodule:: OpenQlab.io.data_container
+.. automodule:: openqlab.io.data_container
     :members:
     :no-undoc-members:
diff --git a/doc/dataframes.rst b/doc/dataframes.rst
index d7e7f036efa56692a206ddb46ccc10d2f7e6ae70..93844667237e56c52f425fd51d9d4fe34a0ab2ea 100644
--- a/doc/dataframes.rst
+++ b/doc/dataframes.rst
@@ -1,7 +1,7 @@
 Working with DataFrames/DataContainer
 *************************************
 
-The data import functions of :obj:`OpenQlab` make extensive use of :obj:`OpenQlab.io.data_container`, which are convenient objects that hold measurement data similar to an Excel table. The data containers are actually based on the *Pandas* :obj:`DataFrame`, plus some additional header information that further describes the measurement data, such as *RBW*, *frequency range*, etc. Since working with :obj:`DataFrames` can be very convenient, let us give a short introduction to them here. There is also *Panda's* excellent tutorial `10 min to Pandas`_.
+The data import functions of :obj:`openqlab` make extensive use of :obj:`openqlab.io.data_container`, which are convenient objects that hold measurement data similar to an Excel table. The data containers are actually based on the *Pandas* :obj:`DataFrame`, plus some additional header information that further describes the measurement data, such as *RBW*, *frequency range*, etc. Since working with :obj:`DataFrames` can be very convenient, let us give a short introduction to them here. There is also *Panda's* excellent tutorial `10 min to Pandas`_.
 
 .. _10 min to Pandas: https://pandas.pydata.org/pandas-docs/stable/10min.html
 
diff --git a/doc/index.rst b/doc/index.rst
index 888f11c9401416a32323d462bf98a142ac0eac63..85a5de22d00dee8ca9340478c14e46ea20c22c63 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -1,10 +1,10 @@
 :tocdepth: 2
 
 
-Welcome to OpenQlab's documentation!
+Welcome to openqlab's documentation!
 ====================================
 
-:mod:`OpenQlab` provides a collection of useful tools and helpers for the
+:mod:`openqlab` provides a collection of useful tools and helpers for the
 analysis of lab data in the Nonlinear Quantum Optics Group at the University
 of Hamburg.
 
diff --git a/doc/install.md b/doc/install.md
index 1523f22541cecea8eed8c02f87ef1ecfee9c8102..f27828432fa6efa96c598fb6a9d662dc7209ec8e 100644
--- a/doc/install.md
+++ b/doc/install.md
@@ -2,13 +2,13 @@
 
 ## Prerequisites
 
-`OpenQlab` requires a working `Python` installation on your PC. Currently, the easiest way to get this is to install the [Anaconda](https://www.anaconda.com/download/) distribution. Select the `Python 3.x` version (at the time of writing, x=7).
+`openqlab` requires a working `Python` installation on your PC. Currently, the easiest way to get this is to install the [Anaconda](https://www.anaconda.com/download/) distribution. Select the `Python 3.x` version (at the time of writing, x=7).
 
 ## Using the PyPi server (recommended)
 
-This is the recommended, easiest version to install OpenQlab.
+This is the recommended, easiest version to install openqlab.
 ```bash
-pip3 install --upgrade --user OpenQlab
+pip3 install --upgrade --user openqlab
 ```
 If you don't have `pip3` on your system, try `pip`.
 To install system wide don't use the `--user` flag.
@@ -17,7 +17,7 @@ To install system wide don't use the `--user` flag.
 
 You can get the current version on our [deployment server](https://las-nq-serv.physnet.uni-hamburg.de/software-builds/nq-lab/) or on the [gitlab server](https://gitlab.aei.uni-hannover.de/las-nq/lab/).
 
-Unpack the OpenQlab archive and `cd` to it.
+Unpack the openqlab archive and `cd` to it.
 
 ### Install dependencies
 
@@ -33,9 +33,9 @@ To install all pythonic dependencies you can simply run:
 make requirements
 ```
 
-### Install OpenQlab
+### Install openqlab
 
-Install `OpenQlab` for the current user:
+Install `openqlab` for the current user:
 
 ```bash
 python3 setup.py install --user
diff --git a/doc/io.rst b/doc/io.rst
index d7fe606f42cf35efce1b9d7a1ddfe74ea734fca0..d023222f61d4b0f78f54e42e597e60533cd93060 100644
--- a/doc/io.rst
+++ b/doc/io.rst
@@ -1,4 +1,4 @@
-:mod:`OpenQlab.io` -- Import of Instrument Data
+:mod:`openqlab.io` -- Import of Instrument Data
 ***********************************************
 
 Convenient importers of instrument data.
@@ -6,19 +6,19 @@ Convenient importers of instrument data.
 Import Functions
 ----------------
 
-.. automodule:: OpenQlab.io
+.. automodule:: openqlab.io
     :members: read,import_data
 
 
 Base Importer
 -------------
 
-.. automodule:: OpenQlab.io.base_importer
+.. automodule:: openqlab.io.base_importer
     :members:
 
 
 Importers
 ---------
 
-.. automodule:: OpenQlab.io.importers
+.. automodule:: openqlab.io.importers
     :members:
diff --git a/doc/make.bat b/doc/make.bat
index 5e535fe43c10e50683f0ebfd36ea2e18d47061a5..103b7f9cca28074a8be977da3305a7c73d127000 100644
--- a/doc/make.bat
+++ b/doc/make.bat
@@ -10,7 +10,7 @@ if "%SPHINXBUILD%" == "" (
 )
 set SOURCEDIR=.
 set BUILDDIR=_build
-set SPHINXPROJ=OpenQlab
+set SPHINXPROJ=openqlab
 
 if "%1" == "" goto help
 
diff --git a/doc/plots.rst b/doc/plots.rst
index 52c3cdc545af5972e9ce77b4bae53d7342f6db9f..ebdc755503b2ec5e945dbbead09d4c711895cc4a 100644
--- a/doc/plots.rst
+++ b/doc/plots.rst
@@ -1,21 +1,21 @@
-:mod:`OpenQlab.plots` -- Plotting of Data
+:mod:`openqlab.plots` -- Plotting of Data
 *****************************************
 
 Time-Domain Plots
 -----------------
 
-.. automodule:: OpenQlab.plots.time_domain
+.. automodule:: openqlab.plots.time_domain
     :members:
 
 Frequency-Domain Plots
 ----------------------
 
-.. automodule:: OpenQlab.plots.frequency_domain
+.. automodule:: openqlab.plots.frequency_domain
     :members:
 
 
 Gaussian Beam Plots
 -------------------
 
-.. automodule:: OpenQlab.plots.gaussian_beam
+.. automodule:: openqlab.plots.gaussian_beam
     :members:
diff --git a/doc/servodesign.rst b/doc/servodesign.rst
index eb539141b7a4d9b0eac4e31e3a0028fe467259ce..15c2d824ca873613b371ea131c3c18e9190d77d2 100644
--- a/doc/servodesign.rst
+++ b/doc/servodesign.rst
@@ -1,7 +1,7 @@
 Servo Design
 ************
 
-:mod:`OpenQlab` helps with designing a standard servo circuit. Here's an example:
+:mod:`openqlab` helps with designing a standard servo circuit. Here's an example:
 
     >>> %pylab notebook
     >>> from openqlab.analysis import servo_design
@@ -38,7 +38,7 @@ that means. A list of available filters can be found on the
 
 
     >>> %pylab notebook
-    >>> from OpenQlab.analysis import servo_design
+    >>> from openqlab.analysis import servo_design
     >>> S = servo_design.ServoDesign()
     >>> S.integrator(1e3).notch(22e3, 100).lowpass(10e3, Q=1.0).gain(10)
                         zeros                      poles                                  gain
@@ -52,7 +52,7 @@ As you can see, the servo keeps track of the individual filters that are added,
 labelling them with a shorthand notation. It also displays poles, zeros and gain
 for the individual filters, but you can just ignore that if you don't know what
 that means. A list of available filters can be found on the
-:class:`OpenQlab.analysis.servo_design.ServoDesign` page. To get a graph of how
+:class:`openqlab.analysis.servo_design.ServoDesign` page. To get a graph of how
 this servo's response looks like in the frequency domain, simply say:
 
     >>> S.plot()
diff --git a/doc/usage.rst b/doc/usage.rst
index 683f6dc0f2e98acb85f8c0ff58d94dab35070b14..edec159df269e8f60b07b2ec3d73fca31852d60a 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -4,12 +4,12 @@ Usage
 Introduction
 ------------
 
-`OpenQlab` is conveniently used inside *Jupyter* notebooks. *Jupyter* is a part of e.g. the Anaconda installation. It allows to combine *Python* code together with images and documentation in a single, nicely formatted notebook page.
+`openqlab` is conveniently used inside *Jupyter* notebooks. *Jupyter* is a part of e.g. the Anaconda installation. It allows to combine *Python* code together with images and documentation in a single, nicely formatted notebook page.
 
 Here's how to import squeezing traces from a spectrum analyzer and plot them::
 
     >>> %pylab inline
-    >>> from OpenQlab import *
+    >>> from openqlab import *
     >>> data = io.read(['vac.txt', 'sqz.txt', 'mcd.txt'])
     >>> data.head()
                     vac        sqz        mcd
diff --git a/setup.cfg b/setup.cfg
index 509693276ffd27b9c1a4718290dc9e8956a841af..b8ca5609d14922c31be711b8d8479256337d51ab 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -3,7 +3,7 @@
 # http://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files
 
 [metadata]
-name = OpenQlab
+name = openqlab
 description = An open-source collection of tools for quantum-optics experiments
 author = Group LasNQ, ILP, University of Hamburg
 author-email =
@@ -49,7 +49,7 @@ addopts = tests
 # e.g. --cov-report html (or xml) for html/xml output or --junitxml junit.xml
 # in order to write a coverage file that can be read by Jenkins.
 addopts =
-    --cov OpenQlab --cov-report term-missing
+    --cov openqlab --cov-report term-missing
     --verbose
 norecursedirs =
     dist
@@ -86,4 +86,4 @@ exclude =
 # PyScaffold's parameters when the project was created.
 # This will be used when updating. Do not change!
 version = 3.0.3
-package = OpenQlab
+package = openqlab