Install verified Apograph LaTeX and Typst template artifacts.
Project description
Apograph
A curated collection and release system for self-contained LaTeX and Typst starter projects.
Current release
Apograph v0.2.0 contains two tested, unofficial PoliTo beta templates: a Beamer presentation starter/showcase and a Bachelor's/Master's thesis starter. Neither is endorsed by Politecnico di Torino, and institution logos/backgrounds are not redistributed. Other template ideas remain private inventory until they pass the same publication gates.
Use the actions in the catalog below rather than copying a source directory from the repository. Each release ZIP is self-contained and is the exact artifact compiled by CI.
Available templates
| Template | Purpose | Institution | Format | Status | ID | Actions |
|---|---|---|---|---|---|---|
| PoliTo Beamer Presentation | presentation | Politecnico di Torino (unofficial) | latex | beta | presentation-beamer-polito-latex |
Preview · Download ZIP · Open in Overleaf |
| PoliTo Thesis | thesis | Politecnico di Torino (unofficial) | latex | beta | thesis-polito-latex |
Download ZIP · Open in Overleaf |
The table is generated by:
python3 scripts/catalog.py generate-readme
CI checks that it remains synchronized with the catalog.
Use a template
Choose one of the actions in the public catalog:
- Preview opens the PDF produced from the packed showcase.
- Download ZIP gives you the complete starter for local tools and VS Code.
- Open in Overleaf imports that same versioned ZIP into a new Overleaf project; sign-in may be required.
For a local start, extract the ZIP and read its included README. User-facing
metadata lives in config.tex; document content lives under content/ (for
example content/slides.tex in the presentation). Then run:
latexmk -pdf main.tex
In VS Code, open the extracted folder and accept the recommended LaTeX Workshop
extension. The artifact supplies a build recipe and keeps generated files under
out/. In Overleaf, keep main.tex selected as the main document. The browser
workflow requires no repository checkout, CLI installation, custom TEXINPUTS,
or asset download.
To verify a local download using its matching sidecar:
shasum -a 256 -c <template-id>.zip.sha256
The public templates are tested with pdfLaTeX in TeX Live 2026 and on Overleaf; the Beamer template also retains its TeX Live 2025 compatibility record. See the v0.2.0 release notes for known limitations. Report reproducible problems through GitHub Issues.
Command-line setup
The optional apograph client discovers only published releases and installs
the exact catalog-backed ZIP after verifying its SHA-256 digest. Install the
independently versioned client from PyPI
with Python 3.10 or newer:
pipx install apograph-templates
Then list, inspect, or create a project:
apograph list
apograph info thesis-polito-latex
apograph new thesis-polito-latex my-thesis
apograph new presentation-beamer-polito-latex my-slides --version v0.2.0
The default is the newest published Apograph release, including prereleases.
Pass --version to pin one immutable collection. apograph new refuses any
destination that already exists and never rewrites template source. Anonymous
GitHub access is sufficient; GITHUB_TOKEN is accepted when users need a higher
API allowance.
For one-off use without a permanent installation:
pipx run --spec apograph-templates apograph new \
thesis-polito-latex my-thesis
The PyPI distribution name apograph belongs to an unrelated project. Install
the distribution apograph-templates; its executable is still apograph.
Architecture
Templates are organized primarily by purpose:
templates/<purpose>/<variant>-<format>/
CATALOG.json is the only authored metadata source. Institution, format,
compiler, status, licensing, provenance, and assets are catalog facets.
Per-template template.json manifests are generated only inside release
artifacts.
Shared source modules live under shared/. During development, maintainers edit
them once. Release artifacts vendor the exact required modules at ZIP root so a
downloaded template has no runtime dependency on this repository.
See the maintainer development guide for the catalog, authoring, artifact, validation, and release contracts, and the roadmap for active work.
Maintainer quick start
Requirements for the current LaTeX tooling:
- Python 3;
- TeX Live or MacTeX with
latexmk; - Typst later, when the first Typst draft is implemented.
Validate catalog and repository metadata:
python3 scripts/catalog.py validate
python3 scripts/catalog.py list
python3 scripts/catalog.py generate-readme --check
Run all catalog, artifact, and isolated-compile tests:
python3 -m unittest discover -s tests -v
Build and compile the PoliTo beta artifact in an isolated temporary directory:
python3 scripts/pack.py presentation-beamer-polito-latex
This creates a deterministic ZIP, checksum, build report, and packed-source
preview under build/. python3 scripts/preview.py <id> remains a faster
source-tree convenience and is not the release gate.
Adding templates
Apograph is currently maintained as a personal curated collection. The public repository accepts reproducible bug reports through Issues; a third-party contribution workflow can be added later if routine external submissions become part of the project. Maintainer rules include:
- new entries start as
draft; - adapted work needs upstream provenance and license evidence;
- institution marks need a declared redistribution/trademark policy;
officialis reserved for templates endorsed by the represented institution;- generated metadata and public listings must not be edited by hand.
The full workflow is in the maintainer development guide.
Licensing
Original Apograph tooling is provided under the MIT License. Individual templates, adapted themes, and institution assets may have different or unresolved terms and are governed by their catalog metadata and notices. Nothing with unresolved redistribution requirements is eligible for public release.
See docs/licensing.md for the current evidence inventory and open human decisions.
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 apograph_templates-0.1.1.tar.gz.
File metadata
- Download URL: apograph_templates-0.1.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d2e5aa28a9b1c78056317cc8bc0253c806c700e2b294de21d61bcfe436a627b
|
|
| MD5 |
69a4e7d2d957b007421efc3e3edc195b
|
|
| BLAKE2b-256 |
b04c6728131d67d914a4611b601b6378e071d22370a4b89ed07a56432a4e0da1
|
Provenance
The following attestation bundles were made for apograph_templates-0.1.1.tar.gz:
Publisher:
publish-cli.yml on eliainnocenti/apograph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apograph_templates-0.1.1.tar.gz -
Subject digest:
8d2e5aa28a9b1c78056317cc8bc0253c806c700e2b294de21d61bcfe436a627b - Sigstore transparency entry: 2195123774
- Sigstore integration time:
-
Permalink:
eliainnocenti/apograph@108e863fe0b49f862a028285a15de55377ac50ba -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eliainnocenti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@108e863fe0b49f862a028285a15de55377ac50ba -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file apograph_templates-0.1.1-py3-none-any.whl.
File metadata
- Download URL: apograph_templates-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c263f761f0ba9126cf8012927b4ad39599b05d74871a005345e2771e2022f4ff
|
|
| MD5 |
6aa7f46942b3fa3cb6bcaa45a2b9e816
|
|
| BLAKE2b-256 |
56f24ead2982429618872b04218926138928f98cc1eb9950481be0945ab8d956
|
Provenance
The following attestation bundles were made for apograph_templates-0.1.1-py3-none-any.whl:
Publisher:
publish-cli.yml on eliainnocenti/apograph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apograph_templates-0.1.1-py3-none-any.whl -
Subject digest:
c263f761f0ba9126cf8012927b4ad39599b05d74871a005345e2771e2022f4ff - Sigstore transparency entry: 2195123777
- Sigstore integration time:
-
Permalink:
eliainnocenti/apograph@108e863fe0b49f862a028285a15de55377ac50ba -
Branch / Tag:
refs/heads/main - Owner: https://github.com/eliainnocenti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-cli.yml@108e863fe0b49f862a028285a15de55377ac50ba -
Trigger Event:
workflow_dispatch
-
Statement type: