cardstream
הורדה

מריצים את cardstream

פקודה אחת ב-macOS וב-Linux; קובץ wheel של גרסה, Dockerfile ובנייה מקוד המקור כשרוצים יותר שליטה. macOS arm64, Linux amd64 ו-Windows amd64 נתמכים כולם באותה גרסת Python טהורה.

סקריפט התקנה

התקנה בפקודה אחת

יוצר סביבה וירטואלית ב-~/.cardstream, מאמת את קובץ ה-wheel של הגרסה מול ה-checksums שלו, מוריד את משקלי המודלים ומכניס את cardstream-web ואת cardstream-client ל-PATH. משתמש ב-uv אם הוא מותקן אצלכם.

$ curl -fsSL https://raw.githubusercontent.com/Ximilar-com/cardstream/main/scripts/install.sh | sh
$ export XIMILAR_API_KEY=your-key
$ cardstream-web
# → http://127.0.0.1:8001 (מחזיקים קלף מול המצלמה)

הגדרות, אם צריך

  • CARDSTREAM_VERSION — נעילה על תג גרסה מסוים במקום האחרונה, למשל v0.5.2
  • CARDSTREAM_HOME — תיקיית השורש של ההתקנה, שמכילה את ה-venv ואת המודלים (ברירת מחדל ~/.cardstream)
  • INSTALL_DIR — לאן נכתבים קובצי ה-shim של cardstream-web / cardstream-client (ברירת מחדל ~/.local/bin)
  • CARDSTREAM_MODELS_BASE_URL — שרת חלופי לקובצי ה-tar של המשקלים, אחד לכל מודל
  • CARDSTREAM_MODEL_ARCHIVES — אילו קובצי tar להוריד משם (מופרדים ברווחים)
  • CARDSTREAM_EXTRAS — תוספות pip להתקנה (ברירת מחדל client,onnx)
  • CARDSTREAM_TRACKER_URL — קובץ ה-.onnx של vitTracker, שמפעילים לפי בחירה (ברירת מחדל: ה-OpenCV zoo)
אימות

אימות ההתקנה

הסקריפט מאמת את קובץ ה-wheel מול SHA256SUMS של הגרסה לפני שהוא מתקין משהו. אחר כך, דגל אחד מאשר מה מותקן על המחשב שלכם:

$ cardstream-web --version
cardstream 0.5.2

הורדתם את הקבצים בעצמכם? בודקים אותם כמו שהסקריפט עושה: shasum -a 256 -c SHA256SUMS.

הורדה ידנית

ישר מהגרסה

החבילה נמצאת ב-PyPI, וכל גרסה ב-GitHub כוללת את אותו wheel ואת אותו sdist לצד קובץ SHA256SUMS. קובץ wheel אחד ב-Python טהור מתאים לכל הפלטפורמות:

$ pip install 'cardstream[client,onnx]'

Windows

סקריפט ההתקנה עובד רק במערכות POSIX; ב-Windows מתקינים מ-PyPI, פורסים את קובצי ה-tar של המשקלים, אחד לכל מודל, מתוך גרסת המודלים, ומכוונים אליהם את הדגלים:

> py -3.11 -m venv cardstream-env
> cardstream-env\Scripts\activate
> pip install 'cardstream[client,onnx]'
> set XIMILAR_API_KEY=your-key
> cardstream-web --segmentor-model models\segmentation_model\onnx\model.onnx ^
    --embed-model models\similarity_model\onnx\model.onnx
השוואה

בחירת דרך

דרך הכי מתאימה כש... בדיקה ראשונה
סקריפט התקנה רוצים את ההתקנה המהירה ביותר ב-localhost: venv, משקלי מודלים וקובצי shim ב-PATH, הכול מטופל בשבילכם. cardstream-web --version
Docker שרת נקי, או קליטה של דחיפה מ-OBS על מחשב שליד המקודד. curl -s http://127.0.0.1:8001/mode
בנייה מקוד המקור משנים את הקוד. pytest -q tests/core/test_engine.py
Docker

הרצה בקונטיינר

בהרצה הראשונה התמונה מורידה את משקלי המודלים ל-volume ומפעילה את לקוח הווב. בונים אותה מה-Dockerfile שבמאגר:

$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream
$ docker build -t cardstream .
$ docker run --rm -e XIMILAR_API_KEY -p 127.0.0.1:8001:8001 \
    -v cardstream-models:/models cardstream

הקונטיינר מאזין ל-0.0.0.0 בתוכו: מפרסמים את הפורט ל-127.0.0.1 בלבד, כמו למעלה. האפליקציה פועלת בלי אימות ומחזיקה את מפתח ה-API של Ximilar שלכם; לעולם לא חושפים אותה לרשת המקומית או לאינטרנט.

קוד מקור

בנייה מקוד המקור

עותק של המאגר, סקריפט אחד, וחבילת הבדיקות הלא מקוונת כבדיקה הראשונה. --models מוריד גם את המשקלים.

$ git clone https://github.com/Ximilar-com/cardstream && cd cardstream
$ ./scripts/build-from-source.sh --models
$ source .venv/bin/activate
$ cardstream-web --version