← all repositories
jrieke/traingenerator

Your ML boilerplate, assembled by a wizard with dropdowns

A Streamlit app that generates starter code for PyTorch and sklearn pipelines through a web form, then exports to .py, notebook, or Colab.

1.4k stars Python Coding AssistantsML Frameworks
traingenerator
Velocity · 7d
+0.7
★ / day
Trend
steady
star history

What it does

Traingenerator is a browser-based tool that asks you a few questions—task, framework, preprocessing, training options, visualization—and spits out a complete, runnable Python template. It covers PyTorch and scikit-learn, with export to script, Jupyter, or Google Colab. Think of it as a cookiecutter you steer with dropdowns instead of a terminal.

The interesting bit

The template system is genuinely modular: drop a folder with a sidebar.py and a Jinja2 template into ./templates, and the app discovers it automatically. No core code changes needed. The author even wired pytest to render each template with sample inputs and verify the generated code actually executes, which is more rigor than most code generators bother with.

Key highlights

  • Web UI built on Streamlit; live at traingenerator.streamlitapp.com
  • Exports to .py, Jupyter Notebook, or “Open in Colab” button
  • Supports TensorBoard and comet.ml for visualization hooks
  • Template contributions need only 3 files (4 if you want tests)
  • pytest integration renders templates with YAML-defined inputs and checks they run

Caveats

  • The Streamlit app itself has no automated tests; only the generated code is validated
  • “Open in Colab” requires setting up a separate GitHub repo and token, or the button errors
  • Template coverage is currently limited; Keras/TensorFlow, PyTorch Lightning, and several task types are listed as “ideas” not yet implemented

Verdict

Good for ML newcomers who want to skip the blank-file paralysis, or for teams who need consistent starter patterns across projects. If you already maintain your own cookiecutters or prefer full control, this adds a UI layer you may not need.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.