इस प्रोजेक्ट के बारे में
ticktick-py-v2 TickTick के अनौपचारिक `api/v2` एंडपॉइंट के लिए एक Python रैपर है, जो वेब ऐप और डेस्कटॉप क्लाइंट द्वारा उपयोग किया जाने वाला आंतरिक इंटरफ़ेस है। लेखक इसे TickTick के आधिकारिक OAuth API का एक विकल्प के रूप में पेश करता है, जो कार्यों और प्रोजेक्ट्स को कवर करता है लेकिन आदतों को केवल पढ़ने के लिए उपलब्ध कराता है और इसमें फोकस/पोमोडोरो एंडपॉइंट नहीं हैं।
README के अनुसार, लाइब्रेरी निम्नलिखित को उजागर करती है:
- कार्य और प्रोजेक्ट: सक्रिय कार्यों और प्रोजेक्ट सूचियों को पढ़ें, कार्य बनाएं, कार्यों को पूरा करें, और प्रोजेक्ट गुणों जैसे प्रोजेक्ट नामों के साथ कार्य ऑब्जेक्ट्स को समृद्ध करें।
- आदतें: चेक-इन पढ़ें (उदाहरण के लिए, एक निश्चित तारीख के बाद) और चेक-इन पोस्ट करें, जिसे README में किसी अन्य डेटा स्रोत से आदत के इतिहास को वापस भरने का एक तरीका बताया गया है।
- फोकस/पोमोडोरो: एक दिन की ऑफसेट पर फोकस सत्र पढ़ें, जांचें कि क्या कोई सत्र वर्तमान में चल रहा है, और ऐतिहासिक सत्रों के लिए फोकस रिकॉर्ड जोड़ें (शुरुआत/समाप्ति समय)।
- कैलेंडर इवेंट्स: सभी इवेंट्स प्राप्त करें।
README से डिज़ाइन नोट्स:
- API को स्टेटफुल क्लाइंट क्लासेस के बजाय साधारण फ़ंक्शंस के रूप में उजागर किया गया है; प्रत्येक कॉल एक वैकल्पिक `headers` तर्क स्वीकार करता है, इसलिए ऑथ हेडर को `get_authenticated_ticktick_headers()` के माध्यम से एक बार प्राप्त किया जा सकता है और पुन: उपयोग किया जा सकता है, या प्रति कॉल ताजा प्राप्त किया जा सकता है (एक बार लॉगिन डिस्क पर कैश हो जाने के बाद सस्ता)।
- प्रमाणीकरण OAuth नहीं, बल्कि सामान्य लॉगिन सत्र (कुकीज़) का उपयोग करता है। क्रेडेंशियल `TICKTICK_EMAIL` और `TICKTICK_PASSWORD` पर्यावरण चर के माध्यम से प्रदान किए जा सकते हैं, जिसमें एक हेडलेस Selenium सत्र लॉगिन को संभालता है और कुकीज़ को कैश करता है; वैकल्पिक रूप से, कुकीज़ को मैन्युअल रूप से `.ticktick-cookies.json` फ़ाइल में निर्यात किया जा सकता है।
- रिटर्न वैल्यू pydantic `BaseModel` उदाहरण हैं, जिन्हें TickTick के मूल camelCase फ़ील्ड नामों के लिए `.model_dump()` या `.model_dump(by_alias=True)` के साथ परिवर्तित किया जा सकता है।
स्थापना `pip install ticktick-py-v2` के माध्यम से होती है; परीक्षण pytest के साथ शामिल `tests/` निर्देशिका के खिलाफ चलते हैं। रिपॉजिटरी को `cookies_login.py`, `events.py`, `focus.py`, `habits.py`, `tasks.py`, साथ ही `utils/` और `web/` आंतरिक भागों में व्यवस्थित किया गया है।
README में स्पष्ट रूप से मुख्य समझौता बताया गया है: यह एक अनौपचारिक, रिवर्स-इंजीनियर किया गया API है जो एक उपयोगकर्ता के लॉगिन सत्र के माध्यम से प्रमाणीकृत होता है और यदि TickTick अपने आंतरिक एंडपॉइंट बदलता है तो टूट सकता है। योगदान अनुभाग में आवर्ती-कार्य एज केस, सबटास्क और रिमाइंडर जैसे अनकवर्ड एंडपॉइंट्स के लिए इश्यू और पुल रिक्वेस्ट आमंत्रित किए गए हैं, और जब कोई एंडपॉइंट बदलता है तो असफल अनुरोध/प्रतिक्रिया विवरण मांगे गए हैं। Apache 2.0 के तहत लाइसेंस प्राप्त।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.