Shelf

TeX Live's files, packed for PhiTeX.

When PhiTeX builds a document without a TeX installation (in the browser, or phitex build --shelf), it fetches the files the document reads from here, once, and keeps them. A typical paper needs a few dozen packs, not the whole of TeX Live.

Current release: see /tl2026/release.json.

What is here

/tl2026/release.jsonThe current release of TeX Live 2026: its index, its pack table, the engines' search paths.
/tl2026/release-<r>.jsonEvery release's description, kept for ever.
/tl2026/index-<r>.tsv.gzEach file's path, its pack, and the packs loading it reads (per engine).
/tl2026/packs-<r>.tsv.gzEach pack's SHA-256 and size. Clients check every pack against it.
/tl2026/h/<pack>.packThe packs: gzip, named by their content, never changed.

Versions

This host serves Shelf's protocol v1 ("schema": 1). A format older PhiTeX versions could not read would get a host of its own, v2.shelf.phitex.org, beside this one. What is published here never changes, and stays while a supported PhiTeX reads it.

How it is made

From TeX Live's own package archives, unmodified, grouped by package. Which packs each LaTeX package and class pulls in is found by running PhiTeX's engines on it; traced_by in a release names the engine version. The design is in PhiTeX's docs/spec-distribution.md.

Privacy

Clients ask for packs by name only: never your files, your text or an identifier. Shelf is static files on Cloudflare Pages and keeps no logs of its own; Cloudflare sees your IP address and the URL, as for any website.

PhiTeX: phitex.org · source. The files are TeX Live 2026's, each under its own license (mostly the LaTeX Project Public License): see each file's header.