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.8-x86_64.AppImage
./gost-0.1.8-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.8-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.8.tar.gz (83.5 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.8-py3-none-any.whl (83.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gost_academic-0.1.8.tar.gz
  • Upload date:
  • Size: 83.5 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.8.tar.gz
Algorithm Hash digest
SHA256 db9ca46eb8956dc2b3697adf52d2c1a3954a3bba519113c8f94b02e5f9e2285b
MD5 9f8006f5e0c3b5fce60e38e7b5c2702a
BLAKE2b-256 570ab27fb16fa6401699d14fecabc9931d531d3ddc9f842fb4ea343c8c169412

See more details on using hashes here.

Provenance

The following attestation bundles were made for gost_academic-0.1.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: gost_academic-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 83.2 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9bb170010c47e2cc36088f64057cff538eae9e76ee950232e61f5ca7198e1f97
MD5 49cc077052e777d708de2fbd1e4d663e
BLAKE2b-256 d2facefa3cb366b23f9ce4e1a062bccaaa7bbed2bd8a15b066a8081bcd809035

See more details on using hashes here.

Provenance

The following attestation bundles were made for gost_academic-0.1.8-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