Использование 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
Гендиректор Северстали: Мы сокращаем капвложения в 2026 году на 24%, сокращаем административные расходы и расходы на оплату труда 5%, переносим индексацию зарплат
#CHMF
Ситуация в отрасли становится всё сложнее. Спрос на сталь в России упал на 31% с начала 2024 года, что привело к резкому снижению загрузки у наших ключевых клиентов и падению цен. Реальность такова, что полностью избежать мер оптимизации невозможно", - сообщил Александр Шевелев.
Читать далее
👉https://smartlab.news/i/184057
мы в max
Северсталь считает, что вероятность выплаты дивидендов по итогам 2026 года невелика — РБК Инвестиции
Читать далее
👉https://smartlab.news/i/177720
#CHMF
Северсталь МСФО 1К 2026 г
♦️Чистая прибыль выросла до 57 млн руб. против 21 млрд руб. годом ранее.
♦️Выручка снизилась на 19%, до 145,3 млрд руб.
♦️EBITDA — снизилась на 54%, до 17,9 млрд руб.
♦️Рентабельность EBITDA упала до 12% против 22%,
♦️Производство стали сократилось на 4%.
♦️Компания отказалась выплачивать дивиденды.
#CHMF
Сайт | Бот | Invest Era
Forbes: за год в мире появилось около 400 новых миллиардеров
В рейтинге миллиардеров теперь 3428 человек — на 400 больше, чем год назад. За последние 12 месяцев на планете в среднем ежедневно появлялся как минимум один новый миллиардер.
Совокупное состояние участников списка выросло до рекордных $20,1 трлн, а средний капитал увеличился до $5,8 млрд. Самым богатым россиянином стал Алексей Мордашов #CHMF — $37 млрд и 57-е место в мировом рейтинге.
Сайт | Бот | Invest Era
Северсталь РСБУ 1 кв. 2026 г.:
📉 выручка ₽134,19 млрд (-16,0% г/г)
📉 чистый убыток ₽2,75 млрд (против прибыли ₽11,8 годом ранее) #CHMF
Читать далее
👉https://smartlab.news/i/188281
мы в max
Северсталь МСФО
4кв 2025г:
📉выручка ₽169,5 млрд (-16% г/г)
📉убыток ₽17,74 млрд против прибыли ₽33,5 млрд годом ранее,
2025г:
📉выручка ₽712,9 млрд (-14% г/г)
📉прибыль ₽32 млрд (-79% г/г)
- Экспорт стали из Китая за весь год вырос на 7,5% г/г до 119,02 млн тонн, что оказывает давление на цены по всему миру
- Спрос на сталь в России существенно снизился (в 2025-м на 14% г/г)
- Компании удалось увеличить продажи металлопродукции на 4% г/г до 11,24 млн т
- Масштабные инвестиции привели к отрицательному свободному денежному потоку в - ₽30,5 млрд в 2025 году
- Показатель Чистый долг/EBITDA составил 0,16х на конец года
- В 2026 году мы ожидаем дальнейшее снижение спроса на сталь
"Мы рассчитываем сохранить полную загрузку нашего производства в 2026 году, планируя произвести около 11,3 млн тонн стали", - Александр Шевелев, гендиректор.
Читать далее
👉https://smartlab.news/i/177477
#CHMF
💿#chmf
Сегодня видим попытку войти обратно в канал.
☝️Также значение осциллятора RSI переваливает выше 50 пунктов - зона покупателя.
🫱Осталось закрыть сегодня сессию выше 966, что станет сигналов на вход в лонг на следующей сессии.
Тэйк - 1010 (средняя линия канала)
Стоп-лосс - 938 (под минимум сегодняшнего дня).
‼️Для входа в лонг жду закрытие дня выше 966, а пока наблюдаем!
Не иир
💿#chmf
Всем доброго дня!!🤝🤝🤝
На утреннем проливе цена акции достигла ретеста сверху красного восходящего уровня.
Беру от текущих с лонг по 921.6
Тэйк - 950 (верх боковика и закрытие утреннего гэпа)
Стоп - лосс - 903 (под лой боковика)
Не иир
💿#chmf
Всем доброго дня!!!🤝🤝🤝
Многие активы сейчас под уровнями, и входить в них как бы не очень.
Но вот Северсталь подбирается к ретесту черного уровня!
Заметьте: ранее, в конце мая котировки уже отбивались от данной линии был рост около 20%
И сейчас я жду отскока от данной линии и поэтому ставлю лимитную заявку от диапазона 860-875
Цель - 980 (проверка низа боковика снизу)
Не иир
💿#CHmf
☄️Открыл среднесрочную спекуляцию.
Причины:
⚠️Котировки на сильном горизонтальном уровне поддержки, от которой отскакивал не единожды.
✔️Цель - верх боковика (1070)
☝️Стопы не ставлю, идея среднесрочная спекуляция.
Не иир
💿#CHMF ( Северсталь)
Всем доброго дня!🤝🤝🤝
Сразу к идеи без пафоса!
☄️Сегодня котировки тестируют середину восходящего канала 1082, откуда стоит откупать плюс / минус полпроцента.
Также сегодняшней свечой идет тестирование верха боковика сверху, который длился предыдущие несколько месяцев
✅Цель - 1160 (верх канала).
Закрепление под серединой канала - сигнал на падение к низу канала 1010, где также откуплю.
А Вы начали лонговать?
Да, откупаю - 👍
Нет, жду еще снижение на текущей неделе - 🤔
Не иир
💿#CHMF (Северсталь)
Всем доброго дня! 🤝🤝🤝
Сразу в делу, без лирики!
📈Котировки Северсталь закрепились над верхом нисходящего канала, заметьте: объём имеет восходящей характер, что лишь усиливает бычии настрои.
☄️Откупать планирую на проверке сверху вниз от пробитого уровня по 1053
✔️Ближайшая цель - 1110 (скользящая)
❌Отмена сценария роста - закрепление ниже верха канала по итогам дня (ниже 1053).
☝️При срабатывание стопа буду ждать поход на середину канала 970, где обратно откуплю.
Не иир