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.4.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.4-py3-none-any.whl (82.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tiny_memo-1.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 c32acdbcfd825c12ad89401090378e7e56f2fb2f70ee684c8559efc9ada0cf60
MD5 b7a5235fb72093339148e4f5a9452778
BLAKE2b-256 f2dceb07d3651da87ba9fb4189aebf4555512728bf67fc1b67d6e588bb55223c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tiny_memo-1.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e29892b829a13180304da1b73bff8ad457a41f44ff79bc19fb274b767bdc2ce1
MD5 8d3afe07061a3682396fa28ffb1abddc
BLAKE2b-256 fec8ffe57f37d4bc0e5577065db7d959893d63f98eca619a61ea801a60463ee8

See more details on using hashes here.

Provenance

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