Datasourceforcryptocurrency / HUGGINGFACE_UPLOAD.md
Really-amin's picture
Upload 15 files
3947f52 verified
|
Raw
History Blame
8.72 kB

🤗 راهنمای آپلود به Hugging Face Spaces

📦 فایل‌های مورد نیاز برای آپلود

برای استقرار در Hugging Face Spaces، شما فقط به 4 فایل نیاز دارید:

✅ فایل‌های ضروری:

1. 📄 app.py                    ← Backend API
2. 📄 requirements.txt          ← وابستگی‌ها
3. 📄 Dockerfile               ← تنظیمات Docker
4. 📂 templates/
   └── 📄 index.html           ← رابط کاربری

❌ فایل‌های غیرضروری (نیازی به آپلود ندارند):

- README.md                    (اختیاری - برای مستندات)
- QUICKSTART.md               (مستندات)
- COMPARISON.md               (مستندات)
- DEPLOYMENT.md               (مستندات)
- START_HERE.md               (مستندات)
- test.py                     (فقط برای تست محلی)
- Makefile                    (فقط برای development)
- .env.example                (نمونه تنظیمات)
- .gitignore                  (Git)

🚀 مراحل دقیق آپلود

مرحله 1: ایجاد Space جدید

  1. به huggingface.co/new-space بروید
  2. اطلاعات زیر را وارد کنید:
    Space name: datasourceforcryptocurrency
    License: MIT
    Select SDK: Docker
    
  3. روی Create Space کلیک کنید

مرحله 2: آپلود فایل‌ها

روش A: از طریق Web Interface (ساده‌تر)

  1. در صفحه Space خود، روی تب Files کلیک کنید
  2. روی Add file کلیک کنید
  3. فایل‌های زیر را یک به یک آپلود کنید:
📄 app.py
📄 requirements.txt  
📄 Dockerfile
  1. برای آپلود index.html:
    • روی Add file کلیک کنید
    • Create a new file را انتخاب کنید
    • نام فایل را templates/index.html بگذارید
    • محتوای فایل را paste کنید
    • Commit کنید

روش B: از طریق Git (پیشرفته)

# 1. Clone کردن Space
git clone https://huggingface.co/spaces/YOUR_USERNAME/datasourceforcryptocurrency
cd datasourceforcryptocurrency

# 2. کپی فایل‌ها
cp /path/to/crypto_dashboard/app.py .
cp /path/to/crypto_dashboard/requirements.txt .
cp /path/to/crypto_dashboard/Dockerfile .
mkdir templates
cp /path/to/crypto_dashboard/templates/index.html templates/

# 3. Commit و Push
git add .
git commit -m "Initial commit"
git push

مرحله 3: بررسی Build

  1. پس از آپلود، Hugging Face به صورت خودکار شروع به build می‌کند
  2. در تب Logs می‌توانید پیشرفت را ببینید
  3. زمان build: حدود 2-3 دقیقه
  4. پس از اتمام build، Space شما آماده است!

مرحله 4: تست

  1. روی لینک Space خود کلیک کنید
  2. صفحه اصلی باید بارگذاری شود
  3. تب‌های مختلف را امتحان کنید:
    • 🔥 ترندها
    • 💎 برترین‌ها
    • 📰 اخبار
    • 📊 احساسات
    • ⛓️ بلاکچین

📋 Checklist آپلود

قبل از آپلود، این موارد را چک کنید:

✅ فایل app.py

# مطمئن شوید که این خط وجود دارد:
if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=7860)

✅ فایل requirements.txt

fastapi==0.104.1
uvicorn[standard]==0.24.0
httpx==0.25.2
python-dotenv==1.0.0

✅ فایل Dockerfile

FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN mkdir -p templates
CMD ["python", "app.py"]

✅ ساختار فایل‌ها

your-space/
├── app.py
├── requirements.txt
├── Dockerfile
└── templates/
    └── index.html

🔧 عیب‌یابی

مشکل: Build Failed

علت: وابستگی‌های اشتباه یا ناسازگار

راه‌حل:

# چک کنید که requirements.txt درست است
# فقط این 4 خط باید وجود داشته باشد:
fastapi==0.104.1
uvicorn[standard]==0.24.0
httpx==0.25.2
python-dotenv==1.0.0

مشکل: Application Error

علت: Port اشتباه یا فایل‌ها ناقص

راه‌حل:

  1. مطمئن شوید port 7860 است
  2. بررسی کنید که پوشه templates/ وجود دارد
  3. بررسی کنید که index.html داخل templates/ است

مشکل: صفحه سفید

علت: مسیر فایل HTML اشتباه است

راه‌حل:

# در app.py بررسی کنید:
html_path = os.path.join(os.path.dirname(__file__), "templates", "index.html")
if os.path.exists(html_path):
    return FileResponse(html_path)

مشکل: API Error

علت: CoinGecko rate limit یا network issue

راه‌حل:

  • Cache به صورت خودکار فعال است
  • Fallback data برای زمان خطا موجود است
  • صبر کنید و Refresh کنید

🎯 نکات مهم

1. حجم فایل‌ها

✅ کل پروژه: ~200KB (خیلی کم!)
✅ Build time: 2-3 دقیقه
✅ Memory usage: ~50-100MB

2. Performance

✅ Cold start: 3-5 ثانیه
✅ API response: 100-300ms (با cache: <50ms)
✅ Auto-refresh: هر 30 ثانیه

3. محدودیت‌های Free Tier

⚠️ Sleep بعد از 48 ساعت بدون استفاده
⚠️ ممکن است گاهی کند شود
✅ برای demo و testing عالی است

📸 نمونه تصاویر

قبل از Build:

Space Status: Building...
Logs: Installing dependencies...

بعد از Build:

Space Status: Running ✓
URL: https://huggingface.co/spaces/USERNAME/SPACE

🌟 بهترین روش‌ها

1. نام‌گذاری Space

✅ استفاده از حروف کوچک و خط فاصله
✅ نام توصیفی
❌ استفاده از کاراکترهای خاص

2. مستندات

✅ README.md را در Space اضافه کنید
✅ توضیحات فارسی بنویسید
✅ نمونه استفاده قرار دهید

3. Updates

✅ هر تغییر، commit و push کنید
✅ از Git branching استفاده کنید
✅ تست کنید قبل از push

🎓 مثال کامل

فایل app.py (خلاصه)

from fastapi import FastAPI
app = FastAPI(title="Crypto Dashboard")

@app.get("/")
async def root():
    return FileResponse("templates/index.html")

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=7860)

ساختار نهایی در Hugging Face:

datasourceforcryptocurrency/
├── 📄 app.py                    (Backend)
├── 📄 requirements.txt          (Dependencies)
├── 📄 Dockerfile               (Docker config)
├── 📄 README.md                (اختیاری)
└── 📂 templates/
    └── 📄 index.html           (Frontend)

✅ Checklist نهایی

قبل از publish کردن Space:

  • همه فایل‌های ضروری آپلود شده‌اند
  • requirements.txt صحیح است (فقط 4 پکیج)
  • Dockerfile به درستی تنظیم شده
  • templates/index.html موجود است
  • Build موفقیت‌آمیز بود
  • Space به درستی کار می‌کند
  • تمام تب‌ها تست شده‌اند
  • API endpoints پاسخ می‌دهند

🚀 آماده برای Launch!

حالا می‌توانید Space خود را public کنید:

  1. به Settings بروید
  2. Visibility را روی Public تنظیم کنید
  3. Share کنید: https://huggingface.co/spaces/YOUR_USERNAME/SPACE

🎊 تبریک!

Space شما آماده است! 🎉

لینک مستقیم:

https://huggingface.co/spaces/Really-amin/datasourceforcryptocurrency

API Documentation:

https://huggingface.co/spaces/Really-amin/datasourceforcryptocurrency/docs

📞 کمک بیشتر

اگر مشکلی دارید:

  1. Logs را بررسی کنید: تب Logs در Space
  2. تست محلی کنید: python app.py
  3. فایل‌ها را چک کنید: مطمئن شوید همه موجودند
  4. Community بپرسید: Hugging Face Discord

موفق باشید! 🚀✨

این داشبورد حالا آماده است تا به کاربران شما سرویس بدهد!