A software package for analyzing Calabi-Yau manifolds
CYTools is an open-source software package developed by Liam McAllister's group with the purpose of studying Calabi-Yau manifolds arising from the Kreuzer-Skarke database. The founding authors are Mehmet Demirtas and Andres Rios-Tascon; the current BDFL is Nate MacFadden. It emerged from several years of effort towards exploring previously uncharted parts of the string landscape. It offers vastly superior computational performance compared to other software that are typically used in the field. Installation instructions and detailed documentation can be found in the CYTools website.
Most of the code is written in Python, with wrappers to interface with various other open-source software. It is distributed as a Python package that can be installed with pip or conda, which pull in the necessary dependencies so that it is easy to install and use on most operating systems.
Quick example
After installing CYTools, compute the Hodge numbers of the quintic Calabi-Yau threefold:
from cytools import Polytope
p = Polytope([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [-1, -1, -1, -1]])
cy = p.triangulate().get_cy()
print(cy.h11(), cy.h21()) # 1 101
Acknowledgements
CYTools makes use of a variety of open-source projects. It includes a few code snippets from SageMath [GPLv2], a modified version of TOPCOM [GPLv2] that can be found here, the Computational Geometry Algorithms Library [LGPLv3], and multiple Python packages including SciPy, NumPy, pplpy, OR-Tools, scikit-sparse, and flint-py.
All original CYTools code is distributed under the terms of the GNU General Public License version 3. All other packages and code snippets are redistributed under their respective licenses.
Questions, comments and/or suggestions can be directed to support@cy.tools.
Metadata
Release files for cytools 1.4.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cytools-1.4.12.tar.gz | 223.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cytools-1.4.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 465.2 kB
Release files / cytools-1.4.12.tar.gz
| Download URL | cytools-1.4.12.tar.gz |
|---|---|
| Size | 223.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3cbc32cdf689f0cf4bc945b1b1b82a9a696e37afd51a24d4823ec935043d7856
|
|
BLAKE2b-256 checksum How to use checksums |
fc5eead7509c0e78984583d956aa940319d40d21f35096b6fb262f265161c8b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency logRelease files / cytools-1.4.12-py3-none-any.whl
| Download URL | cytools-1.4.12-py3-none-any.whl |
|---|---|
| Size | 241.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d03282f04cbdf98e44d8cf635e074b766481d7e11f6ff7013e24a08eed5abd2
|
|
BLAKE2b-256 checksum How to use checksums |
7f1db048f0187898ff99e4448d8b7c7bdc08da48dfbf7698a230dec30c267485
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 15, 2026.
Transparency log