اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مكتبة pydantic  تستخدم لتحديد التحقق من صحة البيانات وإدارة البيانات باستخدام الأنماط أو schemas مما يجعلها مفيدة جدا عند التعامل مع البيانات المرسلة من واجهات برمجة التطبيقات، أو عند قراءة البيانات من ملفات JSON، أو أي مصدر بيانات آخر.

حيث يمكن لهذه المكتبة التحقق من صحة البيانات المدخلة تلقائيا والتأكد من أنها تتوافق مع الأنماط المحددة، كما تقوم بتحويل البيانات المدخلة إلى الأنواع الصحيحة إذا كانت ممكنة، و مصممة لتكون سريعة وفعالة في التحقق من صحة البيانات، و يمكن إستخدامها بالشكل التالي:

from pydantic import BaseModel, Field, ValidationError

class User(BaseModel):
    id: int
    name: str
    age: int = Field(..., gt=0)

try:
    user = User(id=123, name='Chihab', age=30)
    print(user)
except ValidationError as e:
    print(e)

هنا يتم تعريف نموذج User باستخدام pydantic، ويشمل ثلاث حقول: id، name، وage. عند إنشاء كائن من هذا النموذج، ستقوم pydantic بالتحقق من صحة البيانات المدخلة والتأكد من أنها تتوافق مع الأنماط المحددة، إذا كانت البيانات غير صحيحة، سيتم رفع استثناء ValidationError.

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته .

مكتبة Pydantic في بايثون هي مكتبة تستخدم لعمليات التحقق من البيانات وتحليلها.

تقوم Pydantic بالتركيز على تقديم وسيلة فعالة لتأكيد صحة البيانات وضمان تطابقها مع الأنواع والقاوعد المحددة وذلك باستخدام ما يسمى بالنماذج (models) والتي تستند إلى الحقول التي يمكن تعريفها بأنواع بيانات محددة.

ما الذي توفره مكتبة Pydantic :

  1. التحقق من الأنواع: توفر Pydantic طريقة للتحقق من صحة البيانات عبر تعريف نماذج تحتوي على أنواع محددة. على سبيل المثال، يمكنك تحديد أن الحقل "الاسم" يجب أن يكون سلسلة نصية، والحقل "العمر" يجب أن يكون عددا صحيحا ويجب أن يكون حول قيم معينة مثلا 10 و 60.
  2. التسلسل: يمكن استخدام Pydantic لتحويل البيانات من وإلى تنسيقات مختلفة مثل JSON مما يسهل التعامل مع البيانات المرسلة أو المستلمة من واجهات برمجة التطبيقات (APIs).
  3. التعامل مع الأخطاء: توفر Pydantic معلومات مفصلة حول الأخطاء التي تحدث أثناء التحقق من صحة البيانات وإرسال رسائل توضح الخطأ في أنواع البيانات مما يسهل التعامل معها وتصحيحها.

مثال للتوضيح :

from datetime import datetime

from pydantic import BaseModel, PositiveInt


class User(BaseModel):
    id: int  
    name: str = 'John Doe'  
    signup_ts: datetime | None  
    tastes: dict[str, PositiveInt]  


external_data = {
    'id': 123,
    'signup_ts': '2019-06-01 12:22',  
    'tastes': {
        'wine': 9,
        b'cheese': 7,  
        'cabbage': '1',  
    },
}

user = User(**external_data)  

print(user.id)  
#> 123
print(user.model_dump())  
"""
{
    'id': 123,
    'name': 'John Doe',
    'signup_ts': datetime.datetime(2019, 6, 1, 12, 22),
    'tastes': {'wine': 9, 'cheese': 7, 'cabbage': 1},
}
"""

هنا قمنا بإنشاء model للمستخدم User وعرفنا الحقول الخاصة به وهنا إذا قمنا بتغير محتوي بيانات external_data ببيانات غير صالحة ستجد أنه يتم ظهور خطأ يوضح عدم صحة البيانات .

ويمكنك قراءة المزيد حول المكتبة من خلال التوثيق الرسمي الخاص بها من خلال الرابط التالي :

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...