updates to the setup guide
This commit is contained in:
parent
01b52fcca2
commit
f766c8abe5
4 changed files with 40 additions and 23 deletions
|
@ -6,3 +6,8 @@ However, Pycharm/Emacs/whatever you use won't be able to figure that out, so you
|
|||
- Pycharm: basically, follow the instruction [[https://stackoverflow.com/a/55278260/706389][here]]
|
||||
|
||||
i.e. create a new interpreter configuration (e.g. name it "Python 3.7 (for HPI)"), and add =~/.config/my=.
|
||||
|
||||
* Linting
|
||||
You should be able to use ~./lint~ script to run mypy checks.
|
||||
|
||||
~mypy.ini~ file points at =~/.config/my= by default.
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
# [[https://circleci.com/gh/karlicoss/my/tree/master][https://circleci.com/gh/karlicoss/my/tree/master.svg?style=svg]]
|
||||
|
||||
# TODO FAQ??
|
||||
Please don't be shy and raise issues if something in the instructions is unclear.
|
||||
You'd be really helping me, I want to make the setup as straightforward as possible!
|
||||
|
||||
* Setting up
|
||||
** =mycfg= package for private paths/repositories (optional)
|
||||
** [optional] private configuration (=my.config=)
|
||||
If you're not planning to use private configuration (some modules don't need it) you can skip straight to the next step. Still, I'd recommend you to read anyway.
|
||||
|
||||
First you need to tell the package where to look for your data and external repositories, which is done though a separate (private) package named ~mycfg~.
|
||||
|
@ -51,6 +50,9 @@ That way you get easy imports (e.g. =import mycfg.repos.hypexport.model=) and pr
|
|||
|
||||
# TODO link to post about exports?
|
||||
** =with_my= helper script
|
||||
# TODO FIXME dependencies?
|
||||
# At the moment the package is not uploaded to PyPi yet, so can't
|
||||
# TODO update this section
|
||||
Next, point =with_my= script to your private configuration:
|
||||
|
||||
#+begin_src bash
|
||||
|
@ -67,30 +69,35 @@ Generally you can just try using the module and then install missing packages vi
|
|||
* Usage examples
|
||||
If you run your script with ~with_my~ wrapper, you'd have ~my~ in ~PYTHONPATH~ which gives you access to your data from within the script.
|
||||
|
||||
- accessing Kobo books
|
||||
** Kobo reader
|
||||
Kobo provider allows you access the books you've read along with the highlights and notes.
|
||||
It uses exports provided by [[https://github.com/karlicoss/kobuddy][kobuddy]] package.
|
||||
|
||||
#+begin_src bash
|
||||
with_my python3 -c 'import my.books.kobo as kobo; print(kobo.get_todos())'
|
||||
- prepare the config
|
||||
|
||||
1. Point =ln -sfT /path/to/kobuddy ~/.config/my/config/repos/kobuddy=
|
||||
2. Add kobo config to =~/.config/my/config/__init__.py=
|
||||
#+begin_src python
|
||||
class kobo:
|
||||
export_dir = 'path/to/kobo/exports'
|
||||
#+end_src
|
||||
|
||||
- if you have [[https://github.com/karlicoss/orger][orger]] installed, you can use its modules to get Org-mode representations of your data. For instance, rendering [[https://github.com/burtonator/polar-bookshelf][Polar]] highlights as org-mode file as easy as:
|
||||
After that you should be able to use it:
|
||||
|
||||
#+begin_src bash
|
||||
with_my python3 -c 'import my.books.kobo as kobo; print(kobo.get_highlights())'
|
||||
#+end_src
|
||||
|
||||
** Orger
|
||||
You can use [[https://github.com/karlicoss/orger][orger]] to get Org-mode representations of your data.
|
||||
|
||||
Some examples:
|
||||
|
||||
*** [[https://github.com/burtonator/polar-bookshelf][Polar]]
|
||||
This will convert Polar highlights into org-mode:
|
||||
#+begin_src bash
|
||||
with_my orger/modules/polar.py --to polar.org
|
||||
#+end_src
|
||||
|
||||
- read/run [[./demo.py][demo.py]] for a full demonstration of setting up Hypothesis (it uses public annotations data from Github)
|
||||
|
||||
|
||||
* Linting
|
||||
|
||||
#+begin_src bash
|
||||
# see https://github.com/python/mypy/issues/1645 for --namespace-packages explanation
|
||||
with_my mypy --namespace-packages my
|
||||
#+end_src
|
||||
|
||||
or, set up as ~mypy.ini~ file:
|
||||
|
||||
#+begin_src
|
||||
[mypy]
|
||||
mypy_path=/path/to/mycfg_dir
|
||||
#+end_src
|
||||
** =demo.py=
|
||||
read/run [[../demo.py][demo.py]] for a full demonstration of setting up Hypothesis (it uses public annotations data from Github)
|
||||
|
|
|
@ -11,6 +11,7 @@ from typing import List, Dict, Iterator, NamedTuple, Sequence, Optional
|
|||
import json
|
||||
|
||||
import pytz
|
||||
# TODO declare DEPENDS = [pytz??]
|
||||
|
||||
from ..common import setup_logger
|
||||
|
||||
|
@ -18,10 +19,13 @@ from ..error import ResT, echain, unwrap, sort_res_by
|
|||
from ..kython.konsume import wrap, zoom, ignore
|
||||
|
||||
|
||||
# TOFO FIXME appdirs??
|
||||
_POLAR_DIR = Path('~/.polar')
|
||||
|
||||
|
||||
# TODO FIXME lazylogger??
|
||||
def get_logger():
|
||||
# TODO __package__?
|
||||
return logging.getLogger('my.reading.polar')
|
||||
|
||||
|
||||
|
|
3
setup.py
3
setup.py
|
@ -6,7 +6,7 @@ def main():
|
|||
name='my',
|
||||
version='0.5',
|
||||
description='A Python interface to my life',
|
||||
url='https://github.com/karlicoss/my',
|
||||
url='https://github.com/karlicoss/HPI',
|
||||
author='Dmitrii Gerasimov',
|
||||
author_email='karlicoss@gmail.com',
|
||||
|
||||
|
@ -42,5 +42,6 @@ def main():
|
|||
},
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
|
Loading…
Add table
Reference in a new issue