Size: a a a

2019 July 23

Aツ

Anton ツ Centrino in SPb Python
посоветуйте, пожалуйста, какой пакет взять для создания command line interface?

Чтобы через argparse все самому не писать
источник

DI

Danil Ivanov in SPb Python
Anton ツ Centrino
посоветуйте, пожалуйста, какой пакет взять для создания command line interface?

Чтобы через argparse все самому не писать
источник

Aツ

Anton ツ Centrino in SPb Python
спасибо
источник

MK

Maxim Koltsov in SPb Python
есть еще штука от автора поетри
https://github.com/sdispater/cleo
источник

VR

Vasya Ridikat in SPb Python
о, классно
источник

S

Stan in SPb Python
Anton ツ Centrino
посоветуйте, пожалуйста, какой пакет взять для создания command line interface?

Чтобы через argparse все самому не писать
В целом, если одна-две команды и аргументов немного, то проще накидать на argparse чем добавлять зависимость. У argparse достаточно приятный и понятный интерфейс, да и click его же под капотом использует. click удобнее там, где много разнообразных опций, потому что описывает их декларативно, через декораторы. Кроме того, если команды разбросаны на несколько модулей, то через click их объединять тоже удобней.
источник

Aツ

Anton ツ Centrino in SPb Python
учту, попробую click
источник

G

Gardagar in SPb Python
Anton ツ Centrino
посоветуйте, пожалуйста, какой пакет взять для создания command line interface?

Чтобы через argparse все самому не писать
источник

G

Gardagar in SPb Python
штука для красивого прогерсс бара, может пригодится
источник

Aツ

Anton ツ Centrino in SPb Python
воу, спасибо
источник

S

Stan in SPb Python
источник

G

Gardagar in SPb Python
👍
источник

E

Eugene in SPb Python
Stan
В целом, если одна-две команды и аргументов немного, то проще накидать на argparse чем добавлять зависимость. У argparse достаточно приятный и понятный интерфейс, да и click его же под капотом использует. click удобнее там, где много разнообразных опций, потому что описывает их декларативно, через декораторы. Кроме того, если команды разбросаны на несколько модулей, то через click их объединять тоже удобней.
click использует optparse.
с ним свои заморочки. например в click нет mutually exclusive group и nargs "+" для опций
источник

S

Stan in SPb Python
Eugene
click использует optparse.
с ним свои заморочки. например в click нет mutually exclusive group и nargs "+" для опций
Хм, мне всегда казалось, что они используют argparse, интерфейс похожий. С другой стороны, argparse, похоже, просто идейный наследник optparse. https://stackoverflow.com/questions/3217673/why-use-argparse-rather-than-optparse
источник

E

Eugene in SPb Python
Stan
Хм, мне всегда казалось, что они используют argparse, интерфейс похожий. С другой стороны, argparse, похоже, просто идейный наследник optparse. https://stackoverflow.com/questions/3217673/why-use-argparse-rather-than-optparse
вот это меня больше удивляет
https://github.com/pallets/click/issues/257
источник

E

Eugene in SPb Python
и вот
https://github.com/pallets/click/issues/484

Но в argparse nargs + работет криво если используются sub-commands. А click просто не поддерживает.
источник

E

Eugene in SPb Python
А вот баг в click
https://github.com/pallets/click/issues/1269

из-за которого они хотят вообще убрать chained-комманды, что бывает очень удобно.
источник

E

Eugene in SPb Python
В общем, в click свои заморочки, но для простых вещей (и не только простых), если не выходить за рамки, он удобнее чем argparse
источник

E

Eugene in SPb Python
Stan
Хм, мне всегда казалось, что они используют argparse, интерфейс похожий. С другой стороны, argparse, похоже, просто идейный наследник optparse. https://stackoverflow.com/questions/3217673/why-use-argparse-rather-than-optparse
источник

E

Eugene in SPb Python
какая-то сомнительная смесь описания опций через докстринги и непонятного бойлерплейта. 🤷‍♂️ на первый взгляд никаких преимуществ не вижу вообще

Если хочется через докстринги, то есть docopt. https://github.com/docopt/docopt
источник