عن المشروع
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]`.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.