Pydantic — це популярна бібліотека Python для валідації даних та управління налаштуваннями. Якщо ви працюєте над проєктом, що включає як Python-бекенд, так і TypeScript-фронтенд, вам може знадобитися генерувати TypeScript-інтерфейси з ваших моделей Pydantic. Це забезпечує узгодженість у структурі даних і мінімізує ризик невідповідностей.
Встановіть datamodel-code-generator
datamodel-code-generator — потужний інструмент для перетворення моделей Pydantic у TypeScript-інтерфейси. Встановіть його за допомогою pip:
pip install datamodel-code-generator
Генерація TypeScript-інтерфейсів
Запустіть наступну команду, вказавши шлях до Python-файлу, що містить ваші моделі Pydantic:
datamodel-codegen - input your_models.py - output models.ts - target typescript
• — input: Шлях до файлу з вашими моделями Pydantic.
• — output: Згенерований TypeScript-файл.
• — target: Визначає тип виводу, в даному випадку це typescript.
Перегляньте згенеровані інтерфейси
Ось приклад того, як може виглядати перетворення:
Модель Pydantic на Python:
from pydantic import BaseModel
class User(BaseModel):
id: int
username: str
email: str
is_active: bool
Згенерований TypeScript-інтерфейс:
export interface User {
id: number;
username: string;
email: string;
is_active: boolean;
}
Генератор перетворює типи Python на їх TypeScript-еквіваленти, забезпечуючи узгодженість між вашим бекендом і фронтендом.
Для великих проєктів ви можете інтегрувати процес генерації коду в ваш CI/CD pipeline, щоб автоматично підтримувати TypeScript-інтерфейси в актуальному стані з моделями Pydantic.
З таким підходом ви спрощуєте розробку та зберігаєте єдине джерело правди для ваших моделей даних.
Перекладено з: Converting Python Pydantic Classes to TypeScript Interfaces