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