TPIX Client

The TPIX CLI lets you search, download, bundle, and publish Typst packages on TPIX. Free-tier users can use the CLI to browse, search, and download packages from public namespaces, and upload to their own public namespace. A subscription unlocks private namespace access and additional features.

Installation

Quick install

curl -fsSL https://tpix.typstify.com/install.sh | bash

This detects your OS and architecture, downloads the latest release, and installs the tpix binary to /usr/local/bin.

Pre-built binaries

Download the archive for your platform from the GitHub Releases page, extract it, and place the tpix binary somewhere on your PATH.

Build from source

git clone https://github.com/typstify/tpix-cli.git
cd tpix-cli
make install

Go install

go install github.com/typstify/tpix-cli@latest

Authentication

Before using the CLI you need to log in:

tpix login

This starts an OAuth 2.0 Device Code flow. You will be shown a URL and a code — open the URL in your browser, sign in, and enter the code to authorize the CLI. Login is required for uploading packages.

Search & Discovery

# Search packages
tpix search "chart"

# Search in a specific namespace
tpix search "chart" -n mynamespace

# Limit results
tpix search "chart" -l 10

Download Packages

Typst does not download packages from TPIX automatically — only the official Typst Universe is supported natively. To use TPIX packages you need to download them with the CLI (or Typstify).

# Download latest version (with transitive dependencies)
tpix get @namespace/package-name

# Download specific version
tpix get @namespace/package-name:1.0.0

# Download without fetching dependencies
tpix get @namespace/package-name:1.0.0 --no-deps

Downloaded packages are cached locally so Typst can resolve them via #import statements. By default, tpix get also fetches all transitive dependencies so your project compiles without missing packages.

Pull Project Dependencies

Scan your project for all #import statements and download every referenced package in one step:

# Fetch all dependencies for the current project
tpix pull

# Preview what would be fetched without downloading
tpix pull --dry-run

tpix pull recursively scans all .typ files in the current directory, discovers every #import "@namespace/name:version" reference, and downloads each package along with its transitive dependencies. Already-cached packages are skipped.

View Package Info

tpix info @namespace/package-name

Local Cache

# List cached packages
tpix list

# Remove a cached package
tpix remove @namespace/package-name:1.0.0

Bundle a Package

Create a .tar.gz archive from a package directory. The directory must contain a valid typst.toml manifest.

# Bundle from directory
tpix bundle ./my-package

# Specify output file
tpix bundle ./my-package -o my-package.tar.gz

# Exclude files
tpix bundle ./my-package -e ".git" -e "node_modules/" -e "*.test"

You can also specify excluded files in the manifest:

[package]
# ... other fields
exclude = [".git", "*.test", "node_modules/"]

For more information on how to create a package, refer to the official Typst packaging docs.

Upload a Package

tpix push my-package.tar.gz mynamespace

Requires login first.

Zotero Export

# List accessible Zotero libraries
tpix zotero list

# Create and download an export (interactive mode)
tpix zotero export

# Export to a specific file
tpix zotero export -o references.bib

# Export with specific format
tpix zotero export --format bibtex -o references.bib

# Export from specific library
tpix zotero export --library 12345 -o references.bib

tpix zotero export creates a temporary export, downloads the citations, and automatically cleans up. Use --format to specify output format (default: biblatex).

Configuration

  • Config file: ~/.config/tpix-cli/settings.json
  • Package cache: ~/.cache/typst/packages/ (configurable)

Package Specification Format

Package specs use the format @namespace/name:version:

  • @myteam/chart — latest version from the namespace
  • @myteam/chart:1.0.0 — specific version

Commands Reference

Command Description
tpix login Authenticate with TPIX
tpix search Search for packages
tpix get Download a package (with dependencies)
tpix pull Fetch all project dependencies
tpix info View package metadata
tpix list List cached packages
tpix remove Remove a cached package
tpix bundle Create a package archive from a directory
tpix push Upload a package archive
tpix version Check current version and updates
tpix update Update to latest version
tpix zotero list List accessible Zotero libraries
tpix zotero export Export citations from Zotero

Note: This document may be outdated. For the latest commands and options, run tpix --help or visit tpix-cli.