عن المشروع
DotWiz مكتبة بايثون توفر فئة فرعية من dict تتيح الوصول إلى المفاتيح بأسلوب السمات (النقطة)، بما في ذلك قيم القواميس والقوائم المتداخلة المحوّلة تلقائياً. فبدلاً من كتابة my_dict['this']['dict']['has'][0]['nested']['data']، يمكن للمستخدمين كتابة dw.this.dict.has[0].nested.data.
يتم التثبيت عبر pip install dotwiz. تقبل فئة DotWiz الرئيسية قاموساً مع وسائط مفتاحية اختيارية، وتوفر to_dict() للتحويل مرة أخرى إلى قاموس عادي. تبني الدالة المساعدة make_dot_wiz() نسخة من iterable من أزواج المفتاح والقيمة، مما يسمح بالوصول إلى المفاتيح غير الصالحة كمعرّفات بايثون عبر تدوين الأقواس المربعة.
توسّع DotWizPlus ذلك عبر تحويل المفاتيح ذات الحالات الخاصة (المسافات، الحروف المختلطة، الأرقام البادئة، الكلمات المفتاحية المحجوزة، أو الأسماء المتعارضة مع دوال dict مثل items أو get أو values) إلى أسماء سمات snake_case آمنة. تبقى المفاتيح الأصلية متاحة عبر الوصول بأسلوب القاموس، وتعيد to_attr_dict() الصيغة المحوّلة للسمات.
يدّعي ملف README مزايا في الأداء مقارنة ببدائل مثل dataclasses.make_dataclass وprodict وBox وDotMap، مع تفاصيل المعايير في الوثائق. المشروع موثّق على Read the Docs، ويُختبر عبر GitHub Actions وCodecov، ويقبل المساهمات عبر طلبات السحب والمشكلات.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.