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 --helpor visit tpix-cli.