Metadata-Version: 2.1
Name: CanvasHacks
Version: 0.0.18
Summary: Tools for mitigating the user-unfriendliness of canvas.
Home-page: https://github.com/AdamSwenson/CanvasHacks
Author: adam swenson
Author-email: adam.swenson@csun.edu
License: MIT
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.6.0
Requires-Dist: AdamTools (==0.0.2)
Requires-Dist: afinn (==0.1)
Requires-Dist: aiodns (==1.1.1)
Requires-Dist: aiohttp (==3.4.4)
Requires-Dist: aiounittest (==1.1.0)
Requires-Dist: alembic (==1.0.5)
Requires-Dist: appnope (==0.1.0)
Requires-Dist: arrow (==0.4.2)
Requires-Dist: asn1crypto (==0.24.0)
Requires-Dist: async-timeout (==3.0.0)
Requires-Dist: attrs (==18.1.0)
Requires-Dist: backcall (==0.1.0)
Requires-Dist: bcrypt (==3.1.4)
Requires-Dist: beautifulsoup4 (==4.6.3)
Requires-Dist: bleach (==2.1.3)
Requires-Dist: bokeh (==1.0.4)
Requires-Dist: bs4 (==0.0.1)
Requires-Dist: cachetools (==4.0.0)
Requires-Dist: canvasapi (==0.15.0)
Requires-Dist: CanvasHacks (==0.0.17)
Requires-Dist: cchardet (==2.1.1)
Requires-Dist: certifi (==2018.4.16)
Requires-Dist: cffi (==1.11.5)
Requires-Dist: chardet (==3.0.4)
Requires-Dist: Click (==7.0)
Requires-Dist: configparser (==3.5.0)
Requires-Dist: CourseZero (==0.0.6)
Requires-Dist: cryptography (==2.2.2)
Requires-Dist: cycler (==0.10.0)
Requires-Dist: Cython (==0.29.1)
Requires-Dist: DAWG (==0.7.8)
Requires-Dist: decorator (==4.3.0)
Requires-Dist: defusedxml (==0.5.0)
Requires-Dist: docutils (==0.14)
Requires-Dist: docx (==0.2.4)
Requires-Dist: entrypoints (==0.2.3)
Requires-Dist: et-xmlfile (==1.0.1)
Requires-Dist: factory-boy (==2.11.1)
Requires-Dist: Faker (==1.0.0)
Requires-Dist: Flask (==1.1.1)
Requires-Dist: future (==0.16.0)
Requires-Dist: gdata (==2.0.18)
Requires-Dist: google-api-python-client (==1.7.11)
Requires-Dist: google-auth (==1.10.0)
Requires-Dist: google-auth-httplib2 (==0.0.3)
Requires-Dist: google-auth-oauthlib (==0.4.1)
Requires-Dist: h5py (==2.9.0)
Requires-Dist: html5lib (==1.0.1)
Requires-Dist: httplib2 (==0.15.0)
Requires-Dist: icalendar (==4.0.3)
Requires-Dist: ics (==0.4)
Requires-Dist: idna (==2.7)
Requires-Dist: idna-ssl (==1.1.0)
Requires-Dist: importlib-metadata (==1.3.0)
Requires-Dist: ipykernel (==5.1.0)
Requires-Dist: ipyparallel (==6.2.3)
Requires-Dist: ipython (==7.11.1)
Requires-Dist: ipython-genutils (==0.2.0)
Requires-Dist: ipywidgets (==7.4.2)
Requires-Dist: itsdangerous (==1.1.0)
Requires-Dist: jdcal (==1.4)
Requires-Dist: jedi (==0.12.0)
Requires-Dist: Jinja2 (==2.10.3)
Requires-Dist: json5 (==0.8.5)
Requires-Dist: jsonschema (==3.2.0)
Requires-Dist: jupyter (==1.0.0)
Requires-Dist: jupyter-client (==5.3.4)
Requires-Dist: jupyter-console (==6.0.0)
Requires-Dist: jupyter-contrib-core (==0.3.3)
Requires-Dist: jupyter-contrib-nbextensions (==0.5.1)
Requires-Dist: jupyter-core (==4.6.1)
Requires-Dist: jupyter-highlight-selected-word (==0.2.0)
Requires-Dist: jupyter-latex-envs (==1.4.6)
Requires-Dist: jupyter-nbextensions-configurator (==0.4.1)
Requires-Dist: jupyterlab (==1.2.4)
Requires-Dist: jupyterlab-launcher (==0.13.1)
Requires-Dist: jupyterlab-server (==1.0.6)
Requires-Dist: kiwisolver (==1.0.1)
Requires-Dist: Logbook (==1.4.1)
Requires-Dist: lxml (==4.2.3)
Requires-Dist: Mako (==1.0.7)
Requires-Dist: MarkupSafe (==1.0)
Requires-Dist: matplotlib (==3.2.1)
Requires-Dist: mistune (==0.8.3)
Requires-Dist: more-itertools (==8.0.2)
Requires-Dist: multidict (==4.3.1)
Requires-Dist: mysql-connector (==2.1.6)
Requires-Dist: mysql-connector-python (==8.0.13)
Requires-Dist: nbconvert (==5.4.1)
Requires-Dist: nbformat (==4.4.0)
Requires-Dist: nbstripout (==0.3.3)
Requires-Dist: networkx (==2.2)
Requires-Dist: nltk (==3.4)
Requires-Dist: nose (==1.3.7)
Requires-Dist: notebook (==6.0.3)
Requires-Dist: numexpr (==2.6.9)
Requires-Dist: numpy (==1.18.2)
Requires-Dist: oauth2client (==4.1.3)
Requires-Dist: oauthlib (==2.1.0)
Requires-Dist: openpyxl (==2.5.4)
Requires-Dist: packaging (==17.1)
Requires-Dist: pandas (==1.0.3)
Requires-Dist: pandocfilters (==1.4.2)
Requires-Dist: paramiko (==2.4.2)
Requires-Dist: parso (==0.3.0)
Requires-Dist: pexpect (==4.6.0)
Requires-Dist: pickleshare (==0.7.4)
Requires-Dist: Pillow (==5.2.0)
Requires-Dist: pipenv (==2018.11.26)
Requires-Dist: pkginfo (==1.5.0.1)
Requires-Dist: probableparsing (==0.0.1)
Requires-Dist: progress (==1.4)
Requires-Dist: prometheus-client (==0.3.0)
Requires-Dist: prompt-toolkit (==2.0.5)
Requires-Dist: protobuf (==3.6.0)
Requires-Dist: pscript (==0.5.5)
Requires-Dist: ptyprocess (==0.6.0)
Requires-Dist: pyasn1 (==0.4.8)
Requires-Dist: pyasn1-modules (==0.2.7)
Requires-Dist: pycares (==2.3.0)
Requires-Dist: pycparser (==2.18)
Requires-Dist: Pygments (==2.2.0)
Requires-Dist: PyNaCl (==1.2.1)
Requires-Dist: pyparsing (==2.2.0)
Requires-Dist: PyPDF2 (==1.26.0)
Requires-Dist: pyreadline (==2.1)
Requires-Dist: pyrsistent (==0.15.7)
Requires-Dist: python-crfsuite (==0.9.6)
Requires-Dist: python-dateutil (==2.7.3)
Requires-Dist: python-docx (==0.8.7)
Requires-Dist: python-editor (==1.0.3)
Requires-Dist: python-twitter (==3.4.2)
Requires-Dist: pytz (==2018.5)
Requires-Dist: PyYAML (==3.13)
Requires-Dist: pyzmq (==17.0.0)
Requires-Dist: qtconsole (==4.3.1)
Requires-Dist: readme-renderer (==24.0)
Requires-Dist: requests (==2.21.0)
Requires-Dist: requests-oauthlib (==1.1.0)
Requires-Dist: requests-toolbelt (==0.9.1)
Requires-Dist: rsa (==4.0)
Requires-Dist: scikits.bootstrap (==0.3.3)
Requires-Dist: scipy (==1.2.0)
Requires-Dist: seaborn (==0.10.0)
Requires-Dist: Send2Trash (==1.5.0)
Requires-Dist: sentiment-classifier (==0.7)
Requires-Dist: simplegeneric (==0.8.1)
Requires-Dist: singledispatch (==3.4.0.3)
Requires-Dist: six (==1.11.0)
Requires-Dist: slackclient (==1.3.0)
Requires-Dist: SQLAlchemy (==1.2.16)
Requires-Dist: sshtunnel (==0.1.4)
Requires-Dist: tables (==3.4.4)
Requires-Dist: terminado (==0.8.1)
Requires-Dist: testpath (==0.3.1)
Requires-Dist: text-unidecode (==1.2)
Requires-Dist: tornado (==5.1.1)
Requires-Dist: tornado-sqlalchemy (==0.5.0)
Requires-Dist: tqdm (==4.30.0)
Requires-Dist: traitlets (==4.3.2)
Requires-Dist: twine (==1.12.1)
Requires-Dist: twitter-text (==3.0)
Requires-Dist: uritemplate (==3.0.1)
Requires-Dist: urllib3 (==1.24.1)
Requires-Dist: usaddress (==0.5.10)
Requires-Dist: virtualenv (==16.7.5)
Requires-Dist: virtualenv-clone (==0.5.3)
Requires-Dist: wcwidth (==0.1.7)
Requires-Dist: webencodings (==0.5.1)
Requires-Dist: websocket-client (==0.53.0)
Requires-Dist: Werkzeug (==0.16.0)
Requires-Dist: widgetsnbextension (==3.4.2)
Requires-Dist: wordcloud (==1.5.0)
Requires-Dist: xlrd (==1.1.0)
Requires-Dist: xmltodict (==0.11.0)
Requires-Dist: yapf (==0.22.0)
Requires-Dist: yarl (==1.2.6)
Requires-Dist: zipp (==0.6.0)


# CanvasHacks

Canvas is great! Except for the ways it isn't. 

These are tools for mitigating the user-unfriendliness of canvas

Presently a work in progress. Don't try using it, yet....

