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

hwid একটি লাইটওয়েট Python লাইব্রেরি এবং কমান্ড-লাইন টুল যা Windows, Linux, এবং macOS জুড়ে একটি কম্পিউটারের হার্ডওয়্যার আইডি (hwid) বের করার জন্য ডিজাইন করা হয়েছে। এটি কোনো বাহ্যিক রানটাইম নির্ভরতা ছাড়াই হার্ডওয়্যার শনাক্তকারী পেতে নেটিভ OS ডিটেকশন ব্যবহার করে। প্রকল্পটি লেখক একটি ব্যবহারিক সমস্যা সমাধানের জন্য তৈরি করেছেন: অননুমোদিত ব্যবহারকারীদের কাছে বিতরণ না করেই ডেস্কটপ অ্যাপ্লিকেশন লাইসেন্স করা। কম্পিউটারের হার্ডওয়্যার আইডিকে একটি অনন্য শনাক্তকারী হিসেবে ব্যবহার করে, ডেভেলপাররা লাইসেন্সিং সিস্টেম বাস্তবায়ন করতে পারেন যা সফটওয়্যারকে নির্দিষ্ট মেশিনের সাথে আবদ্ধ করে। ইনস্টলেশন সহজ: pip (`pip install hwid`), macOS/Linux-এ Homebrew, বা Windows-এ Scoop-এর মাধ্যমে। ইনস্টল করার পরে, লাইব্রেরিটি Python মডিউল হিসেবে `hwid` ইম্পোর্ট করে এবং `hwid.get_hwid()` কল করার মাধ্যমে, অথবা CLI টুল হিসেবে `hwid` চালিয়ে হার্ডওয়্যার আইডি প্রিন্ট করতে, `hwid version` চালিয়ে প্যাকেজ সংস্করণ পরীক্ষা করতে, বা `hwid info` চালিয়ে সংস্করণ, Python এবং প্ল্যাটফর্ম তথ্য প্রদর্শন করতে ব্যবহার করা যেতে পারে। মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে নেটিভ OS ডিটেকশন সহ ক্রস-প্ল্যাটফর্ম সাপোর্ট, শূন্য বাহ্যিক রানটাইম নির্ভরতা এবং মডিউল ও CLI টুল উভয় হিসেবে দ্বৈত ব্যবহার। প্রকল্পটি ইঞ্জিনিয়ারিং মানের উপর জোর দেয়: একাধিক টুল (mypy, basedpyright, ty, pyrefly, zuban) দিয়ে পরীক্ষা করা সম্পূর্ণ টাইপ হিন্ট, ruff দিয়ে ব্যাপক লিন্টিং এবং ফরম্যাটিং, import-linter দিয়ে আর্কিটেকচার-কন্ট্রাক্ট প্রয়োগ, কভারেজ রিপোর্টিং সহ pytest টেস্টিং, GitHub Pages ডিপ্লয়মেন্ট সহ Sphinx ডকুমেন্টেশন এবং একাধিক প্ল্যাটফর্ম জুড়ে টেস্টিং, বিল্ডিং এবং পাবলিশিংয়ের জন্য স্বয়ংক্রিয় CI/CD। নিরাপত্তা ব্যবস্থার মধ্যে রয়েছে CodeQL, OpenSSF Scorecard, ডিপেন্ডেন্সি রিভিউ, gitleaks দিয়ে সিক্রেট স্ক্যানিং, pip-audit দিয়ে ডিপেন্ডেন্সি অডিটিং, zizmor দিয়ে GitHub Actions স্ট্যাটিক অ্যানালাইসিস এবং প্রতিটি রিলিজের সাথে সংযুক্ত CycloneDX SBOM। প্রকল্পটি ডিপেন্ডেন্সি ম্যানেজমেন্টের জন্য uv এবং বিল্ডিংয়ের জন্য hatch ব্যবহার করে। লেখক একটি গুরুত্বপূর্ণ সতর্কতা অন্তর্ভুক্ত করেছেন: hwid-কে লাইসেন্সিং সিস্টেমের একমাত্র উপাদান হিসেবে ব্যবহার করা উচিত নয়। সার্ভার-ক্লায়েন্ট আর্কিটেকচারের জন্য, এনক্রিপ্ট করা hwid বৈধতার জন্য সার্ভারে পাঠানো যেতে পারে, যদিও mitmproxy-এর মতো টুল দিয়ে HTTP অনুরোধ আটকানো যেতে পারে। লোকাল লাইসেন্সিংয়ের জন্য, hwid এনক্রিপ্ট করে একটি ফাইলে সংরক্ষণ করা যেতে পারে, এবং রিভার্স ইঞ্জিনিয়ারিং কঠিন করতে pyarmor-এর মতো কোড অবফাসকেশন টুল সুপারিশ করা হয়। প্রকল্পটি MIT লাইসেন্সের অধীনে বিতরণ করা হয় এবং দূষিত উদ্দেশ্যে তৈরি নয়।