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

Clone the repository and install it as a standard PyPI package:

git clone https://github.com/kyle-meng/Memo.git
cd Memo
pip install .

2. With Blockchain Support

If you want to use the blockchain upload features, install the optional dependencies:

pip install .[blockchain]

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.0.tar.gz (84.9 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.0-py3-none-any.whl (82.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tiny_memo-1.1.0.tar.gz
  • Upload date:
  • Size: 84.9 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.0.tar.gz
Algorithm Hash digest
SHA256 c853d5fbed382bb53fabb17998455e16b3dd6d2a6c4e9f82361630e4bbf384e1
MD5 2a1c5bdc2de1ba64f336544aa6ae5c5e
BLAKE2b-256 5c46a1914651fa1127ebf907fb6416ce284b4b197f80cdf3e60d32b484e5ffb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiny_memo-1.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: tiny_memo-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 82.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7f7b1b8abe79d118e7dab1c1614135dbc18d4df432a4a5e124f7aa37c2e6dc4
MD5 8293911833a8dfd8380937bddc0d2e4e
BLAKE2b-256 e751baac0361d38fbf6c4802a0a43a0e8b51aa2f0666f7b86d7276dae1ea950a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tiny_memo-1.1.0-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