Calabi-Yau Geometry Database#
StringForge provides access to large Calabi-Yau geometry datasets through a unified interface. Data are hosted on HuggingFace and downloaded lazily: the constructor performs no network access, catalogue files are fetched on first query, and geometry shards are fetched only when a model is loaded.
Important
There are three related but distinct layers:
TDF/CICY geometry databases store Calabi-Yau data.
KKLT curated subset stores specialised conifold-class provenance and logical links back to TDF rows.
vacua_vaultis one shared repository for designated vacuum solutions, with dataset-specific metadata in each record.
Available database interfaces#
TDF models from the Kreuzer-Skarke list, addressed by
(ks_id, triang_id), throughTDFDatabaseandLCSDatabase(dataset="tdf").CICY models from the complete-intersection Calabi-Yau list, addressed by
cicy_id, throughCICYDatabaseandLCSDatabase(dataset="cicy").KKLT index, an advanced curated TDF subset indexed by conifold class with curation tags, through
KKLTDatabase. See KKLT Database after reading this page.
Each model may carry topological data, Kähler-cone data, optional GV/GW invariants, optional conifold-limit data, and extra precomputed properties.
Two ways to load models#
Pure I/O#
Use CYDatabase, TDFDatabase, or CICYDatabase when you want catalogue rows
and raw data without constructing a physics model.
from stringforge import TDFDatabase
db = TDFDatabase()
df = db.query(h11=2)
JAXVacua bridge#
Use LCSDatabase when you want the public surface in mirror convention and want
to construct JAXVacua-compatible objects.
from stringforge import LCSDatabase
db = LCSDatabase(dataset="tdf")
rows = db.query(h12=2).head()
row = rows.iloc[0]
tree = db.load(
h11=int(row["h11"]),
h12=int(row["h12"]),
ks_id=int(row["ks_id"]),
triang_id=int(row["triang_id"]),
)
model = db.load_model(
h11=int(row["h11"]),
h12=int(row["h12"]),
ks_id=int(row["ks_id"]),
triang_id=int(row["triang_id"]),
)
Geometry data, curated subsets, and model loading
TDF and CICY are geometry sources. KKLT is a curated index that stores conifold-class provenance, tags, and logical links back to TDF; it is not a separate geometry source.
ks_id and triang_id.
cicy_id.
h11 and h12.
lcs_tree data and ready-to-use FluxVacuaFinder models.
kklt index: conifold classes, logical TDF links, and tags.
Lazy downloading and caching#
The cache defaults to .stringforge_cache/ in the current working directory.
Change it globally with stringforge.set_data_dir() or the
STRINGFORGE_DATA_DIR environment variable, or per instance with cache_dir=.
Step |
Network behaviour |
|---|---|
Constructor |
No network access. |
|
Downloads the lightweight catalogue once. |
|
Downloads only the shard containing the requested row. |
|
Downloads only shards needed by the batch. |
Use cache_mode="none" when scanning many models without keeping downloaded
shards on disk. Use offline=True after warming a cache for cluster jobs.
Environment variables#
Variable |
Default |
Description |
|---|---|---|
|
|
Global data/cache directory. |
|
|
Geometry database repository. |
|
explicit or repo-local |
Local designated-vacua directory. |
|
|
Shared HuggingFace vault repository. |