Skip to main content

A VIM-inspired note manager for the console

Project description

Noted

A VIM-inspired note manager for the console

Noted uses an encrypted SQLite database to store your notes.

Note that noted is not yet considered stable, and should not be used in an application where data integrity is important.

Screenshot

Getting started

Noted requires Python 3

Installation

To install noted:

$ pip3 install noted-cli --user

Usage

Start noted. At first startup you will get prompted to setup an encryption passphrase used to encrypt your notes:

$ noted
Setup your encrypted passphrase:

Key reference

Noted is using VIM-like key bindings to perform actions.

NORMAL mode

Key Action
q Exit
j Select next note
k Select previous note
n Create new note
<Enter> Open the note for editing
g Go to first note
G Go to last note
d Delete note
o Toggle direction of ordering
O Cycle through ordering criterias (title, updated/created at, tags)
l Enter TAG mode
A Enter ADD_TAG mode
/ Enter SEARCH mode

TAG mode

Key Action
<Escape> or t Back to NORMAL mode
a Enter ADD_TAG mode
h Select previous tag on current note
l Select next tag on current note
x or d Delete selected tag on current note
j Select next note
k Select previous note

ADD_TAG mode

Key Action
<Escape> Back to TAG mode
<Enter> Add tag
<Tab> Fill tag name from auto complete

SEARCH mode

Key Action
<Escape> Back to NORMAL mode, or clear search input if not changed
<Enter> Commit to search

Searching for notes

When searching for notes, noted will look in the note content. To only search for notes with certain tags, you can use brackets to express that you want to match tags rather than content. Example:

/[home] stuff

This will match all notes that contain the text "stuff", and has a tag named "home".

You can use the same pattern to exclude tags. Example:

/[home]![completed] stuff

This will match all notes that contain the text "stuff", has a tag named "home", but doesn't have a tag named "completed".

CLI

You should be able to automate, import/export your notes as your wish. Noted provides noted-cli executable to manage notes from CLI as well*. Example:

$ noted-cli --format json list-note --search stuff

* This feature is currently not a full 1:1 mapping of the capabilities of the TUI. Please refer roadmap for more information.

Roadmap

  • Save search queries
  • Change encryption passphrase.
  • List and edit existing tags
  • Delete tag entity when removing last use of tag from note.
  • Tag auto complete when using tag object notation in search field.
  • Configure editor (using xdg-open?).
  • Safer way of opening database file to increase privacy/security.
  • Configure custom keymap
  • Utilize GnuPG for encryption of database and files?

Known bugs/issues

  • Cannot edit note on macOS. Issue due to tmpfs removing file before we get the chance to read it?
  • Log file gets created in cwd.
  • Saving an empty note causes SQLite exception.
  • Curses doesn't restore terminal after VIM has been opened in some cases (may be caused by some VIM plugin).

Contributing

Setup development environment

  1. Clone repository
  2. Setup virtual env and install dependencies:
cd noted-cli
virtualenv env
source env/bin/activate
pip3 install -r requirements.txt

LOGLEVEL=DEBUG python3 noted

Debugging

You can enable the debug log by launching noted with the environment variable LOGLEVEL set to DEBUG.

Example: LOGLEVEL=DEBUG noted

The default log level is set to WARNING.

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

noted-cli-0.2.0.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

noted_cli-0.2.0-py3-none-any.whl (52.7 kB view details)

Uploaded Python 3

File details

Details for the file noted-cli-0.2.0.tar.gz.

File metadata

  • Download URL: noted-cli-0.2.0.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.12.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.3

File hashes

Hashes for noted-cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ee1cfe0cd7fdd18bcfd0f4dc803babcf7b1c588f2a919e8ee998f7c22541c59c
MD5 b8ddd3a9ba936d765f23ef6377cc196b
BLAKE2b-256 d6af09502b423f4f83ef06187dafb8b2465e7864d9c051947f74ba179b3de50f

See more details on using hashes here.

File details

Details for the file noted_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: noted_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 52.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.12.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.3

File hashes

Hashes for noted_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed3708800175507c9c0fc7973f2d11b52f8faf5e4570eb79179f28f416fa8d5
MD5 d145c19eb20c9cc487c8f5572d9d27ce
BLAKE2b-256 705b2b7da7c651e00dd4fb1a47fdbdd4863c040468017b02231595bca62ad429

See more details on using hashes here.

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