Matrix Orgmode ListenER
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
josiah 781a0ab693
Update todos, editor tasks.
3 years ago
MOLER Linter fixes. 3 years ago
examples Create supporting cast. 3 years ago
.gitignore Linter fixes. 3 years ago
.pre-commit-config.yaml Create supporting cast. 3 years ago
Pipfile Create supporting cast. 3 years ago
Pipfile.lock Create supporting cast. 3 years ago Update todos, editor tasks. 3 years ago
pyproject.toml Linter fixes. 3 years ago
tox.ini linter fixes. 3 years ago


Matrix Orgmode ListenER.

Project Summary

  • Send your thoughts to a matrix channel! Its easy, its everywhere, and its plaintext.
  • Convert individual messages in your matrix channel into todo items in orgmode
    • Assumes the same sorts of things as other mobile orgmode solutions, a file, that sort of thing.
  • Eventually, come back on your main computer and refile shit accordingly.

Project Outline

  • Be able to read and write orgmode from within Python (use Karlicoss' library for this)
  • Be able to read and write matrix messages from within Python (use matrix nio, apparently its the Approved Shit now
  • Package using Pypi
    • Eventually I'd like the option of deploying via ansible with the community playbooks, so also build out a Dockerfile.
  • Add an ansible-playbook for deploying via matrix-docker-ansible-deploy, if they'll have me.
  • Use all the same packages i'm floating for developer standards at work:

Misc Project Thoughts

  • My bot will have to be able to talk over HTTP, I guess.
  • It'd be good if I could use pantalaimon for encryption, so messages can be sent E2E, then decrypted wherever the bot is to get added to the refile.
  • Probably worth also writing some elisp that auto saves/closes the mobile-refile file if you haven't looked at it in a minute or two. Prevents weird overwrites.


  • setup all of this stuff
    • Precommit (for all your commithook needs)
      • On initial setup you likely want to run a new config against all files: pre-commit run --all-files
    • Black + commithooks; feel free to tweak line settings
      • Black is still technically pre-release; install like pipenv install -d black --pre
    • Mypy + commithooks
    • Pylint / Flake8; feel free to tweak line settings
    • Pipenv (bluh. I guess this is what work is using, so, fine.)
      • append installs with -d to add them as a dev dependency
    • Pytest + unittest.
    • Add on pydantic to mypy
    • Futz with mypy's config to require declaring types
    • Python versions with pyenv
      • This is pretty easy, though its a very stupid curl | bash. Fuckers.
      • Also some annoying prereqs that you need to be careful about; some Mac specific fuckery.

Editor bullshit

  • Get LSPs shit working with my new setup:
    • auto detect pyvenv
    • resolve imports
    • etc
  • make magit play nice with pre-commit hooks