مع نمو مجتمع Supabase، زاد الطلب أيضًا على مجموعة متنوعة من مكتبات العملاء وإطارات تطوير البرامج (SDK) المحددة. تمت تلبية هذا الطلب في الغالب من قبل مجتمع المصادر المفتوحة نفسه، والذي يحتفظ حاليًا بعشرات المكتبات.
⚡️ المزيد في أسبوع الإطلاق
عندما يقوم الأشخاص بتقديم طلبات إلى خدمة Supabase المستضافة، نكون قادرين على بناء صورة جيدة عن مدى اتساع نطاق استخدام بعض هذه المكتبات، وعندما تحقق مكتبة معينة اعتمادًا واسع النطاق، فمن المنطقي بالنسبة لنا إضافة دعم رسمي لـ هو - هي. من أمثلة المكتبات التي حققت قفزة من الدعم المجتمعي إلى المكتبات المدعومة رسميًا، Supabase-flutter وsupase-swift.
لقد كان هناك دائمًا دعم مجتمعي لا يصدق لمكتبات عملاء Python، على مدار العام ونصف العام الماضيين، ومع ذلك فقد شهدنا طفرة هائلة في الاعتماد. كان هذا مدفوعًا بالاعتماد الواسع النطاق لـ Supabase في مجتمع الذكاء الاصطناعي وتعلم الآلة، والعديد منهم متحمسون لـ Pythonistas.
لذا، نعلن اليوم أن مكتبات عميل Python التالية أصبحت الآن مدعومة رسميًا على منصة Supabase:
بدأ Supabase-py في الأصل بواسطة المشرف lqmanh في سبتمبر من عام 2020، وبعد فترة وجيزة انضم إليه fedden وJ0 (الذي أصبح عضوًا بدوام كامل في فريق Supabase). في السنوات الأخيرة، كان التطوير مدفوعًا بالأعمال الصامتة وjuancarlospaco اللذين لعبا دورًا فعالًا في الدفع نحو تحقيق تكافؤ الميزات مع supabase-js.
شكرًا جزيلاً لكل من ساهم في libs العميل حتى الآن ونأمل أن نرى المزيد من libs المجتمعية تدفع للحصول على الدعم الرسمي في المستقبل.
فيما يلي نظرة عامة على بعض الميزات الحديثة التي تمت إضافتها إلى مجموعة Python libs.
سيستخدم عملاء Supabase تلقائيًا HTTP 2.0 عندما يكون متاحًا بشكل افتراضي، مما يوفر تعزيزًا سلسًا لأداء تطبيقاتك الحالية.
يتم تنفيذ هذا التحسين بطريقة شفافة تمامًا، ولا يتطلب أي تغييرات على التعليمات البرمجية الموجودة لديك، مع إمكانية تحقيق تقليل كبير في زمن الوصول وتحسينات في الأداء.
أنظر أيضاً:
يتبع عملاء Supabase الآن تلقائيًا جميع عمليات إعادة توجيه HTTP افتراضيًا، بما يتماشى مع سلوك عملاء Supabase في لغات البرمجة الأخرى.
يعمل هذا التحسين على تحسين الاتساق عبر النظام البيئي وتبسيط التعامل مع عمليات إعادة التوجيه، مما يقلل الحاجة إلى التدخل اليدوي في السيناريوهات الشائعة مثل تغييرات عنوان URL أو موازنة التحميل.
أنظر أيضاً:
يقوم عملاء Supabase الآن تلقائيًا بتضمين رأس HTTP مستمر بشكل افتراضي، والذي كان مفقودًا في بعض الأحيان، مما يعالج هذا عدم الاتساق في الإصدارات السابقة.
يعمل هذا التحسين على تحسين إدارة الاتصال، مما قد يؤدي إلى تقليل زمن الوصول وتحسين الأداء من خلال الحفاظ على اتصالات مستمرة مع الخادم، وهو مفيد بشكل خاص للتطبيقات التي تجري مكالمات متكررة جدًا لواجهة برمجة التطبيقات.
تم إضافة دعم لتحديد المنطقة التي سيتم تشغيل وظيفة الحافة عليها (المنطقة هي في الأساس موقع فعلي في العالم).
أنظر أيضاً:
تمت ترقية الوقت الفعلي إلى الإصدار 2.0 مع الكثير من التحسينات والإصلاحات، بما في ذلك الأمثلة المحدثة والميزات الجديدة المتعلقة بالتواجد (البث والاشتراك والتتبع وما إلى ذلك).
أنظر أيضاً:
تمت إضافة عمليات تسجيل دخول مجهولة إلى عميل Auth، بما في ذلك خاصية منطقية is_anonymous جديدة تمت إضافتها إلى فئة المستخدم، كما تمت إضافة أساليب Sign_in_with_id_token() وsign_in_with_sso() إلى Auth Client، من بين الكثير من الطرق الأخرى إصلاحات الأخطاء.
أنظر أيضاً:
قامت Supabase بتحسين سلامة استعلام PostgreSQL من خلال تطبيق sanitize_param() لتطهير المعلمات في استعلامات SQL الداخلية من جانب العميل، مما يضمن معالجة أكثر أمانًا للبيانات وتنفيذ الاستعلام عبر جميع العمليات.
يحتاج بعض المستخدمين إلى تشغيل عملاء Supabase باستخدام SSL غير صالح أو لم يتم التحقق منه لأي سبب من الأسباب (مصححات أخطاء SSL/أدوات التتبع/ملفات التعريف/إلخ في بيئات التطوير)، تمت إضافة وسيطة منطقية اختيارية جديدة إلى منشئي العملاء، ثم تمرير التحقق =False يمكّنه من التشغيل باستخدام طبقة مقابس آمنة (SSL) لم يتم التحقق منها دون تحذيرات.
from postgrest import SyncPostgrestClient url: str = "https://example.com" h: dict = {"Custom-Header": "value"} with SyncPostgrestClient(url, schema="pub", headers=h, verify = False) as client: session = client.session assert session.base_url == "https://example.com"
أنظر أيضاً:
تتضمن مكتبة Supabase Realtime الآن طريقة إغلاق () جديدة لإغلاق اتصالات المقبس.
توفر هذه الإضافة للمطورين تحكمًا أفضل في دورة حياة الاتصال، مما يسمح بإغلاق صريح لاتصالات المقبس عند الحاجة.
import os from realtime import AsyncRealtimeClient def callback1(payload): print("Callback 1: ", payload) SUPABASE_ID: str = os.environ.get("SUPABASE_ID") API_KEY: str = os.environ.get("SUPABASE_KEY") URL: str = f"wss://{SUPABASE_ID}.supabase.co/realtime/v1/websocket" client = AsyncRealtimeClient(URL, API_KEY) await client.connect() channel_1 = s.channel("realtime:public:sample") channel_1.subscribe().on_postgres_changes("INSERT", callback1) await client.listen() await client.close()
أنظر أيضاً:
تم الآن إصلاح مهلة وظائف Edge وتنتهي الوظائف طويلة الأمد بشكل صحيح، ولم تعد هناك مهلة داخلية من جانب عميل المكتبة تقطع الوظائف.
يمكن للمستخدمين الآن تنفيذ عمليات أكثر تعقيدًا بثقة في وظائف Edge.
import os from supabase import create_client from supabase.lib.client_options import ClientOptions url: str = os.environ.get("SUPABASE_URL") key: str = os.environ.get("SUPABASE_KEY") options = ClientOptions(function_client_timeout = 15) client = create_client(url, key, options) client.functions.url = "http://127.0.0.1:54321/functions/v1/hello-world" print(client.functions.invoke("hello"))
أنظر أيضاً:
تم إنشاء أداة CLI جديدة بسيطة وقابلة للتوسيع لترحيل بيانات المتجهات من الخدمات الأخرى وSASS إلى Supabase، ويمكنها ترحيل بيانات المتجهات من Pinecone وQdrant إلى Supabase بأمر واحد، وتبسيط سير العمل وتعزيز إمكانية نقل البيانات عبر الذكاء الاصطناعي وتعلم الآلة المشاريع.
يمكنك التصويت لصالح إضافة موفري قاعدة بيانات المتجهات الآخرين في المستقبل!
أنظر أيضاً:
تمت ترقية إصدارات التكامل المستمر لجميع المكتبات وجعلها أكثر صرامة (الفلاتر، وما إلى ذلك).
أنظر أيضاً:
إذا كنت ترغب في المشاركة في المساهمة في مكتبات عملاء Python الخاصة بنا، راجع هنا للحصول على بعض المعلومات حول كيفية المساهمة، وتحقق من قائمة المشكلات المفتوحة للحصول على بعض الإلهام حول ما يجب العمل عليه.
تتوفر الوثائق الكاملة لمكتبات Supabase Python Client على موقع Supabase Docs.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3