منصوبے کے بارے میں
ticktick-py-v2 TickTick کے غیر سرکاری `api/v2` اینڈ پوائنٹ کے گرد ایک Python ریپر ہے، جو ویب ایپ اور ڈیسک ٹاپ کلائنٹس کے ذریعہ استعمال ہونے والا اندرونی انٹرفیس ہے۔ مصنف اسے TickTick کے سرکاری OAuth API کا ایک متبادل کے طور پر پیش کرتا ہے، جو ٹاسکس اور پروجیکٹس کو کور کرتا ہے لیکن عادات کو صرف پڑھنے کے لیے ظاہر کرتا ہے اور اس میں فوکس/پومودورو اینڈ پوائنٹس نہیں ہیں۔
README کے مطابق، لائبریری یہ چیزیں ظاہر کرتی ہے:
- ٹاسکس اور پروجیکٹس: فعال ٹاسکس اور پروجیکٹ لسٹس کو پڑھیں، ٹاسکس بنائیں، ٹاسکس کو مکمل کریں، اور ٹاسک آبجیکٹس کو پروجیکٹ پراپرٹیز جیسے پروجیکٹ ناموں کے ساتھ افزودہ کریں۔
- عادات: چیک-انز کو پڑھیں (مثلاً ایک دی گئی تاریخ کے بعد) اور چیک-انز پوسٹ کریں، جسے README ایک دوسرے ڈیٹا سورس سے عادت کی تاریخ کو واپس بھرنے کا طریقہ بتاتا ہے۔
- فوکس/پومودورو: ایک دن کی آفسیٹ پر فوکس سیشنز کو پڑھیں، چیک کریں کہ آیا کوئی سیشن فی الحال چل رہا ہے، اور تاریخی سیشنز کے لیے فوکس ریکارڈز شامل کریں (شروع/ختم ٹائم اسٹامپس)۔
- کیلنڈر ایونٹس: تمام ایونٹس حاصل کریں۔
README سے ڈیزائن نوٹ:
- API کو سادہ فنکشنز کے طور پر ظاہر کیا گیا ہے نہ کہ سٹیٹ فل کلائنٹ کلاسز کے طور پر؛ ہر کال ایک اختیاری `headers` آرگومنٹ قبول کرتی ہے، لہذا auth headers کو `get_authenticated_ticktick_headers()` کے ذریعے ایک بار حاصل کیا جا سکتا ہے اور دوبارہ استعمال کیا جا سکتا ہے، یا ہر کال کے لیے تازہ حاصل کیا جا سکتا ہے (ڈسک پر لاگ ان کیش ہونے کے بعد سستا)۔
- تصدیق عام لاگ ان سیشن (کوکیز) کا استعمال کرتی ہے، OAuth نہیں۔ اسناد کو `TICKTICK_EMAIL` اور `TICKTICK_PASSWORD` ماحول متغیرات کے ذریعے فراہم کیا جا سکتا ہے، جس میں ایک ہیڈلیس Selenium سیشن لاگ ان کو ہینڈل کرتا ہے اور کوکیز کو کیش کرتا ہے؛ متبادل طور پر کوکیز کو دستی طور پر `.ticktick-cookies.json` فائل میں ایکسپورٹ کیا جا سکتا ہے۔
- واپسی کے اقدار pydantic `BaseModel` انسٹینسز ہیں، جو `.model_dump()` یا `.model_dump(by_alias=True)` کے ساتھ TickTick کے مقامی camelCase فیلڈ ناموں کے لیے تبدیل کی جا سکتی ہیں۔
انسٹالیشن `pip install ticktick-py-v2` کے ذریعے ہوتی ہے؛ ٹیسٹ شامل کردہ `tests/` ڈائریکٹری کے خلاف pytest کے ساتھ چلتے ہیں۔ ریپازٹری کو `cookies_login.py`, `events.py`, `focus.py`, `habits.py`, `tasks.py`, پلس `utils/` اور `web/` اندرونی حصوں میں منظم کیا گیا ہے۔
README اس اہم سمجھوتہ کے بارے میں واضح ہے: یہ ایک غیر سرکاری، ریورس-انجینئرڈ API ہے جو ایک صارف کے لاگ ان سیشن کے ذریعے تصدیق کرتا ہے اور اگر TickTick اپنے اندرونی اینڈ پوائنٹس کو تبدیل کرتا ہے تو ٹوٹ سکتا ہے۔ کنٹریبیوشن سیکشن غیر ڈھکے ہوئے اینڈ پوائنٹس جیسے ریicurنگ-ٹاسک ایج کیسز، سب ٹاسکس اور ریمائنڈرز کے لیے ایشوز اور پل ریکویسٹس کی دعوت دیتا ہے، اور جب کوئی اینڈ پوائنٹ تبدیل ہوتا ہے تو ناکام درخواست/رسپانس کی تفصیلات مانگتا ہے۔ Apache 2.0 کے تحت لائسنس یافتہ۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.