hypexport icon indicating copy to clipboard operation
hypexport copied to clipboard

Export/access your Hypothes.is data: annotations and profile info

#+begin_src python :dir src :results drawer :exports results import hypexport.export as E; return E.make_parser().prog #+end_src

#+RESULTS: :results: Export/takeout for your personal [[https://hypothes.is][Hypothes.is]] data: annotations and profile information. :end:

  • Setting up
  1. The easiest way is =pip3 install --user git+https://github.com/karlicoss/hypexport=.

    Alternatively, use =git clone --recursive=, or =git pull && git submodules update --init=. After that, you can use =pip3 install --editable=.

  2. Follow [[https://hypothes.is/account/developer][these]] instructions to set up the token

  • Exporting

#+begin_src python :dir src :results drawer :exports results import hypexport.export as E; return E.make_parser().epilog #+end_src

#+RESULTS: :results:

Usage:

Recommended: create =secrets.py= keeping your api parameters, e.g.:

: username = "USERNAME" : token = "TOKEN"

After that, use:

: python3 -m hypexport.export --secrets /path/to/secrets.py

That way you type less and have control over where you keep your plaintext secrets.

Alternatively, you can pass parameters directly, e.g.

: python3 -m hypexport.export --username --token

However, this is verbose and prone to leaking your keys/tokens/passwords in shell history.

You can also import ~hypexport.export~ as a module and call ~get_json~ function directly to get raw JSON.

I highly recommend checking exported files at least once just to make sure they contain everything you expect from your export. If not, please feel free to ask or raise an issue!

:end:

TODO FIXME api limitations 10000 annotations?