Frequently Asked Questions

General

What is TPIX?

TPIX (Typst Package Index & eXchange) is a package registry for Typst packages and templates. It lets you publish and manage private packages for your team while also providing access to the public Typst Universe through automatic mirroring.

Do I need a subscription?

TPIX has a free tier and paid subscription plans. Free-tier users can create one public namespace, upload packages to it, and browse, search, and download packages from all public namespaces — via both the website and the TPIX CLI. A paid subscription unlocks private namespaces with access control, the ability to invite members, audit logging, and unlimited namespace creation. Visit Typstify to subscribe, or go to your account settings to link an existing subscription.

What do I get on the free tier?

You can create one public namespace (named after your username) and publish packages to it. You can browse, search, and download packages from all public namespaces via the website or the CLI. To create private namespaces, invite members, or enable audit logging, you need a subscription.

How is TPIX different from Typst Universe?

Typst Universe is the official public package registry maintained by the Typst team. TPIX extends the ecosystem with private packages, access control, and flexible packaging options. TPIX also mirrors the entire Typst Universe, so you can access everything from one place.

Packages

How do I use a package from TPIX?

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 first using the TPIX CLI or Typstify:

tpix get @mynamespace/my-package:1.0.0

Once downloaded to your local cache, you can import the package in your Typst files as usual:

#import "@mynamespace/my-package:1.0.0": *

What is the difference between TPIX packages and official Typst packages?

TPIX packages use the same typst.toml manifest format and the same set of categories and disciplines as official Typst packages. The main differences are:

  • Fonts — the official registry allows fonts but recommends against it due to duplication and usability concerns; TPIX fully supports shipping fonts without restriction.
  • Package size — the official registry discourages large files (judged case-by-case); TPIX has more generous limits.
  • Licensing — the official registry follows specific license guidelines; TPIX offers more flexibility in license options.
  • Naming — TPIX follows the same naming rules as official Typst packages.
  • Manual download — you must use the TPIX CLI or Typstify to download packages before Typst can use them.
  • Publishing — upload directly with tpix push instead of submitting a GitHub PR to the typst/packages repository.
  • Access control — packages can be private, scoped to specific namespaces with per-user permissions.

What package formats are supported?

Packages must be .tar.gz archives containing at least a typst.toml manifest and a Typst entrypoint file. Use tpix bundle to create a properly formatted archive from a package directory. See the Documentation page for the full workflow.

Can I publish the same version twice?

By default, no. Package versions are immutable, so uploading the same version again will be rejected. However, namespace owners can enable version overwriting in the namespace settings, which allows replacing an existing version. To make changes without overwriting, publish a new version with an incremented version number.

How do I create and publish a package?

  1. Create a directory with a typst.toml manifest and your Typst source files.
  2. Bundle it: tpix bundle ./my-package
  3. Upload it: tpix push my-package.tar.gz mynamespace

See the Documentation page for a detailed walkthrough.

Authentication

How do I log in?

Use the TPIX CLI:

tpix login

This starts an OAuth 2.0 Device Code flow. You will be shown a URL and a verification code — open the URL in your browser, sign in with your account, and enter the code to authorize the CLI.

You can also sign in directly on the TPIX website using your identity provider (Google, GitHub, etc.).

Namespaces

What is a namespace?

A namespace is a grouping for packages (e.g., @preview, @myteam). Each namespace has its own access control and package index. TPIX does not distinguish between user and team namespaces — any namespace can have multiple members with different permission levels.

Can I create my own namespace?

Free-tier users can create one public namespace, with the name set to their username (or username plus a short suffix if already taken). The name cannot be changed once created. Subscribed users can create additional namespaces (including private namespaces) without restriction and invite members to any of their namespaces with read, write, or owner permissions. Manage namespaces from the Namespaces page or via the TPIX CLI.

What is the @preview namespace?

The @preview namespace contains packages mirrored from the official Typst Universe. It is read-only and updated automatically.

Typstify

What is Typstify?

Typstify is a modern desktop editor for Typst with built-in package management, real-time rendering, and offline-first design. With TPIX integration, you can browse, download, and manage TPIX packages directly from Typstify.