ডেভেলপমেন্ট ক্লোনের পাশে থাকা প্রক্সি ফাইল ক্রলারের ডিপ্লয় করা প্যাকেজে স্বয়ংক্রিয়ভাবে থাকে না। দুটি কাজ আছে: বাইটগুলো বিতরণে অন্তর্ভুক্ত করা, তারপর ইনস্টল করা প্যাকেজে সেগুলো খুঁজে বের করা।

যে Setuptools প্রকল্পের Python প্যাকেজের ভিতরে crawl_app/resources/proxies.txt আছে, তার জন্য একটি pyproject.toml এন্ট্রি এটি অন্তর্ভুক্ত করতে পারে:

[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]

এটি প্রকল্পের বিদ্যমান প্যাকেজ কনফিগারেশনের সাথে একত্র করুন। ভিন্ন বিল্ড ব্যাকএন্ডের নিজস্ব ডেটা-অন্তর্ভুক্তি ইন্টারফেস রয়েছে।

এমন middleware-এর জন্য যা endpoint স্ট্রিং ব্যবহার করতে পারে, Python 3.11+ প্যাকেজ সম্পদটি সরাসরি পড়তে পারে:

from importlib.resources import files

text = files('crawl_app').joinpath('resources', 'proxies.txt').read_text(
    encoding='utf-8'
)
proxy_urls = [line.strip() for line in text.splitlines() if line.strip()]

প্রকৃত প্যাকেজ নাম ব্যবহার করুন এবং রিডারে প্রত্যাশিত URL ফরম্যাট যাচাই করুন। বিতরণযোগ্য পাবলিক endpoint ডেটার জন্য middleware-এর প্রত্যাশিত প্রোটোকল ও URL ফরম্যাটে বিনামূল্যের প্রক্সি তালিকা থেকে ঠিকানা ব্যবহার করুন। অনুসন্ধানটি ডিপ্লয়মেন্টের বর্তমান কার্য ডিরেক্টরির উপর নির্ভর করে না।

তৃতীয় পক্ষের PROXY_LIST সেটিং এই স্ট্রিংগুলোর বদলে ফাইলসিস্টেম পাথ চাইতে পারে। সেই ইন্টারফেসের জন্য importlib.resources.as_file ব্যবহার করার সময়, middleware-এর নিষ্কাশিত ফাইল যতক্ষণ প্রয়োজন ততক্ষণ এর প্রসঙ্গ খোলা রাখুন। প্রসঙ্গ বন্ধ হওয়ার পর অস্থায়ী পাথ ফেরত দিলে সম্পদটি হারিয়ে যেতে পারে।

শংসাপত্রযুক্ত উৎপাদন তালিকা ডিপ্লয়মেন্টের উদ্দিষ্ট সিক্রেট বা কনফিগারেশন স্টোরেজে রাখুন। প্যাকেজ ডেটা বিতরণযোগ্য endpoint ডেটার জন্য উপযুক্ত, কোডের সাথে বান্ডল করা সবকিছু গোপন থাকে এমন অনুমান নয়।

সম্পর্কিত নিবন্ধ