Skip to main content

A minimal notepad with Ollama integration

Project description

Tiny Notepad with Ollama

A sleek local notepad app powered by Ollama – write notes, chat with open-source language models, and tweak generation settings. Built with a minimal Tkinter-based GUI. The goal of the project is to be an accessible, light weight version of open-webui capabilities available via a notepad app.

What is Tiny Notepad?

Tiny Notepad is a Python desktop app that allows you to:

  • Write and save timestamped notes
  • Load previous notes from a sidebar
  • Interact with any locally installed Ollama model
  • Adjust LLM generation parameters like temperature, top_p, top_k, etc.

Ideal for journaling, note-taking, or exploring how LLMs respond to prompts — all running entirely on your machine.


Features

  • Clean Tkinter GUI

  • Local-first: works offline with Ollama

  • Sidebar to browse saved notes

  • Real-time interaction with models (via Ollama API)

  • Editable generation settings:

    • temperature
    • top_p
    • top_k
    • repeat_penalty
    • presence_penalty
    • frequency_penalty
    • stop sequences

Installation

  1. Install Python (>=3.7)

  2. Install Tiny Notepad

pip install tiny-notepad
  1. Install ollama (required) Download Ollama and follow platform-specific installation instructions.

  2. Run a model via Ollama

Before using the app, make sure a model is pulled and running:

ollama pull llama3
ollama run llama3

OR

ollama serve

Usage

Once installed via pip, launch the app using:

tiny_notepad

The app will auto-check for Ollama and attempt to start ollama serve if it's not already running.


Saved Notes

All notes are saved in a notes/ directory, auto-named like:

notes_2025-05-18_14-33-21.txt

You can browse and reopen them from the built-in sidebar.


Generation Parameters

Parameter Description Default
temperature Controls randomness (0 = deterministic, 2 = wild) 0.7
top_p Nucleus sampling (probability threshold) 0.9
top_k Limits to top-k tokens 40
repeat_penalty Penalizes repeated tokens 1.0
presence_penalty Encourages new topic exploration 0.0
frequency_penalty Penalizes frequent tokens 0.0
stop Comma-separated stop sequences to end generation (custom)

All parameters can be adjusted in the GUI in real time.


For Developers

Clone the repo and run manually:

git clone https://github.com/ronxldwilson/Tiny-notepad.git
cd Tiny-notepad
pip install -r requirements.txt
python tiny_notepad.py

Tip

Pull and try other models using Ollama:

ollama pull mistral
ollama pull gemma

They will appear in the model dropdown after restarting the app.


License

MIT License © 2025 Ronald Wilson

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

tiny_notepad-0.1.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

tiny_notepad-0.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file tiny_notepad-0.1.2.tar.gz.

File metadata

  • Download URL: tiny_notepad-0.1.2.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tiny_notepad-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7a47b774052917b73289766c131b6447535d2d178e7fd6762a7ee164745b366c
MD5 a0119d0e84a1d2342c61be3c5462df9b
BLAKE2b-256 5beb23abd34ba68660174eda2c1f5e2df1d6544504613dfdd55a76a4dba28728

See more details on using hashes here.

File details

Details for the file tiny_notepad-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: tiny_notepad-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for tiny_notepad-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7a44bd811acf7b6abb73b99adfba88466f3e9dbdb6e14f343cb24b4e719de66a
MD5 535d108ef62b9d5c4e4105cc35261f2a
BLAKE2b-256 5a2c69d7efec769e36f17e88b19d75bcbc6e952c98de3ee86d3c11c10c318b9f

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