Использование 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
Ravi Shankar — The Sounds of India (Columbia Records, 1968)
#hindustani#raga#sitar#India
Культовый альбом Рави Шанкара, который представляет классическую музыку Северной Индии западному слушателю. В начале альбома Рави Шанкар дает определение раге на английском языке, а затем исполняет ряд композиций, сопровождая их пояснениями о том, как они устроены. Вопреки этому, музыка исполнена очень аутентично. Альбом был вдохновлен работами Али Акбара Кхана, известного исполнителя на сароде и преподавателя классической музыки Северной Индии, и спродюсирован Джорджем Авакяном, одним из продюссеров Майлза Дейвиса.
Spotify | AppleMusic
Baligh Hamdi — Instrumental Modal Pop of 1970's Egypt (Sublime Frequencies, 2021)
#psychedelic#jazz#funk#raga#Egypt
Модальные инструментальные треки Балига Хамди, одного из самых важных арабских композиторов XX века. Он писал музыку для Умм Кульсум, Абделя Халима Хафеза, Сабах, Варды Аль-Джазаирии и многих других арабских певцов. Эта компиляция посвящена одному десятилетию творчества Хамди, в течении которого он заниался в основном западной поп-музыкой с элементами арабской традиции. Помимо этого на сборнике можно услышать гитарные соло знаменитого египетского гитариста Омара Хоршида и подборку индо-арабских композиций на ситаре, представляющих собой встречу ближневосточной и индийской музыки.
Bandcamp | VK
Banaras Baba & Kolkata Kid — From North to South (Epidemic Sound, 2021)
#hindustani#raga#sitar#India#Sweden
После многих лет изучения музыки Индостана, два шведских музыканта, мульти-инструменталист К.Г. Уэстман, он же Banaras Baba, и перкуссионист Хьюго Виден, он же Kolkata Kid, выпустили серию мини-альбомов, посвященных индийской классической музыке. Перед нами второй альбом из этой серии. Несмотря на то, что у музыкантов не было задачи смешивать разные музыкальные традиции, в их работах присутствуют западные инструменты и очень слышно влияние западной музыки.
Spotify | AppleMusic
Charanjit Singh — Synthesizing: Ten Ragas to a Disco Beat (Saregama, 1982)
#raga#acid#house#disco#electronic#India
Чаранджит Сингх — индийский музыкант из Мумбаи, много лет проработавший в Болливуде. В 21 веке он получил известность благодаря релизу 82 года, задуманному как сплав диско с индийскими рагами. На этом альбоме Сингх использовал легендарные синтезаторы TR-808 и TB-303 с функцией «глиссандо», напоминавшей ему индийскую мелодику. Сингх купил TB-303 в Сингапуре вскоре после его появления в конце 81 года. Он потратил много времени на изучение мало кому известного в то время устройства и в конце концов обнаружил возможность синхронизации TR-808 и TB-303 с Jupiter-8. В композицию «Raga Bhairavi» Сингх добавил синтезированный голос, произносящий «Om Namah Shivaya». В результате некоторые современные музыкальные журналисты назвали его самым ранним представителем эйсид-хауса, на пять лет опередившим «каноническую» запись «Acid Tracks» чикагского музыканта Phuture.
SoundCloud
Charanjit Singh — Synthesizing: Ten Ragas to a Disco Beat (Saregama, 1982)
#hindustani#raga#acid#house#disco#electronic#India
Чаранджит Сингх — индийский музыкант из Мумбаи, много лет проработавший в Болливуде. В XXI веке он получил известность благодаря релизу 1982 года, задуманному как сплав диско с индийскими рагами. На этом альбоме Сингх использовал легендарные синтезаторы TR-808 и TB-303 с функцией «глиссандо», напоминавшей ему индийскую мелодику.
Сингх купил TB-303 в Сингапуре вскоре после его появления на рынке в конце 1981 года. Он потратил много времени на изучение мало кому известного в то время устройства и в конце концов обнаружил возможность синхронизации TR-808 и TB-303 с Jupiter-8. В композицию Raga Bhairavi Сингх добавил синтезированный голос, произносящий Om Namah Shivaya. В результате некоторые современные музыкальные журналисты назвали его самым ранним представителем эйсид-хауса, на пять лет опередившим «каноническую» запись Acid Tracks чикагского музыканта Phuture.
🔗Spotify | AppleMusic | SoundCloud | VK | Telegram
Tenderlonious & Jaubi — Tender In Lahore (22a, 2020)
#hindustani#electronic#raga#tabla#flute#synth#Pakistan
В апреле 2019 года Tenderlonious, флейтист, джазовый саксофонист, электронный продюссер и глава лейбла 22a, отправился в Пакистан, чтобы поработать с инструментальным квартетом Jaubi из Лахора, столицы провинции Пенджаб, расположенной всего в нескольких киллометрах от Индии. Эти три импровизированные раги – первые плоды сотрудничества музыкантов.
Spotify | AppleMusic | Bandcamp
Don Cherry — Om Shanti Om (Black Sweat Records, 2020)
#jazz#raga#latin#berimbau#tambura#kora#United_States
Om Shanti Om был записан итальянской компанией RAI в 1976 году, но впервые издан только в этом году лейблом Black Sweat Records. В импровизированных композициях с этого альбома объеденины все знания пионера world-fusion, Дона Черри, полученные им во время многочисленных путешествий по миру. Помимо самого Черри, играющего на флейте, трубе и коре, на записи отметились бразильская перкуссионистка Нана Васконселос, итальянский гитарист Джан Пьеро Прамаджоре и жена Дона, Моника, исполняющая дрон на танпуре. Индийские мантры соседствуют с африканским пением и латниской ритмикой. Запись вышла очень эклектичной, но это тот случай, когда ей это только на руку.
🔗Bandcamp
Tenderlonious — Ragas From Lahore: Improvisations with Jaubi (22a, 2020)
#hindustani#electronic#raga#tabla#sarangi#flute#synth#Pakistan
В апреле 2020 года Tenderlonious, флейтист, джазовый саксофонист, электронный продюссер и глава лейбла 22a, отправился в Пакистан, чтобы поработать с инструментальным квартетом Jaubi из Лахора. Вслед за получившим признание «Tender in Lahore», вышедшим в апреле 2020 года, в результате этой поездки в ноябре 22a выпустил альбом импровизированных раг, записанных в течение одного дня. На этом альбоме структура индийской классической музыки обрамляет импровизационные сессии, в которых приняли участие Tenderlonious на флейте и сопрано-саксофоне, Кашиф Али Дхани на табла, Зохайб Хасан Кхан на саранги, Али Риаз Бакар на гитаре и Марек Пендзивиатр на синтезаторе.
Spotify | AppleMusic | Bandcamp
📺Glass Beams — One Raga to a Disco Beat (A cover of 'Raga Bhairav' by Charanjit Singh)
#psychedelic#funk#hindustani#raga#acid#house#disco#electronic#India#Australia
Австралийцы Glass Beams, выпустившие весной 2024 года нашумевший EP Mahal, записали кавер на композицию Raga Bhairav Чаранжита Сингха с альбома 1982 года Ten Ragas to a Disco Beat.
Оригинальная песня была создана в Мумбаи в 1982 году и является одной из первых записей, в которой звучит басовый синтезатор Roland TB 303, ставший основой для стиля acid house. Чаранжит Сингх в качестве эксперимента хотел записать индийские раги со звуками современных синтезаторлв, но в XXI веке музыкальные критики поняли, что работа композитора опередила время и звучит почти как acid house из Чикаго.
🔗YouTube
Jaubi — Nafs at Peace (Astigmatic Records, 2021)
#hindustani#raga#spiritual#modal_jazz#jazz#hip_hop#boom_bap#United_Kingdom#Poland#Pakistan
В 2016 году лахорский квартет Jaubi отметил десятую годовщину смерти J Dilla кавером его песни Time: The Donut of the Heart. Музыканты рассмотрели ритм песни как талам — перкуссионный каркас раги, вокруг которого выстраивается импровизация. Этот кавер — прекрасное введение в музыкальную философию группы, сочитающую в себе импровизацию классичской музыки Северной Индии и джаз с сэмплированием. Свой подход музыканты раскрывают в дебютном альбоме Nafs at Peace. «Нафс» — арабское слово, означающее «я», «эго» или «душа». Альбом был записан при участии Tenderlonious, лондонского джазиста и главы лейбла 22a, и Latarnik, польского пианиста и участник групп EABS и Błoto. Ранее, в 2020 году, музыканты в том же составе записали альбом импровизированных раг Ragas from Lahore.
🔗Spotify | AppleMusic | Bandcamp