Bouquin is a simple, opinionated notebook application written in Python, PyQt and SQLCipher. https://pypi.org/project/bouquin/
Find a file
2025-10-31 16:50:53 +11:00
bouquin Add shortcut for Settings (Ctrl+E) so as not to collide with Ctrl+S (Save) 2025-10-31 16:50:53 +11:00
tests Initial commit 2025-10-31 16:00:54 +11:00
.gitignore Initial commit 2025-10-31 16:00:54 +11:00
CHANGELOG.md Add shortcut for Settings (Ctrl+E) so as not to collide with Ctrl+S (Save) 2025-10-31 16:50:53 +11:00
LICENSE Initial commit 2025-10-31 16:00:54 +11:00
poetry.lock Initial commit 2025-10-31 16:00:54 +11:00
pyproject.toml Add shortcut for Settings (Ctrl+E) so as not to collide with Ctrl+S (Save) 2025-10-31 16:50:53 +11:00
README.md Add ability to change the key 2025-10-31 16:46:42 +11:00
screenshot.png Initial commit 2025-10-31 16:00:54 +11:00

Bouquin

Introduction

Bouquin is a simple, opinionated notebook application written in Python, PyQt and SQLCipher.

It uses SQLCipher bindings as a drop-in replacement for SQLite3. This means that the underlying database for the notebook is encrypted at rest.

To increase security, the SQLCipher key is requested when the app is opened, and is not written to disk.

There is deliberately no network connectivity or syncing intended.

Screenshot

Screenshot of Bouquin

Features

  • Every 'page' is linked to the calendar day
  • Basic markdown
  • Automatic periodic saving (or explicitly save)
  • Navigating from one day to the next automatically saves
  • Basic keyboard shortcuts
  • Transparent integrity checking of the database when it opens

Yet to do

  • Search
  • Taxonomy/tagging
  • Export to other formats (plaintext, json, sql etc)

How to install

From source

  • Clone this repo or download the tarball from the releases page
  • Ensure you have poetry installed
  • Run poetry install to install dependencies
  • Run poetry run bouquin to start the application.

From the releases page

  • Download the whl and run it

From PyPi

  • pip install bouquin

How to run the tests

  • Clone the repo
  • Ensure you have poetry installed
  • Run poetry install --with test
  • Run poetry run pytest -vvv