Лучшие проекты, в которых стоит поучаствовать, чтобы примкнуть к Open Source движению и развить свои навыки. Часть четвертая. Python
Комментарии
В закладки
28691
Если вы интересуетесь жизнью Open Source сообщества и хотите к нему присоединиться, то эта серия подборок придётся вам как нельзя кстати, ведь в ней собраны лучшие проекты с открытым исходным кодом. В четвертой части серии вы найдёте самые интересные Open Source проекты на Python.
Python
TensorFlow — библиотека для численных расчётов с использованием графов потока данных. Вершины графа — это математические операции, а рёбра — многомерные массивы данных (тензоры). Гибкость такой архитектуры позволяет использовать один и тот же код на разных системах.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Elizabeth — это простой способ генерировать тестовые данные (dummy data) для различных целей. Elizabeth использует основанное на JSON хранилище данных и зависит только от стандартной библиотеки. Есть возможность генерировать данные 18 разных типов: связанные с едой, людьми, аппаратным обеспечением, перевозками, адресами и т.д.
Пример использования:
>>> from elizabeth import Personal
>>> p = Personal('en')
>>>
>>> p.full_name(gender='female')
'Antonetta Garrison'
>>> p.blood_type()
'O-'
>>> p.occupation()
'Programmer'
При запросе данных можно указать язык или страну, и данные будут соответствовать запросу. Пока что поддерживается 20 языков, русский в том числе.
Пример интеграции с Flask:
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Pipenv — это экспериментальный проект, целью которого является облегчение работы с пакетами. Он объединяет Pipfile, pip и virtualenv.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Flask — это микрофреймворк, основанный на Werkzeug и Jinja2.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Django — это высокоуровневый фреймворк для веб-разработки.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
expynent — это маленькая библиотека, предоставляющая RegEx-шаблоны. Пригодится, если лень писать регулярки самому.
Примеры:
import re
import expynent.patterns as expas
if re.match(expas.ZIP_CODE['RU'], '43134'):
print('match')
else:
print('not match')
# Output: 'not match'
from expynent.compiled import username
u = input('Enter username: ')
if username.match(u):
print('valid')
else:
print('invalid')
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Universe — это платформа для измерения “ума” ИИ и его обучения на большой коллекции игр, сайтов и приложений.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Theano — библиотека, позволяющая задавать, оптимизировать и вычислять математические выражения с многомерными массивами. Для расчётов можно использовать GPU.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
http-prompt — интерактивный HTTP-клиент в командной строке.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
falcon — высокопроизводительный фреймворк для создания облачных API.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
eve — фреймворк для создания настраиваемых RESTful веб-сервисов.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
plotly.py — интерактивная библиотека для создания графиков.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
cerberus — лёгкая библиотека для валидации данных.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
python-prompt-toolkit — библиотека для создания мощных интерактивных инструментов для командной строки и терминала.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
superset — интерактивная платформа для исследования данных.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Pandas — это пакет, предоставляющий быстрые и гибкие структуры данных для работы с различными видами данных.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
astropy — пакет для работы с астрономией и астрофизикой.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
httpie — HTTP-клиент в командной строке, цель которого — сделать работу с веб-сервисами максимально дружественной.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
compose — инструмент для создания и запуска мультиконтейнерных Docker-приложений.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
keras — библиотека нейронных сетей, способна работать с TensorFlow и Theano.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
bokeh — библиотека для интерактивной визуализации данных в современных браузерах.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Records — это простая, но мощная библиотека для создания сырых SQL-запросов к большинству РСУБД.
Поддержка: Python 2/3
Пример:
import records
db = records.Database('postgres://...')
rows = db.query('select * from active_users')
>>> rows[0]
<Record {"username": "model-t", "active": true, "name": "Henry Ford", "user_email": "model-t@gmail.com", "timezone": "2016-02-06 22:28:23.894202"}>
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
coala предоставляет унифицированный интерфейс командной строки для статического анализа и исправления кода, написанного на любом языке программирования.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Sanic — это Python 3.5+ веб-сервер, похожий на Flask. Поддерживает асинхронную обработку запросов.
Поддержка: Python 3.5+
Пример:
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
return json({"hello": "world"})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Locust — это простой инструмент для нагрузочного тестирования сайтов и не только.
Поддержка: Python 2/3
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
py.test — фреймворк, упрощающий написание небольших тестов.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
matplotlib — это библиотека для работы с двумерными графиками, которую можно использовать в скриптах, оболочках, на серверах веб-приложений и т.д.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
Kivy — это кроссплатформенный фреймворк для создания интерфейсов, поддерживающих multi-touch.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
tqdm — прогресс-бар для Python и командной строки.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
pycodestyle — это инструмент для проверки вашего Python-кода на соответствие конвенциям PEP8.
Пример:
$ pycodestyle --first optparse.py
optparse.py:69:11: E401 multiple imports on one line
optparse.py:77:1: E302 expected 2 blank lines, found 1
optparse.py:88:5: E301 expected 1 blank line, found 0
optparse.py:222:34: W602 deprecated form of raising exception
optparse.py:347:31: E211 whitespace before '('
optparse.py:357:17: E201 whitespace after '{'
optparse.py:472:29: E221 multiple spaces before operator
optparse.py:544:21: W601 .has_key() is deprecated, use 'in'
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.
BossSensor — сменит активное окно, если начальник поблизости.
Пример:
Начальник встал. Он приближается.
Когда он достаточно близко, производится снимок лица и распознавание.
Если начальник распознан, активное окно изменяется.
На данный момент этот блок не поддерживается, но мы не забыли о нём!Наша команда уже занята его разработкой, он будет доступен в ближайшее время.