Skip to main content

Typst Package Vendoring CLI

Project description

typvend — Typst Package Vendoring CLI

typvend is a lightweight Python CLI utility designed to vendor official Typst packages locally for offline development, sandboxed builds, or containerized production CI/CD workflows.

Why?

Typst downloads packages on the fly at compile time with no official way to pre-download them. This can be problematic for offline compilation and read-only production environments (like containers). The solution is to either run the compilation once to fetch the packages or download them manually.

typvend simplifies this, downloading packages to the default Typst cache path or any directory you choose (then point Typst to it via --package-cache-path), in two ways:

  • Explicit: add <pkg>[@<version>] — download specific packages by name, with a version or @latest.
  • Scan: recursively find all @preview/<pkg>:<version> imports in .typ files and vendor them in one go.

Usage

# Install and run instantly using uvx / pipx
uvx typvend --help

Global options:

  • -o, --output DIR — Custom directory to extract packages (defaults to native OS Typst search path).
  • --namespace NS — Custom namespace (defaults to preview).
  • -f, --force — Re-download package even if it already exists.
  • -v, --verbose — Enable verbose output logs.

1. Adding Packages Explicitly

# Download latest version of fontawesome
uvx typvend add fontawesome

# Download specific versions
uvx typvend add fontawesome@0.5.0 cetz

2. Scanning Project Directories

Recursively searches a file or directory for package imports and vendors all discovered packages in one command:

# Scan a templates directory and output packages to typst cache folder
uvx typvend scan ./templates

# Scan and output to a custom directory (e.g. for Docker cache stages)
uvx typvend scan ./templates --output /typst-packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typvend-0.1.0.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

typvend-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file typvend-0.1.0.tar.gz.

File metadata

  • Download URL: typvend-0.1.0.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for typvend-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c3e2b93bf926486572b89a33c0db2e6c6dbbfcde7fd549bad7b4cb563a3ce21
MD5 46cb7979e5a99ecd272afc12a219f4d3
BLAKE2b-256 48f6e3fd6c27fc2b6f06c8ad4955dd557d065f8bd6b102c0ce822177e16572d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for typvend-0.1.0.tar.gz:

Publisher: publish-pypi.yml on dialvarezs/typvend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file typvend-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: typvend-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for typvend-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c59c35a97d583b3bac30d6ea120f0b611097bda0e2244e1a6898200af5f33297
MD5 d86d482ad6c35ea2b47bb6ae65bfa780
BLAKE2b-256 61ccc89b69e477dec0a87686267039d2cb0fc2a0033b30395dad62cb26ccafca

See more details on using hashes here.

Provenance

The following attestation bundles were made for typvend-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on dialvarezs/typvend

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page