  The classical simulation of quantum computers is in general a computationally
hard problem. To emulate the behavior of realistic devices, it is sufficient to
sample bitstrings from circuits. Recently, arXiv:2112.08499 introduced the
so-called gate-by-gate sampling algorithm to sample bitstrings and showed it to
be computationally favorable in many cases. Here we present bgls, a Python
package which implements this sampling algorithm. bgls has native support for
several states and is highly flexible for use with additional states. We show
how to install and use bgls, discuss optimizations in the algorithm, and
demonstrate its utility on several problems.
