@Tishka17

Тег python в блоге Tishka17

Tishka17

Хорошо посидел. За два вечера накидал оптимизатор питновского ast. Разворачивание циклов, удаление мертвых ифов, инлайнинг констант. Выиграл на своем коде аж 10%, но смог зато ручные оптимизации удалить и сделать код понятнее (путем добавления нихуя не понятной части из 200 строк ещё)

Tishka17

Человек тут в комментах защищает длину строки 200 символов. Открываю инфу - 6 лет в яндексе. Ммм, понятно

Tishka17

Надоело писать велосипеды для кривых апишек без спеки. Начал пилить новый проект:

https://github.com/Tishka17/dataclass_rest

Tishka17

Долго думал как сделать опцию omit-empty в сериализаторе. Запилил omit_default, которая учитывает дефолтные значения полей в датаклассе.

https://github.com/Tishka17...ADME.md#omit-default

Tishka17

Нафиг нужны енумы, если я должен везде писать MyEnum.xxx.value вместо MyEnum.xxx? Кто вообще придумал такое? Грёбаный графен писали какие не очень опытные люди

Tishka17

Чтобы прогу на питоне собрались для деплоя, надо
* сделать сборочный файл, в котором руками указать все исходники.

Чтобы сделать юнит тесты для проги на питоне надо
Вынести все сорцы (кроме скрипта запуск) в отдельную либу со своим сборочным файлом
Сделать в отдельной папке сборочный файл для проги, где указать либу как зависимость
* В отдельной папке сделать сборочный файл с тестами, где указать либу как завивисмость и перечислить все тесты

Чтобы прогнать тесты на втором и третьем питоне надо
Вынести все тесты в либу
В отдельной папке сделать сборочный файл для второго питона, где либа будет как завивисмость
* В отдельной папке сделать сборочный файл для третьего питона, где та же либа будет как завивисмость

Tishka17

Выложил очередную версию либы (2.2).

Запилил в нее то, что когда-то делал для джавы: превращать сложные структуры в плоские при парсинге и восстанавливать потом обратно.

Заодно починил аннотации типов. А то даже стыдно было, во всю их использую, а интерфейс не аннотирован.

https://github.com/Tishka17/dataclass_factory

Tishka17

Народ а кто может вот прям реально в двух словах сказать что из этого что и как они связаны между собой в tensor flow?

  1. Граф
  2. Схема
  3. Тензор
  4. Операция
  5. Инпуты и аутпуты
Tishka17

Моя либа теперь, кажется, единственная, которая умеет парсить generic-датаклассы. Заодно пофиксил парсинг циклических структур.

В общем, версия 2.1.

https://github.com/Tishka17/dataclass_factory

Tishka17

Хочу представить вторую версию своей либы:

  • Я полностью переделал API, теперь можно парсить просто вызывав load(data, class).
  • Фабрика теперь одна (было две). Один раз настроил и парси/сериализуй одинаково (dump/load)
  • Для всяких сложных тем появились схемы. Как и раньше все автоматическое, но если нужно можно исключать поля, делать свои маппинг, менять поведение для каждого класса
  • Расширил набор стилей имен, в которые можно сделать автоматическое конвертирование (всякие Ugly_Style или UPPERCASE)
  • Внезапно выяснил, что marshmallow может быть в 10 раз медленнее. 

https://github.com/Tishka17/dataclass_factory

Tishka17

Если кому интересно, я тут новую версию 1.1.0 своей либы для питоновских датаклассов выложил. Теперь она умеет имена в разные стили (например, CamelCase) преобразовать и сама сериализует (аж до 10 раз быстрее чем стандартный asdict).

https://github.com/Tishka17/dataclass_factory

Tishka17

1 января 2020 года заканчивается поддержка python 2.7 и всей второй ветки.

«Газпром» начал официально уведомлять страны о том, что транспортировка газа через территорию Украины будет прекращена 1 января 2020 года.

Совпадение? Не думаю

Tishka17

Надо не забыть и запилить багрепорт на пайчармовский статический анализатор.
Или может лучше сразу патч и напроситься к ним на работу?

Tishka17

Накатал тут небольшой сервис по обмену кодом: http://codephoto.ru

Объяснять не буду, лучше посмотреть.

Tishka17

Наговнокодил тут либу. Пользуйтесь

https://github.com/Tishka17/dataclass_factory

Tishka17

Что делать на больничном? Все ждут, что я найду силы и поработаю. Но нет! За неделю перевел проект с python 2.7+ web.py на python 3.5 + flask. Заодно отрефакторил, выкинул самописный шаблонизатор в пользу jinja2, pyldap заменил на ldap3 и разобрался с транзакциями.
Думаю, ещё неделя уйдет на вылизывание упущенных мелочей. Но результатом я доволен!

Tishka17

Подскажите, как правильнее и лучше разделить один tuple на несколько NamedTuple?

Tishka17

Что актуально для питон разработчика?

Tishka17

Подскажите, а как вы ставите питонопакеты в продакшене? Вот пытаюсь сделать pip install cryptography, а он его компилировать пытается. Ну откуда у меня на проде компилятор?

Tishka17

Ребята, хочется странного: автоматически генерировать тесты для api.
Точнее не так: напистаь один тест, который дернуть для каждого метода api и вывести в репорт как будто прошло 100500 тестов в одном сюите. Предположим единичный тест, который я могу руками дернуть для разных случаев, у меня есть.

Честно, для питона никогда тесты не писал, так что с трудом представляю с чего начать. Делать свой раннер или как?

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.