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.3.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.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tiny_notepad-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 7c9a6ee9f292ad622aad844444744d9ddd625dc409c14e8f9ff7d2f6279c2bc4
MD5 64db619d9452a4262d55ebe659d5b931
BLAKE2b-256 68a30d2267d665d04d450125f074e03b35bc1c736d743e7804989989dc7ded1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tiny_notepad-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5f639818dd3d285f9db856d71ac8e7a16559c34b7083cc0de85912e846df6feb
MD5 ada1c6bf280d26cdc398a0df9987a00c
BLAKE2b-256 b85801a935c64115898090614aa8a4c0211dd0cc794c7a1c7bdc57f6674d9820

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