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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tiny_memo-1.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 6d34f04594f12ee048e5cc0fe283c8412942efe816b80ca10bf8313f36618bca
MD5 ebce2003a0d9ce3558de8cc9ac4210af
BLAKE2b-256 bb0565ffcbcfcf451a43fa20e8ec70dc75b49c6a0a912ba9150c428d75681e21

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tiny_memo-1.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6dd0d749ead476c2994cd870af85df8082291c333c212881adf3660db6ddf038
MD5 62b5fa29b7797c8c00a4f589b0f014cb
BLAKE2b-256 7c4bbb59cf0380297eabc2dac06d6cc8e8d6f5cac29a4b7bef7627dcb990f0d4

See more details on using hashes here.

Provenance

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