讓 Python 的封裝和相依性管理變得更容易
Poetry
決定性的建構
開發
Poetry 附帶您管理專案時所有可能需要的工具以決定性的方式。
$ poetry add pendulum
Using version ^2.0.5 for pendulum
Updating dependencies
Resolving dependencies... (1.5s)
Package operations: 4 installs, 0 updates, 0 removals
- Installing six (1.13.0): Downloading... 25%
- Updating pytzdata (2019.3 -> 2020.4): Installing...
- Installing pendulum (2.0.5)
Writing lock file
輕鬆封裝
建構
使用單一指令輕鬆建置且封裝你的專案。
$ poetry build
Building poetry (1.0.0)
- Building sdist
- Built poetry-1.0.0.tar.gz
- Building wheel
- Built poetry-1.0.0-py2.py3-none-any.whl
支援原始程式碼與輪子。
分享你的成果
發布
透過發布你的作品到 PyPI,讓更多人認識你的作品。
$ poetry publish
Publishing poetry (1.0.0) to PyPI
- Uploading poetry-1.0.0.tar.gz 100%
- Uploading poetry-1.0.0-py2.py3-none-any.whl 58%
你也可以在私人儲存庫中發布。
查看依賴項目的狀態
追蹤
只要一個指令,就能洞悉專案的依賴項。
$ poetry show --tree
requests-toolbelt 0.8.0 A utility belt for advanced users...
└── requests <3.0.0,>=2.0.1
├── certifi >=2017.4.17
├── chardet >=3.0.2,<3.1.0
├── idna >=2.5,<2.7
└── urllib3 <1.23,>=1.21.1
$ poetry show --latest
pendulum 2.0.4 1.4.5 Python datetimes made easy.
django 1.11.11 2.0.3 A high-level Python Web framework ...
requests 2.18.4 2.18.4 Python HTTP for Humans.
依賴處理器
Poetry 內建一個徹底的依賴處理器,如果解法存在的話,它總是會找到解法。
如果不存在解法,還能取得詳細的說明。
隔離
Poetry 或者使用您設定的虛擬環境,或者建立自己的虛擬環境,以始終與系統隔離。
這項行為可以設定。
直覺的 CLI
Poetry 的指令直覺且易於使用,具有明智的預設值,同時還能設定。
它也透過外掛系統擴充。