# Overview

CYTools provides six main Python classes containing various functions specific to the object they describe. These classes are the following:

`Polytope`

This class handles all computations relating to lattice polytopes, such as the computation of its lattice points and faces. When using reflexive polytopes, it also allows the computation of topological properties of the arising Calabi-Yau hypersurfaces that only depend on the polytope.`PolytopeFace`

This class handles all computations relating faces of lattice polytopes.`Triangulation`

This class handles triangulations of lattice polytopes. It can compute various properties of the triangulation, as well as construct a ToricVariety or CalabiYau object if the triangulation is suitable.`ToricVariety`

This class handles various computations relating to the toric varieties. It can be used to compute intersection numbers, the Kähler cone, among other things.`CalabiYau`

This class handles various computations relating to the Calabi-Yau manifold itself. It can be used to compute intersection numbers, the toric Mori and Kähler cones that can be inferred from the ambient variety, among other things.`Cone`

This class handles all computations relating to rational polyhedral cones, such as rays and cone duality. It is mainly used for the study of Kähler and Mori cones.

Apart from the above classes there are other miscellaneous functions that we document in the misc functions page. There are also a few configuration options that can be found in the configuration page, and some experimental features documented in the experimental features page.

CYTools is open-source software distributed under the GNU GPL3 license. See the license page for more details.