DairyBrainUtils عبارة عن حزمة PyPI تحتوي على بعض الوظائف الأساسية للتفاعل مع قاعدة بيانات PostgreSQL.
في الوقت الحالي، يتم استضافته على TestPyPI. إذا تم تنظيف توزيعة TestPyPI، فيرجى الاتصال بالمؤلف لإعادة تحميله.
لتثبيت أحدث إصدار من الحزمة، استخدم الأمر في PyPI.
إذا كان الرابط أعلاه معطلاً، حاول:
pip install DairyBrainUtils
بمجرد التثبيت، نوصيك باستيراد الحزمة باستخدام import DairyBrainUtils as dbu
.
(تحديث: تم حل هذه المشكلة أثناء تحميلنا إلى PyPI الرسمي) إذا رأيت رسالة خطأ مثل هذه:
ERROR: Could not find a version that satisfies the requirement DairyBrainUtils-ruipeterpan==0.3.0 (from versions: 0.0.3, 0.0.4, 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.2.1)
ERROR: No matching distribution found for DairyBrainUtils-ruipeterpan==0.3.0
حاول تثبيته مرة أخرى. TestPyPI غريب.
قائمة الوظائف المتاحة للاستخدام هي:
get_engine(credentials)
check_if_database_exists(db_engine)
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
create_table(db_engine, table_name, sql_statement)
create_schema(db_engine, schema_name)
create_sequence(db_engine, sequence_name)
get_next_from_sequence(db_engine, sequence_name)
populate_table_from_csv(table_name, csv_location, db_engine)
execute_statement(statement, db_engine)
drop_table(table_name, db_engine)
has_table(table_name, db_engine)
get_engine(credentials)
يأخذ credentials
القاموس باستخدام المفاتيح: [dialect, user, password, host, port, db_name, log]
ويمرر بيانات الاعتماد هذه إلى sqlalchemy.create_engine() لإنشاء مثيل محرك جديد.
dialect
: سلسلة. لهجة قاعدة البيانات. في الوقت الحالي، تدعم هذه الحزمة postgresql
فقط.user
: سلسلة. اسم المستخدم للمستخدم في قاعدة البيانات.password
: سلسلة. كلمة المرور المرتبطة بالمستخدم.host
: سلسلة. اسم المضيف.port
: عدد صحيح. رقم المنفذ.db_name
: سلسلة. اسم قاعدة البيانات.log
: منطقية. إذا كان True، فسيقوم المحرك بتسجيل كافة البيانات بالإضافة إلى repr() لقوائم المعلمات الخاصة به إلى مسجل المحركات، والذي يكون افتراضيًا sys.stdout.check_if_database_exists(db_engine)
استخدم وظيفة sqlalchemy الموجودة للتحقق من وجود قاعدة البيانات. إرجاع "صحيح" إذا كانت قاعدة البيانات موجودة، وإرجاع "خطأ" بخلاف ذلك
create_table_if_doesnt_exist(db_engine, table_name, sql_statement)
إنشاء جدول باسم table_name
في قاعدة البيانات في حالة عدم وجود جدول بالاسم المحدد.
sql_statement
عبارة عن عبارة CREATE TABLE
تحدد رؤوس الجدول الذي سيتم إنشاؤه.
create_table(db_engine, table_name, sql_statement)
إنشاء جدول باسم table_name في قاعدة البيانات.
sql_statement
عبارة عن عبارة CREATE TABLE
تحدد رؤوس الجدول الذي سيتم إنشاؤه.
create_schema(db_engine, schema_name)
ينشئ مخططًا باسم schema_name
المحدد في قاعدة البيانات المحددة.
create_sequence(db_engine, sequence_name)
إنشاء تسلسل في قاعدة البيانات.
get_next_from_sequence(db_engine, sequence_name)
إرجاع معرف العدد الصحيح التالي في التسلسل المحدد (بافتراض وجود واحد)
populate_table_from_csv(table_name, csv_location, db_engine)
يأخذ csv_location
، وهو مسار الملف لملف csv، ويملأ الجدول باسم table_name
المحدد (بافتراض وجوده) في قاعدة البيانات المحددة.
execute_statement(statement, db_engine)
ينفذ عبارة SQL في قاعدة البيانات المحددة.
drop_table(table_name, db_engine)
إسقاط جدول باسم table_name
في قاعدة البيانات المحددة.
has_table(table_name, db_engine)
تُرجع القيمة True
في حالة وجود جدول يحمل table_name
المحدد في قاعدة البيانات المحددة، وتُرجع القيمة False
بخلاف ذلك
راجع هذا البرنامج التعليمي للحصول على إرشادات حول تعبئة مشروع Python وتحميله إلى PyPI (Python Package Index). هذا مشروع نموذجي بأفضل تنسيق.
لنشر إصدار جديد من الحزمة، قم بتحرير ./DairyBrainUtils/__init__.py
، وقم بتغيير رقم الإصدار في setup.py
، وانشر أرشيفات التوزيع باتباع البرنامج التعليمي.
وبشكل أكثر تحديدًا، قم بما يلي:
python3 -m pip install --upgrade setuptools wheel
python3 setup.py sdist bdist_wheel
الآن، يجب إنشاء دليل dist
بملفين. إذا كان سيتم استضافة الحزمة على خادم محلي، فما عليك سوى أخذ ملف .whl
واستخدام pip
لتثبيت الحزمة.
لتحميل حزم التوزيع إلى TestPyPI، قم بما يلي:
python3 -m pip install --upgrade twine
python3 -m twine upload --repository testpypi dist/*
استخدم __token__
عندما يُطلب منك إدخال اسم المستخدم. للحصول على كلمة المرور، استخدم قيمة الرمز المميز، بما في ذلك البادئة pypi-
.