TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование 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

Резултати

Пронајдени 1 слични објави

Пребарај: #techrace

当前筛选 #techrace清除筛选
AI & Law

@ai_and_law · Post #62 · 20.07.2023 г., 07:04

Europe's AI Battle: France vs. UK in the Race for Supremacy Hello AI enthusiasts! It seems like French President Emmanuel Macron and British Prime Minister Rishi Sunak are locking horns to claim the throne of AI dominance in Europe. 🔹The Race for Funds: Macron announced a whopping €500 million investment to create new AI champions in France, on top of previous commitments. Meanwhile, the U.K. government pledged £1 billion for supercomputing and AI research to become a "science and technology superpower." 🔹 Regulation Approaches: France falls under the jurisdiction of the EU's AI Act, focusing on risk assessment and banning certain AI applications. On the other hand, the U.K. takes a principles-based approach, advising industry regulators on enforcing existing rules flexibly and pro-innovation. 🔹 Who Will Reign Supreme? Experts are divided. France has access to talent and startups, but the EU AI Act may pose challenges. The U.K.'s approach prioritizes investment, but concerns about political uncertainties remain. 🌍 Collaboration for Success: While the competition heats up, industry leaders emphasize the need for European tech hubs to join forces, fostering collaboration and investing in a robust ecosystem to challenge U.S. AI giants. Who will emerge victorious and claim the crown of Europe's AI champion? #AIChampions#AIRegulations#TechRace#AI