Test task.
Initially generated from cookiecutter aiohttp uvloop project template.
Publicly available: sa-test-task.herokuapp.com
- Python 3.6, 3.7 support.
- Asyncio & aiohttp used.
- Gunicorn with UVloop event loop (read why).
- Pipenv for Python dependency management.
- Yandex.Disk async lib used.
- JSON schemas for input validation.
- JWT tokens used for auth.
- Heroku deployment support.
- Travis CI autobuilds.
Firstly set required environment variable:
export YADISK_TOKEN=...
Upload speechanalytics-connect
directory from fixtures
to yours Ya.Disk root.
Run production ready gunicorn server with uvloop:
make daemon
Or alternatively run devserver:
make dev
This environment variables available:
SECRET_KEY
- секретный ключ авторизации (по дефолту равен токену я.диска).
YADISK_TOKEN
- единственный обязательный параметр, забирается тут.
YADISK_CALLDATA
- путь на я.диске, по дефолту '/speechanalytics-connect/meta/calls-info.csv'.
WHITELIST_URLS
- список URL без авторизации (изначально /ping, /health).
WHITELIST_IPS
- список разрешенных для доступа IP (используется в firewall middleware).
FIREWALL_ENABLED
- включение ограничения доступа по спискам (остальные получают 403).
See LICENSE.md.