Drive your career as React Developer with Symphony Solutions!
×Закрыть

Python дайджест #8: Ресурси для вивчення Python, реліз Django 1.10, бот PokemonGo

У випуску: еволюція MicroPython, Language Wars, відновлення фото за допомогою нейронних мереж, бібліотека для роботи з часовим рядом, приклади вирішення проблем в Python за допомогою бібліотеки attrs, страх і ненависть в Async.

Новини

PyPy gets funding from Mozilla for Python 3.5 support — Mozilla вкладає 200 тис. доларів в розвиток PyPy на основі програми Mozilla Open Source Support.

Python 3 on Google App Engine flexible environment now in beta — додана можливість розробки на Python 3 в середовищі Google App Engine flexible environment.

The 10 Algorithms Machine Learning Engineers Need to Know — розгляд алгоритмів на основі Artificial Intelligence: A Modern Approach.

Preview the Python Serverless Microframework for AWS — preview можливості розробки Amazon API Gateway and AWS Lambda, використовуючи Python.

LinkedIn Launches Open Source Python Plugin for Gradle — додана підтримка Python в білд систему Gradle.

PyPy with CPython 3.5 support in heavy development — за допомогою інвестиції від Mozilla PyPy наймає 4 full time для роботи над інтеграцією PyPy + CPython 3.5.

Нові релізи

Pytest 3.0 — нова major версія Pytest.

MicroPython 1.8.3 — багато фіксів та btree модуль для ESP8266 port, також покращена передача файлів по WebREPL, яка підтримує неблокуючий режим.

Django 1.10 released — деякі з головних змін:
— Full text пошук для PostgreSQL;
— Middleware нового стилю;
— Офіційна підтримка Unicode юзернеймів;
— PyPy2 v5.4 released.

Цікаві бібліотеки

Stitch — написання репортів на Markdown.

Srez — досить вражаюче відновлення фото за допомогою нейронних мереж.

Pipeleaflet — парсер javascript/html для створення geojson файлів.

Cerberus — бібліотека для валідування даних, підтримує як Python 2, так і Python 3.

Kyoukai — ще один асинхронний фреймворк.

Albatross — і ще асинхронний фреймворк.

PyFlux: time-series for Python — бібліотека для роботи з часовим рядом.

Generating fantasy maps — генерація фантастичних карт, навіяних мріями юності автора.

Simplepipe.

Tbvaccine — утиліта для форматування трейсбеків Python.

Httsleep — бібліотека для поллінгу HTTP endpoints.

Yapi — Python Youtube Data API v3.

Flask JSONDash — побудова js графіків на основі json конфігурацій.

dataset: databases for lazy people — бібліотека для роботи з базами даних для лінивих в стилі ORM, але не зовсім.

TQDM — бібліотека для реалізації термінального прогрес бару.

Research.

PokemonGo-Bot — без коментарів.

Wooey.

PINCE — реверс інженірінг ігор з Pince.

PEP’s

PEP 628 — Add math.tau — accepted.

PEP 526 — Variable Declaration Syntax — ready for review.

PEP 525 — Asynchronous Generators.

Статті/ресурси

Introducing Which Film.

Python 3 Patterns, Recipes and Idioms.

Deploying Django with Gunicorn and Supervisor — туторіал по використанню Django з Gunicorn + Supervisor з прикладом налаштування Nginx.

Building a recommendation engine with AWS Data Pipeline, Elastic MapReduce and Spark — розробка recommendation engine для ресурсу Hubba.

Dialing Outbound Phone Calls with a Bottle Web App.

Hacking together a Simple Graphical Python Debugger — розгляд можливостей дебагінгу Python, окрім pdb.

Python, Machine Learning, and Language Wars.

The Python JITs are coming.

How to build and deploy a Facebook Messenger bot with Python and Flask, a tutorial.

Arguments against JSON-driven development — роздуми про те, які проблеми вносить надмірне використання json-like підходу в розробці (dict, list etc.)

Conda: Myths and Misconceptions.

How to Crawl the Web Politely with Scrapy.

Contributing os.scandir() to Python — стаття про досвід контрібютання в core Python бібліотеку та PEP 471.

TIL that initial Python commit was 26 years ago. I am too young.

A Container Is A Function Call.

The One Python Library Everyone Needs — «Use attrs. Use it. Use it for everything.» Приклади вирішення проблем в Python за допомогою бібліотеки attrs.

Interactive Data Visualization of Geospatial Data using D3.js, DC.js, Leaflet.js and Python на основі Kaggle competition.

Computational and Inferential Thinking The Foundations of Data Science.

JupyterLab: the next generation of the Jupyter Notebook — середовище обчислень для Jupyter.

Python Packaging Is Good Now — «setup.py is your friend. It’s real sorry about what happened last time.» від Glyph, розробника Twisted.

Designing Pythonic APIs (learning from Kenneth Reitz’s Requests).

Requests vs urllib: What problem does it solve? — порівняння urllib з request, ніші кожної з бібліотек та чому requests не є частиною стандартної бібліотеки Python.

Network protocols, sans I/O.

On Cybersecurity and Being Targeted — історія про атаку на акаунти розробника Requests Kenneth Reitz.

Web Service Efficiency at Instagram with Python — стаття про використання Python+Django стеку в Instagram. Профілювання Django, моніторинг на alert механізми.

Python FAQ: Why should I use Python 3?

Thesaurus of Mathematical Languages, or MATLAB synonymous commands in Python/NumPy.

A Neural Network Scoring Engine in PL/SQL.

Building HTTP 2 server in Python.

1M rows/s from Postgres to Python — бенчмарк asyncpg з порівнянням реалізацій на Python, NodeJS, Go.

Threading/locking is 4x as fast on Python 3 vs Python 2 — this is great, but I’m curious why?

Embedding JavaScript into Python — інтерфейс для використання V8 на основі PyMiniRacer.

A 3D Modeller in Python.

Learn Python online — A curated list of courses on Python — список ресурсів для вивчення Python від початківців до бородатих сеньорів.

Відео

Python 3 at Facebook — доповідь про використання Python3, asyncio в Facebook.

Fear and Awaiting in Async (Screencast) — страх і ненависть в Async. Подорож в серце Корутинної Мрії (довільний переклад, але пошановувачі Террі Гіліама зрозуміють).

MicroPython: a journey from Kickstarter to Space — розповідь про еволюцію MicroPython: від проекту на Kickstarter до співпраці з European Space Agency.

uArm Creator Studio — Robot Arms and Computer Vision Made Easy, репозиторій — uArm.


Якщо маєте цікаві лінки та матеріали, то надсилайте на hulpa.yura@gmail.com


← Попередній випуск: Python дайджест #7
Наступний випуск: Python дайджест #9

LinkedIn

9 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

За список ресурсов по изучению спасибо. Всё остальное фтопку.

С ботоводством в покемонах вы слегонца опоздали — щас прошло несколько волн банов. Лучше пересидеть, а потом уже ботоводить))

:) тут деякі новини не такі вже і «нові». відносно, звісно ж. Причина — деякий час не виходило дайджестів, через брак часу, тому цей вийшов як all in one.

Бот цікавий кодом а не застосуванням) Навіщо псувати (собі) таку цікаву гру?

Ортопед запрещает много ходить, приходицца использовать альтернативные методы)

«PyPy gets funding from Mozilla for Python 3.5 support»

PyPy на данный момент довольно зрелый, но это тупиковая ветвь развития интерпретатора нового поколения — зачем?? Pyston нуждается в финансировании и поддержке намного больше. :/
Спасибо, хоть, что не вложили все средства фонда в мертвый Unladen Swallow!

www.youtube.com/watch?v=NdB9XoBg5zI

Бугурт уже от первого пункта.

ЗЫ: Спасибо за дайджест!

Почему PyPy тупиковая ветвь, и разве Pyston не финансируется дропбоксом?

Касательно финансирования Dropbox-ом — верно. Но это не означает, что проекту не нужна дополнительная помощь. Пока его не довели до более менее зрелого состояния — зачем распыляться на другие реализации. Тут и Гвидо, и все все все пыхтят. Напоминает ситуации, наподобие glibc vs eglibc или libreoffice vs openoffice. Это не тот случай, когда конкуренция стимулирует. Будет только хуже.

Касательно причин, по которым, как минимум я (на самом деле нет) считаю PyPy не очень перспективным:
— Расширения написанные на C уже давно стали частью экосистемы, хотя изначально воспринимались, как особенность, свойственная интерпретатору CPython. Сегодня мир Python без, к примеру, поддержки numpy, не является полноценным. Я не о невозможности неофициальных форков с кучей монкипатчинга, чтобы заработало в PyPy, а о том, что львиная доля проектов (data science и прочее), которая является сильной стороной языка будет попросту вычеркнута.
— Без refcounting не избежать регрессий — GC все таки убирает обьект из памяти спустя некоторое время, есть логика, рассчитывающая на мгновенное освобождение во многих библиотеках. Это не фиксится — это переписывается, так как это особенности реализации, а не баги.

Грубо говоря, PyPy это интерпретатор для написания всего с нуля, игнорируя принцип batteries included. Нужно, если не оставлять CPython, то, хотя бы, ответвляться от него правильно, не «меняя» или «урезая» язык. Это не правильная стратегия, IMHO.

PS: Да, есть языки, в которых каждая новая версия — это переписывание с нуля, к примеру — Perl. Разработчики так прямо и говорят — «новая версия — новый язык». Python — это другая философия.

Подписаться на комментарии