Academic essay templater — GTK4/libadwaita app for LaTeX, Typst, and Word templates
Project description
Gost
Academic Essay Templater — a native GTK4 / libadwaita desktop app for generating academic essay templates in LaTeX and Typst. Built for openSUSE / GNOME. Designed for theology, humanities, and social-science writing.
Features
- Citation styles — SBL, Chicago (Notes), MLA, APA 7th ed., ASA, Turabian, Harvard — each applies the correct heading formatting, page numbering, and running headers automatically
- Two output formats — Typst (default) and LaTeX, chosen by file extension at save time
- Compiled preview — click Preview in the header bar to compile the template and display rendered pages (requires
typstorlatexmk) - Template profiles — save, load, and delete named configurations
- Headers & Footers — running section title, document title, author, double-sided, page numbers, or auto per citation style
- Extra packages — toggle LaTeX packages (
lettrine,marginnote,csquotes,xcolor,listings,booktabs,siunitx,epigraph,lineno,todonotes) or Typst packages (droplet,codly,showybox,gentle-clues,tablex,drafting) - Language support — Russian, Hebrew, Japanese, Tibetan, Sanskrit, Ancient Greek, Chinese (polyglossia / xeCJK / luatexja)
- Journal template importer — open a
.tex/.cls/.styto extract font, paper, margin, spacing, and bibliography settings - Zotero — paste a BetterBibTeX auto-export path; remembered across sessions
- Endnotes — footnotes or endnotes for both LaTeX and Typst
- Table of contents toggle
- GOST Type B font — toggle to use the GOST Type B engineering lettering as the application UI font
System Requirements
Runtime
| Dependency | Notes |
|---|---|
| Python 3.10+ | |
| PyGObject | python3-gobject on openSUSE |
| GTK4 typelib | typelib-1_0-Gtk-4_0 |
| libadwaita ≥ 1.4 | typelib-1_0-Adw-1 |
Compiled preview (optional)
| Typst | Install from https://typst.app or your package manager |
|---|---|
| LaTeX | texlive-latexmk + poppler-tools (pdftoppm) or ImageMagick (convert) |
Installation
pipx (recommended)
pipx install gost-academic --system-site-packages
pipx install 'gost-academic[word]' --system-site-packages # + Word/ODT export
gost
pip
pip install gost-academic
pip install 'gost-academic[word]' # + Word/ODT export
gost
Note: GTK4 and PyGObject must be installed as system packages first — pip cannot install them.
--system-site-packagesis required with pipx so the isolated environment can access them. Desktop integration runs automatically on first launch. See HELP.md for distribution-specific commands.
RPM (Fedora / openSUSE / RHEL)
# Download from GitHub Releases, then:
sudo zypper in ./gost-0.1.9-1.noarch.rpm # openSUSE
sudo dnf install ./gost-0.1.9-1.noarch.rpm # Fedora / RHEL
sudo rpm -i gost-0.1.9-1.noarch.rpm # any RPM-based distro
DEB (Debian / Ubuntu / Mint)
# Download from GitHub Releases, then:
sudo apt install ./gost_0.1.9_all.deb
# or: sudo dpkg -i gost_0.1.9_all.deb && sudo apt-get install -f
AppImage
chmod +x gost-0.1.9-x86_64.AppImage
./gost-0.1.9-x86_64.AppImage
# Or install via Gear Lever for desktop integration
From source
git clone https://github.com/calstfrancis/gost
cd gost
python3 -m essay_builder.app
Build your own AppImage / RPM / DEB
bash build-appimage.sh # produces gost-0.1.9-x86_64.AppImage
bash build-rpm.sh # produces gost-0.1.9-1.noarch.rpm (requires rpmbuild)
bash build-deb.sh # produces gost_0.1.9_all.deb (requires dpkg-deb; run on Debian/Ubuntu)
Usage
- Fill in Title & Authors, pick a Citation Style, adjust Layout & Spacing
- Toggle extra packages in Extra Packages and script support in Languages
- Configure running headers in Headers & Footers
- Set your bibliography path in Bibliography (press Enter to persist it)
- Click Preview to compile and view, or Export to save the file
- Use Profiles to save and reload full configurations
Development
python3 -m essay_builder.app # run directly
python3 -m unittest discover tests/ -v # run tests (no GTK needed)
bash build-appimage.sh # build AppImage
bash build-rpm.sh # build RPM (requires rpmbuild)
bash build-deb.sh # build DEB (requires dpkg-deb; Debian/Ubuntu host)
Troubleshooting
Common issues and distribution-specific install commands are in HELP.md.
| Symptom | Fix |
|---|---|
| Preview button greyed out | Install typst (Typst) or latexmk + poppler-tools (LaTeX) |
ImportError: cannot import name 'Adw' |
Install libadwaita typelib — see HELP.md |
ModuleNotFoundError: No module named 'gi' |
Install PyGObject; with pipx reinstall using --system-site-packages — see HELP.md |
| Gost not in application launcher (pipx) | Run gost-setup-desktop — see HELP.md |
gtk-icon-theme-error-quark warning |
Install adwaita-icon-theme — see HELP.md |
Roadmap
Planned features (contributions welcome):
- BibLaTeX backend selector (biber / bibtex8)
- Custom LaTeX preamble editor (freeform preamble block)
- Typst
hayagrivabibliography integration - CSL citation style support via Pandoc bridge
- Dark/light preview theme toggle
- CLI mode —
gost generate --style SBL --format typst -o essay.typ - Flatpak manifest / Flathub submission
Contributing
See CONTRIBUTING.md for the module layout, widget hierarchy, and how to add a new citation style or extra package.
License
GNU General Public License v3.0 — see LICENSE.
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 gost_academic-0.1.9.tar.gz.
File metadata
- Download URL: gost_academic-0.1.9.tar.gz
- Upload date:
- Size: 84.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae77b2498339807fef0a50e549ca4d01d1a0a3e45dc83272a45d919187a19fa5
|
|
| MD5 |
b71ec75367bfe4af4fd6afc123e68cd6
|
|
| BLAKE2b-256 |
3f9a71640da59afe667762afb431451417c939a80c54f0ee4535b7d889cc2a55
|
Provenance
The following attestation bundles were made for gost_academic-0.1.9.tar.gz:
Publisher:
publish.yml on calstfrancis/Gost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gost_academic-0.1.9.tar.gz -
Subject digest:
ae77b2498339807fef0a50e549ca4d01d1a0a3e45dc83272a45d919187a19fa5 - Sigstore transparency entry: 1740406536
- Sigstore integration time:
-
Permalink:
calstfrancis/Gost@08279a69fc6b19a65207837d9b49b2d8aa14940c -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/calstfrancis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@08279a69fc6b19a65207837d9b49b2d8aa14940c -
Trigger Event:
release
-
Statement type:
File details
Details for the file gost_academic-0.1.9-py3-none-any.whl.
File metadata
- Download URL: gost_academic-0.1.9-py3-none-any.whl
- Upload date:
- Size: 83.5 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 |
8bf88824c8aec5e59d7d4dfb3d5a92590719798add179b5b9699b73b583b0393
|
|
| MD5 |
8ffb177b4391ac74cd92e5374d0f7245
|
|
| BLAKE2b-256 |
eafc229b893f6b2deadd5c069b3dee6ff807ad04a5aac5e7b9f60f2523adf419
|
Provenance
The following attestation bundles were made for gost_academic-0.1.9-py3-none-any.whl:
Publisher:
publish.yml on calstfrancis/Gost
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gost_academic-0.1.9-py3-none-any.whl -
Subject digest:
8bf88824c8aec5e59d7d4dfb3d5a92590719798add179b5b9699b73b583b0393 - Sigstore transparency entry: 1740406539
- Sigstore integration time:
-
Permalink:
calstfrancis/Gost@08279a69fc6b19a65207837d9b49b2d8aa14940c -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/calstfrancis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@08279a69fc6b19a65207837d9b49b2d8aa14940c -
Trigger Event:
release
-
Statement type: