Вы находитесь на странице: 1из 19

Advanced Python.

IT Education
Beyond core python. Academy

WWW.ITEA.UA
www.itea.ua

Виды тестирования
■ Unit
■ Нагрузочное (stress)
■ Регрессионное
■ Интеграционное
www.itea.ua

Виды тестирования
■ Unit
■ Нагрузочное (stress)
■ Регрессионное
■ Интеграционное
www.itea.ua

Тестирование
■ mock/patch (unittest.mock в Python 3.4+)
■ pytest (http://pytest.org/)
■ flake8
■ coverage, pytest-cov
■ hypothesis
■ factory_boy, mixer
■ tox
www.itea.ua

■ mock/patch (unittest.mock в Python 3.4+)


■ pytest (http://pytest.org/)
■ flake8
■ coverage, pytest-cov
■ hypothesis
■ factory_boy, mixer
■ tox
www.itea.ua

Создание пакетов
■ distutils
■ setuptools
www.itea.ua

Оптимизация
■ Cython
■ PyPy
www.itea.ua

Аннотации
■ Параметры
■ Возвращаемые значения
■ Переменные

Для доступа - аттрибут __annotations__


www.itea.ua

Типизация: typing, mypy


■ алиасы: List, Tuple, Dict, и т.п.
■ обобщенные: Mapping, Sequence, и т.п.
■ строки: Text, AnyStr
■ file-like объекты: IO
■ NewType
■ Any
■ Union
■ Optional
www.itea.ua

Trafaret
■ схема данных
■ валидация
■ трансформация (>>)
www.itea.ua

Trafaret
■ Or
■ Null
■ Bool
■ Float
■ Int
■ Atom
■ String, Email, URL
■ Dict, Key, Mapping
■ Callable
■ Enum
www.itea.ua

Trafaret Dict
■ allow_extra
■ make_optional
■ ignore_extra
www.itea.ua

Создание пакетов
■ distutils
■ setuptools
www.itea.ua

setuptools
from setuptools import setup

setup(
name='yourscript',
version='0.1',
py_modules=['yourscript'],
entry_points='''
[console_scripts]
yourscript=yourscript:cli
''',
)
www.itea.ua

Очереди
■ Celery (http://www.celeryproject.org/)
■ rq
www.itea.ua

Кеширование
■ Varnish
■ Redis
■ Memcached
www.itea.ua

Полнотекстовый поиск
■ Sphinx
■ Elasticsearch
www.itea.ua

WSGI-совместимые сервера
■ uWSGI
■ Gunicorn (http://gunicorn.org/)
www.itea.ua

SciPy
■ numpy
■ pandas
■ ipython
■ matplotlib
■ sympy