tox fails due to being unable to reference the `script` module when
trying to run `script/gen_requirements_all.py`. Instead it needs to be
run as a module.
* Test typing for helpers.__init__ and temperature
* Add type hints to helpers.sun
* Add type hints to helpers.signal
* Add type hints to helpers.entity_values
* Add type hints to helpers.dispatcher
* Add type hints to helpers.intent and location
* Test typing for helpers.icon, json, and typing
* Add type hints to helpers.state
* Add type hints to helpers.translation
* Always load users in auth store before use
* Use namedtuple instead of dict for user meta
* Ignore auth store tokens with invalid created_at
* Add type hints to homeassistant.auth
* Create one tox env for code coverage report
pytest-cov generated report in project root folder, not tox env folder.
* Add cov tox env to travis
* Coveralls seems expecting all build jobs upload
* Only upload coverage after cov env success
## Description:
More typing improvements.
Switch to using `mypy.ini` for flexibility
Add `warn_return_any` check except in `homeassistant.util.yaml` that does typing hacks. Fix some type annotations as resulting from this check and ignore others were fixing is hard.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
## Description:
Make typing checks more strict: add `--strict-optional` flag that forbids implicit None return type. This flag will become default in the next version of mypy (0.600)
Add `homeassistant/util/` to checked dirs.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
* Do not leave remember the milk config file behind
* Fix exception in service causing service timeout
* Change max service timeout to 9 to catch services timing out
* Fix Google Sync service test
* Update and pin test requirements
* Allow bower install of frontend components as root. Needed for frontend development in docker since everything runs as root in the docker image.
* Improve development workflow in docker
* Use LANG=C.UTF-8 in tox. Fixes installation of libraries with UTF-8 in it's readme.
* Install mysqlclient psycopg2 uvloop after requirements_all.txt again, but with a --no-cache-dir this time. Allows bootstrap_frontend to be executed in a different path like the other scripts.
* Add websocket API
* Add identifiers to interactions
* Allow unsubscribing event listeners
* Add support for fetching data
* Clean up handling code websockets api
* Lint
* Add Home Assistant version to auth messages
* Py.test be less verbose in tox
* Add __main__ type hints
* Fix most errors of __main__
* Add ignore for script.run()
* Add type annotations for from_config_dict and from_config_file
* Fix errors
* Fix requirement error
* Add mypy type check to tests
* Enable travis typing check
* Messed up the tox deps
* Laxer type checker
This converts the testing infrastructure to tox for both locally
testing and travis. This is nearly equivalent to the previous testing
with the only exception that linting fails with the first tool to fail
and won't process all of them.
Slightly tricky thing is that tox resets *all* of the environment for
it's subprocess runs by default. A couple of the dependencies we have
will not install in non UTF8 locales: temper-python & XBee.