TinyDB هي قاعدة بيانات خفيفة الوزن موجهة نحو المستندات ومُحسَّنة لتحقيق سعادتك :) وهي مكتوبة بلغة Python النقية وليس لها أي تبعيات خارجية. الهدف هو التطبيقات الصغيرة التي قد يتم تدميرها بواسطة SQL-DB أو خادم قاعدة بيانات خارجي.
TinyDB هو:
dict
) في TinyDB.للتعمق مباشرة في كل التفاصيل، توجه إلى مستندات TinyDB. يمكنك أيضًا مناقشة كل ما يتعلق بـ TinyDB مثل التطوير العام أو الامتدادات أو عرض مشاريعك المستندة إلى TinyDB في منتدى المناقشة.
تم اختبار TinyDB باستخدام Python 3.8 - 3.13 وPyPy3.
هذا المشروع في وضع الصيانة. لقد وصلت إلى حالة ناضجة ومستقرة حيث لم يتم التخطيط لميزات جديدة مهمة أو تغييرات معمارية. ومع ذلك، ستظل هناك إصدارات لإصلاح الأخطاء أو الميزات التي يساهم بها المجتمع. اقرأ المزيد حول ما يعنيه هذا على وجه الخصوص هنا.
> >> from tinydb import TinyDB , Query
> >> db = TinyDB ( '/path/to/db.json' )
> >> db . insert ({ 'int' : 1 , 'char' : 'a' })
> >> db . insert ({ 'int' : 1 , 'char' : 'b' })
> >> User = Query ()
> >> # Search for a field value
>> > db . search ( User . name == 'John' )
[{ 'name' : 'John' , 'age' : 22 }, { 'name' : 'John' , 'age' : 37 }]
> >> # Combine two queries with logical and
>> > db . search (( User . name == 'John' ) & ( User . age <= 30 ))
[{ 'name' : 'John' , 'age' : 22 }]
> >> # Combine two queries with logical or
>> > db . search (( User . name == 'John' ) | ( User . name == 'Bob' ))
[{ 'name' : 'John' , 'age' : 22 }, { 'name' : 'John' , 'age' : 37 }, { 'name' : 'Bob' , 'age' : 42 }]
> >> # Negate a query with logical not
>> > db . search ( ~ ( User . name == 'John' ))
[{ 'name' : 'Megan' , 'age' : 27 }, { 'name' : 'Bob' , 'age' : 42 }]
> >> # Apply transformation to field with `map`
>> > db . search (( User . age . map ( lambda x : x + x ) == 44 ))
> >> [{ 'name' : 'John' , 'age' : 22 }]
> >> # More possible comparisons: != < > <= >=
>> > # More possible checks: where(...).matches(regex), where(...).test(your_test_func)
> >> table = db . table ( 'name' )
> >> table . insert ({ 'value' : True })
> >> table . all ()
[{ 'value' : True }]
> >> from tinydb . storages import JSONStorage
> >> from tinydb . middlewares import CachingMiddleware
> >> db = TinyDB ( '/path/to/db.json' , storage = CachingMiddleware ( JSONStorage ))
سواء كان الإبلاغ عن الأخطاء أو مناقشة التحسينات والأفكار الجديدة أو كتابة الملحقات: نرحب بالمساهمات في TinyDB! إليك كيفية البدء: