विषय पर बढ़ें

FastAPI संस्करणों के बारे में

🌐 एआई और मनुष्यों द्वारा किया गया अनुवाद

यह अनुवाद मनुष्यों के मार्गदर्शन में एआई द्वारा किया गया है। 🤝

इसमें मूल अर्थ को गलत समझने या अप्राकृतिक लगने आदि जैसी गलतियाँ हो सकती हैं। 🤖

आप हमें एआई LLM को बेहतर मार्गदर्शन करने में मदद करके इस अनुवाद को बेहतर बना सकते हैं।

अंग्रेज़ी संस्करण

FastAPI पहले से ही कई applications और प्रणालियों में production में उपयोग किया जा रहा है। और test coverage 100% पर रखा जाता है। लेकिन इसका development अभी भी तेजी से आगे बढ़ रहा है।

नई features अक्सर जोड़ी जाती हैं, bugs नियमित रूप से ठीक किए जाते हैं, और code अभी भी लगातार बेहतर हो रहा है।

इसीलिए वर्तमान संस्करण अभी भी 0.x.x हैं, यह दर्शाता है कि हर संस्करण में संभावित रूप से breaking changes हो सकते हैं। यह Semantic Versioning conventions का पालन करता है।

आप अभी FastAPI के साथ production applications बना सकते हैं (और संभव है कि आप कुछ समय से ऐसा कर भी रहे हों), आपको बस यह सुनिश्चित करना होगा कि आप ऐसा संस्करण उपयोग करें जो आपके बाकी code के साथ सही ढंग से काम करता हो।

अपने fastapi संस्करण को pin करें

सबसे पहले आपको FastAPI के जिस संस्करण का उपयोग आप कर रहे हैं उसे उस विशिष्ट नवीनतम संस्करण पर "pin" करना चाहिए जिसके बारे में आपको पता है कि वह आपके application के लिए सही ढंग से काम करता है।

उदाहरण के लिए, मान लें कि आप अपने app में संस्करण 0.112.0 उपयोग कर रहे हैं।

यदि आप requirements.txt file उपयोग करते हैं, तो आप संस्करण को इस तरह निर्दिष्ट कर सकते हैं:

fastapi[standard]==0.112.0

इसका मतलब होगा कि आप ठीक संस्करण 0.112.0 का उपयोग करेंगे।

या आप इसे इस तरह भी pin कर सकते हैं:

fastapi[standard]>=0.112.0,<0.113.0

इसका मतलब होगा कि आप संस्करण 0.112.0 या उससे ऊपर, लेकिन 0.113.0 से कम उपयोग करेंगे, उदाहरण के लिए, संस्करण 0.112.2 अभी भी स्वीकार किया जाएगा।

यदि आप अपनी installations प्रबंधित करने के लिए कोई अन्य tool उपयोग करते हैं, जैसे uv, Poetry, Pipenv, या अन्य, तो उन सभी में ऐसा तरीका होता है जिसका उपयोग करके आप अपने packages के लिए विशिष्ट संस्करण परिभाषित कर सकते हैं।

उपलब्ध संस्करण

आप उपलब्ध संस्करणों को (जैसे वर्तमान नवीनतम क्या है यह जांचने के लिए) Release Notes में देख सकते हैं।

संस्करणों के बारे में

Semantic Versioning conventions के अनुसार, 1.0.0 से नीचे का कोई भी संस्करण संभावित रूप से breaking changes जोड़ सकता है।

FastAPI इस convention का भी पालन करता है कि कोई भी "PATCH" संस्करण परिवर्तन bug fixes और non-breaking changes के लिए होता है।

सुझाव

"PATCH" आखिरी संख्या होती है, उदाहरण के लिए, 0.2.3 में, PATCH संस्करण 3 है।

तो, आपको इस तरह के संस्करण पर pin करने में सक्षम होना चाहिए:

fastapi>=0.45.0,<0.46.0

Breaking changes और नई features "MINOR" संस्करणों में जोड़ी जाती हैं।

सुझाव

"MINOR" बीच की संख्या होती है, उदाहरण के लिए, 0.2.3 में, MINOR संस्करण 2 है।

FastAPI संस्करणों को upgrade करना

आपको अपने app के लिए tests जोड़ने चाहिए।

FastAPI के साथ यह बहुत आसान है (Starlette के लिए धन्यवाद), docs देखें: Testing

Tests होने के बाद, आप FastAPI संस्करण को अधिक हाल के संस्करण में upgrade कर सकते हैं, और अपने tests चलाकर सुनिश्चित कर सकते हैं कि आपका पूरा code सही ढंग से काम कर रहा है।

यदि सब कुछ काम कर रहा है, या आवश्यक बदलाव करने के बाद, और आपके सभी tests pass हो रहे हैं, तो आप अपने fastapi को उस नए हालिया संस्करण पर pin कर सकते हैं।

Starlette के बारे में

आपको starlette के संस्करण को pin नहीं करना चाहिए।

FastAPI के अलग-अलग संस्करण Starlette के किसी विशिष्ट नए संस्करण का उपयोग करेंगे।

इसलिए, आप बस FastAPI को सही Starlette संस्करण उपयोग करने दे सकते हैं।

Pydantic के बारे में

Pydantic अपने tests में FastAPI के tests शामिल करता है, इसलिए Pydantic के नए संस्करण (1.0.0 से ऊपर) हमेशा FastAPI के साथ compatible होते हैं।

आप Pydantic को 1.0.0 से ऊपर किसी भी ऐसे संस्करण पर pin कर सकते हैं जो आपके लिए काम करता हो।

उदाहरण के लिए:

pydantic>=2.7.0,<3.0.0