TPIX Client

TPIX has three official clients. They all talk to the same registry, all authenticated using API keys, and install packages into Typst's local package cache, so #import works the same no matter which one you use.

Client Where it runs Best for
Typstify Desktop editor Editing Typst documents with built-in package management
TPIX for VS Code Visual Studio Code Managing packages without leaving your editor
TPIX CLI Terminal (macOS, Linux, Windows) Scripting, CI, dependency management

New to TPIX? Start with the Quick start guide, then come back here for installation and authentication.

Typstify

Typstify is a desktop editor for Typst with built-in package management, real-time rendering, and offline-first design. It is the easiest way to use TPIX if you prefer a graphical editor.

Sign in with your TPIX account to get started. The packaging workflow is the same as the CLI — see Create package/template — and download Typstify for Windows, macOS, and Linux.

TPIX for VS Code

TPIX for VS Code (shown as TPIX Client in the Marketplace) brings the registry into Visual Studio Code. It is a GUI over the tpix CLI and bundles the CLI binary, so it needs no separate installation.

Installation

  • Open the Extensions view (Ctrl/Cmd+Shift+X), search for TPIX Client, and click Install.

  • Or install from the command line:

    code --install-extension tpix.tpix-client
    
  • Or open the Marketplace page and click Install.

Source code and issue tracker: github.com/typstify/tpix-vscode.

TPIX CLI

tpix-cli is the command-line client. It lets you search, download, bundle, and publish Typst packages on TPIX. Create a permanent API key in your account settings and configure the CLI with it for programmatic access.

tpix-cli can also be imported as a Go SDK in your own tools. It exposes the same search, download, upload, and Zotero operations used by the CLI.

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, create a permanent API key in your account settings (Settings → API Keys) and configure the CLI with that key.

Device code login is no longer supported. Check tpix --help or your CLI version's configuration docs for the exact API key configuration method.

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, Typstify, or the VS Code extension.

# 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

Init a Package

Create a Package or Template skeleton.

# create a template
tpix new -d ~/work -t -n my-namespace my-template-name

# create a package
tpix new -d ~/work  -n my-namespace my-package-name

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 an API key with the write scope (create one in Settings → API Keys). Read-only keys can get / pull but not push.

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 new Create a new typst package or template skeleton project
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.