Собрали в одном месте самые важные ссылки
консультируем про IT, Python
http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp
(07.12.2015 - 13.12.2015)
Спешим поделиться видеозаписями выступлений с очередной встречи минского Python-сообщества.
Под катом вы найдете доклады:
Статья содержит довольно подробный вводный материал для работы с бинарными данными. Рассказывается про Bytearray, как читать бинарные данные, как конвертировать между типами данных, как использовать struct
Сегодня я расскажу о не совсем простой концепции быстрого (до часа после нескольких тренировок) развёртывания проекта для работы команды, состоящей как минимум из отдельных фронтенд и бэкенд разработчиков.
Исходные данные у нас такие: начинается разработка проекта, в которой планируется «тонкий бэкенд». Т.е. бэк у нас состоит из закешированных страниц (рендерятся любым шаблонизатором), объёмных моделей с сопутствующей логикой (ORM) и REST API, выполняющего роль контроллера. Фактически, View в такой системе редуцировано и вынесено в JS, благо есть разные реакты, ангуляры и прочие вещи, которые позволяют фронтендщикам считать себя «белыми людьми».
Только что обнаружил интересный баг (баг с точки зрения человеческой логики, но не машины), и решил им поделиться с сообществом. Программирую на django уже довольно долго, но с таким поведением столкнулся впервые, так что, думаю, кому-нибудь да пригодится. Что ж, к делу!
Статья описывает использование JSON Schema для валидации JSON данных на Python
Аналогичный подход можно применять для валидации XML данных.
Статья описывает применение Python для создания более мощных и удобных excel таблиц. Рассказывается о применении VBA, pandas
Эта предназначена для тех разработчиков, кто уже знаком с Python, но не знаком с GUI программированием. У меня две цели. Показать примеры и продемонстрировать, что создание GUI не так бессмысленно. А вторая - предоставить готовых набор виджетов под разное применение.
Автор статьи берет небольшой пример:
# Python code def main(): name = "Python" print("{0} is great".format(name))
и рассматривает как ээтот код выглядит при исполнении
Этот пост покажет вам, как использовать оператор Local Binary Patterns, чтобы автоматически классифицировать и идентифицировать текстуры и структуры в образах
В первой части я описал основные принципы обратного распространения в простой нейросети. Сеть позволила нам померить, каким образом каждый из весов сети вносит свой вклад в ошибку. И это позволило нам менять веса при помощи другого алгоритма — градиентного спуска.
Суть происходящего в том, что обратное распространение не вносит в работу сети оптимизацию. Оно перемещает неверную информацию с конца сети на все веса внутри, чтобы другой алгоритм уже смог оптимизировать эти веса так, чтобы они соответствовали нашим данным. Но в принципе, у нас в изобилии присутствуют и другие методы нелинейной оптимизации, которые мы можем использовать с обратным распространением:
В рамках научно-исследовательской работы в вузе я столкнулся с такой задачей, как классификация текстовой информации. По сути, мне нужно было создать алгоритм, который, обрабатывая определенный текстовый документ на входе, вернул бы мне на выходе массив, каждый элемент которого являлся бы мерой принадлежности этого текста (вероятностью или степенью уверенности) к одной из заданных тематик.
В данной статье речь пойдет не о решении задачи классификации конкретно, а о попытке автоматизировать наиболее скучный этап разработки рубрикатора — создание обучающей выборки.
Не так давно мы начали пару проектов, в которых необходима оптическая система с каналом дальности, и решили для этого использовать Kinect v2. Поскольку проекты реализуются на Python, то для начала нужно было заставить работать Kinect из Python, а затем откалибровать его, так как Kinect из коробки вносит некоторые геометрические искажения в кадры и дает сантиметровые ошибки в определении глубины.
До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего, а еще нам нужна популярная статья для галочки в отчетности.
Проблемы с временными зонами возникают неожиданно. И вылезают наружу при использовании ПО. Статья описывает применение канонического модуля временных поясов Pytz в вашем ПО
Модуль shelve из стандартной библиотекой можно описать одной фразой - "pickle + anydbm".
shelve позволяет сериализовать объект (прям как pickle), а потом сохранить его в виде похожем на БД (интерфейс anydbm).
Менеджеры контекста — это механизм стоящий за ключевым словом with.
Ключевое слово with появилось еще в Python 2.5 (через __future__). Такая конструкция пришла на смену концепту setup..try..except..finally
Не редко возникает задача убрать лишние пробелы с начала/конца строки. Например
a = 'Доброе утро, Иван'
message, name = a.split(',')
print(name)
> ' Иван' # (лишний пробел сначала строки)
Продолжаем предлагать различные задачи для практики. Кто заинтересуется решением этих задач, просим помогать друг-другу. Но при этом в течении недели не кидать ссылок на полностью готовое решение. А также, чтобы читать код было удобно - публикуйте его на https://gist.github.com/ или какой-то подобный сервис.
Описание задачи:
О Twitter нечего писать, проект уже взрослый и известный. Через Твиттер продают, покупают, разыгрывают призы, консультируют, оказывают поддержку проектов, да даже используют как сервис оповещений. Twitter имеет открытый API, который сегодня и освоим. Мы научимся публиковать пост с изображением через Twitter API
Python отлично подходит для написания самых различных серверных утилит. Часто такие утилиты дополняют CLI (Command Line Interface), а иногда и целым GUI.
Но как его сделать? На сервере часто нет X сервера. нет Qt и чего-то такого, а Python есть. Возможно вы слышали про ncurses - библиотека для управления IO. Вот ее и можно использовать для такой задачи - стандартная библиотека содержит модуль curses.
from terrabot import TerraBot from terrabot.events import Events #Create a TerraBot object bot = TerraBot('127.0.0.1') event = bot.get_event_manager() #Connect a function to an event using a decorator @event.on_event(Events.Chat) def chat(event_id, msg): #Do something with the message #In this case, stop the bot if the word "Stop" occurs print(msg) if "stop" in msg: bot.stop() #Start the bot bot.start() #And wait while bot.running: pass
Инструмент позволяет сделать снимой экрана для android 4.4+, или даже ряд снимков.
Самописная система для проверки работы кода. Библиотека подает на вход функции определенное значение, а результат сравниваем с эталонным.
Модуль позволяет имитировать различные уровни кэша. Такой функционал может быть полезен, как для обучения, так и для самостоятельной организации управления памятью (по скорости доступа) в вашей программе
Проект https://braindump.pw/ - это органайзер заметок
Инструмент расширяет возможности стандартных фильтров в админке. Можно фильтровать по вложенным объектам, комбинировать условия
База может располагаться на публичном хостинге, т.к. информация расшифровывается на клиенте. Основана на ZODB, позволяет хранить python объекты.
Библиотека позволяет управлять рекламыми компаниями из Python кода
from twitter_ads.client import Client from twitter_ads.campaign import Campaign CONSUMER_KEY = 'your consumer key' CONSUMER_SECRET = 'your consumer secret' ACCESS_TOKEN = 'access token' ACCESS_TOKEN_SECRET = 'access token secret' ACCOUNT_ID = 'account id' # initialize the client client = Client( CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET) # load the advertiser account instance account = client.accounts(id=ACCOUNT_ID) # load and update a specific campaign campaign = account.campaigns().next() campaign.name = 'updated campaign name' campaign.paused = True campaign.save() # iterate through campaigns for campaign in account.campaigns(): print(campaign.id)
В репозитории вы найдете инструмент, который позволяет работать с C++ программами из Python
from py3njection import inject from some_package import ClassToInject class Demo: @inject def __init__(self, object_to_use: ClassToInject): self.dependency = object_to_use demo = Demo()
Модуль позволяет настроить напоминания о действиях. Например, "Позвонить Маме" и установить на конкретное время, по достижению этого времени на ваш телефон упадет смс.
from vycro import MacroWrapper mw = MacroWrapper() wb_kwargs = {"ReadOnly":"True"} m_args = ["arg1", "True", "111"] with mw.open_workbook("/full/path/with.extension", **wb_kwargs): mw.run_macro("macro_name", *m_args) # See declaration for function args
Инструмент создания виртуального рабочего окружения. Изменения описаны по ссылке https://allmychanges.com/p/python/virtualenv/#0.8. Скачать можно по ссылке: http://pypi.python.org/pypi/virtualenv/
Python клиент для Redis. Изменения описаны по ссылке https://allmychanges.com/p/python/redis/#2.10.5. Скачать можно по ссылке: http://pypi.python.org/pypi/redis/
Набор пользовательских расширений для Django-проектов. Изменения описаны по ссылке https://allmychanges.com/p/python/django-extensions/#1.5.8. Скачать можно по ссылке: https://pypi.python.org/pypi/django-extensions
Интерфейс для вызова C-кода. Изменения описаны по ссылке https://allmychanges.com/p/python/cffi/#1.3.1. Скачать можно по ссылке: http://pypi.python.org/pypi/cffi/
Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Изменения описаны по ссылке https://allmychanges.com/p/python/django-taggit/#0.17.6. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/
Фреймворк для работы с AMQP. Изменения описаны по ссылке https://allmychanges.com/p/python/kombu/#3.0.27. Скачать можно по ссылке: http://pypi.python.org/pypi/kombu/
Красивые картинки на скатерти Улама
The Practical Guide to Scaling Django
Функция property() в Python: добавляем управляемые атрибуты в классы
ИИ в Крипто-Торговле: Возможен ли Успех? (Часть 1)
How to migrate your Poetry project to uv
Python Bytes: #410 Entering the Django core
Python REST API: Flask, Connexion и SQLAlchemy (часть 2)
Chronos от Amazon: революция в обработке временных рядов
Двусвязный список в Python: простой инструмент для сложных задач
Дообучаем языковую модель GPT2 с помощью Torch
Мой первый и неудачный опыт поиска торговой стратегии для Московской биржи