এখানে একটি স্যাম্পল প্রজেক্ট দেওয়া হলো যা প্রজেক্ট স্ট্রাকচার করার খুব ভালো একটি উপায় দেখায়: https://github.com/kennethreitz/samplemod। এই প্রজেক্টটি sample মডিউল তৈরি করার մասին। ডিরেক্টরি স্ট্রাকচার নিচের মতো:
README.rst
LICENSE
setup.py
requirements.txt
sample/__init__.py
sample/core.py
sample/helpers.py
docs/conf.py
docs/index.rst
tests/test_basic.py
tests/test_advanced.py
README.rst ফাইল: এই ফাইলটি মডিউলের সংক্ষিপ্ত বিবরণ, কীভাবে সেটআপ করবেন, কীভাবে ব্যবহার করবেন, ইত্যাদি দেওয়ার জন্য।
LICENSE: লাইসেন্স টেক্সট এবং যেকোনো কপিরাইট দাবি।
setup.py: এটি পাইথনের উত্তর মাল্টি-প্ল্যাটফর্ম ইনস্টলার এবং মেক ফাইলের। আপনি যদি কমান্ড লাইন ইনস্টলেশন জানেন, তবে make && make install অনুবাদ হয় python setup.py build && python setup.py install। তাই এটি ইউজার মেশিনে আপনার প্রজেক্ট বিল্ড করতে ব্যবহৃত হয়।
requirements.txt: একটি পিপ রিকোয়ারমেন্ট ফাইল テストিং, বিল্ডিং, এবং ডকুমেন্টেশন জেনারেট করার জন্য প্রজেক্টে কন্ট্রিবিউট করার জন্য প্রয়োজনীয় ডিপেন্ডেন্সিগুলো স্পেসিফাই করা উচিত। আপনার প্রজেক্টে কোনো ডেভেলপমেন্ট ডিপেন্ডেন্সি না থাকলে, অথবা আপনি setup.py দিয়ে ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ পছন্দ করলে, এই ফাইলটি অনাবশ্যক।
docs/: এই ডিরেক্টরিতে আপনার প্রজেক্টের ডকুমেন্টেশন থাকে।
tests/: আপনার সকল টেস্ট এই ডিরেক্টরিতে থাকা উচিত। শুরুতে আপনার একটা টেস্ট ফাইল থাকবে। আকার বড় হলে, আপনি আপনার টেস্টগুলো আপনার মডিউল ডিরেক্টরির মতো স্ট্রাকচার করতে পারেন।
sample/: এই ডিরেক্টরিতে আপনার আসল মডিউল কোড থাকে। আপনার মডিউল যদি শুধু একটি ফাইলে থাকে, তবে আপনি সেটি সরাসরি আপনার রিপোজিটরির রুটে sample.py হিসেবে রাখতে পারেন। আপনার লাইব্রেরি একটি ambiguous src বা python সাবডিরেক্টরিতে থাকা উচিত নয়। এতে __init__.py ফাইল থাকবে আপনি যদি এই মডিউলটিকে একটি প্যাকেজের ভেতরে রাখতে চান।