Skip to main content

A simple UI for LaTeX projects with Git support. Clone repos, edit, compile, and push.

Project description

GitLaTeX IDE

A simple web-based IDE for LaTeX projects with Git support. Create workspaces, clone repos, edit in a Monaco-powered editor, compile to PDF, and push changes—without Overleaf or the command line.


Installation

Install from PyPI:

pip install gitlatex

Requirements: Python 3.8+, and (for full use) Git and a LaTeX distribution with pdflatex (e.g. TeX Live, MiKTeX).


Quick start

gitlatex

Your browser will open at http://localhost:5000. Create a workspace or clone a repo, then open it to edit, compile, and use Git (status, diff, commit, push) from the toolbar.

Options:

Option Description
--port, -p Port (default: 5000)
--host Bind host (default: 127.0.0.1)
--no-browser Do not open the browser on start
--repos Directory for workspaces (default: ./repos in current working directory)

Example: gitlatex --port 3000 --repos /path/to/my/repos


Features

  • Workspaces – Create local folders or clone from a Git URL (e.g. GitHub).
  • File tree – Create, rename, move, delete, and upload files and folders.
  • Editor – Monaco editor, multiple tabs, resizable panels.
  • Compile – Build with pdflatex, view PDF in-app, see errors in the console.
  • Git – Status, diff, commit, and push from the Git dropdown in the toolbar.
  • Settings – Light/dark theme.

Workflow

  1. Run gitlatex and open the app in your browser.
  2. Add a project – Create a new workspace or clone from a Git URL.
  3. Open – Click a repo to open the editor.
  4. Edit – Use the file tree and editor; click Compile to build.
  5. Git – Use the Git menu for Status, Diff, Commit, Push.

Projects are stored in the repos directory (or the path you set with --repos).


Troubleshooting

  • Compile fails – Install a LaTeX distribution and ensure pdflatex is on your PATH.
  • Port in use – Use another port: gitlatex --port 3000.
  • Windows: "The process cannot access the file... gitlatex.exe" – Another instance is running. Close it, then run gitlatex again.

Development

Run from source (no PyPI install): clone the repository, then from its root:

pip install -e .
gitlatex

Or run the package without installing:

pip install flask gitpython
python -m gitlatex

Publishing to PyPI

For maintainers publishing a new version:

  1. Bump version in pyproject.toml and gitlatex/__init__.py (e.g. 1.0.1).

  2. Install build tools:

    pip install build twine
    
  3. Build the package:

    python -m build
    

    This creates dist/gitlatex-1.0.0.tar.gz (sdist) and dist/gitlatex-1.0.0-py3-none-any.whl (wheel).

  4. Upload to PyPI (requires a PyPI account and API token):

    twine upload dist/*
    

    Use twine upload --repository testpypi dist/* to upload to Test PyPI first.

  5. Set your token (one-time): create ~/.pypirc or use environment variables:

    [pypi]
    username = __token__
    password = pypi-YourAPIToken
    

    Or: set TWINE_PASSWORD=pypi-YourAPIToken (Windows) / export TWINE_PASSWORD=... (Unix) and twine upload -u __token__ -p $TWINE_PASSWORD dist/*.


License

ISC

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

gitlatex-1.0.0.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

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

gitlatex-1.0.0-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file gitlatex-1.0.0.tar.gz.

File metadata

  • Download URL: gitlatex-1.0.0.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for gitlatex-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0a45069f6c65e6c929430bb328a31de08e377a4effbb81dcd6f63190c6a16dbe
MD5 2ba5195f55c39fc973adfe7ebb6f8ca1
BLAKE2b-256 53d310f2b20e8222e49579f87ffb3546b961d77e36767f719646ab0d7fe65c5a

See more details on using hashes here.

File details

Details for the file gitlatex-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gitlatex-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 40.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for gitlatex-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1db7fc279547729ae6c985a6116b5f877c2810d6b42b9a1dba6f4555535fb4bd
MD5 d22b6c346c4dcda9c0ff862a693ab07d
BLAKE2b-256 75879319d94d01ee3676c98be6365620c3179129cff21a57b72c5cf1e906433e

See more details on using hashes here.

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