Skip to main content

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 typst or latexmk)
  • 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 / .sty to 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-packages is required with pipx so the isolated environment can access them. Desktop integration runs automatically on first launch. See HELP.md for distribution-specific commands.

AppImage

chmod +x gost-0.1.7-x86_64.AppImage
./gost-0.1.7-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

bash build-appimage.sh
# Produces gost-0.1.7-x86_64.AppImage in the current directory

Usage

  1. Fill in Title & Authors, pick a Citation Style, adjust Layout & Spacing
  2. Toggle extra packages in Extra Packages and script support in Languages
  3. Configure running headers in Headers & Footers
  4. Set your bibliography path in Bibliography (press Enter to persist it)
  5. Click Preview to compile and view, or Export to save the file
  6. 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

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 hayagriva bibliography 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

gost_academic-0.1.7.tar.gz (81.8 kB view details)

Uploaded Source

Built Distribution

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

gost_academic-0.1.7-py3-none-any.whl (81.5 kB view details)

Uploaded Python 3

File details

Details for the file gost_academic-0.1.7.tar.gz.

File metadata

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

File hashes

Hashes for gost_academic-0.1.7.tar.gz
Algorithm Hash digest
SHA256 0588e072f3b980734011b93301ace25f21296631b42bf3f50b3d8f1b2c78d271
MD5 0a7277227580693161953a3c14d39505
BLAKE2b-256 584cfae0a7bbd365d942189ccafad40b4fe8b45332a5a64ed1ff75e8687c3091

See more details on using hashes here.

Provenance

The following attestation bundles were made for gost_academic-0.1.7.tar.gz:

Publisher: publish.yml on calstfrancis/Gost

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

File details

Details for the file gost_academic-0.1.7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for gost_academic-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2d9b4775f05429c624dd8366a7945cf9d92d16e49051214c343c89c7780051a5
MD5 f9c653f9f57f3788bf139a83b65fe1d1
BLAKE2b-256 2d1f885ba006fb2b728cc2908151ba442c1351ad9813bab4f26622f9dae17126

See more details on using hashes here.

Provenance

The following attestation bundles were made for gost_academic-0.1.7-py3-none-any.whl:

Publisher: publish.yml on calstfrancis/Gost

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