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.
josiah dde6ec039f
Remove unnecessary print line.
2 years ago
docker Remove dependency, update 2 years ago
examples Provide reasonable defaults. 2 years ago
molly Remove unnecessary print line. 2 years ago
tests Initial commit. 2 years ago
.gitignore don't accidentally commit your data dir lmao 2 years ago
LICENSE Initial commit. 2 years ago Remove unnecessary text from 2 years ago Update todos. 2 years ago
run_molly Initial commit. 2 years ago
setup.cfg Initial commit. 2 years ago Remove dependency, update 2 years ago


glue together the matrix and org-mode. built with matrix-nio

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 write orgmode from within Python

    • Write basic todo entries
    • Add meta data (when was I captured, etc)
  • Be able to read matrix messages from within Python (use matrix nio, apparently its the Approved Shit now
  • Make E2EE work; supposedly that's doable with this bot.
  • Clear out the unnecessary parts of the template I copied
  • Add back in the tooling improvements
  • Improve orgmode integration

    • Have try/except blocks, verify that the path exists, make it if it doesn't, etc etc etc.
  • Probably need to write one or two lines of lisp to help the end user not keep the refile buffer open; that'd just get in their way.
  • 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:


  • 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.
  • Look into alternate methods of revert buffer per:

Editor bullshit

  • Get LSPs shit working with my new setup:

    • auto detect pyvenv
    • resolve imports
    • etc
  • make magit play nice with pre-commit hooks

Making this work

  • Get a user created that you'll use its ocredentials for.
  • Get the room ID for the room you want to use.

    • you can find this in the advanced settings for a room, generally.
  • Fill out the config.yaml file appropiately.