Skip to content

Tzipi10/PythonProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

🧠 PythonProject – ניתוח קוד וכלי CLI לניהול גרסאות

ריפו זה מאחד שני פרויקטים משלימים ב־Python:

  1. 🔍 finalPythonProject – ויצירת גרפים Python מערכת לניתוח קוד
  2. 💡 PythonProjectWit – Git לניהול גרסאות המדמה (CLI) כלי שורת פקודה

📁 מבנה התיקיות

/
├──  finalPythonProject – ניתוח קוד, API וגרפים
└──  PythonProjectWit – ממשק CLI לניהול גרסאות

🔍 פרויקט: finalPythonProject (server)

תיאור

פרויקט זה נועד לנתח קבצי Python בתיקייה נתונה וליצור גרפים על סמך המידע שנאסף.

המערכת כוללת בדיקות כמו:

  • אורך פונקציות
  • שימוש במשתנים
  • פונקציות ללא תיעוד
  • גודל קבצים

דרישות

  • Python 3.x

התקנה

cd finalPythonProject
pip install -r requirements.txt

הרצת השרת

cd finalPythonProject/app
python main.py

שימוש ב־API

  • בדיקת תקינות:

    GET http://localhost:8000/
  • ניתוח קוד:

    POST http://localhost:8000/analyze
  • קבלת התראות:

    POST http://localhost:8000/alerts

שים לב: יש לשלוח את הנתיב של תיקיית הקוד בגוף הבקשה (ויש להשתמש ב־\ כפולים).

תוצאות

  • הגרפים שנוצרים נשמרים בתיקיית images
  • נגישים גם דרך ה־API

💡 פרויקט: PythonProjectWit (client)

תיאור

Wit הוא כלי לניהול גרסאות בשורת הפקודה (CLI), שמדמה את Git ונכתב כולו ב-Python.

יכולות עיקריות:

  • אתחול מאגר (wit init)
  • מעקב אחר שינויים (wit add)
  • ניהול היסטוריית גרסאות (wit commit, wit status)
  • דחיפת שינויים לניתוח קוד (wit push) ← מחובר ל־server

טכנולוגיות:

  • Python 3.x
  • ספריית Click
  • OOP – תכנון מונחה עצמים, עם דגש על הרחבה ותחזוקה

דוגמת שימוש

wit init
wit add main.py
wit commit -m "First version"
wit push

wit log
wit status

הפקודה wit push תשלח את הקבצים לשרת לניתוח ותחזיר גרפים בהתאם.


📝 הערות

  • ודא שהתיקייה שאתה שולח לניתוח מכילה קבצי .py
  • אם הנתיב לא חוקי – תתקבל שגיאה
  • שני הפרויקטים יכולים לפעול גם בנפרד

About

Python code analysis and graphs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published