Skip to main content

Ask TA

PyPI Python versions License

A locally deployable study assistant for the Foundations of Data Science course at UZH.

Ask TA answers your questions from the course's own lecture notes and nothing else. It runs on your machine: install the app from PyPI, import the course bundle handed out on the course page, and add a free Gemini API key.

What it does

  • Answers grounded in the notes: every reply is built from the course material, not from the model's general knowledge.
  • Citations you can open: each answer names the sections it used, and a click opens the lecture-notes PDF at that page with the quoted lines highlighted.
  • Quotes checked against the source: the verbatim lines an answer quotes are checked locally against the notes, and a quote that cannot be confirmed is flagged on screen.
  • Section summaries: ask it to summarize a section and it works through that section's whole subtree in order, not just the passages that matched.
  • Math and code rendering: answers stream in with LaTeX and syntax highlighting.

It is still a language model, so an answer can be wrong even when it reads as confident. Every answer carries its citations, so check it against the notes before you rely on it.

Requirements

  • Python 3.10-3.14: check with python3 --version (py --version on Windows). If pip says no matching distribution found, install Python 3.14 or older and try again.
  • The course bundle: ask-ta-data-YYYY-MM-DD.tar.gz (about 65 MB), from the FDS course page. Bundles built before the app was renamed keep the older fds-bot-data-YYYY-MM-DD.tar.gz name, and either is the right file. It holds the lecture notes and the search indices built from them: course material shared only with enrolled students through the course page.
  • A Gemini API key: free from Google AI Studio.
  • An internet connection: the notes and the search run on your machine, but the answers are generated by Google's Gemini API.

Installation

pip install ask-ta

If pip throws errors or if the install succeeds but ask-ta is then "command not found", install it into its own environment instead:

pipx install ask-ta

Then download the course bundle from the FDS course page and leave it packed; the app takes the .tar.gz as it downloaded.

Running it

ask-ta

The server starts and your browser opens at http://127.0.0.1:8000/. The terminal stays almost silent, which is what a healthy start looks like:

ask-ta is ready: open http://127.0.0.1:8000/ in your browser.

Press Ctrl+C to stop.

Only errors are logged, so anything printed alongside those lines is worth reading. The address is printed on every launch, and you can always open it yourself.

First launch

The first start asks for two things, right where you would chat:

  • The course bundle: drag the downloaded .tar.gz onto the page, or use the file picker. The app copies it into its own data folder under ~/.ask-ta/, so you can delete the download afterwards.
  • A Gemini API key: paste in a free key from Google AI Studio and you are ready to go.

Keeping the course material up to date

When the notes are updated mid-semester, download the new file and import it from Settings, then Course material, then Replace. That settings card shows the build date of the bundle you have, and ask-ta --version prints it next to the app version.

Command-line options

Option What it does
--host HOST Serve on a specific host
--port PORT Serve on another port when 8000 is already in use
--version Print the app version and the build date of the imported bundle
--help Show every option, including --host and --log-level

Your data stays on your machine

Your API key, your conversations, your settings, and the imported course bundle all live under ~/.ask-ta/.

Platform requirements

Pre-built wheels cover all supported platforms, so no compiler is needed:

Platform Requirement
Linux x86_64 or arm64, glibc >= 2.28 (Ubuntu 20.04+, Debian 10+, RHEL 8+)
macOS (Apple Silicon) macOS >= 11 on Python 3.10-3.13; macOS >= 14 on Python 3.14
macOS (Intel) macOS >= 10.14 on Python 3.10-3.13; macOS >= 15 on Python 3.14
Windows AMD64

If pip reports no matching distribution, or starts compiling something, you are on an unsupported combination; an older Python (3.10-3.13) is the quickest fix.

Support

Found a wrong answer or a bug? The app has a built-in feedback flow: select the answers in question and click Copy package, which fills in the app and model metadata for you. Then use Open email app or Download .md on the screen that follows, and send the result to the course maintainer.

Source access is internal to the UZH DaST group. Contact mayer@ifi.uzh.ch or giuseppe.doda@uzh.ch. Contributors working from a checkout: see CONTRIBUTING.md.

License

The application code is released under the MIT License. The course bundle is not covered by it: the lecture notes and everything derived from them are licensed for use by enrolled FDS students only, and must not be redistributed.

Release files for ask-ta 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for ask-ta 0.2.3
File Interpreter ABI Platform
ask_ta-0.2.3-py3-none-any.whl Python 3 none any Details

Release files / ask_ta-0.2.3-py3-none-any.whl

Download URL ask_ta-0.2.3-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
fb7c6d08432fc0cb6dae186e5d42bc23c449be964594ccc15fa07e8968331411
BLAKE2b-256 checksum
How to use checksums
6b549aabfd4eafdceafaa75ce3a1df63d71ab344c91d38c5c9bc971ac56ee9b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.4

1 release file

This release

0.2.3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page