FleischerResearchLab / SALA

A suite of tools to work with light data from a Philips Spectrum Plus (and possibly other Philips watches). Provides functionality to take data exported in CSV format from Philips Actiware and produces additional analyses into parquet files. Code originally written by Jason Fleischer, edited, generalized, and compiled for a package by Tyler Tran.
https://FleischerResearchLab.github.io/SALA/
Apache License 2.0
1 stars 0 forks source link

Cannot build SALA after moving repo to FleischerResearchLab org #3

Closed jasongfleischer closed 2 years ago

jasongfleischer commented 2 years ago

Problem:

nbdev_test does not pass on my local computer after moving repo from Tyler's private repo to our lab org.

Context: may honestly have nothing to do with the move, and may just be my local config. In fact I suspect this is the case because when I pushed the repo to Github it built successfully! See https://github.com/FleischerResearchLab/SALA/actions/runs/3048411194

However, the build did not deploy a docs website at https://fleischerresearchlab.github.io/sala which is what I expected. What am I doing wrong?

Setup:

MacOS 10.15.7 Anaconda with the following packages

Name                    Version                   Build  Channel
python                    3.7.4                h359304d_1  

_anaconda_depends         2020.07                  py37_0  
_ipyw_jlab_nb_ext_conf    0.1.0                    py37_0  
adjusttext                0.7.3.1                    py_0    conda-forge
alabaster                 0.7.12                   py37_0  
anaconda                  custom                   py37_1  
anaconda-client           1.10.0           py37hecd8cb5_0  
anaconda-navigator        1.9.7                    py37_0  
anaconda-project          0.11.0           py37hecd8cb5_0  
anyio                     3.5.0            py37hecd8cb5_0  
applaunchservices         0.2.1              pyhd3eb1b0_0  
appnope                   0.1.2           py37hecd8cb5_1001  
appscript                 1.1.2            py37h9ed2024_0  
argh                      0.26.2                   py37_0  
argon2-cffi               21.3.0             pyhd3eb1b0_0  
argon2-cffi-bindings      21.2.0           py37hca72f7f_0  
arrow                     1.2.2              pyhd3eb1b0_0  
asn1crypto                1.5.1            py37hecd8cb5_0  
astral                    2.2                      pypi_0    pypi
astroid                   2.11.7           py37hecd8cb5_0  
astropy                   4.3.1            py37hf9932de_0  
astunparse                1.6.3                      py_0  
atomicwrites              1.4.0                      py_0  
attrs                     21.4.0             pyhd3eb1b0_0  
autopep8                  1.4.4                      py_0  
babel                     2.9.1              pyhd3eb1b0_0  
backcall                  0.2.0              pyhd3eb1b0_0  
backports                 1.1                pyhd3eb1b0_0  
backports.functools_lru_cache 1.6.4              pyhd3eb1b0_0  
backports.shutil_get_terminal_size 1.0.0              pyhd3eb1b0_3  
backports.tempfile        1.0                pyhd3eb1b0_1  
backports.weakref         1.0.post1                  py_1  
beautifulsoup4            4.11.1           py37hecd8cb5_0  
binaryornot               0.4.4              pyhd3eb1b0_1  
bitarray                  2.5.1            py37hca72f7f_0  
bkcharts                  0.2              py37hecd8cb5_1  
black                     22.6.0           py37hecd8cb5_0  
blas                      1.0                         mkl  
bleach                    4.1.0              pyhd3eb1b0_0  
blosc                     1.21.0               h8346a28_1  
bokeh                     2.4.3            py37hecd8cb5_0  
boto                      2.49.0                   py37_0  
bottleneck                1.3.5            py37h67323c0_0  
brotli                    1.0.9                hca72f7f_7  
brotli-bin                1.0.9                hca72f7f_7  
brotlipy                  0.7.0           py37h9ed2024_1003  
bzip2                     1.0.8                h1de35cc_0  
c-ares                    1.18.1               hca72f7f_0  
ca-certificates           2022.07.19           hecd8cb5_0  
certifi                   2022.6.15        py37hecd8cb5_0  
cffi                      1.15.1           py37hc55c11b_0  
chardet                   4.0.0           py37hecd8cb5_1003  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
click                     8.0.4            py37hecd8cb5_0  
cloudpickle               2.0.0              pyhd3eb1b0_0  
clyent                    1.2.2                    py37_1  
colorama                  0.4.5            py37hecd8cb5_0  
conda                     4.14.0           py37hecd8cb5_0  
conda-build               3.18.9                   py37_3  
conda-env                 2.6.0                         1  
conda-pack                0.6.0              pyhd3eb1b0_0  
conda-package-handling    1.8.1            py37hca72f7f_0  
conda-verify              3.4.2                      py_1  
contextlib2               0.6.0.post1        pyhd3eb1b0_0  
cookiecutter              1.7.3              pyhd3eb1b0_0  
cryptography              37.0.1           py37hf6deb26_0  
curl                      7.84.0               hca72f7f_0  
cycler                    0.11.0             pyhd3eb1b0_0  
cython                    0.29.30          py37he9d5cce_0  
cytoolz                   0.11.0           py37haf1e3a3_0  
dask                      2021.6.2           pyhd3eb1b0_0  
dask-core                 2021.6.2           pyhd3eb1b0_0  
dataclasses               0.8                pyh6d0b6a4_7  
datetime                  4.5                      pypi_0    pypi
dbus                      1.13.18              h18a8e69_0  
debugpy                   1.5.1            py37he9d5cce_0  
decorator                 4.4.2              pyhd3eb1b0_0  
defusedxml                0.7.1              pyhd3eb1b0_0  
diff-match-patch          20200713           pyhd3eb1b0_0  
dill                      0.3.4              pyhd3eb1b0_0  
distributed               2021.6.2         py37hecd8cb5_0  
docutils                  0.18.1           py37hecd8cb5_3  
entrypoints               0.4              py37hecd8cb5_0  
et_xmlfile                1.1.0            py37hecd8cb5_0  
execnb                    0.1.3                      py_0    fastai
expat                     2.4.4                he9d5cce_0  
fastcache                 1.1.0            py37h1de35cc_0  
fastcore                  1.5.26                     py_0    fastai
fastscript                0.1.4                    pypi_0    pypi
ffmpeg                    1.4                      pypi_0    pypi
ffmpeg-python             0.2.0                    pypi_0    pypi
filelock                  3.6.0              pyhd3eb1b0_0  
flake8                    3.8.2                      py_0  
flask                     2.1.3            py37hecd8cb5_0  
fonttools                 4.25.0             pyhd3eb1b0_0  
freetype                  2.11.0               hd8bbffd_0  
fsspec                    2022.3.0         py37hecd8cb5_0  
future                    0.18.2                   py37_1  
get_terminal_size         1.0.0                h7520d66_0  
gettext                   0.21.0               h7535e17_0  
gevent                    21.8.0           py37h9ed2024_1  
ghapi                     1.0.3                      py_0    fastai
giflib                    5.2.1                haf1e3a3_0  
glib                      2.69.1               h8346a28_1  
glob2                     0.7                pyhd3eb1b0_0  
gmp                       6.2.1                he9d5cce_3  
gmpy2                     2.1.2            py37hd5de756_0  
greenlet                  1.1.1            py37h23ab428_0  
h5py                      2.10.0           py37h3134771_0  
hdf5                      1.10.4               hfa1e0ec_0  
heapdict                  1.0.1              pyhd3eb1b0_0  
html2image                1.1.3                    pypi_0    pypi
html5lib                  1.1                pyhd3eb1b0_0  
icu                       58.2                 h0a44026_3  
idna                      3.3                pyhd3eb1b0_0  
imageio                   2.19.3           py37hecd8cb5_0  
imagesize                 1.4.1            py37hecd8cb5_0  
imgkit                    1.2.2                    pypi_0    pypi
importlib-metadata        4.11.3           py37hecd8cb5_0  
importlib_metadata        4.11.3               hd3eb1b0_0  
importlib_resources       5.2.0              pyhd3eb1b0_1  
inflection                0.5.1            py37hecd8cb5_0  
iniconfig                 1.1.1              pyhd3eb1b0_0  
intel-openmp              2021.4.0          hecd8cb5_3538  
intervaltree              3.1.0              pyhd3eb1b0_0  
ipykernel                 6.9.1            py37hecd8cb5_0  
ipython                   7.31.1           py37hecd8cb5_1  
ipython_genutils          0.2.0              pyhd3eb1b0_1  
ipywidgets                7.6.5              pyhd3eb1b0_1  
isort                     5.9.3              pyhd3eb1b0_0  
itsdangerous              2.0.1              pyhd3eb1b0_0  
jbig                      2.1                  h4d881f8_0  
jdcal                     1.4.1              pyhd3eb1b0_0  
jedi                      0.17.2           py37hecd8cb5_1  
jinja2                    3.0.3              pyhd3eb1b0_0  
jinja2-time               0.2.0              pyhd3eb1b0_3  
joblib                    1.1.0              pyhd3eb1b0_0  
jpeg                      9e                   hca72f7f_0  
json5                     0.9.6              pyhd3eb1b0_0  
jsonschema                4.4.0            py37hecd8cb5_0  
jupyter                   1.0.0            py37hecd8cb5_8  
jupyter_client            7.2.2            py37hecd8cb5_0  
jupyter_console           6.4.3              pyhd3eb1b0_0  
jupyter_core              4.10.0           py37hecd8cb5_0  
jupyter_server            1.18.1           py37hecd8cb5_0  
jupyterlab                3.4.4            py37hecd8cb5_0  
jupyterlab_pygments       0.1.2                      py_0  
jupyterlab_server         2.12.0           py37hecd8cb5_0  
jupyterlab_widgets        1.0.0              pyhd3eb1b0_1  
keyring                   23.4.0           py37hecd8cb5_0  
kiwisolver                1.4.2            py37he9d5cce_0  
krb5                      1.19.2               hcd88c3b_0  
lazy-object-proxy         1.6.0            py37h9ed2024_0  
lcms2                     2.12                 hf1fd2bf_0  
libarchive                3.5.2                ha0e9c3a_0  
libbrotlicommon           1.0.9                hca72f7f_7  
libbrotlidec              1.0.9                hca72f7f_7  
libbrotlienc              1.0.9                hca72f7f_7  
libcurl                   7.84.0               h6dfd666_0  
libcxx                    12.0.0               h2f01273_0  
libedit                   3.1.20210910         hca72f7f_0  
libev                     4.33                 h9ed2024_1  
libffi                    3.3                  hb1e8313_2  
libgfortran               3.0.1                h93005f0_2  
libiconv                  1.16                 hca72f7f_2  
liblief                   0.11.5               he9d5cce_1  
libllvm11                 11.1.0               h46f1229_1  
libllvm9                  9.0.1                h21ff451_1  
libnghttp2                1.46.0               ha29bfda_0  
libpng                    1.6.37               ha441bb4_0  
libsodium                 1.0.18               h1de35cc_0  
libspatialindex           1.9.3                h23ab428_0  
libssh2                   1.10.0               h0a4fc7d_0  
libtiff                   4.2.0                hdb42f99_1  
libuv                     1.40.0               haf1e3a3_0  
libwebp                   1.2.2                h56c3ce4_0  
libwebp-base              1.2.2                hca72f7f_0  
libxml2                   2.9.14               hbf8cd5e_0  
libxslt                   1.1.35               h5b33f42_0  
llvm-openmp               12.0.0               h0dcd299_1  
llvmlite                  0.38.0           py37h8346a28_0  
locket                    1.0.0            py37hecd8cb5_0  
lxml                      4.9.1            py37h65b224f_0  
lz4-c                     1.9.3                h23ab428_1  
lzo                       2.10                 haf1e3a3_2  
markupsafe                2.1.1            py37hca72f7f_0  
matplotlib                3.5.1            py37hecd8cb5_1  
matplotlib-base           3.5.1            py37hfb0c5b7_1  
matplotlib-inline         0.1.2              pyhd3eb1b0_2  
mccabe                    0.6.1            py37hecd8cb5_2  
mistune                   0.8.4            py37h1de35cc_0  
mkl                       2021.4.0           hecd8cb5_637  
mkl-service               2.4.0            py37h9ed2024_0  
mkl_fft                   1.3.1            py37h4ab4a9b_0  
mkl_random                1.2.2            py37hb2f4e1b_0  
mock                      4.0.3              pyhd3eb1b0_0  
more-itertools            8.12.0             pyhd3eb1b0_0  
mpc                       1.1.0                h6ef4df4_1  
mpfr                      4.0.2                h9066e36_1  
mpmath                    1.2.1            py37hecd8cb5_0  
msgpack-python            1.0.3            py37haf03e11_0  
multipledispatch          0.6.0                    py37_0  
munkres                   1.1.4                      py_0  
mypy_extensions           0.4.3            py37hecd8cb5_1  
navigator-updater         0.2.1                    py37_0  
nbclassic                 0.3.5              pyhd3eb1b0_0  
nbclient                  0.5.13           py37hecd8cb5_0  
nbconvert                 6.4.4            py37hecd8cb5_0  
nbdev                     0.2.18                   pypi_0    pypi
nbformat                  5.3.0            py37hecd8cb5_0  
ncurses                   6.3                  hca72f7f_3  
nest-asyncio              1.5.5            py37hecd8cb5_0  
networkx                  2.5.1              pyhd3eb1b0_0  
nltk                      3.7                pyhd3eb1b0_0  
nose                      1.3.7           pyhd3eb1b0_1008  
notebook                  6.4.12           py37hecd8cb5_0  
numba                     0.55.1           py37hae1ba45_0  
numexpr                   2.8.3            py37h2e5f0a9_0  
numpy                     1.21.5           py37h2e5f0a9_3  
numpy-base                1.21.5           py37h3b1a694_3  
numpydoc                  1.4.0            py37hecd8cb5_0  
olefile                   0.46                     py37_0  
openpyxl                  3.0.10           py37hca72f7f_0  
openssl                   1.1.1q               hca72f7f_0  
packaging                 21.3               pyhd3eb1b0_0  
pandas                    1.3.5            py37h743cdd8_0  
pandoc                    2.12                 hecd8cb5_0  
pandocfilters             1.5.0              pyhd3eb1b0_0  
parso                     0.7.0                      py_0  
partd                     1.2.0              pyhd3eb1b0_1  
path                      16.2.0             pyhd3eb1b0_0  
path.py                   12.5.0               hd3eb1b0_0  
pathlib2                  2.3.6            py37hecd8cb5_2  
pathspec                  0.9.0            py37hecd8cb5_0  
pathtools                 0.1.2              pyhd3eb1b0_1  
patsy                     0.5.2            py37hecd8cb5_1  
pcre                      8.45                 h23ab428_0  
pep8                      1.7.1            py37hecd8cb5_1  
pexpect                   4.8.0              pyhd3eb1b0_3  
pickleshare               0.7.5           pyhd3eb1b0_1003  
pillow                    9.2.0            py37hde71d04_1  
pip                       22.1.2           py37hecd8cb5_0  
pkginfo                   1.8.2              pyhd3eb1b0_0  
platformdirs              2.4.0              pyhd3eb1b0_0  
pluggy                    1.0.0            py37hecd8cb5_1  
ply                       3.11                     py37_0  
poyo                      0.5.0              pyhd3eb1b0_0  
prometheus_client         0.14.1           py37hecd8cb5_0  
prompt-toolkit            3.0.20             pyhd3eb1b0_0  
prompt_toolkit            3.0.20               hd3eb1b0_0  
psutil                    5.9.0            py37hca72f7f_0  
ptyprocess                0.7.0              pyhd3eb1b0_2  
py                        1.11.0             pyhd3eb1b0_0  
py-lief                   0.11.5           py37he9d5cce_1  
pycodestyle               2.6.0              pyhd3eb1b0_0  
pycosat                   0.6.3            py37h9ed2024_0  
pycparser                 2.21               pyhd3eb1b0_0  
pycrypto                  2.6.1           py37haf1e3a3_10  
pycurl                    7.45.1           py37h0a4fc7d_0  
pydocstyle                6.1.1              pyhd3eb1b0_0  
pyerfa                    2.0.0            py37h9ed2024_0  
pyflakes                  2.2.0              pyhd3eb1b0_0  
pygments                  2.11.2             pyhd3eb1b0_0  
pylint                    2.14.5           py37hecd8cb5_0  
pyls-black                0.4.6                hd3eb1b0_0  
pyls-spyder               0.3.2              pyhd3eb1b0_0  
pyodbc                    4.0.34           py37he9d5cce_0  
pyopenssl                 22.0.0             pyhd3eb1b0_0  
pyparsing                 3.0.4              pyhd3eb1b0_0  
pyqt                      5.9.2            py37h655552a_2  
pyrsistent                0.18.0           py37hca72f7f_0  
pysocks                   1.7.1            py37hecd8cb5_0  
pytables                  3.6.1            py37h5bccee9_0  
pytest                    7.1.2            py37hecd8cb5_0  
python                    3.7.4                h359304d_1  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-fastjsonschema     2.15.1             pyhd3eb1b0_0  
python-jsonrpc-server     0.4.0                      py_0  
python-language-server    0.36.2             pyhd3eb1b0_0  
python-libarchive-c       2.9                pyhd3eb1b0_1  
python-slugify            5.0.2              pyhd3eb1b0_0  
python.app                2                        py37_9  
pytz                      2022.1           py37hecd8cb5_0  
pywavelets                1.3.0            py37hca72f7f_0  
pyyaml                    6.0              py37hca72f7f_1  
pyzmq                     23.2.0           py37he9d5cce_0  
qdarkstyle                3.0.2              pyhd3eb1b0_0  
qstylizer                 0.1.10             pyhd3eb1b0_0  
qt                        5.9.7                h468cd18_1  
qtawesome                 1.0.3              pyhd3eb1b0_0  
qtconsole                 5.3.1            py37hecd8cb5_1  
qtpy                      2.0.1              pyhd3eb1b0_0  
readline                  7.0                  h1de35cc_5  
regex                     2020.5.7                 pypi_0    pypi
requests                  2.28.1           py37hecd8cb5_0  
ripgrep                   13.0.0               hc2228c6_0  
rope                      0.22.0             pyhd3eb1b0_0  
rtree                     0.9.7            py37hecd8cb5_1  
ruamel_yaml               0.15.100         py37h9ed2024_0  
scikit-image              0.16.2           py37h6c726b0_0  
scikit-learn              1.0.2            py37hae1ba45_1  
scipy                     1.7.3            py37h8c7af03_0  
seaborn                   0.11.1             pyhd3eb1b0_0  
send2trash                1.8.0              pyhd3eb1b0_1  
setuptools                61.2.0           py37hecd8cb5_0  
simplegeneric             0.8.1                    py37_2  
singledispatch            3.7.0           pyhd3eb1b0_1001  
sip                       4.19.8           py37h0a44026_0  
six                       1.16.0             pyhd3eb1b0_1  
sklearn                   0.0                      pypi_0    pypi
snappy                    1.1.9                he9d5cce_0  
sniffio                   1.2.0            py37hecd8cb5_1  
snowballstemmer           2.2.0              pyhd3eb1b0_0  
sortedcollections         2.1.0              pyhd3eb1b0_0  
sortedcontainers          2.4.0              pyhd3eb1b0_0  
soupsieve                 2.3.1              pyhd3eb1b0_0  
sphinx                    5.0.2            py37hecd8cb5_0  
sphinxcontrib             1.0                      py37_1  
sphinxcontrib-applehelp   1.0.2              pyhd3eb1b0_0  
sphinxcontrib-devhelp     1.0.2              pyhd3eb1b0_0  
sphinxcontrib-htmlhelp    2.0.0              pyhd3eb1b0_0  
sphinxcontrib-jsmath      1.0.1              pyhd3eb1b0_0  
sphinxcontrib-qthelp      1.0.3              pyhd3eb1b0_0  
sphinxcontrib-serializinghtml 1.1.5              pyhd3eb1b0_0  
sphinxcontrib-websupport  1.2.4                      py_0  
spyder                    5.0.3            py37hecd8cb5_1  
spyder-kernels            2.0.3            py37hecd8cb5_0  
sqlalchemy                1.4.39           py37hca72f7f_0  
sqlite                    3.31.1               h5c1f38d_1  
statsmodels               0.13.2           py37hca72f7f_0  
sympy                     1.10.1           py37hecd8cb5_0  
tbb                       2021.5.0             haf03e11_0  
tblib                     1.7.0              pyhd3eb1b0_0  
terminado                 0.13.1           py37hecd8cb5_0  
testpath                  0.6.0            py37hecd8cb5_0  
text-unidecode            1.3                pyhd3eb1b0_0  
textdistance              4.2.1              pyhd3eb1b0_0  
threadpoolctl             2.2.0              pyh0d69192_0  
three-merge               0.1.1              pyhd3eb1b0_0  
timezonefinder            5.2.0              pyh050c7b8_0    conda-forge
tinycss                   0.4             pyhd3eb1b0_1002  
tk                        8.6.12               h5d9f67b_0  
toml                      0.10.2             pyhd3eb1b0_0  
tomli                     2.0.1            py37hecd8cb5_0  
tomlkit                   0.11.1           py37hecd8cb5_0  
toolz                     0.11.2             pyhd3eb1b0_0  
tornado                   6.1              py37h9ed2024_0  
tqdm                      4.64.0           py37hecd8cb5_0  
traitlets                 5.1.1              pyhd3eb1b0_0  
treets                    0.3.0                    pypi_0    pypi
typed-ast                 1.4.3            py37h9ed2024_1  
typing-extensions         4.3.0            py37hecd8cb5_0  
typing_extensions         4.3.0            py37hecd8cb5_0  
tzlocal                   2.0.0                    pypi_0    pypi
ujson                     5.4.0            py37he9d5cce_0  
unicodecsv                0.14.1                   py37_0  
unidecode                 1.2.0              pyhd3eb1b0_0  
unixodbc                  2.3.11               hb456775_0  
urllib3                   1.26.11          py37hecd8cb5_0  
watchdog                  1.0.2            py37h9ed2024_1  
wcwidth                   0.2.5              pyhd3eb1b0_0  
webencodings              0.5.1                    py37_1  
websocket-client          0.58.0           py37hecd8cb5_4  
werkzeug                  2.0.3              pyhd3eb1b0_0  
wheel                     0.37.1             pyhd3eb1b0_0  
widgetsnbextension        3.5.2            py37hecd8cb5_0  
wrapt                     1.14.1           py37hca72f7f_0  
wurlitzer                 3.0.2            py37hecd8cb5_0  
xlrd                      2.0.1              pyhd3eb1b0_0  
xlsxwriter                3.0.3              pyhd3eb1b0_0  
xlwings                   0.24.9           py37hecd8cb5_0  
xlwt                      1.3.0                    py37_0  
xz                        5.2.5                hca72f7f_1  
yaml                      0.2.5                haf1e3a3_0  
yapf                      0.31.0             pyhd3eb1b0_0  
zeromq                    4.3.4                h23ab428_0  
zict                      2.1.0            py37hecd8cb5_0  
zipp                      3.8.0            py37hecd8cb5_0  
zlib                      1.2.12               h4dc903c_2  
zope                      1.0                      py37_1  
zope.event                4.5.0                    py37_0  
zope.interface            5.4.0            py37h9ed2024_0  
zstd                      1.5.2                hcb37349_0  

Error:

base) panenka:SALA jfleischer$ nbdev_test
WARNING:root:DistributionNotFound in /Volumes/GoogleDrive/My Drive/Code/SALA/00_processing.ipynb:
===========================================================================

While Executing Cell #9:
---------------------------------------------------------------------------
DistributionNotFound                      Traceback (most recent call last)
~/opt/anaconda3/lib/python3.7/site-packages/IPython/core/formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/showdoc.py in _repr_markdown_(self)
    168     def _repr_markdown_(self):
    169         doc = '---\n\n'
--> 170         src = NbdevLookup().code(self.fn)
    171         if src: doc += _ext_link(src, 'source', 'style="float:right; font-size:smaller"') + '\n\n'
    172         h = '#'*self.title_level

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/doclinks.py in __init__(self, strip_libs, incl_libs, skip_mods)
    181         if incl_libs is not None: incl_libs = (L(incl_libs)+strip_libs).unique()
    182         # Dict from lib name to _nbdev module for incl_libs (defaults to all)
--> 183         self.entries = {o.name: _qual_syms(o.load()) for o in list(pkg_resources.iter_entry_points(group='nbdev'))
    184                        if incl_libs is None or o.dist.key in incl_libs}
    185         py_syms = merge(*L(o['syms'].values() for o in self.entries.values()).concat())

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/doclinks.py in <dictcomp>(.0)
    182         # Dict from lib name to _nbdev module for incl_libs (defaults to all)
    183         self.entries = {o.name: _qual_syms(o.load()) for o in list(pkg_resources.iter_entry_points(group='nbdev'))
--> 184                        if incl_libs is None or o.dist.key in incl_libs}
    185         py_syms = merge(*L(o['syms'].values() for o in self.entries.values()).concat())
    186         for m in strip_libs:

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in load(self, require, *args, **kwargs)
   2455             )
   2456         if require:
-> 2457             self.require(*args, **kwargs)
   2458         return self.resolve()
   2459 

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in require(self, env, installer)
   2478         # requirements for that extra are purely optional and skip over them.
   2479         reqs = self.dist.requires(self.extras)
-> 2480         items = working_set.resolve(reqs, env, installer, extras=self.extras)
   2481         list(map(working_set.add, items))
   2482 

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in resolve(self, requirements, env, installer, replace_conflicting, extras)
    781                     if dist is None:
    782                         requirers = required_by.get(req, None)
--> 783                         raise DistributionNotFound(req, requirers)
    784                 to_activate.append(dist)
    785             if dist not in req:

DistributionNotFound: The 'asttokens; python_version == "3.7"' distribution was not found and is required by the application

WARNING:root:DistributionNotFound in /Volumes/GoogleDrive/My Drive/Code/SALA/01_plots.ipynb:
===========================================================================

While Executing Cell #7:
---------------------------------------------------------------------------
DistributionNotFound                      Traceback (most recent call last)
~/opt/anaconda3/lib/python3.7/site-packages/IPython/core/formatters.py in __call__(self, obj)
    343             method = get_real_method(obj, self.print_method)
    344             if method is not None:
--> 345                 return method()
    346             return None
    347         else:

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/showdoc.py in _repr_markdown_(self)
    168     def _repr_markdown_(self):
    169         doc = '---\n\n'
--> 170         src = NbdevLookup().code(self.fn)
    171         if src: doc += _ext_link(src, 'source', 'style="float:right; font-size:smaller"') + '\n\n'
    172         h = '#'*self.title_level

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/doclinks.py in __init__(self, strip_libs, incl_libs, skip_mods)
    181         if incl_libs is not None: incl_libs = (L(incl_libs)+strip_libs).unique()
    182         # Dict from lib name to _nbdev module for incl_libs (defaults to all)
--> 183         self.entries = {o.name: _qual_syms(o.load()) for o in list(pkg_resources.iter_entry_points(group='nbdev'))
    184                        if incl_libs is None or o.dist.key in incl_libs}
    185         py_syms = merge(*L(o['syms'].values() for o in self.entries.values()).concat())

~/opt/anaconda3/lib/python3.7/site-packages/nbdev/doclinks.py in <dictcomp>(.0)
    182         # Dict from lib name to _nbdev module for incl_libs (defaults to all)
    183         self.entries = {o.name: _qual_syms(o.load()) for o in list(pkg_resources.iter_entry_points(group='nbdev'))
--> 184                        if incl_libs is None or o.dist.key in incl_libs}
    185         py_syms = merge(*L(o['syms'].values() for o in self.entries.values()).concat())
    186         for m in strip_libs:

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in load(self, require, *args, **kwargs)
   2455             )
   2456         if require:
-> 2457             self.require(*args, **kwargs)
   2458         return self.resolve()
   2459 

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in require(self, env, installer)
   2478         # requirements for that extra are purely optional and skip over them.
   2479         reqs = self.dist.requires(self.extras)
-> 2480         items = working_set.resolve(reqs, env, installer, extras=self.extras)
   2481         list(map(working_set.add, items))
   2482 

~/opt/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py in resolve(self, requirements, env, installer, replace_conflicting, extras)
    781                     if dist is None:
    782                         requirers = required_by.get(req, None)
--> 783                         raise DistributionNotFound(req, requirers)
    784                 to_activate.append(dist)
    785             if dist not in req:

DistributionNotFound: The 'asttokens; python_version == "3.7"' distribution was not found and is required by the application

nbdev Tests Failed On The Following Notebooks:
==================================================
    00_processing.ipynb
    01_plots.ipynb
(base) panenka:SALA jfleischer$ 
tktran11 commented 2 years ago

Potentially unrelated, but it looks like your local config is missing fastparquet (which is required for panda's implementation of pd.read_parquet() to work with fastparquet as the selected engine).

jasongfleischer commented 2 years ago

I did a fast parquet install, still the same error message.

Per your request on Slack, here's the environment definition yml fleischer_base_env_panenka.yml.txt

tktran11 commented 2 years ago

@jasongfleischer when you get the opportunity can you try running a local version of the docs?

to do so, CD into the main repo and type "make docs_serve"

this will only work if you already have Jekyll installed (I believe all the gem files and other requirements should already be present in the repo). Otherwise you can attempt to follow these steps in case local viewing doesn't work.

image

the link in the image: https://jekyllrb.com/docs/installation/ubuntu/

tktran11 commented 2 years ago

i was having trouble getting the yaml file to create a working environment for me, but just cloning the repo and then running a local version of the docs worked perfectly fine

jasongfleischer commented 2 years ago

No dice on the docs. After the kids in bed tonight I'm going to try doing all this on my laptop instead of my desktop

(base) panenka:SALA jfleischer$ make docs_serve
nbdev_build_docs
Traceback (most recent call last):
  File "/Users/jfleischer/opt/anaconda3/bin/nbdev_build_docs", line 5, in <module>
    from nbdev.cli import nbdev_build_docs
ImportError: cannot import name 'nbdev_build_docs' from 'nbdev.cli' (/Users/jfleischer/opt/anaconda3/lib/python3.7/site-packages/nbdev/cli.py)
make: *** [docs] Error 1
(base) panenka:SALA jfleischer$ jekyll --version
jekyll 4.2.0
(base) panenka:SALA jfleischer$ 
jasongfleischer commented 2 years ago

Update on context

Before I didn't mention that I am using current nbdev (v2) because I'd never installed on my desktop before. Perhaps @474benchen has some idea what's going on?

Update on attempts to run

No dice with a brand new Conda environment, see attached screen grab if you're curious. TL;DR its a new error that is says that Astral's output, data['Sunrise'] is not a timestamp, so operations such as .dt.tz do not work. My new conda env is using astral 2.2, python 3.9.12, pandas 1.4.3. Full yml file attached again at the bottom of this message

Screen Shot 2022-09-13 at 10 24 56 PM

Update on making docs

Erm, nope. Using the new environment (and nbdev2 w/ quarto installed as root) I get this. Any comments Ben?

(SALA) panenka:SALA jfleischer$ nbdev_docs 
pandoc -o README.md
  to: gfm+footnotes+tex_math_dollars-yaml_metadata_block
  standalone: true
  default-image-extension: png

metadata
  description: A suite of tools built to work with light data from a Philips Spectrum Plus.
  title: SALA - Spectrum Actiwatch Light Analysis

Output created: docs/README.md

Traceback (most recent call last):
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3398, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-1-5621ce88f242>", line 3, in <cell line: 3>
NameError: name 'SALAFrame' is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/bin/nbdev_filter", line 8, in <module>
    sys.exit(nbdev_filter())
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/fastcore/script.py", line 119, in _f
    return tfunc(**merge(args, args_from_prog(func, xtra)))
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/cli.py", line 64, in nbdev_filter
    with redirect_stdout(dn): filt.nb_proc(nb).process()
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 122, in process
    for proc in self.procs: self._proc(proc)
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 115, in _proc
    for cell in self.nb.cells: self._process_cell(proc, cell)
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 106, in _process_cell
    if callable(proc) and not _is_direc(proc): cell = opt_set(cell, proc(cell))
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/processors.py", line 290, in __call__
    if self.k.exc: raise Exception(f"Error{' in notebook: '+title if title else ''} in cell {cell.idx_} :\n{cell.source}") from self.k.exc[1]
Exception: Error in notebook: Processing in cell 9 :
#|output: asis
#| echo: false
show_doc(SALAFrame.__init__, title_level = 3)

environment.yml.txt

jasongfleischer commented 2 years ago

Update to get it to compile!

fastparquet must be >0.5. That probably needs to be in settings.ini. Right now conda install fastparquet is using 0.5. Instead we must pip install it to get the current. If you already installed it with conda, do a pip install --upgrade fastparquet

After this change nbdev_export and nbdev_test had no errors. There are however some _test warnings that I suspect are not important

(SALA) panenka:SALA jfleischer$ nbdev_test
Found 1 csv files in data/v3/. Pass #1, raw data
.
.Found 1 csv files in data/v1/. Pass #1, raw data
.
.
Pass #2, data summary
.
.EOF without retrieving summary data: data/v3/user1234_v3sample.csv

Pass #2, data summary
.
.EOF without retrieving summary data: data/v1/user1234_v1sample.csv
Found 1 csv files in data/v1/. Pass #1, raw data
.
.Found 1 csv files in data/v3/. Pass #1, raw data
.
.
Pass #2, data summary
.
.EOF without retrieving summary data: data/v3/user1234_v3sample.csv

Pass #2, data summary
.
.EOF without retrieving summary data: data/v1/user1234_v1sample.csv
Success.
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:318: UserWarning: resource_tracker: There appear to be 6 leaked folder objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_b623a73d255a4604ac1ebcdfef0f2519_de08fdf91303469f91a6120173804be7: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_b623a73d255a4604ac1ebcdfef0f2519_e8f80ed3b78f4796a1b5ad97c92c2de7: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_ae1676424b2a4a0f92aefbe3ef19205e_cc970b38a76e46d4a37aa2ecd3dd7acc: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_98fab3cc445b49ecb407758e532f6d00_7df93c8a5535404c91e0e35be097092a: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_98fab3cc445b49ecb407758e532f6d00_4d02505dfe994cc3a682ff035c4f4ad9: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))
/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/joblib/externals/loky/backend/resource_tracker.py:333: UserWarning: resource_tracker: /var/folders/zn/62137mk56n9bzpdvgmj4f4_w0000gn/T/joblib_memmapping_folder_15812_9d6006fd7465417c9a25752ec4b447db_fa16bf84d82c4591b3c6d06eff6ed922: FileNotFoundError(2, 'No such file or directory')
  warnings.warn('resource_tracker: %s: %r' % (name, e))

Doc generation

To migrate to nbdev2 we need to migrate the notebooks documentation commands to a new format. See https://nbdev.fast.ai/migrating.html

This is a big PITA on MacOS. The default MacOS bash shell is very old, and does not include globstar which is part of the migration script from v1 to v2. A new bash can be installed via homebrew, follow the directions here https://dev.to/emcain/how-to-change-bash-versions-on-mac-with-homebrew-20o3

NB I have filed an issue for nbdev to modify their instructions https://github.com/fastai/nbdev/issues/1060

I have successfully updated my bash and migrated according to the recipe. However I still have the following errors... @tktran11 @samuelchu90 didn't we see something like this during the meeting, and it got resolved? How did we resolve it??? My brain is locked rn.

(SALA) panenka:SALA jfleischer$ nbdev_docs
pandoc -o README.md
  to: gfm+footnotes+tex_math_dollars-yaml_metadata_block
  standalone: true
  default-image-extension: png

metadata
  description: A suite of tools built to work with light data from a Philips Spectrum Plus.
  title: SALA - Spectrum Actiwatch Light Analysis

Output created: _docs/README.md

Traceback (most recent call last):
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3398, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-1-9e2041d8b22e>", line 10, in <cell line: 10>
ModuleNotFoundError: No module named 'SALA'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/bin/nbdev_filter", line 8, in <module>
    sys.exit(nbdev_filter())
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/fastcore/script.py", line 119, in _f
    return tfunc(**merge(args, args_from_prog(func, xtra)))
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/cli.py", line 64, in nbdev_filter
    with redirect_stdout(dn): filt.nb_proc(nb).process()
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 122, in process
    for proc in self.procs: self._proc(proc)
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 115, in _proc
    for cell in self.nb.cells: self._process_cell(proc, cell)
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/process.py", line 106, in _process_cell
    if callable(proc) and not _is_direc(proc): cell = opt_set(cell, proc(cell))
  File "/Users/jfleischer/opt/anaconda3/envs/SALA/lib/python3.9/site-packages/nbdev/processors.py", line 290, in __call__
    if self.k.exc: raise Exception(f"Error{' in notebook: '+title if title else ''} in cell {cell.idx_} :\n{cell.source}") from self.k.exc[1]
Exception: Error in notebook: Plots in cell 4 :
from joblib import Parallel, delayed
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.dates as md
import matplotlib as mpl

from datetime import time
from SALA.processing import SALAFrame
(SALA) panenka:SALA jfleischer$ 
seeM commented 2 years ago

pip install -e '.[dev]' might fix your latest issue. As per https://nbdev.fast.ai/tutorials/tutorial.html#install-your-package

jasongfleischer commented 2 years ago

That worked, thanks @seeM !

jasongfleischer commented 2 years ago

Following the directions in https://nbdev.fast.ai/tutorials/tutorial.html#enabling-github-pages gave me most of the problem solved. In addition to what's in there I had to manually create a gh-pages branch... I suspect that the automatic nbdev stuff to do this didn't work because this started life as a private rather than public repo.

The repo's automatic push-and-it-rebuilds actions are working as intended. The docs are now (kinda) available at https://FleischerResearchLab.github.io/SALA/

So I'm closing this issue.

HOWEVER @tktran11 @474benchen @samuelchu90 @QiwenZz I need your help! Right now it's just the README.md file, not the rest of the docs! So seems like there's some config missing. Can you figure this out and make it go live properly?

seeM commented 2 years ago

@jasongfleischer https://fleischerresearchlab.github.io/SALA/ looks like the default website that GitHub renders from your README.md. This often happens when the repo isn't configured to use the gh-pages branch. Here are instructions on how to do that: https://nbdev.fast.ai/tutorials/tutorial.html#enabling-github-pages. The relevant part for convenience:

You can enable it for your repo by clicking on the “Settings” tab near the top-right of your repo page, then “Pages” on the left, then setting the “Branch” to “gh-pages”, and finally clicking “Save”.