* Event must be a string
* test that event can't be a dict
* convert dicts and other unknown event names to strings
* mypy
* update packages to have mypy working with python 3.9
* fix event name sanitization types
* fix misc type error from mypy/django-stubs update
* fix other type errors from mypy/django-stubs update
* add migration to update events for users if there's weird data in team.event_names
* ignore type to fix mypy issue
* fix migrations
* Basic caching for Clickhouse to redis
* Use redis for caching results
* add tests and fix bugs
* fix mypy
* add fakeredis as req
* add fakeredis to github action for testing
* add fakeredis to cloud tests too
* pickle -> json
* bytes
* json in tests
* tuplefy
* Remove some seemingly unused requirements
* Remove a few more
* Bring back dependencies of other requirements
* pip-compile prod requirements
* Sync with master updates
* Fix grep
* Revert "Fix grep"
This reverts commit 2e6538cad4.
* Fix grep but using cut
* Clean up and regenerate requirements
* Simplify requirements-dev
* Fix fakeredis import in production
* Black