Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно.
Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой.
import uuid
from datetime import datetime
from decimal import Decimal
from uuid import UUID
from pydantic import BaseModel
class MyModel(BaseModel):
id: UUID
date: datetime
value: Decimal
obj = MyModel(
id=uuid.uuid4(),
date=datetime.now(),
value='1.23'
)
print(obj.model_dump())
# не подходит для json.dump
# {
# 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'),
# 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111),
# 'value': Decimal('1.23')
# }
# добавляем свой кастомный сериализатор
json.dumps(obj.model_dump(), cls=MySerializer)
# {
# 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1',
# 'date': '2025-12-12T12:12:12.111111',
# 'value': '1.23'
# }
В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так:
class MySerializer(json.JSONEncoder):
def default(self, o):
if isinstance(o, Decimal):
return str(o)
elif isinstance(o, datetime):
return o.isoformat()
elif isinstance(o, UUID):
return str(o)
return super().default(o)
Специально для тех, кто всё еще так делает - в этом нет необходимости!
Pydantic может это сделать сам, просто нужно добавить параметр mode="json".
json.dumps(obj.model_dump(mode="json"))
# {
# 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1',
# 'date': '2012-12-12T12:12:12.111111',
# 'value': '1.23'
# }
#pydantic#libs
✍️🇵🇰 — DID YOU KNOW: The first legal citizen of Pakistan was a #Jew who converted to Islam. Leopold Weiss was born in Austria, converted to Islam, and is known as Allama Muhammad Asad today.
His notable works include Road to Mecca, Islam at Crossroads, Principles of State and Governance in Islam, Message of the Qur'an etc.
@ThePakistanNews
Various Artists — Ya Hasra: Jewish-Tunisian Jewels, Originals & Reworks (Akuphone, 2024)
#traditional#arab#jew#qanun#electronic#Tunisia
После Второй мировой войны в Тунисе проживало около 90 тысяч евреев, но уже в 1950-х годах началась массовая алия в Израиль. Независимость Туниса в 1956 году и последовавшая политика арабизации ухудшили положение евреев: их дискриминировали, лишали имущества, а в 1967 году произошли погромы. В 1970-е годы еврейское население сократилось до 7 тысяч человек, а к 1990-м — до 1600. В 2002 году атака «Аль-Каиды» на синагогу Ал-Хариба унесла жизни 14 человек. Сегодня еврейская община Туниса насчитывает около тысячи человек, преимущественно на острове Джерба.
Несмотря на сокращение численности и вынужденную миграцию, евреи Туниса оставили значительный след в культуре страны — в том числе в её музыкальном наследии. Альбом Ya Hasra фиксирует это присутствие — через архивные записи и новые прочтения.
На первой стороне пластинки представлены записи четырёх артистов — Хабибы Мсики, Луизы Тунсии, Рауля Журно и Эля Кахлауи Тунси. На протяжении XX века, включая годы масштабной миграции, их музыка продолжала звучать на обоих берегах Средиземного моря.
На второй стороне представлены авторские интерпретации диджея и продюссера Шаруха, в которых он экспериментирует с ритмической структурой и звуком оригинальных композиций.
🔗Spotify | AppleMusic | Bandcamp
Nathan "Prince" Nazaroff — Jewish Freilach Songs (Folkways Records, 1954)
#traditional#freilach#accordion#octophone#yiddish#jew#Ukraine#Russia
«Фреилах» — слово на идише, обозначающее «счастливый» или «радостный». Оно же используется в качестве названия музыкального стиля.
В сборнике Jewish Freilach Songs представлены восточноевропейские песни в стиле «фреилах». Среди них — известные шлягеры Tumbalalaika и Vander Ich Mir Lustig («Пока я радостно шагаю»). К слову, Vander Ich Mir Lustig сильно напоминает русскую песню «Яблочко», увековеченную революционными солдатами в период Гражданской войны. А в некоторых песнях, например, в Ihr Fregt Mich Vos Ich Troier (Вы спрашиваете меня, почему я скорблю?) можно даже расслышать русскую речь.
Исполняет песни Натан Назарофф, среди ервейских слушателей получивший прозвище «Принц». О нём мало что известно, кроме того, что он иммигрировал в США в 1914 году, имел еврейско-русское происхождение и работал в Театре Русского Балета в Нью-Йорке.
На этой пластинке Назарофф аккомпанирует себе на аккордеоне и октофоне, струнном инструменте, напоминающем мандолину. Стиль его исполнения восходит к городской музыке Одессы и других портовых городов.
В общем, привет всем любителям «Одесских рассказов» Исаака Бабеля.
🔗Spotify | AppleMusic | Telegram
Olivier Daviaud — Le Chat Du Rabbin (Naive, 2011)
#klezmer#balkan#jew#arab#Algeria#France#Netherlands#Ukraine
Саундтрек к французскому анимационному фильм «Кот раввина» по мотивам комиксов Жоанна Сфара. Действие мультфильма происходит в Алжире, в 1920-е годы. Здесь бок о бок живут мусульмане, евреи и христиане. У раввина есть дочь по имени Злабия, попугай и кот — именно от его лица ведётся рассказ. В какой-то момент кот съедает попугая и начинает говорить, после чего история превращается в затянувшийся спор обо всём на свете: о Боге, о кашруте, о собаках и о месте евреев в колониальной Северной Африке. Вскоре кот просит провести ему бар-мицву. Раввин советуется с коллегой, и вместе они решают, что кот не может быть евреем.
Параллельно из России приходит посылка с книгами. Внутри — живой человек, еврей-беженец, скрывающийся от советских погромов. Он художник и собирается отправиться в Иерусалим через Эфиопию, которую считает родиной «чёрных евреев». Фильм постепенно становится похож на дадаистское роуд-муви — с пустыней, караванами, мифами и разговорами на десятке языков.
Музыку к фильму написал Оливье Даво. Главные темы исполняетAmsterdam Klezmer Band — голландский ансамбль, сочетающий клезмер, балканские ритмы и фанковую подачу. Один из вокалистов, Алек Копыт, родом из Одессы — он поёт на русском, идише и румынском. Из-за этого саундтрек ощущается не как «подкладка под картинку», а как самостоятельный слой — с разными языками, акцентами и ритмами. Музыка не иллюстрирует происходящее, а движется рядом с персонажами — как будто бродит с ними по улицам Алжира, а потом пересекает и пустыню.
🔗Spotify | AppleMusic | YouTube
The Brothers Nazaroff — The Happy Prince (Folkways Records, 2015)
#traditional#freilach#klezmer#accordion#mandolin#fiddle#payk#guitar#tzouras#ukulele#yiddish#jew#Ukraine#Russia#United_States
Эта запись — дань уважения Натану «Принцу» Назароффу. В 1954 году в Штатах он выпустил пластинкуJewish Freilach Songs и таким образом познакомил самый широкий круг слушателей с фольклором восточноевропейских евреев. До сих пор работа Назароффа остаётся чуть ли не единственной, на которой представлен музыкальный стиль Одессы и других портовых городов Черного Моря.
Международная супергруппа The Brothers Nazaroff, в состав которой входят Дэниел Кан, Псой Короленко, Майкл Альперт, Джейк Шульман-Мент, Боб Коэн и Хампус Мелин, вдохнула новую жизнь в наследие «Принца». «Братья» уверены, что эти песни заслуживают внимания и особого места в современной еврейской культуре.
Майкл Векс — автор крупнейшего исследования идиша Born to Kvetch. В своих заметках об альбоме Назароффа отмечает следующее:
Если бы в начале 1950-х годов в Америке существовали группы, исполняющие в барах песни на идише, то они звучали бы именно так
Братья Назарофф — как раз такая группа, но только из XXI века.
🔗Spotify | AppleMusic | Bandcamp