بايثون العربي | Python Arabe 🇵🇸
12.3K subscribers
66 photos
26 videos
40 files
24 links
قناة عربية لتعلّم Python من الصفر بأسلوب مبسّط وعملي مع أمثلة وتمارين ومشاريع تساعدك تبني مهاراتك البرمجية خطوة بخطوة.
Download Telegram
Typer في Python

مكتبة Typer تساعدك تبني أدوات CLI احترافية من التيرمنال، بدون تعقيد argparse وبدون كتابة كود طويل.

الفكرة ببساطة
تكتب دالة Python عادية، وTyper يحولها إلى أمر يمكنك تشغيله من التيرمنال مع Arguments و Options و Help تلقائي.

التثبيت
pip install typer


مثال سريع
import typer

app = typer.Typer()

@app.command()
def hello(name: str, age: int = 20):
typer.echo(f"Hello {name}, age {age}")

app()


التشغيل
python app.py hello Ali --age 25


مثال عملي
@app.command()
def clean(folder: str, dry_run: bool = True):
if dry_run:
typer.echo("Preview only")
else:
typer.echo(f"Cleaning {folder}")


لماذا Typer مهم؟
• مناسب للـ Automation
• ممتاز لأدوات DevOps الصغيرة
• يعطيك Help تلقائي
• يدعم Types و Autocomplete
• يجعل سكربتاتك تبدو كأدوات حقيقية

إذا عندك سكربت تكرره كل يوم، حوله إلى CLI tool باستخدام Typer.
2
uv — أسرع مدير حزم لـ Python

مكتبة uv أداة حديثة من Astral تجعل تثبيت الحزم، إنشاء البيئات، وتشغيل السكربتات أسرع بكثير من الأدوات التقليدية.

لماذا مهم؟
• بديل سريع لـ pip و virtualenv
• ممتاز للمشاريع الجديدة والـ automation
• يقلل وقت إعداد بيئة التطوير

التثبيت
pip install uv


مثال سريع
uv init demo_app
cd demo_app
uv add requests
uv run python main.py


نصيحة عملية
استخدم uv عندما تبدأ مشروع Python جديد أو تريد تثبيت dependencies بسرعة داخل CI/CD.

#Python #PythonArabic #uv #DevTools
Pydantic: مكتبة تجعل بياناتك آمنة في Python

إذا كنت تبني API أو تتعامل مع JSON من المستخدمين، فأنت تحتاج تتأكد أن البيانات صحيحة قبل أن تدخل منطق التطبيق. هنا تأتي مكتبة Pydantic، وهي من أشهر مكتبات Python للتحقق من البيانات وتحويلها تلقائيًا.

لماذا يستخدمها المطورون؟
• تتحقق من أنواع البيانات مثل str و int و email
• تحوّل القيم تلقائيًا عند الإمكان
• تعطي رسائل أخطاء واضحة
• مستخدمة بقوة داخل FastAPI
• ممتازة للـ APIs، الإعدادات، وقراءة ملفات JSON

التثبيت
pip install pydantic


مثال سريع
from pydantic import BaseModel

class User(BaseModel):
name: str
age: int

user = User(name="Ali", age="25")
print(user.age) # 25


الفكرة البسيطة: بدل ما تفحص كل حقل يدويًا، خلّي Pydantic يبني لك طبقة تحقق منظمة وسهلة الصيانة.

#Python #بايثون #Pydantic #برمجة #مكتبات_بايثون
NumPy: أساس الحسابات العلمية في Python

لو بدأت تتعلم تحليل البيانات أو الذكاء الاصطناعي في Python، ستسمع اسم NumPy كثيرًا. هذه المكتبة ليست مجرد إضافة بسيطة، بل هي الأساس الذي تعتمد عليه مكتبات ضخمة مثل Pandas و SciPy و Scikit-learn.

ماذا تقدم لك؟
• مصفوفات سريعة بدل القوائم العادية
• عمليات رياضية على آلاف القيم دفعة واحدة
• أدوات للجبر الخطي والإحصاء
• أداء أفضل بكثير في الحسابات الكبيرة
• قاعدة مهمة لفهم Data Science و ML

التثبيت
pip install numpy


مثال سريع
import numpy as np

prices = np.array([10, 20, 30])
print(prices * 1.15)


بدل أن تكتب حلقات كثيرة لمعالجة الأرقام، NumPy يجعلك تفكر بالمصفوفات والعمليات المباشرة. إذا كان هدفك تحليل البيانات أو تعلم الذكاء الاصطناعي، فهذه مكتبة يجب أن تتقنها مبكرًا.

#Python #NumPy #بايثون #DataScience #مكتبات_بايثون
Pandas: مكتبة تحليل البيانات في Python

إذا كان NumPy هو الأساس الرياضي، فإن Pandas هي الأداة التي تجعل التعامل مع الجداول والملفات والبيانات اليومية أسهل بكثير. تستخدمها عندما يكون لديك CSV أو Excel أو بيانات من API وتريد تنظيفها وتحليلها بسرعة.

ماذا يمكنك أن تفعل بها؟
• قراءة ملفات CSV و Excel بسهولة
• ترتيب وتنظيف البيانات الناقصة
• فلترة الصفوف والأعمدة
• حساب المتوسطات والمجاميع بسرعة
• تجهيز البيانات للرسوم البيانية أو نماذج ML

التثبيت
pip install pandas


مثال سريع
import pandas as pd

df = pd.read_csv("sales.csv")
print(df.head())
print(df["price"].mean())


فكرتها ببساطة: بدل أن تتعامل مع البيانات كسطور وقوائم متفرقة، Pandas تعطيك DataFrame يشبه جدولًا ذكيًا تستطيع تحليله بأوامر قصيرة وواضحة.

#Python #Pandas #تحليل_البيانات #DataScience #مكتبات_بايثون
🔥1
تم انشاء مجموعه جديده للنقاش في بايثون وطرح الأسئلة

يمكنكم الانضمام من خلال الرابط التالي:

https://t.me/pythonarabechat
TeleBot — أسهل مكتبة لبناء بوتات تيليجرام في Python

مكتبة TeleBot، واسمها على PyPI هو pyTelegramBotAPI، تساعدك تبني بوت تيليجرام بسرعة بدون التعامل يدويًا مع Telegram Bot API.

لماذا مفيدة؟
• بسيطة جدًا للمبتدئين.
• مناسبة لبوتات الردود، التنبيهات، القنوات، ولوحات الأزرار.
• تدعم الرسائل، الصور، الملفات، الأوامر و Inline Buttons.

التثبيت
pip install pyTelegramBotAPI


مثال سريع
import telebot

bot = telebot.TeleBot("TOKEN")

@bot.message_handler(commands=["start"])
def start(message):
bot.reply_to(message, "أهلًا! البوت يعمل ")

bot.infinity_polling()


الفكرة الأساسية: تنشئ كائن البوت بالتوكن، ثم تضيف handlers للأوامر والرسائل، وبعدها تشغله بـ infinity_polling().

نصيحة مهمة: لا تضع التوكن داخل الكود عند رفع المشروع على GitHub؛ استخدم متغيرات البيئة بدلًا من ذلك.

#Python #TelegramBot #TeleBot #برمجة
4
إذا كنت تريد تحسين مخرجات الطرفية في Python، فمكتبة Rich من أفضل الخيارات.

هي تضيف ألوانًا جميلة، جداول، Progress Bars، تنسيق JSON و Markdown، وتعرض الأخطاء بشكل أوضح وأسهل للقراءة، وهذا يجعل أدوات CLI تبدو احترافية جدًا.

التثبيت:

pip install rich


مثال سريع:

from rich.console import Console
from rich.table import Table

console = Console()
table = Table(title="Users")
table.add_column("Name")
table.add_column("Role")
table.add_row("Ahmed", "Developer")
console.print(table)

ممتازة لأدوات المطورين، السكربتات، ولوحات CLI الحديثة.

رابط المشروع:
https://github.com/Textualize/rich

#Python #Rich #CLI #Terminal #DeveloperTools
3
تحدي بايثون: عدّ الكلمات

اكتب برنامجًا يطلب من المستخدم إدخال جملة، ثم يطبع:

- عدد الأحرف
- عدد الكلمات
- عدد مرات تكرار كل كلمة

Example Input
python is great and python is easy


Expected Output
Characters: 34
Words: 6
python: 2
is: 2
great: 1
and: 1
easy: 1


### الشروط
- اكتب الحل بنفسك

#Python #Challenge #PythonChallenge
إذا كنت تريد تشغيل أكثر من مهمة في نفس الوقت داخل برنامج Python، فمكتبة threading المدمجة تعتبر من أهم الأدوات التي يجب أن تعرفها.

هذه المكتبة تسمح لك بإنشاء Threads لتشغيل وظائف متعددة بشكل متزامن، وهي مفيدة جدًا في المهام التي تنتظر الشبكة أو الملفات أو أي عمليات I/O بدلًا من جعل البرنامج يتوقف وينتظر.

التثبيت:
لا تحتاج تثبيت، لأنها مدمجة داخل Python

مثال سريع:

import threading

def task(name):
print(f"Hello from {name}")

t1 = threading.Thread(target=task, args=("Thread 1",))
t2 = threading.Thread(target=task, args=("Thread 2",))

t1.start()
t2.start()

t1.join()
t2.join()

تُستخدم كثيرًا في بناء أدوات أسرع وأكثر استجابة، خاصة عند التعامل مع الطلبات، التحميل، أو تنفيذ عدة مهام خفيفة معًا.

رابط التوثيق:
https://docs.python.org/3/library/threading.html

#Python #Threading #Concurrency #DeveloperTools
3
إذا كنت تريد بناء تطبيقات ويب أو API بسرعة وببساطة في Python، فمكتبة Flask تعتبر من أشهر الخيارات وأخفها.

مكتبة Flask هي إطار عمل صغير ومرن، مناسب جدًا للمبتدئين، وممتاز أيضًا للمشاريع السريعة وواجهات API والـ prototypes لأنك تبدأ به بسرعة بدون تعقيد كبير.

التثبيت:
pip install flask


مثال سريع:
from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
return "Hello, Flask!"


ممتاز لتطبيقات الويب الخفيفة، لوحات التحكم، وخدمات الـ backend الصغيرة.

GitHub
2😁1
🔐 PyCryptodome: تشفير احترافي داخل Python

إذا كنت تحتاج تشفير بيانات، إنشاء مفاتيح، أو استخدام خوارزميات مثل AES وRSA داخل مشروعك، فمكتبة PyCryptodome تعتبر من أشهر الخيارات العملية في بايثون.

تستخدمها عندما تريد حماية نصوص، ملفات، Tokens، أو بناء أدوات أمنية تعليمية بطريقة واضحة وسهلة.

التثبيت:
pip install pycryptodome

مثال سريع لتشفير رسالة بـ AES:
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

key = get_random_bytes(16)
cipher = AES.new(key, AES.MODE_EAX)

ciphertext, tag = cipher.encrypt_and_digest(b"secret message")
print(ciphertext.hex())


الميزة الجميلة أنها تعطيك واجهة Python بسيطة للتعامل مع مفاهيم قوية في التشفير بدون تعقيد زائد.

مفيدة جدًا لمن يتعلم الأمن السيبراني أو يبني أدوات Python تحتاج حماية للبيانات.

#Python #CyberSecurity
🔥3
📦 marshal: تحويل كائنات Python إلى بيانات ثنائية

مكتبة marshal مدمجة داخل Python، وتستخدم لتحويل بعض كائنات بايثون إلى صيغة ثنائية Binary ثم إرجاعها لاحقًا.

أهم استخدام لها داخليًا داخل Python هو تخزين bytecode في ملفات .pyc، لذلك ستقابلها كثيرًا عند فهم طريقة عمل المفسر.

التثبيت:
ال marshal مدمجة مع Python ولا تحتاج تثبيت

مثال سريع:
import marshal

data = {"name": "Ali", "level": 3}

binary = marshal.dumps(data)
restored = marshal.loads(binary)

print(restored)


لكن انتبه: marshal ليست بديلًا آمنًا لـ JSON أو pickle لتبادل البيانات بين البرامج، ولا يُنصح بقراءة بيانات marshal من مصدر غير موثوق.

استخدمها للتعلم وفهم Python internals، أما لحفظ بيانات تطبيقك غالبًا JSON يكون أوضح وأكثر استقرارًا.

#Python #PythonInternals
😱1
🛡️ تشويش كود Python باستخدام marshal

يمكن استخدام marshal لتحويل كود Python إلى bytecode ثنائي ثم تشغيله لاحقًا، وهذا يجعل قراءة السورس مباشرة أصعب قليلًا.

الفكرة: نقرأ ملف Python، نعمل له compile، ثم نخزن الناتج بصيغة marshal داخل ملف تشغيل صغير.

التثبيت:
marshal مدمجة مع Python ولا تحتاج تثبيت

مثال مبسط:
import marshal

source = 'print("Protected code")'
code = compile(source, "app.py", "exec")

with open("app_protected.bin", "wb") as f:
f.write(marshal.dumps(code))


تشغيل الملف لاحقًا:
import marshal

with open("app_protected.bin", "rb") as f:
code = marshal.loads(f.read())

exec(code)


مهم: هذا ليس تشفيرًا حقيقيًا ولا حماية كاملة. هو مجرد Obfuscation يجعل القراءة أصعب، ويمكن عكسه أو تحليله من شخص خبير.

للحماية الأفضل: لا تضع أسرارًا داخل الكود، واستخدم متغيرات البيئة، ووزّع التطبيق بصيغة مناسبة مثل PyInstaller عند الحاجة.

#Python #CyberSecurity #Obfuscation
🎉1
🔐 Flask-Login: إدارة تسجيل الدخول في Flask

مكتبة Flask-Login تساعدك على إدارة جلسات المستخدمين في تطبيقات Flask: تسجيل الدخول، تسجيل الخروج، تذكر المستخدم، وحماية الصفحات الخاصة.

بدل ما تتعامل يدويًا مع session في كل صفحة، تعطيك أدوات جاهزة مثل login_user وlogout_user وlogin_required.

التثبيت:
pip install Flask-Login

مثال سريع:
from flask import Flask
from flask_login import LoginManager, login_required

app = Flask(__name__)
app.secret_key = "change-me"

login_manager = LoginManager()
login_manager.init_app(app)

@app.route("/dashboard")
@login_required
def dashboard():
return "Welcome back"


الفكرة المهمة: أي route عليه login_required لن يفتح إلا إذا كان المستخدم مسجل دخول.

تحتاج أيضًا تعريف user_loader حتى يعرف Flask-Login كيف يجلب بيانات المستخدم من قاعدة البيانات.

مفيدة جدًا لأي مشروع Flask فيه لوحة تحكم، حسابات مستخدمين، أو صفحات خاصة.

#Python #Flask #WebDevelopment
🌐 Flask-RESTful: بناء REST APIs بسهولة مع Flask

مكتبة Flask-RESTful تساعدك على بناء REST API داخل Flask بطريقة مرتبة، حيث تنظّم كل Endpoint كـ Resource يحتوي دوال مثل get وpost.

بدل كتابة routes كثيرة يدويًا، تستطيع فصل منطق الـ API في Classes واضحة، وهذا يجعل المشروع أسهل في التوسعة والصيانة.

التثبيت:
pip install Flask-RESTful

مثال سريع:
from flask import Flask
from flask_restful import Api, Resource

app = Flask(__name__)
api = Api(app)

class Hello(Resource):
def get(self):
return {"message": "Hello API"}

api.add_resource(Hello, "/api/hello")

app.run(debug=True)


تجربة الطلب:
curl http://127.0.0.1:5000/api/hello

مناسبة لمشاريع Flask التي تحتاج API للوحة تحكم، تطبيق موبايل، أو Frontend منفصل مثل React.

#Python #Flask #API
4