  We introduce the framework of general probabilistic theories (GPTs for
short). GPTs are a class of operational theories that generalize both
finite-dimensional classical and quantum theory, but they also include other,
more exotic theories, such as the boxworld theory containing Popescu-Rohrlich
boxes. We provide in-depth explanations of the basic concepts and elements of
the framework of GPTs, and we also prove several well-known results. The review
is self-contained and it is meant to provide the reader with consistent
introduction to GPTs. Our tools mainly include convex geometry, but we also
introduce diagrammatic notation and we often express equations via diagrams.
