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.typfiles 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 topreview).-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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c3e2b93bf926486572b89a33c0db2e6c6dbbfcde7fd549bad7b4cb563a3ce21
|
|
| MD5 |
46cb7979e5a99ecd272afc12a219f4d3
|
|
| BLAKE2b-256 |
48f6e3fd6c27fc2b6f06c8ad4955dd557d065f8bd6b102c0ce822177e16572d6
|
Provenance
The following attestation bundles were made for typvend-0.1.0.tar.gz:
Publisher:
publish-pypi.yml on dialvarezs/typvend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
typvend-0.1.0.tar.gz -
Subject digest:
3c3e2b93bf926486572b89a33c0db2e6c6dbbfcde7fd549bad7b4cb563a3ce21 - Sigstore transparency entry: 1610733933
- Sigstore integration time:
-
Permalink:
dialvarezs/typvend@ce4c89b01eff06c832cba3f9be783b2c5a7eb266 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/dialvarezs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ce4c89b01eff06c832cba3f9be783b2c5a7eb266 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c59c35a97d583b3bac30d6ea120f0b611097bda0e2244e1a6898200af5f33297
|
|
| MD5 |
d86d482ad6c35ea2b47bb6ae65bfa780
|
|
| BLAKE2b-256 |
61ccc89b69e477dec0a87686267039d2cb0fc2a0033b30395dad62cb26ccafca
|
Provenance
The following attestation bundles were made for typvend-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on dialvarezs/typvend
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
typvend-0.1.0-py3-none-any.whl -
Subject digest:
c59c35a97d583b3bac30d6ea120f0b611097bda0e2244e1a6898200af5f33297 - Sigstore transparency entry: 1610734045
- Sigstore integration time:
-
Permalink:
dialvarezs/typvend@ce4c89b01eff06c832cba3f9be783b2c5a7eb266 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/dialvarezs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@ce4c89b01eff06c832cba3f9be783b2c5a7eb266 -
Trigger Event:
push
-
Statement type: