Skip to content
md ~/projects/birim-donusturucu
Project archive

2026

Unit Converter

  • Python
  • Tkinter
  • ExchangeRate-API
  • unittest
  • PyInstaller
  • Inno Setup

Overview

A desktop app built with Python and Tkinter that converts 58 units in 9 categories, including currency, with exact results. It covers Turkish kitchen measures (su bardağı, yemek kaşığı), the dönüm and the GB vs GiB difference. 166 currencies are converted with daily rates, and with the last saved rates when offline. It offers two-way live conversion, an all-units table, history, light/dark themes and a Turkish/English interface. Verified by 38 unit tests and distributed as a Windows installer built with PyInstaller and Inno Setup.

01 · Problem

Existing unit converters are either ad-heavy websites or apps that don't know local measures such as the Turkish "su bardağı" or "dönüm". Many show floating-point results like 0.30000000000000004 and can't convert currency offline.

02 · Solution

I used exact Decimal arithmetic and generated every unit from a single dictionary, so the menu, dropdowns and table build themselves. Exchange rates are downloaded from a keyless API in the background, validated and cached with their date. I wrote my own parser that reads and writes numbers in Turkish (1.234,5) and English (1,234.5) formats. Calculation, rates, history and the interface live in separate modules.

03 · Outcome

Verified by 38 unit tests, the app correctly shows why 1 TB appears as 931 GiB and gives the exact value of 36.6 °C. It downloads rates without freezing the window and adapts to high-DPI displays. It is published as an installer that also runs on computers without Python.