Hariku V2

Hariku ("My Day") is a keyboard-driven calendar and productivity app for Windows, built for blind and low-vision people who use a screen reader. It speaks through whatever screen reader is running (NVDA, JAWS, and others) using Tolk, and falls back to Windows SAPI when none is present. The core stays small, and almost everything else is an extension.

Download

Get the latest installer, HarikuV2-Setup.exe, from the releases page. Hariku runs on Windows and checks for updates by itself once it's installed. See the code signing policy below for how releases are built and signed.

What it does

  • Screen-reader first. Speech is queued so it never talks over itself, with sound cues, full keyboard navigation, a Braille-output toggle, and an F1 cheat-sheet for the shortcuts.
  • Calendar and reminders. Move around dates quickly and set reminders that repeat daily, weekly, monthly, or yearly. Anything you missed while the app was closed is caught up the next time you open it.
  • Extensions. A plugin system with an in-app store. The official ones include World Clock, a Markdown reader, and Routines, an automation builder modeled on iOS Shortcuts that pairs a trigger with actions and can pass variables between them.
  • Low-vision options. Scale the interface font and switch to a high-contrast theme.
  • Hard to break. Saves are atomic, a crash handler catches failures, extensions load only after a SHA-256 trust check and your consent, and the auto-updater verifies what it downloads.

What's in this repository

This repository holds Hariku's core: the app (hariku.py, core/, ui/), its guides and languages (docs/, locales/), its sounds, the extension template, and the core's tests and tools. The official extensions reach users through the Extension Store. Their sources, and Hariku's servers (the Orbit game server and the Hariku AI service), are maintained privately by InfiArtt.

Running from source

Requires Windows and Python 3.10.

py -3.10 -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
python hariku.py

Run the tests with python -m pytest, or in parallel on all your cores with python -m pytest -n auto (pytest-xdist). The real-window checks only run when HARIKU_UI_TESTS=1 is set, as in CI, where they run on their own (-m window).

Building the installer

Hariku compiles with Nuitka and packages with Inno Setup (file.iss). GitHub Actions builds each release from a version tag and publishes the installer alongside an update/version.json manifest. The exact build commands are in .github/workflows/release.yml.

Code signing policy

Windows releases are built and published only by the GitHub Actions release workflow in this repository. Builds made on a personal machine are never signed or published. A release contains the Hariku executables and the HarikuV2-Setup.exe installer, all built from this source.

Releases are currently unsigned. We are working on free code signing through the SignPath Foundation's open source program.

Team roles:

  • Committers and reviewers: Rafli (@raf-li)
  • Approvers: Rafli (@raf-li)

Privacy

Hariku collects no analytics or telemetry. PRIVACY.md lists every case where it connects to the internet.

Writing extensions

Start with DEVELOPERS.md for the extension API, and template_extension/ for a minimal skeleton. An extension talks to Hariku only through the documented core.* API and its manifest.

The Developer SDK is at InfiArtt/hariku-sdk: the guide, the template, small commented examples, the packager, a checker for your extension folder, and the store guidelines, kept in sync with Hariku's releases. Press "Use this template" there to start a repository for your own extension that checks it and packs it into a .hrk on GitHub. The template and the examples are under the MIT License, so you can copy them into an extension under any license.

License

Hariku is free software under the GNU General Public License v3.0 or later, with the Hariku Extension Exception (LICENSE-EXCEPTION). The core stays copyleft, but a third-party extension that uses only the documented extension API can be released under any license, including a proprietary or commercial one.

  • Core and official extensions: GPL-3.0-or-later (see LICENSE).
  • The extension template (template_extension/): MIT (see its LICENSE).
  • Third-party extensions: your choice, under the extension exception.
  • Bundled third-party libraries: see THIRD-PARTY-NOTICES.md.

Contributing

Issues and pull requests are welcome. When you contribute to Hariku's own source, you agree to license those contributions under GPL-3.0-or-later.