عن المشروع

dlt (أداة تحميل البيانات) هي مكتبة بايثون مفتوحة المصدر تعمل على أتمتة استخراج البيانات وتحويلها وتحميلها. وهي مصممة كمكتبة تُدمج في كود بايثون الحالي وليست منصة مُدارة. **مصادر الاستخراج** تشمل REST APIs (مع ترقيم صفحات تعريفي، وتصفية، وتسوية)، وقواعد بيانات SQL (مع انعكاس تلقائي للجداول والأنواع)، وملفات في حاويات سحابية (S3، GCS، Azure — CSV، JSONL، Parquet)، وDataFrames (pandas، Polars، PyArrow مع دعم Arrow بدون نسخ). **التحميل** يدعم أكثر من 20 وجهة بما في ذلك DuckDB، BigQuery، Snowflake، Postgres، Redshift، Databricks، Athena، ClickHouse، MotherDuck، Iceberg، Delta Lake، وأنظمة ملفات عامة. تغيير الوجهة يتطلب فقط تحديث سلسلة `destination`. القدرات الرئيسية: - **استنتاج المخطط وربط الأنواع**: يستنتج المخطط تلقائيًا من بيانات المصدر ويربط الأنواع عبر الوجهات. - **عقود المخطط**: ثلاثة أوضاع — `evolve` (تكييف المخطط)، `freeze` (رفض عدم التطابق)، `discard` (إسقاط الصفوف/الأعمدة المخالفة). - **التحميل المتزايد**: دعم مدمج لتحميل السجلات الجديدة أو المتغيرة فقط باستخدام مؤشرات أو طوابع زمنية. - **استراتيجيات الدمج/التحديث**: دمج تعريفي قائم على المفتاح الأساسي عبر خيار `write_disposition="merge"`. - **تطبيع البيانات المتداخلة**: تسوية وتطبيع تلقائي للهياكل المتداخلة. - **تكامل Ibis**: يمكن رفع الجداول المحملة إلى تعبيرات Ibis لاستعلامات بايثون قابلة للتكوين تُترجم إلى SQL بلهجة الوجهة. - **إدارة الأسرار**: تُحقن بيانات الاعتماد من `secrets.toml` أو متغيرات البيئة. - **إعادة اتصال خط الأنابيب**: استخدم `dlt.attach()` لإعادة الاتصال بخط أنابيب بالاسم وقراءة البيانات مرة أخرى عبر واجهة برمجة `Dataset` التي تدعم `.df()` و`.arrow()` و`.to_ibis()`. تم بناء dlt مع مراعاة التوافق مع LLM وعوامل الترميز، ويقدم بدائل تعريفية قابلة للقراءة البشرية مناسبة لتوليد خطوط الأنابيب بمساعدة الذكاء الاصطناعي. يدعم بايثون 3.10 حتى 3.14. التثبيت: `pip install dlt` مع إضافات اختيارية مثل `[duckdb]` و`[bigquery]` و`[sql_database]` و`[hub]`.