Home
Login

Streamlit هي مكتبة Python تتيح لك إنشاء تطبيقات ويب مخصصة وجميلة باستخدام كود Python خالص، وتستخدم في مجالات مثل تعلم الآلة وعلوم البيانات وغيرها.

Apache-2.0Python 39.9kstreamlit Last Updated: 2025-06-14

Streamlit: أسرع طريقة لبناء تطبيقات البيانات في Python

مقدمة

Streamlit هي مكتبة Python مفتوحة المصدر، مصممة لتمكين علماء البيانات ومهندسي تعلم الآلة من إنشاء تطبيقات ويب جميلة وتفاعلية بسرعة وسهولة. إنها تبسط عملية تحويل نصوص علوم البيانات إلى تطبيقات ويب قابلة للمشاركة، دون الحاجة إلى خبرة في تطوير الواجهة الأمامية.

المفاهيم الأساسية:

  • احتضان نصوص Python: تسمح لك Streamlit ببناء التطبيقات باستخدام نصوص Python خالصة، دون الحاجة إلى كتابة HTML أو CSS أو JavaScript.
  • تحديثات في الوقت الفعلي: يتم تحديث تطبيقات Streamlit تلقائيًا في كل مرة تقوم فيها بتعديل التعليمات البرمجية وحفظها، مما يتيح التكرار والتجريب السريع.
  • سهولة الاستخدام: توفر Streamlit واجهة برمجة تطبيقات (API) بديهية، مما يسهل عليك إضافة عناصر واجهة مستخدم متنوعة، مثل النصوص والرسوم البيانية وأشرطة التمرير والأزرار وما إلى ذلك.
  • مدفوعة بالبيانات: تم تصميم Streamlit خصيصًا لسير عمل علوم البيانات، مما يجعل من السهل عرض البيانات ومعالجتها.
  • لا حاجة لخبرة في الواجهة الأمامية: تجرد Streamlit تعقيدات تطوير الواجهة الأمامية، مما يسمح لك بالتركيز على البيانات والنماذج.

معلومات مستودع المشروع

  • مستودع GitHub: https://github.com/streamlit/streamlit
  • لغة البرمجة الرئيسية: Python
  • الترخيص: Apache License 2.0
  • النجوم: 23 ألف+ (اعتبارًا من 26 يناير 2024)
  • التشعبات: 2 ألف+ (اعتبارًا من 26 يناير 2024)
  • المساهمون: 300+

الميزات الرئيسية

  • واجهة برمجة تطبيقات (API) سهلة الاستخدام: توفر Streamlit واجهة برمجة تطبيقات موجزة لإنشاء عناصر واجهة مستخدم متنوعة، مثل:
    • st.write(): عرض النصوص والبيانات والرسوم البيانية وما إلى ذلك.
    • st.slider(): إنشاء عنصر تحكم شريط التمرير.
    • st.button(): إنشاء عنصر تحكم الزر.
    • st.selectbox(): إنشاء مربع اختيار منسدل.
    • st.dataframe(): عرض Pandas DataFrame.
    • st.line_chart(): عرض مخطط خطي.
    • st.map(): عرض خريطة.
    • st.file_uploader(): تحميل الملفات
  • إعادة التشغيل التلقائي: يتم إعادة تشغيل تطبيقات Streamlit تلقائيًا في كل مرة تقوم فيها بتعديل التعليمات البرمجية وحفظها، مما يتيح التكرار السريع.
  • التخزين المؤقت: تحتوي Streamlit على آلية تخزين مؤقت مدمجة يمكنها تخزين نتائج العمليات الحسابية، مما يحسن أداء التطبيق. يمكن استخدام الزخرفة @st.cache_data لتخزين نتائج الدالة مؤقتًا.
  • حالة الجلسة: تسمح لك Streamlit بإدارة حالة التطبيق باستخدام st.session_state، مما يتيح إنشاء تطبيقات تفاعلية أكثر تعقيدًا.
  • المكونات: تدعم Streamlit المكونات المخصصة، مما يسمح لك بتوسيع وظائف Streamlit ودمج مكتبات الطرف الثالث.
  • السمات: تسمح لك Streamlit بتخصيص مظهر التطبيق، بما في ذلك الألوان والخطوط وما إلى ذلك.
  • النشر: يمكن نشر تطبيقات Streamlit بسهولة على مجموعة متنوعة من الأنظمة الأساسية، مثل Streamlit Community Cloud و Heroku و AWS و Google Cloud وما إلى ذلك.
  • دعم المجتمع: لدى Streamlit مجتمع نشط يوفر وثائق ودروس وأمثلة غنية.

الوحدات والوظائف الأساسية

  • streamlit: المكتبة الأساسية، التي تحتوي على واجهة برمجة تطبيقات (API) لبناء التطبيقات.
  • streamlit.components.v1: واجهة برمجة تطبيقات (API) لإنشاء مكونات مخصصة.
  • streamlit.config: لتكوين سلوك تطبيقات Streamlit.
  • streamlit.delta_generator: واجهة برمجة تطبيقات (API) لإنشاء عناصر واجهة المستخدم.
  • streamlit.runtime: بيئة وقت التشغيل لتطبيقات Streamlit.
  • streamlit.web: خادم الويب لتطبيقات Streamlit.

حالات الاستخدام

يمكن استخدام Streamlit لبناء مجموعة متنوعة من تطبيقات البيانات، مثل:

  • تصور البيانات: إنشاء رسوم بيانية ولوحات معلومات تفاعلية لاستكشاف البيانات وتحليلها.
  • نشر نماذج تعلم الآلة: نشر نماذج تعلم الآلة كتطبيقات ويب، بحيث يمكن للمستخدمين التفاعل مع النماذج.
  • استكشاف البيانات: بناء أدوات تفاعلية لاستكشاف البيانات وفهمها.
  • تسمية البيانات: إنشاء أدوات لتسمية البيانات للمساعدة في تسمية البيانات.
  • التعليم والعروض التوضيحية: إنشاء عروض توضيحية تفاعلية لعرض مفاهيم وتقنيات علوم البيانات.
  • الأدوات الداخلية: بناء أدوات بيانات داخلية لتحسين كفاءة الفريق.

مثال على التعليمات البرمجية

فيما يلي مثال لتطبيق Streamlit بسيط:

import streamlit as st
import pandas as pd
import numpy as np

st.title('My First Streamlit App')

st.write('Hello, world!')

# إنشاء DataFrame
data = pd.DataFrame({
    'col1': [1, 2, 3, 4],
    'col2': [5, 6, 7, 8]
})

# عرض DataFrame
st.write('Here is a DataFrame:')
st.dataframe(data)

# إنشاء شريط تمرير
x = st.slider('Select a value for x', 0, 100, 50)

# عرض قيمة شريط التمرير
st.write('The value of x is:', x)

# إنشاء مخطط أرقام عشوائية
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=['a', 'b', 'c'])

st.line_chart(chart_data)

التثبيت

يمكن تثبيت Streamlit باستخدام pip:

pip install streamlit

التشغيل

لتشغيل تطبيق Streamlit، قم بتنفيذ الأمر التالي في سطر الأوامر:

streamlit run your_app.py

حيث your_app.py هو ملف Python الخاص بتطبيق Streamlit الخاص بك.

المزايا

  • تطوير سريع: تسمح لك Streamlit ببناء تطبيقات بيانات بسرعة، دون الحاجة إلى كتابة الكثير من التعليمات البرمجية.
  • سهولة الاستخدام: توفر Streamlit واجهة برمجة تطبيقات (API) بديهية، مما يسهل عليك إضافة عناصر واجهة مستخدم متنوعة.
  • التفاعلية: تطبيقات Streamlit تفاعلية، مما يسمح للمستخدمين بالتفاعل مع البيانات.
  • قابلية النشر: يمكن نشر تطبيقات Streamlit بسهولة على مجموعة متنوعة من الأنظمة الأساسية.
  • دعم المجتمع: لدى Streamlit مجتمع نشط يوفر وثائق ودروس وأمثلة غنية.

العيوب

  • تخصيص محدود: التخصيص في Streamlit محدود نسبيًا، وقد لا يلبي احتياجات جميع التطبيقات.
  • الأداء: بالنسبة للتطبيقات المعقدة، قد لا يكون أداء Streamlit جيدًا مثل أطر عمل الويب التقليدية.
  • تحكم أضعف في الواجهة الأمامية: لا يمكن التحكم في واجهة المستخدم بدقة مثل أطر عمل الواجهة الأمامية التقليدية.

ملخص

Streamlit هي أداة قوية يمكن أن تساعد علماء البيانات ومهندسي تعلم الآلة في بناء تطبيقات ويب جميلة وتفاعلية بسرعة. إنها تبسط عملية تحويل نصوص علوم البيانات إلى تطبيقات ويب قابلة للمشاركة، دون الحاجة إلى خبرة في تطوير الواجهة الأمامية. على الرغم من وجود بعض القيود من حيث التخصيص والأداء، إلا أن سهولة الاستخدام وقدرات التطوير السريع تجعلها خيارًا مثاليًا للعديد من مشاريع علوم البيانات.

جميع التفاصيل، يرجى الرجوع إلى الموقع الرسمي (https://github.com/streamlit/streamlit)