Skip to main content

personal note management system.

Project description

Xotes - personal note management system

Xotes is a personal note management system. Features include:

  • written in python3, should work on most systems
  • library, command line, and ncurses interfaces
  • git storage backend, for simple sharing between devices
  • xapian full text index and search of all notes (optional)
  • GitJournal compatibility

Dependencies:

All dependencies are commonly available through your favorite python package manager.

Xotes is managed on GitLab.

Xotes was written by Jameson Graef Rollins.

synchronizing between devices via git

Xotes stores notes in a git repo, and can synchronize the store with any git remotes configured in the store's git repo. To configure, simply set up git remotes in the store's git repo as you would in any normal git repo, then use the Store.sync() command or the command line --sync option to synchronize. See Store.ROOT or the command line --help for the file system location of your store.

fast sync with SSH

If you use SSH remotes, synchronization can be sped up considerably by using SSH connection multiplexing. By specifying a ControlMaster for your ssh connection, ssh can hold open a connection to the remote, speeding up subsequent operations considerably.

For example, for remote gitjournal@example.com the following .ssh/config stanza should setup a multiplexing socket just for your gitjournal remote:

Match originalhost example.com, user gitjournal
ControlMaster auto
ControlPersist yes

faster editing with emacs

If you use emacs to edit notes you can use the emacs server to speed up editing considerably.

I use a special emacs session just for xotes editing. In a wrapper script I have the emacs daemon launch if it's not running:

if ! emacsclient --socket-name=xotes -e '()' >/dev/null ; then
    emacs --daemon=xotes
fi

And then I set the EDITOR environment variable to use emacsclient:

export EDITOR="emacsclient --socket-name=xotes -t"

recommended gitjournal config

Xotes works very well with GitJournal. While xotes should work with GitJournal out of the box, not all of the potential GitJournal configuration options have been fully tested. In particular, xotes currently does expect the YAML header to be present.

The following GitJournal settings may provide the best performance:

  • in "Note Metadata Settings":
    • "Enable YAML Header"
    • "Modified Field" should be "modified"
    • "Created Field" should be "created"
  • While xotes will support any note file name, "Uuid V4" file names are the most sensible, imho.

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

xotes-0.1.0.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

xotes-0.1.0-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file xotes-0.1.0.tar.gz.

File metadata

  • Download URL: xotes-0.1.0.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.9.1

File hashes

Hashes for xotes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 663d5fddc9a132e7c6041a4f3ad7bdb2d401cf0f74bb83639111ee161e726f41
MD5 47e646bb69cc473be8c80c2c543a5205
BLAKE2b-256 361235a0d493fb0d046093479cca0dc6da40ec96a614e3a97e35d2b206fe572f

See more details on using hashes here.

File details

Details for the file xotes-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: xotes-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 28.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.8.0 tqdm/4.51.0 CPython/3.9.1

File hashes

Hashes for xotes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97763187c1ec2b3ee1d1dbed1352ea7ecb3bd92a3dea3d96234965142a6962d0
MD5 87618b31efb4820d9810ace01e51215c
BLAKE2b-256 9bbdabae5ca31a08e8a9c76566b37906dfa0c54521f2ee0d6bcd88c08d6fd2ce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page