Лучшие Open Source проекты на Python

МЕНЮ


Искусственный интеллект. Новости
Поиск
Регистрация на сайте
Сбор средств на аренду сервера для ai-news

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация




RSS


RSS новости

Новостная лента форума ailab.ru


2019-02-10 22:10

разработка по

Если вы интересуетесь жизнью 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.

The Numenta Platform for Intelligent Computing (NUPIC) — это платформа для реализации обучающих алгоритмов HTM. В частности, используется для распознавания аномалий и предсказания.

Поддержка: Python 2

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 2/3

>>> v = Validator({'name': {'type': 'string'}}) >>> v.validate({'name': 'john doe'}) True

Rainbow Stream — клиент Твиттера для терминала. Обширный функционал.i

Поддержка: Python 2/3

the fuck — прекрасное приложение, которое исправляет вашу последнюю команду в консоли.

Поддержка: Python 2/3

pgcli — интерфейс командной строки для Postgres с автодополнением и подсветкой синтаксиса.

Поддержка: Python 2/3

mycli — интерфейс командной строки для MySQL с автодополнением и подсветкой синтаксиса.

Pendulum — работа с временем никогда не была такой простой.

Поддержка: Python 2/3

Пример:

>>> import pendulum  >>> now_in_paris = pendulum.now('Europe/Paris') >>> now_in_paris '2016-07-04T00:49:58.502116+02:00'  # Seamless timezone switching >>> now_in_paris.in_timezone('UTC') '2016-07-03T22:49:58.502116+00:00'  >>> tomorrow = pendulum.now().add(days=1) >>> last_week = pendulum.now().subtract(weeks=1)  >>> if pendulum.now().is_weekend(): ...     print('Party!') 'Party!'  >>> past = pendulum.now().subtract(minutes=2) >>> past.diff_for_humans() >>> '2 minutes ago'  >>> delta = past - last_week >>> delta.hours 23 >>> delta.in_words(locale='en') '6 days 23 hours 58 minutes'  # Proper handling of datetime normalization >>> pendulum.create(2013, 3, 31, 2, 30, 0, 0, 'Europe/Paris') '2013-03-31T03:30:00+02:00' # 2:30 does not exist (Skipped time)  # Proper handling of dst transitions >>> just_before = pendulum.create(2013, 3, 31, 1, 59, 59, 999999, 'Europe/Paris') '2013-03-31T01:59:59.999999+01:00' >>> just_before.add(microseconds=1) '2013-03-31T03:00:00+02:00'

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 — фреймворк, упрощающий написание небольших тестов.

Поддержка: Python 2/3

Пример:

def inc(x):     return x + 1  def test_answer():     assert inc(3) == 5

uvloop — это быстрая замена asyncio. Написана на Cython, использует libuv.

Поддержка: Python 2/3

Voltron — расширяемый набор инструментов для отладки с пользовательским интерфейсом. Поддерживает LLDB, GDB, VDB и WinDbg.

Поддержка: Python 2/3

Вот так выглядит интерфейс автора проекта:

Каждая команда отладчика может быть выделена отдельно:

Больше скриншотов можно найти здесь.

Maya — библиотека для работы со временем.

Поддержка: Python 3

>>> now = maya.now() <MayaDT epoch=1481850660.9>  >>> tomorrow = maya.when('tomorrow') <MayaDT epoch=1481919067.23>  >>> tomorrow.slang_date() 'tomorrow'  >>> tomorrow.slang_time() '23 hours from now'  >>> tomorrow.iso8601() '2016-12-16T15:11:30.263350Z'  >>> tomorrow.rfc2822() 'Fri, 16 Dec 2016 20:11:30 -0000'  >>> tomorrow.datetime() datetime.datetime(2016, 12, 16, 15, 11, 30, 263350, tzinfo=<UTC>)  # Automatically parse datetime strings and generate naive datetimes. >>> scraped = '2016-12-16 18:23:45.423992+00:00' >>> maya.parse(scraped).datetime(to_timezone='US/Eastern', naive=True) datetime.datetime(2016, 12, 16, 13, 23, 45, 423992)  >>> rand_day = maya.when('2011-02-07', timezone='US/Eastern') <MayaDT epoch=1297036800.0>  # Note how this is the 6th, not the 7th. >>> rand_day.day 6  # Always. >>> rand_day.timezone UTC

Cabot — это платформа для мониторинга инфраструктуры.

Поддержка: Python 2/3

Glances — это кроссплатформенный инструмент для мониторинга системы.

hug — инструмент для упрощения написания API.

Certbot — это инструмент для настройки шифрования веб-сервера.

Khal — программа для работы с календарём.

asciinema — утилита, записывающая терминальные сессии.

Requests. Python HTTP Requests for Humans™

Инструмент для упрощения работы с HTTP-запросами. Является одним из самых скачиваемых Python-пакетов.

Пример:

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text u'{"type":"User"...' >>> r.json() {u'disk_usage': 368627, u'private_gists': 484, ...}

Mail-in-a-Box предназначен для настройки почтовых серверов.

schema — это библиотека для валидации структур данных.

Пример:

>>> from schema import Schema, And, Use, Optional  >>> schema = Schema([{'name': And(str, len), ...                   'age':  And(Use(int), lambda n: 18 <= n <= 99), ...                   Optional('sex'): And(str, Use(str.lower), ...                                        lambda s: s in ('male', 'female'))}])  >>> data = [{'name': 'Sue', 'age': '28', 'sex': 'FEMALE'}, ...         {'name': 'Sam', 'age': '42'}, ...         {'name': 'Sacha', 'age': '20', 'sex': 'Male'}]  >>> validated = schema.validate(data)  >>> assert validated == [{'name': 'Sue', 'age': 28, 'sex': 'female'}, ...                      {'name': 'Sam', 'age': 42}, ...                      {'name': 'Sacha', 'age' : 20, 'sex': 'male'}]

sqlmap — это инструмент для автоматизации тестирования на проникновение.

SciPy — это приложение для выполнения математических, научных и инженерных расчётов. Очень богатый функционал.

SymPy — это библиотека для символьной математики.

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 — сменит активное окно, если начальник поблизости.

Пример:

Начальник встал. Он приближается.

Когда он достаточно близко, производится снимок лица и распознавание.

Если начальник распознан, активное окно изменяется.

rodeo — IDE для анализа данных.


Источник: tproger.ru

Комментарии: