Size: a a a

2020 January 22

KK

Kirill (Cykooz) Kuzminykh in rannts
Хм... да, пожалуй poetry вполне тянет на замену setuptools.
Invoke, как мне кажется, не особо мейнстрим. Я даже не слышал про него. Хотя про его предка Fabric я знаю, и даже юзал один раз, когда надо было делать наколенный деплой на несколько серверов через ssh.
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
И как в этом invoke заюзать сторонние пакеты? Например я хочу написать хитрую таску, которая юзает готовый пакет из PyPi. Кто мне этот пакет поставит? Ручками надо будет Poetry запускать? Или pip + requirements.txt юзать (зачем тогда спрашивается Poetry?)
источник

AG

Alexander Gorokhov in rannts
Я инвок активно использую, в основном чтобы вызывать системные команды из петона. Как обертка над subprocess
источник

AG

Alexander Gorokhov in rannts
Он предоставляет еще такую штуку как tasks.py которая является типа мейкфайлом на питоне
источник

AG

Alexander Gorokhov in rannts
@task
def import_workspace(c, profile=None):
   """Import workspace/ folder into databricks"""
   api = CompositeDatabricksApi(profile)
   api.workspace.import_workspace_dir(str(BASE_DIR / 'workspace'), WORKSPACE_PATH,
                                      overwrite=True, exclude_hidden_files=True)
   print(f'Imported to {WORKSPACE_PATH}')


invoke import-workspace --profile prod
источник

AG

Alexander Gorokhov in rannts
Мне прям оч нравится, написал для пет прожекта такой мейкфайл который умеет релизы в гитхабе делать автоматически
источник

AG

Alexander Gorokhov in rannts
Вот кстати лучше пример - билд пакета системной командой и потом загрузка куда нибудь через апиху

@task
def upload_library(c, profile=None):
   """Build hsplib wheel and upload it to dbfs"""
   api = CompositeDatabricksApi(profile)

   c.run('python3 setup.py bdist_wheel', hide=True)
   print(f'Built {HSPLIB_WHEEL}')
   api.dbfs.put_file(str(HSPLIB_WHEEL), HSPLIB_DBFS_WHEEL, overwrite=True)
   print(f'Uploaded to {HSPLIB_DBFS_WHEEL.absolute_path}')
источник

RB

Roman Bolkhovitin in rannts
источник

RB

Roman Bolkhovitin in rannts
Посмотрел на Сашины примеры, стало интересно
источник

SA

Sergey Arkhipov in rannts
А что за third party? я не слышал ни об одном
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Контекст не указан. Под вторым питоном чаще приходится юзать os.path, т.к. pathlib надо ставить отдельной зависимостью
источник

RB

Roman Bolkhovitin in rannts
Kirill (Cykooz) Kuzminykh
Контекст не указан. Под вторым питоном чаще приходится юзать os.path, т.к. pathlib надо ставить отдельной зависимостью
3.6+
источник

RB

Roman Bolkhovitin in rannts
Sergey Arkhipov
А что за third party? я не слышал ни об одном
Есть path.py, может быть еще что-то, не знаю
источник

SA

Sergey Arkhipov in rannts
Kirill (Cykooz) Kuzminykh
Контекст не указан. Под вторым питоном чаще приходится юзать os.path, т.к. pathlib надо ставить отдельной зависимостью
Второго питона больше нет
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Пока есть - чутка продлили поддержку
источник

RB

Roman Bolkhovitin in rannts
Sergey Arkhipov
Второго питона больше нет
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
А то много воя было
источник

SA

Sergey Arkhipov in rannts
Да, 3 или 4 месяца спасут!
источник

SA

Sergey Arkhipov in rannts
Ну хорош, все, умер. Нет больше второго
источник

KK

Kirill (Cykooz) Kuzminykh in rannts
Последний релиз 2.7 обещают в апреле
источник