我正在研究一個由庫模塊和兩個使用該庫的腳本組成的Python包。其中一個腳本是打印出一些文本的命令行工具,另一個是JSON API服務器。這兩個腳本也可以作爲開發人員使用該庫的示例。Python包裝:迎合不同的受衆
鑑於這種情況下,我看到三個主要的受衆羣體或使用案例包:
圖書館用戶:需要主模塊。可能需要訪問用於測試模塊的腳本以及作爲自己代碼的存根和示例。
CLI用戶:希望立即運行CLI腳本。不需要API服務器,並且可能不關心對腳本源的訪問。
API提供程序:與CLI用戶相同,但具有API服務器腳本。可能需要CLI腳本進行快速測試。
理想情況下,腳本的用戶也可以選擇是否要直接從目錄或從他們的$ PATH運行的腳本。
我該如何在目錄樹和一個或多個分發包(可能使用setuptools)中正確地構造它?
電流源的佈局是這樣的:
main_folder
README
setup.py
mypackage
__init__.py # contains the library functions
mymodule.py # link to __init__.py for easy import in the scripts
cli.py
api_server.py