প্রকল্প সম্পর্কে

Mypy হলো Python-এর জন্য একটি স্ট্যাটিক টাইপ চেকার। একটি Python প্রোগ্রামে টাইপ হিন্ট (PEP 484) যোগ করে, mypy কোড কার্যকর হওয়ার আগেই ভেরিয়েবল ও ফাংশনের ভুল ব্যবহার রিপোর্ট করে, কারণ এটি রানটাইমের পরিবর্তে প্রোগ্রামগুলো স্ট্যাটিকভাবে বিশ্লেষণ করে। README-তে বর্ণিত মূল বৈশিষ্ট্যগুলো: - গ্র্যাজুয়াল টাইপিং: টাইপ হিন্ট ধীরে ধীরে চালু করা যায়, এবং যেখানে স্ট্যাটিক টাইপিং অসুবিধাজনক সেখানে কোড সর্বদা ডাইনামিক টাইপিং-এ ফিরে যেতে পারে। টাইপ হিন্ট প্রোগ্রাম কীভাবে চলে তা পরিবর্তন করে না। - টাইপ সিস্টেমের বৈশিষ্ট্য: টাইপ ইনফারেন্স, জেনেরিক্স, কলেবল টাইপ, টাপল টাইপ, ইউনিয়ন টাইপ, এবং স্ট্রাকচারাল সাবটাইপিং। - pip-এর মাধ্যমে ইনস্টলেশন (`python3 -m pip install -U mypy`) অথবা সরাসরি রিপোজিটরি থেকে। - কমান্ড-লাইন ব্যবহার: টাইপ-চেক করতে `mypy PROGRAM`, এবং ডেমন মোডের জন্য `dmypy run -- PROGRAM`, যা বড় কোড বেসের জন্য দ্রুততর ইনক্রিমেন্টাল আপডেট প্রদান করে। - mypy চেষ্টা করার জন্য একটি অনলাইন প্লেগ্রাউন্ড উপলব্ধ। - এডিটর ও টুল ইন্টিগ্রেশন: VS Code, Vim (Syntastic, ALE), Emacs (Flycheck), Sublime Text, PyCharm, IDLE, এবং pre-commit। - ডকুমেন্টেশন, একটি টাইপ হিন্ট চিট শিট, একটি গেটিং-স্টার্টেড গাইড, এবং এরর কোডের একটি তালিকা প্রদান করা হয়েছে। - Mypyc টাইপ হিন্ট ব্যবহার করে Python মডিউলগুলোকে C এক্সটেনশনে কম্পাইল করে; mypy নিজেই mypyc দিয়ে কম্পাইল করা, যা README অনুযায়ী এটিকে ইন্টারপ্রেটেড এক্সিকিউশনের চেয়ে প্রায় চার গুণ দ্রুত করে তোলে। `--no-binary mypy` দিয়ে একটি ইন্টারপ্রেটেড ইনস্টলেশন সম্ভব। প্রকল্পটি টেস্টিং, ডেভেলপমেন্ট, ডকুমেন্টেশন এবং অন্যান্য ক্ষেত্রে অবদানকে স্বাগত জানায়, যেখানে সব অভিজ্ঞতার স্তরের অবদানকারীদের জন্য কাজ রয়েছে।