Skip to main content

texlive batch install CI

The TeX Live installer does not allow for interaction-less installation.

This is the reason why I created this project using pexpect to talk to the install-tl script.

Usage:

usage: install_texlive [-h] [-v] [-t VERSION] [--install-tl INSTALL_TL] [-k]
                       [-p PREFIX] [-c COLLECTIONS]
                       [-s {f,g,d,i,k,c,e,h,b,j,a}] [-u] [-i INSTALL]
                       [--source] [--docs]

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         Create more verbose output
  -t VERSION, --texlive-version VERSION
                        TeX Live version to install
  --install-tl INSTALL_TL
                        Path to the install-tl script. If not given, TeX Live
                        will be downloaded.
  -k, --keep-config     If an existing installation is found, keep its config
  -p PREFIX, --prefix PREFIX
                        Installation prefix, equivalent to setting
                        TEXLIVE_INSTALL_PREFIX
  -c COLLECTIONS, --collections COLLECTIONS
                        The TeX Live package collections to install. E.g. -a
                        to deselect all and only install the absolute basic
                        TeX packages
  -s {f,g,d,i,k,c,e,h,b,j,a}, --scheme {f,g,d,i,k,c,e,h,b,j,a}
                        The TeX Live scheme to install. Default is "full"
  -u, --update          Update TeX Live after installation is finished
  -i INSTALL, --install INSTALL
                        Additional packages to install after the main
                        Installation has finished
  --source              Install the source tree
  --docs                Install the docs tree

For a minimal installation (e.g. for CI jobs building documents), it is recommended to only install the bare minimum selection of package collections: -c "-a" and then have a file tex-packages.txt with the actually needed packages to compile the document:

$ python -m install_texlive -p .texlive -t 2022 --collections='-a' --package-file tex-packages.txt --update

To find out which package provides which style file (e.g. to find out which CTAN package provides scrartcl.cls), this command is helpful:

$ tlmgr search --global --file '/scrartcl.cls'
koma-script:
	texmf-dist/tex/latex/koma-script/scrartcl.cls

Metadata

Release files for install-texlive 0.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for install-texlive 0.3.8
File Size Uploaded
install_texlive-0.3.8.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for install-texlive 0.3.8
File Interpreter ABI Platform
install_texlive-0.3.8-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 kB

Release files / install_texlive-0.3.8.tar.gz

Download URL install_texlive-0.3.8.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f9d9a0f224322b110b5d98800b6d1598fe677c1d1dc77b8ffed0b6b8d8990f24
BLAKE2b-256 checksum
How to use checksums
cb51e6d8fd57e9a4d544dca8a12b916a824ac73a1a9ad74f969841de309871be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 7, 2026.

Transparency log

Release files / install_texlive-0.3.8-py3-none-any.whl

Download URL install_texlive-0.3.8-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35a3b0a3e9187a1331edd472ce91bf8d104e3601bd8f827a24d05e6a87c0de19
BLAKE2b-256 checksum
How to use checksums
da2072693f87eb84b2b419d4d58d19b577655af9bb639577da459d389f7b6eed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.8 This release

2 release files

0.3.7

2 release files

0.3.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page