Invoke – कार्य प्रबंधन और ऑटोमेशन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय

आधुनिक सॉफ्टवेयर डेवलपमेंट में रूटीन कार्यों को ऑटोमेट करना एक अनिवार्य हिस्सा है। चाहे वह प्रोजेक्ट बिल्ड करना हो, डिप्लॉय करना हो, कोड फॉर्मेट करना हो, माइग्रेशन चलाना हो या टेस्टिंग करनी हो – इन सभी प्रक्रियाओं को विशेष टूल्स पर छोड़ देना बेहतर है। Python डेवलपर्स के लिए, Invoke लाइब्रेरी एक ऐसा ही सार्वभौमिक समाधान है।

Invoke एक शक्तिशाली Python लाइब्रेरी है जो कमांड लाइन यूटिलिटीज बनाने के लिए उपयोग होती है। इसमें कार्यों को सामान्य Python फंक्शन के रूप में परिभाषित किया जा सकता है। यह make या Fabric जैसे लोकप्रिय टूल्स की तरह ही ऑटोमेटेड कमांड को व्यवस्थित करने का एक सरल लेकिन शक्तिशाली तरीका प्रदान करता है, और यह पूरी तरह से Python में लिखा गया है।

Invoke क्या है?

Invoke एक Python लाइब्रेरी है जो कमांड लाइन शैली में कार्यों को परिभाषित और निष्पादित करने के लिए बनाई गई है। इसका उद्देश्य डेवलपमेंट प्रक्रियाओं के ऑटोमेशन को सरल बनाना है। इसे Fabric 2 से एक अलग घटक के रूप में निकाला गया था ताकि CLI इंटरफेस और टास्क ऑटोमेशन बनाया जा सके।

Invoke के मुख्य लाभ

यह लाइब्रेरी डेवलपर्स को निम्नलिखित सुविधाएं प्रदान करती है:

  • डिक्लेरेटिव टास्क डेफिनिशन – कार्यों को @task डेकोरेटर के साथ सामान्य Python फंक्शन के रूप में परिभाषित किया जाता है
  • ऑटोमैटिक CLI जनरेशन – कोड के आधार पर कमांड लाइन इंटरफेस अपने आप जेनरेट हो जाता है
  • आर्गुमेंट्स के लिए समृद्ध सपोर्ट – आर्गुमेंट्स, ऑप्शन और हेल्प जानकारी के लिए बिल्ट-इन सपोर्ट
  • Shell के साथ इंटीग्रेशन – Context ऑब्जेक्ट के माध्यम से shell कमांड के साथ आसान काम
  • लचीला कॉन्फ़िगरेशन – नेमस्पेस, कॉन्फ़िगरेशन फाइल और एनवायरनमेंट वेरिएबल्स का सपोर्ट
  • एक्सटेंडेबिलिटी – जटिल पाइपलाइन और टास्क चेन बनाने की क्षमता

इंस्टॉलेशन और प्रारंभिक सेटअप

लाइब्रेरी इंस्टॉल करना

Invoke इंस्टॉल करने के लिए pip का उपयोग करें:

pip install invoke

इंस्टॉलेशन के बाद, inv कमांड उपलब्ध हो जाता है, जो make के समान है लेकिन Python कोड के साथ काम करता है।

इंस्टॉलेशन की जांच

सही इंस्टॉलेशन की पुष्टि करने के लिए यह कमांड चलाएं:

inv --version

टास्क स्ट्रक्चर और बेसिक सिंटैक्स

पहला टास्क बनाना

एक सरल टास्क का उदाहरण इस प्रकार है:

from invoke import task

@task
def hello(c):
    print("Hello, world!")

टास्क चलाने के लिए कमांड:

inv hello

Context ऑब्जेक्ट

प्रत्येक टास्क एक Context ऑब्जेक्ट (आमतौर पर c के रूप में) स्वीकार करता है, जिसके माध्यम से आप shell कमांड चला सकते हैं, कॉन्फ़िगरेशन मैनेज कर सकते हैं और विभिन्न यूटिलिटीज तक पहुंच सकते हैं:

@task
def build(c):
    c.run("python setup.py sdist")
    c.run("python setup.py bdist_wheel")

@task डेकोरेटर

@task डेकोरेटर का उपयोग किसी फंक्शन को CLI टास्क के रूप में चिह्नित करने के लिए किया जाता है। यह व्यवहार को कस्टमाइज़ करने के लिए कई पैरामीटर सपोर्ट करता है:

@task(help={"name": "अभिवादन के लिए उपयोगकर्ता का नाम"})
def greet(c, name="Anonymous"):
    print(f"नमस्ते, {name}!")

पैरामीटर के साथ चलाना:

inv greet --name=राहुल

आर्गुमेंट्स और ऑप्शन के साथ काम करना

अनिवार्य आर्गुमेंट्स

अनिवार्य आर्गुमेंट्स बनाने के लिए, बिना डिफ़ॉल्ट वैल्यू वाले फंक्शन पैरामीटर का उपयोग करें:

@task
def say(c, word):
    print(f"कहा गया: {word}")
inv say --word="नमस्ते दुनिया!"

ऑप्शनल आर्गुमेंट्स

ऑप्शनल आर्गुमेंट्स डिफ़ॉल्ट वैल्यू के साथ बनाए जाते हैं:

@task
def greet(c, name="मित्र"):
    print(f"नमस्ते {name}!")
inv greet
inv greet --name=सीता

अनुशंसाएँ