विषय पर बढ़ें

स्टारलेट

✨ वह चमकदार थोड़ा ASGI ढांचा।✨

Build Status Package version


परिचय

te एक हल्का ASGI फ्रेमवर्क / टूलकिट है जो पायथन में अतुल्यकालिक वेब सेवाओं के निर्माण के लिए आदर्श है।

यह उत्पादन के लिए तैयार है और आपको निम्नलिखित प्रदान करता है:

  • एक हल्का, कम-जटिलता HTनेटवर्किंग ढांचा।
  • वेबसॉकेट समर्थन।
  • प्रक्रिया में पृष्ठभूमि कार्य।
  • घटनाओं को शुरू और बंद करें।
  • परीक्षण ग्राहक पक्ष के आधार पर httpx निर्माण।
  • कॉर्स, GZip, स्थिर फ़ाइलें, स्ट्रीमिंग प्रतिक्रियाएं।
  • सत्र और कुकी समर्थन।
  • 100% परीक्षण कवरेज।
  • 100% प्रकार-एनोटेट कोडबेस।
  • कुछ कठिन निर्भरता हैं।
  • के साथ asyncio और trio बैकएंड संगतता।
  • स्वतंत्र बेंचमार्क के खिलाफ समग्र प्रदर्शन उत्कृष्ट है।

अनुरोध

अजगर 3.8 और ऊपर

स्थापित करें

$ pip3 install starlette

आपको एक ASGI सर्वर भी स्थापित करने की आवश्यकता होगी, जैसे कि uvicorn, daphne, या हाइपरकॉर्न।

$ 3 uस्थापित करें

उदाहरण

example.py

te.से आयात
से te.आयात JSONआयात
स्टारलेट से। रूटिंग आयात मार्ग


Ac def मुखपृष्ठ (अनुरोध):
    रिटर्न JSON({'hello': 'world'})


ऐप = स्टारलेट (debug = True, मार्गों = [
    मार्ग ('/', homepage),
])

फिर एप्लिकेशन चलाएं ...

$ uउदाहरण: ऐप

अधिक पूर्ण उदाहरण के लिए, कृपया यहां देखें।

निर्भरता

केवल की जरूरत है anyio निम्नलिखित निर्भरता वैकल्पिक हैं:

  • httpx यदि आप इसका उपयोग करना चाहते हैं TestClient , आवश्यक है।
  • jinja2 यदि आप इसका उपयोग करना चाहते हैं Jinja2Templates , आवश्यक है।
  • python-multipart - यदि आप फॉर्म पार्सिंग का समर्थन करना चाहते हैं, तो आपको मिलान करने की आवश्यकता है request.form() ...
  • itsdangerous - के लिए SessionMiddleware समर्थन के लिए आवश्यक।
  • pyyaml - के लिए SchemaGenerator समर्थन के लिए आवश्यक।

आप उपयोग कर सकते हैं pip3 install starlette[full] इन सभी को स्थापित करें।

फ्रेमवर्क या टूलकिट

te को या तो एक पूर्ण ढांचे के रूप में या ASGI टूलकिट के रूप में उपयोग करने के लिए डिज़ाइन किया गया है। आप इसके किसी भी घटक का स्वतंत्र रूप से उपयोग कर सकते हैं।

से te.आयात T


Ac def ऐप (गुंजाइश, प्राप्त, भेजें):
    गुंजाइश डालें ['type'] == 'htp'
    प्रतिक्रिया = प्लेनटेक्स प्रतिक्रिया ('Hello, world!')
    प्रतिक्रिया की प्रतीक्षा (गुंजाइश, प्राप्त, भेजें)

मौजूद है example.py में चलाएं app आवेदन:

$ uउदाहरण: ऐप
जानकारी: सर्वर प्रक्रिया शुरू की [11509]
जानकारी: http://127.0.0.1:8000 पर चल रहा यूविकॉर्न (प्रेस CTRL + C छोड़ने के लिए)

कोड बदलने पर स्वचालित रीलोडिंग को सक्षम करने के लिए --reload के साथ uचलाएं।

संशोधन

का मॉड्यूलर डिज़ाइन पुन: प्रयोज्य घटकों के निर्माण की सुविधा प्रदान करता है जिन्हें किसी भी ASGI ढांचे में साझा किया जा सकता है। यह साझा मिडलवेयर और माउंटेबल अनुप्रयोगों के एक पारिस्थितिकी तंत्र को सक्षम करना चाहिए।

स्वच्छ एपीआई पृथक्करण भी प्रत्येक घटक को व्यक्तिगत रूप से समझना आसान बनाता है।


_Starlette कोड है जो D लाइसेंसिंग समझौते का अनुसरण करता है। अच्छी तरह से डिजाइन और निर्मित। _ — ⭐️ —