Skip to main content

A memo/note-taking application with local storage and optional blockchain features

Project description

Memo

A lightweight, secure, and cross-platform memo/note-taking application built with Python and Tkinter. It features a system tray integration, local SQLite storage, AES/RSA encryption for sensitive data, and an optional blockchain data-persistence layer.

Features

  • System Tray Integration: Runs quietly in the background with a system tray icon.
  • Local Storage: Automatically saves your memos to a local SQLite database (memo.db).
  • Data Encryption: Support for AES (Fernet) and RSA encryption. You can selectively encrypt specific parts of your memos.
  • Optional Blockchain Upload: Persist your memos on-chain (using Web3) for tamper-proof storage.
  • Cross-Platform: Works on both Windows and Linux.

Installation

1. Basic Installation

Install it directly from PyPI:

pip install tiny-memo

Configuration

The application requires a .env file in the directory where you run it. You can copy the provided .env sample to .env:

cp ".env sample" .env

Configuration options:

  • FOLD_TIME: Time interval (in minutes) for folding/refreshing historical memos.
  • KEY_FILE: Path to your encryption key file.
  • ENC_METHOD: Encryption method to use (e.g., AES or RSA).
  • STRING_LENGTH: Maximum string length allowed before skipping blockchain upload.
  • TO_BLOCKCHAIN: Set to True to enable blockchain upload, or False to disable.

Usage

Start the application by running the following command in your terminal:

memo

(Note: Ensure your Python Scripts or bin directory is in your system's PATH).

Keyboard Shortcuts

When the application window is focused, you can use the following hotkeys:

  • Ctrl + S : 保存 (Save the current memo)
  • Ctrl + F : 搜索 (Search through historical memos)
  • Ctrl + L : 列出所有 (List all historical memos)
  • Ctrl + R : 加密 (Insert <ENC><DEC> tags to encrypt specific text)
  • Ctrl + B : 退出 (Exit the application completely)
  • Alt + M : 最小化 (Minimize to system tray)

Encryption Workflow

When editing a memo, you can press Ctrl + R to insert <ENC><DEC>. Any text placed between these tags (e.g., <ENC>My Secret<DEC>) will be encrypted automatically upon saving using your configured ENC_METHOD. When you view historical memos, you can click on the encrypted text to enter your password and decrypt it.

License

MIT License

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_memo-1.1.2.tar.gz (84.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_memo-1.1.2-py3-none-any.whl (82.3 kB view details)

Uploaded Python 3

File details

Details for the file tiny_memo-1.1.2.tar.gz.

File metadata

  • Download URL: tiny_memo-1.1.2.tar.gz
  • Upload date:
  • Size: 84.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiny_memo-1.1.2.tar.gz
Algorithm Hash digest
SHA256 f838009e4ecb2d476b9c79e6f03b384ff67850377f0af226154f1db23d2a4a7c
MD5 5536c579090a3b2a29f31d1d3a0acad0
BLAKE2b-256 996950aa07e793dfe5b894a5573ca5dbb8ac888adb08666fd11d9dd010488c0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiny_memo-1.1.2.tar.gz:

Publisher: python-publish.yml on kyle-meng/Memo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tiny_memo-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: tiny_memo-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 82.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tiny_memo-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 39c0d9a761b0a86d381598449f0d7115b211c7f2f99a66ed046679c08439b979
MD5 78f356bb0651d4c519799440fe9d23ea
BLAKE2b-256 89fef8670ce1471aa3baa33e892e2f8f81e46cf00f51a1c4ee39728cf059c343

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiny_memo-1.1.2-py3-none-any.whl:

Publisher: python-publish.yml on kyle-meng/Memo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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