Skip to content

Latest commit

 

History

History
83 lines (63 loc) · 3.64 KB

README.md

File metadata and controls

83 lines (63 loc) · 3.64 KB

image PyPI PyPI - Python Version GitHub

Pmemo

Pmemo is a command-line memo editor designed for seamless editing directly in the terminal environment. It offers a range of features to enhance your memo-taking experience and leverages the power of OpenAI's ChatGPT.

Features

  • Rebind ctrl-o to request to ChatGPT
  • Rebind ctrl-t to quickly access frequently used registered prompts
  • CUI memo application that allows seamless editing directly in the terminal
  • No fullscreen mode, keeping your workflow within the terminal
  • Efficient search functionality for your memos
  • Easily customizable to fit your preferences
  • Execute code blocks written by you or ChatGPT immediately (Python only)
  • Unrestricted access and management of memos, whether on local machine, remote server or different environments.

Installation

$ pip install pmemo

Usage

command description
pm or pm new create new memo
pm edit edit memo
pm remove remove memo
pm list list all memos
pm preview preview memo(markdown) on terminal
pm preference please refer to the Preference section
pm template create a new prompt template for completion using ctrl-t
pm template -e edit an existing prompt template.
pm run execute code blocks within your memos.
pm signup create new account in the system. (requires email and password)
pm login log into the existing account.
pm push push local memos to the pmemo_server
pm pull download updates from the pmemo_server

Preference

name default description
out_dir $HOME/.pmemo specifies the directory where Pmemo saves memos
memo_pref.max_title_length 30 sets the maximum length of a memo title
editor_pref.prompt_spaces 4 defines the number of spaces used for line numbering in the editor
editor_pref.style_name "github-dark" sets the style of the editor
editor_pref.indentation_spaces 4 sets the number of spaces for indentation (tab size)
extensions_pref.openai_pref.api_key None The OpenAI API uses API keys for authentication
extensions_pref.openai_pref.model "gpt-3.5-turbo" ID of the model to use
extensions_pref.openai_pref.max_tokens 16 the maximum number of tokens to generate in the completion
extensions_pref.openai_pref.temperature 0 what sampling temperature to use, between 0 and 2
extensions_pref.openai_pref.n 1 how many completions to generate for each prompt
extensions_pref.openai_pref.key_binding ctrl-O post the selected range as a request to OpenAI
extensions_pref.template_pref.template_dir $HOME/.templates specifies the directory where templates in memos save
extensions_pref.template_pref.key_binding ctrl-T save the selected range as a template
api_pref.encryption_key Fernet.generate_key a key used for encryption
api_pref.user_token None the token used for user login
api_pref.user_refresh_token None the token used for refreshing the token

Note

To enable ChatGPT functionality, make sure to set your OpenAI API key as an environment variable or preference.

Tip

If you are pulling from a different terminal, you need to have the same encryption key.

Versioning

This repo uses Semantic Versioning.

License

pmemo is released under the MIT License. See LICENSE for additional details.