A local manager for Typst templates and packages
Project description
Typst Forge
Typst Forge is a small local manager for Typst packages and templates.
It can:
- scaffold a new Typst repo with
git,typst.toml,src, andtemplate/when needed - install local development repos into Typst's package directory
- install release repos from GitHub or any git URL
- manage installed packages/templates with versioned registry entries
- fall back between symlink and copy modes for platform-friendly installs
Install
This repo is meant to be run with uv:
uv run typst-forge --help
To run it without installing from a checkout, use uvx:
uvx --from . typst-forge --help
You can also install directly from GitHub:
uvx --from git+https://github.com/<owner>/typst-forge typst-forge --help
Commands
typst-forge init ./my-template --kind template --name my-template --version 0.1.0
typst-forge init ./my-package --kind package --name my-package --version 0.1.0
typst-forge install ./my-package --link-mode copy
typst-forge install github:owner/repo@v1.2.3
typst-forge list
typst-forge status my-package
typst-forge update my-package
typst-forge remove my-package
Versioning
- local repos use the
typst.tomlpackage version unless a matching git tag is present atHEAD - GitHub and other git URLs install from release tags
- tags can be written as
v1.2.3or1.2.3; the stored Typst version is normalized to1.2.3 - installed entries live under
~/.local/share/typst/packages/<namespace>/<package>/<version>
Tests
Run the in-repo test suite with:
PYTHONPATH=src python3 -m unittest discover -s tests -v
Publishing
The GitHub Actions workflow in .github/workflows/publish.yml publishes tagged releases to PyPI with trusted publishing.
Create and push a version tag like v0.1.0 to trigger it.
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
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 typst_forge-0.1.1.tar.gz.
File metadata
- Download URL: typst_forge-0.1.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6936dbdc649477989305cd7cd4536d2f18663019e758999d1076d4f6be6882fa
|
|
| MD5 |
b4ad756726edd7de6854ba99b33383fb
|
|
| BLAKE2b-256 |
428116fb8b52011f3cca8fae217595cc527c676518a2c610b673d4bfc057c958
|
Provenance
The following attestation bundles were made for typst_forge-0.1.1.tar.gz:
Publisher:
publish.yml on marcosousapoza/typst-forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
typst_forge-0.1.1.tar.gz -
Subject digest:
6936dbdc649477989305cd7cd4536d2f18663019e758999d1076d4f6be6882fa - Sigstore transparency entry: 2048851573
- Sigstore integration time:
-
Permalink:
marcosousapoza/typst-forge@fa0a02d33b066edfc1785b7db0b253df35b36416 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/marcosousapoza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fa0a02d33b066edfc1785b7db0b253df35b36416 -
Trigger Event:
push
-
Statement type:
File details
Details for the file typst_forge-0.1.1-py3-none-any.whl.
File metadata
- Download URL: typst_forge-0.1.1-py3-none-any.whl
- Upload date:
- Size: 12.0 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 |
94ea2ee08cc28d578974ef2c60749951e4a6396a302956bde1e49b574c9bff57
|
|
| MD5 |
8c0cff81e92c621f4b0876f383d03232
|
|
| BLAKE2b-256 |
8fdc9dd9836de3dcda6a4ecfd80bf35f76addee3b29e0050f3d7959a70a7539e
|
Provenance
The following attestation bundles were made for typst_forge-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on marcosousapoza/typst-forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
typst_forge-0.1.1-py3-none-any.whl -
Subject digest:
94ea2ee08cc28d578974ef2c60749951e4a6396a302956bde1e49b574c9bff57 - Sigstore transparency entry: 2048852131
- Sigstore integration time:
-
Permalink:
marcosousapoza/typst-forge@fa0a02d33b066edfc1785b7db0b253df35b36416 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/marcosousapoza
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fa0a02d33b066edfc1785b7db0b253df35b36416 -
Trigger Event:
push
-
Statement type: