Skip to content

Store, organize, and analyze your notes - be it dozens or thousands

License

Notifications You must be signed in to change notification settings

generic-github-user/shelf

Repository files navigation

shelf

Shelf is (my latest attempt at) a highly flexible notes aggregation, management, archival, and analysis tool. It provides parallel APIs using Python scripting and an efficient command line interface. The former allows for effortless extensibility and cooperation with your existing infrastructure, and the latter for ease of use and efficiency.

Features

Features that have been implemented, are currently under development, or are planned (status is indicated with a checkbox). Note that some of these are tentative and may not appear in future versions.

  • Create, edit, and delete notes
  • Interactive support for rapidly recording notes with abbreviations, shorthand, etc. (e.g., when taking lecture notes)
  • Organize using a flexible tagging/categorization system (and optional hierarchical organization)
  • Customizable workflows that don't force you to change the way you process information; shelf works with you
  • Search for notes using regular expressions, fuzzy matching, etc.
  • Automatic aggregation, syncing, and versioning of notes from various sources
  • Visualizations of the relationships between notes, terms, tags, and more
  • Efficient tools for manual and/or semi-automated ranking and sorting of notes according to various criteria
  • Fully featured Python scripting API
  • Export notes to Markdown and other human-readable formats using customizable templates
  • Generate statistics from sets of notes
  • Automatically maintain your notes library with custom scripts and actions
  • High backwards-compatibility and longevity; all pertinent metadata is stored so that properties can be re-computed at any point in time
  • Fast and space-efficient (optionally) compressed backups (support for local and/or remote backups)
  • Transparent and sensible data storage - everything shelf records goes to the same place
  • Memoized search and processing utilizing dynamic programming techniques; the end result is extremely fast operations, even on massive libraries (benchmarks of various operations on libraries of different sizes are planned)
  • Execute dry runs to preview an operation's effects without modifying any data

Installation

Download or clone this repository; you may wish to also install the module locally using the pip package manager if you plan to take advantage of the scripting interface (alternatively, a local/relative import statement can be used if your script is placed in the same directory as the cloned repository).

About

Store, organize, and analyze your notes - be it dozens or thousands

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages