Installation

SquidASM uses the NetSquid Python package. To install and use NetSquid, you need to first create an account for the netsquid forum. The username and password for this account are needed to install SquidASM.

Because NetSquid only supports Linux and MacOS, SquidASM also requires a Linux or MacOS system. For Windows users it is recommended to either use a virtual machine or use Windows Subsystem for Linux (WSL).

Next the SquidASM repository needs to be cloned using git. If git is not installed, instructions on installing it can be found on this website. Afterward, go to your desired directory and execute:

git clone https://github.com/QuTech-Delft/squidasm.git

This will create a new folder with the name squidasm and download the squidasm package to that folder.

The SquidASM install script requires the NetSquid user name and password to be set into environment variables. This can be done by executing the following code, but with your own user name and password:

export NETSQUIDPYPI_USER=user1234
export NETSQUIDPYPI_PWD=password1234

It’s also possible to write your password to a text file instead, and set the path to that file with another environment variable:

export NETSQUIDPYPI_USER=user1234
export NETSQUIDPYPI_PWD_FILEPATH=password.txt

For a more permanent solution, if SquidASM is installed more than once, these lines can be added to ~\.bashrc.

Then, to install squidasm execute the following command inside the newly created squidasm folder:

make install

To verify the installation, do:

make verify

If this commands completes without errors, it means that SquidASM has been successfully installed and should work properly.

Note

SquidASM can be installed installed inside a virtual environment for python. This can be done by activating the virtual environment before the command make install.

Virtual environments allow a user to install python packages in such a way that the installed package and its dependencies are kept separate from the “base” python and other projects. For example, with SquidASM this would prevent the SquidASM installation from changing the NetSquid version in another project and vice versa. For more information regarding virtual environments and how to use them see: https://docs.python.org/3/library/venv.html.