--- title: Integrators keywords: fastai sidebar: home_sidebar summary: "Integrators integrate your information in the pod. They import your data from external services (gmail, whatsapp, icloud, facebook etc.), enrich your data with indexers (face recognition, spam detection, duplicate photo detection), and execute actions (sending mails, automatically share selected photo's with your family)." description: "Integrators integrate your information in the pod. They import your data from external services (gmail, whatsapp, icloud, facebook etc.), enrich your data with indexers (face recognition, spam detection, duplicate photo detection), and execute actions (sending mails, automatically share selected photo's with your family)." nb_path: "nbs/index.ipynb" ---
Integrators for memri have a single repo per language, this repo the one for python, but other repo's exist for node and in the future for rust. This repo is build with nbdev and therefore all code/documentation/tests are written in one place as jupyter notebooks and exported to a python-package/jekyll-website/unit-tests.
pip install -e integrators
nbdev_install_git_hooks
This last command clears your notebooks of unnecessary metadata
The nbdev website obviously contains great docs that will help you understand how to develop with it. If you don't want to read that, the most important things to get you started are:
#export
flags to the cells that define the functions you want to include in your python modules.#default_exp <packagename>.<modulename>
to the top of your notebook to define the python module to export to.When you are done writing your code in notebooks, call nbdev_build_lib
to convert the notebooks to code and tests.
Every cell without the #export
flag will be a test. So make sure that the code in notebooks runs fast and without errors. You can run all tests by calling.
nbdev_test_nbs
If you want to hide certain functionality in the docs, you can use the # hide
flag in the top of a cell
First install Jekyll:
gem install bundler jekyll
bundle install
Then, run the Jekyll server:
cd docs
bundle exec jekyll serve